ʲô£¬£¬ÒÔÌ«ÍøÄÜ´«CAN±¨ÎÄ£¿£¿£¿
Ðû²¼Ê±¼ä£º
2025-09-08 11:56
¸ÅÊö
IEEE 1722£¨AVB/TSNÐÒé×åÖеĽ¹µãÐÒ飩²»µ«½ç˵ÁË»ùÓÚÒÔÌ«ÍøµÄÒôÊÓÆµÈö²¥ÊäÃûÌã¨AVTP-AAF£©£¬£¬»¹°üÀ¨ÁËÒ»Ì×Òªº¦µÄ¿ØÖÆÐÒ顪AVTP Control Format£¨ºóÎļò³ÆACF£©£¬£¬Îª¿ØÖÆÖ¸ÁîÔÚ³µÄÚÍøÂç²î±ð¿ØÖƽڵã¼äµÄ´«ÊäÌṩÁËеÄÑ¡Ôñ¡£¡£¡£¡£¡£¡£
ͨË×À´½²£¬£¬ACF¾ÍÊǽ«ÏÖÔÚ½ÏΪ³ÉÊìµÄ¿ØÖÆÐÒ飨ÈçCAN¡¢LIN¡¢FlexRayÉõÖÁÊÇRS232´®¿ÚÖ¸ÁîµÈ£©¾ÙÐзâ×°£¬£¬Ê¹ÕâЩ¿ØÖÆÖ¸ÁîÄÜ»ùÓÚÒÔÌ«Íø¾ÙÐд«Êä¡£¡£¡£¡£¡£¡£ÕâÑù²¿·Ö¿ØÖÆÆ÷¼ÈÄܱ£´æÔÓÐÐÒéʵÏÖ£¬£¬ÓÖÄÜʹÓÃÒÔÌ«ÍøTSN ʱ¼äͬ²½¡¢Á÷Ô¤ÁôµÈʵÏÖ£¬£¬°ü¹Ü¿ØÖÆÖ¸Áî׼ȷִÐС£¡£¡£¡£¡£¡£
ACF±¨Îİ´¡°Ê±Ð§ÐÔ¡±·ÖΪÁ½À࣬£¬±¨ÎÄÃûÌÃÓÐËùÇø±ð£¬£¬»®·Ö˳Ӧ²î±ð¿ØÖƳ¡¾°ÐèÇ󡣡£¡£¡£¡£¡£ÏêϸΪ£º
- NTSCF£¨Non-Time-Synchronous Control Format£©:´ËÀà¿ØÖÆ±¨ÎÄÎÞʱ¼ä´Á×ֶΣ¬£¬²»Ð¯´øÊ±¼ä´ÁÐÅÏ¢£¬£¬ÊÊÓÃÓÚ¶Ôʱ¼äÒªÇó²»Ãô¸Ð¡¢ÇáÁ¿»¯µÄ¿ØÖÆÖ¸Áî¡£¡£¡£¡£¡£¡£
- TSCF£¨Time-Synchronous Control Format£©: ´ËÀà¿ØÖÆ±¨ÎÄЯ´ø¡°Õ¹Ê¾Ê±¼ä´Á¡±ÐÅÏ¢£¬£¬ÊÊÓÃÓÚÐèÒª¶àÖ´ÐÐÆ÷Ðͬ¿ØÖƵÄʱ¼äÃô¸Ð³¡¾°£¨Ó¦ÓÃʾÀýÈçÏÂͼËùʾ£©¡£¡£¡£¡£¡£¡£

ACF TSCF Ó¦ÓÃʾÀýͼ
±¨ÎÄÃûÌÃ
ACF ±¨ÎĺÍAVTPÒôÊÓÆµ±¨ÎÄÒ»Ñù£¬£¬»ùÓÚÒÔÌ«Íø¶þ²ã¾ÙÐд«Ê䣬£¬Æä±¨ÎÄÔÚÕû¸öÒÔÌ«ÍøÖ¡ÖеĽṹÈçÏÂͼËùʾ¡£¡£¡£¡£¡£¡£

