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