ʲô£¬£¬£¬ÒÔÌ«ÍøÄÜ´«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µÄÓ¦ÓÃÒÔ¼°±¨ÎÄÃûÌÃÓиö»ù±¾¿´·¨¡£¡£¡£
¾ÅÖÝku¿áÓÎ×÷ΪOPENͬÃË»áÔ±ºÍAUTOSARͬÃ˵ĸ߼¶ÏàÖúͬ°é£¬£¬£¬ºã¾ÃΪº£ÄÚÍâ¸÷´óOEMºÍ¹©Ó¦ÉÌÌṩº¸ÇTCP/IP¡¢SOME/IP¡¢DoIP¡¢AVB¡¢TSN¡¢DDSµÈÊÖÒÕÁìÓòµÄÉè¼ÆºÍ²âÊÔ×Éѯ·þÎñ£¬£¬£¬Æð¾¢Ñз¢ºÍ̽Ë÷³µÔØÍøÂçÇ°ÑØÊÖÒյŤ³ÌÓ¦Óᣡ£¡£Í¨¹ý¶à¸öÏîÄ¿µÄʵ¼ùÂÄÀú£¬£¬£¬Òѽ¨ÉèÁ˸ßÖÊÁ¿¡¢±¾ÍÁ»¯µÄÉè¼ÆÓë²âÊÔÒ»Ì廯½â¾ö·½°¸£¬£¬£¬ÎªÕû³µÍøÂç¼Ü¹¹Ìṩ¿É¿¿Ö§³Ö¡£¡£¡£