ACF ÒÔÌ«ÍøÖ¡½á¹¹Ê¾Òâͼ
´ÓͼÖпÉÒÔ¿´³ö£¬£¬¹ØÓÚNTSCFºÍTSCFÕâÁ½ÖÖ±¨ÎÄ£¬£¬ÊÇͨ¹ý²î±ðµÄACF AVTPDU HeaderÀ´Çø·ÖµÄ£¬£¬ÆäЯ´øµÄACF MsgÔÚ±¨ÎÄÃûÌÃÉÏÊÇûÓÐÇø±ðµÄ¡£¡£¡£¡£¡£¡£½ÓÏÂÀ´»®·Ö½éÉÜACF NTSCF Header¡¢TSCF HeaderºÍACF Message ÕâÈý²¿·ÖµÄ±¨ÎÄÃûÌᣡ£¡£¡£¡£¡£
ACF NTSCF Header

NTSCF Header±¨ÎĽṹʾÒâͼ
- subtype
±íÕ÷Ä¿½ñAVTP±¨ÎĵÄÀàÐÍ¡£¡£¡£¡£¡£¡£ÔÚNTSCF HeaderÖУ¬£¬¸Ã×Ö¶ÎÀο¿Îª0x82£»£»£»£»£»£»ÔÚTSCF HeaderÖУ¬£¬¸Ã×Ö¶ÎÀο¿Îª0x05¡£¡£¡£¡£¡£¡£
- sv (stream_id valid)
¸Ã×Ö¶ÎÓÃÀ´±íÕ÷Ä¿½ñ±¨ÎĵÄstream_idÊÇ·ñΪÓÐÓÃÁ÷Ô¤Áôid¡£¡£¡£¡£¡£¡£µ±sv=1ʱ£¬£¬¼´ËµÃ÷¸Ãstream_id¶ÔÓ¦µÄÊý¾ÝÁ÷ÒÑͨ¹ýTSNµÄÁ÷Ô¤ÁôÐÒé·ÖÅäÁËÍøÂç´ø¿í×ÊÔ´¡£¡£¡£¡£¡£¡£
- version
°æ±¾ºÅ£¬£¬ºÍÆäËûËùÓÐAVTP±¨ÎÄÒ»Ö£¬£¬Àο¿Îª0¡£¡£¡£¡£¡£¡£
- r (reserved)
Ô¤Áô×ֶΡ£¡£¡£¡£¡£¡£
- ntscf_data_length
±íÕ÷Ä¿½ñ±¨ÎÄЯ´øµÄËùÓÐacf_payloadµÄ×Ü×Ö½ÚÊý£¬£¬¸Ã×ֶεÄȡֵ¹æÄ£È¡¾öÓÚÄ¿½ñÍøÂçµÄMTU£¨×î´ó´«Ê䵥룬£¬Maximum Transmission Unit£©¡£¡£¡£¡£¡£¡£
- sequence_num
±íÕ÷Ä¿½ñACF ±¨ÎÄÔÚͳһ¸östreamÖеÄÐòÁкţ¬£¬listener¶Ë¿ÉÒÔͨ¹ý¸Ã×ֶμì²â¶ªÖ¡ºÍÂÒÐò¡£¡£¡£¡£¡£¡£
- stream_id
ÓÃÀ´×öÁ÷ʶ±ðµÄ±¨ÎÄÁ÷ID£¬£¬Í³Ò»¸öÁ÷µÄACF±¨ÎÄstream idÐè¼á³ÖÒ»Ö¡£¡£¡£¡£¡£¡£
ACF TSCF Header
ACF TSFC HeaderÖÐЯ´øÊ±¼ä´ÁÐÅÏ¢£¬£¬±¨Í·ÃûÌÃΪͨÓÃÁ÷±¨Í·£¨common stream header£©£¬£¬¸÷×ֶμÄÒåÒѾÔÚÉÏһƪAAF½éÉܵÄÎÄÕÂÖоÙÐнéÉÜ¡£¡£¡£¡£¡£¡£ÎÒÃÇÕâ´ÎÖ»¹Ø×¢ºÍʱ¼äÏà¹ØµÄavtp_timestamp×ֶΡ£¡£¡£¡£¡£¡£

