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