TSCF Header±¨ÎĽṹʾÒâͼ
- avtp_timestamp
µ±tv=1ʱ£¬£¬¸Ã×ֶεÄֵΪÓÐÓÃʱ¼ä´ÁÐÅÏ¢£¬£¬¼ÄÒåΪtalkerָʾlistenerÖ´ÐиÿØÖÆÖ¸ÁîµÄ׼ȷʱ¼ä¡£¡£¡£¡£¡£¡£
ACF Message
ACF MessageÊdzÐÔØÏêϸ¿ØÖÆÓïÒåµÄ½¹µãÄÚÈÝ£¬£¬½ô¸úÔÚÇ°Ãæ½éÉܵÄÁ½ÖÖHeaderºóÃæ¡£¡£¡£¡£¡£¡£Ò»Ö¡AVTP±¨ÎÄÖпÉÒÔЯ´øÒ»¸ö»ò¶à¸öACF Message¡£¡£¡£¡£¡£¡£¶øÃ¿Ò»¸öACF Message±¨ÎÄÒ²¿ÉÒÔ²ð³ÉACF Message HeaderºÍACF payloadÁ½²¿·Ö¡£¡£¡£¡£¡£¡£ÈçͼËùʾ¡£¡£¡£¡£¡£¡£

ACF Message ½á¹¹Ê¾Òâͼ
ACF Message Header°üÀ¨acf_msg_typeºÍacf_msg_lengthÁ½¸ö×ֶΣº
- acf_msg_type
¸Ã×Ö¶ÎÐÎòÁËACF MessageµÄÀàÐÍ£¬£¬ACF Message¿ÉÒÔ·â×°²î±ðÀàÐ͵ĿØÖƱ¨ÎÄÃûÌ㬣¬ÀýÈç³£¼ûµÄCAN¡¢LIN¡¢MOSTµÈ£¬£¬ÏÖÔÚÐÒéÖ§³ÖµÄÀàÐͼûÏÂ±í¡£¡£¡£¡£¡£¡£

- acf_msg_length
ÓÉÓÚACF AVTPDUÖпÉÒÔЯ´ø¶à¸öACF Message£¬£¬Í¨¹ý¸Ã×ֶοÉÒÔµÃ֪Ŀ½ñACF messageµÄ³¤¶È£¬£¬±ãÓÚlistener¶ËÆÊÎö£¬£¬ÐèÒª×¢ÖØµÄÊÇ£¬£¬¸Ã×ֶεĵ¥Î»Îª4bytes¡£¡£¡£¡£¡£¡£
acf_msg_payloadÒ²°üÀ¨Á˶à¸ö×ֶΣ¬£¬±¨ÎÄÃûÌÃÆ¾Ö¤Æä·â×°µÄ¿ØÖƱ¨ÎÄÀàÐÍÓÐËù²î±ð£¬£¬¿ÉÊǺÍÔ¿ØÖÆÐÒé»ù±¾¼á³ÖÒ»Ö¡£¡£¡£¡£¡£¡£±¾ÎÄÔòÒÔÏÖÔÚ³£¼ûµÄCAN(FD)ÐÒéΪÀý£¬£¬½éÉÜACF_CANµÄpayload±¨ÎÄÃûÌᣡ£¡£¡£¡£¡£
ACF_CAN message µÄpayloadÈçÏÂͼËùʾ¡£¡£¡£¡£¡£¡£

ACF_CAN message payload½á¹¹Ê¾Òâͼ
- pad
ÌåÏÖÌî³ä³¤¶È£¬£¬µ¥Î»bytes£¬£¬Ä¿µÄÊǰü¹ÜÕû¸öACF_CAN MessageµÄÕûÌ峤¶È Ϊ4×Ö½Ú¶ÔÆë¡£¡£¡£¡£¡£¡£
- mtv
message_timestamp_valid£¬£¬±íÕ÷Ä¿½ñ±¨ÎÄÊÇ·ñЯ´øÓÐÓñ¨ÎÄʱ¼ä´Á¡£¡£¡£¡£¡£¡£
- rtr
remote_transmission_request£¬£¬±íÕ÷Ä¿½ñ±¨ÎÄÊÇ·ñΪԶ³ÌÖ¡¡£¡£¡£¡£¡£¡£
- eff
extended_frame_format£¬£¬±íÕ÷Ä¿½ñ±¨ÎÄÊÇ·ñΪÀ©Õ¹Ö¡¡£¡£¡£¡£¡£¡£
- brs
bit_rate_switch£¬£¬±ÈÌØÂÊ¿ª¹Ø¡£¡£¡£¡£¡£¡£
- fdf
CAN flexible data-rate format£¬£¬±íÕ÷Ä¿½ñ±¨ÎÄÊÇ·ñΪCANFD±¨ÎÄ¡£¡£¡£¡£¡£¡£
- esi
error_state_indicator£¬£¬±íÕ÷Ä¿½ñÊÇ·ñ±£´æ¹ýʧ֡¡£¡£¡£¡£¡£¡£
- can_bus_id
Íø¶ÎID£¬£¬ÓÉOEMÖ¸¶¨£¬£¬Èô²»Ö¸¶¨£¬£¬Ä¬ÒÔΪ0¡£¡£¡£¡£¡£¡£
- message_timestamp
±¨ÎÄʱ¼ä´Á£¬£¬µ±mtv=1ʱ£¬£¬¸Ãʱ¼ä´ÁÓÐÓ㬣¬ÎªÄ¿½ñ¿ØÖÆÖ¸Áî±»ÎüÊÕ/ÌìÉúµÄʱ¼ä£¬£¬ÐèÒªºÍTSCF HeaderÖеÄavtp_timestampÇø·Ö¡£¡£¡£¡£¡£¡£
- can_identifier
can±¨ÎÄid£¬£¬11bit±ê×¼Ö¡»òÕß29λÀ©Õ¹Ö¡¡£¡£¡£¡£¡£¡£
- can_msg_payload
Я´øÏêϸµÄ¿ØÖÆÐźţ¨CANÐÒ飺0~8×Ö½Ú£»£»£»£»£»£»CANFDÐÒ飺0~64×Ö½Ú£¬£¬¾ùÐèÒª4×Ö½Ú¶ÔÆë£©¡£¡£¡£¡£¡£¡£
×ܽá
±¾ÎÄÖ÷Òª½éÉÜÁËIEEE 1722ÐÒéÖеÄACF²¿·Ö£¬£¬»®·Ö½éÉÜÁËʱ¼ä²»Ãô¸ÐµÄNTSCFºÍʱ¼äÃô¸ÐµÄTSCFÁ½À౨ÎÄ£¬£¬²¢½²ÊöÁËÔõÑùÔÚÒÔÌ«Íø±¨ÎÄÖд«Êä¹Å°å¿ØÖÆÖ¸Á£¬Ï£Íû¶ÁÕßÄܶÔACFµÄÓ¦ÓÃÒÔ¼°±¨ÎÄÃûÌÃÓиö»ù±¾¿´·¨¡£¡£¡£¡£¡£¡£
w66¹ú¼Êapp×÷ΪOPENͬÃË»áÔ±ºÍAUTOSARͬÃ˵ĸ߼¶ÏàÖúͬ°é£¬£¬ºã¾ÃΪº£ÄÚÍâ¸÷´óOEMºÍ¹©Ó¦ÉÌÌṩº¸ÇTCP/IP¡¢SOME/IP¡¢DoIP¡¢AVB¡¢TSN¡¢DDSµÈÊÖÒÕÁìÓòµÄÉè¼ÆºÍ²âÊÔ×Éѯ·þÎñ£¬£¬Æð¾¢Ñз¢ºÍ̽Ë÷³µÔØÍøÂçÇ°ÑØÊÖÒյŤ³ÌÓ¦Óᣡ£¡£¡£¡£¡£Í¨¹ý¶à¸öÏîÄ¿µÄʵ¼ùÂÄÀú£¬£¬Òѽ¨ÉèÁ˸ßÖÊÁ¿¡¢±¾ÍÁ»¯µÄÉè¼ÆÓë²âÊÔÒ»Ì廯½â¾ö·½°¸£¬£¬ÎªÕû³µÍøÂç¼Ü¹¹Ìṩ¿É¿¿Ö§³Ö¡£¡£¡£¡£¡£¡£