首页 / 专利库 / 电信 / 控制器局域网络 / 控制器局域网络灵活的数据率

控制器局域网络灵活的数据率

阅读:772发布:2020-05-12

专利汇可以提供控制器局域网络灵活的数据率专利检索,专利查询,专利分析的服务。并且描述了一种用于允许CAN 2.0B 控制器 被动参与CAN FD通信的设备(15)。所述设备被配置为用于识别RXD上的 帧 是否是CAN FD帧(14;图4),且依赖于识别所述帧是CAN FD帧,用具有符合CAN 2.0B的格式的替代数据(21;图4)替换所述CAN FD帧的包括所述CAN FD帧的数据阶段的部分(17;图4)。所述设备(15)可包括在CAN收发机(10;图3)中。,下面是控制器局域网络灵活的数据率专利的具体信息内容。

1.一种设备(15),被配置为识别RXD上的是否是CAN FD帧(14),且依赖于识别所述帧是CAN FD帧,用具有符合CAN 2.0B的格式的替代数据(21)替换所述CAN FD帧的包括所述CAN FD帧的数据阶段的部分(17)。
2.根据权利要求1所述的设备(15),其中所述部分(17)以EDL/FDF位开始。
3.根据权利要求1或2所述的设备(15),其中所述部分(17)以CRC分隔符结束。
4.根据任意在前权利要求所述的设备(15),所述设备(15)被配置为用具有符合CAN
2.0B的格式的其他替代数据(21)替换跟随所述部分(17)的数据。
5.根据任意在前权利要求所述的设备(15),其中所述替代数据(21)包括DLC。
6.根据任意在前权利要求所述的设备(15),其中所述设备被配置为在所述替代数据(21)后增加额外的数据(24,25)。
7.根据权利要求6所述的设备(15),其中在第一模式下,所述额外的数据(24,25)包括错误帧和错误分隔符。
8.根据权利要求7所述的设备(15),其中所述设备被配置为识别所述CAN FD帧的结尾之前给定数量位的点,且增加所述错误帧和所述错误分隔符,使得所述CAN FD帧结束时所述错误分隔符结束。
9.根据任意在前权利要求所述的设备(15),其中在第二模式下,所述额外的数据(24,
25)包括至少超载帧以及相应的超载分隔符。
10.根据任意在前权利要求所述的设备(15),所述设备(15)被配置为通过识别所述EDL/FDF位来识别所述帧是否是CAN FD帧。
11.根据任意在前权利要求所述的设备(15),所述设备(15)被配置为识别所述帧具有基本格式还是扩展格式。
12.根据任意在前权利要求所述的设备(15),所述设备(15)被配置为响应于接收来自本地CAN控制器的CAN帧,依赖于是否正在生成所述替代数据(21),来抑制所述CAN帧的传输。
13.一种CAN收发机(10),包括:
根据任意在前权利要求所述的设备(15);以及
CAN总线物理层设备电路(PHY),
其中所述设备被设置为接收来自所述CAN总线物理层设备电路的RXD,并且向所述CAN总线物理层设备电路提供TXD。
14.一种节点(4),包括:
CAN 2.0B控制器(6);以及
根据权利要求13所述的CAN收发机(10),所述CAN收发机(10)联接至所述CAN 2.0B控制器(6)。
15.一种方法,包括:
识别RXD上的帧是否是CAN FD帧(14);以及
依赖于识别所述帧是CAN FD帧,用具有符合CAN 2.0B的格式的替代数据(21)替换所述CAN FD帧的包括所述CAN FD帧的数据阶段的部分(17)。

说明书全文

控制器局域网络灵活的数据率

技术领域

[0001] 本发明涉及控制器局域网络灵活的数据率(CAN FD)。

背景技术

[0002] 控制器局域网络(CAN)是一种串行通信协议,该协议最初设计用于在汽车应用中使用,但现在已适用于各种各样的其他领域,包括供热通与空气调节(HVAC)控制系统、过程控制系统、以及医疗设备。CAN主要关心物理和数据链路层的需求,且已宣布了一个国际标准,称为ISO 11898。
[0003] CAN是一种基于消息的、异步的、多主、广播通信系统。CAN网络包括连接至CAN总线的两个或多个节点,CAN总线通常由双绞线提供。CAN总线空闲时,连接至CAN总线的任何节点可自由地尝试向其他节点传输消息。每个消息被分配唯一标识符,该唯一标识符用于识别消息的内容并且优先考虑和过滤消息。如果两个或更多个节点同时开始传输消息,则总线访问冲突通过使用标识符以及CAN总线状态的逐位比较的仲裁过程来解决,CAN总线状态也即分别与逻辑‘0’和‘1’状态对应的“显性”和“隐性”等级。当两个节点尝试同时传输显性和隐性位时,显性位优先,并且显性值(即,‘0’)出现在CAN总线上。节点监控CAN总线,且因此当节点尝试传输隐性位且CAN总线接受显性值时,那么,节点能够识别冲突并中断传输,这让传输显性位的节点继续在CAN总线上传输。
[0004] CAN规定两种格式,也即标准或基本帧格式(其与CAN 2.0协议的部分A或B兼容)以及扩展帧格式(其与CAN 2.0协议的部分B兼容)。标准或基本帧格式中设置的帧具有11位标识符,而扩展帧格式中设置的帧具有由11位基本标识符和18位扩展组成的两部分标识符。
[0005] CAN规定四种类型的帧,也即承载数据的数据帧、请求数据帧的传输的远程帧、报告错误的检测的错误帧、以及提供帧之间的延迟的超载帧。
[0006] 在CAN规范2.0版(1991)以及ISO 11898-1中可找到CAN以及CAN帧格式的其他细节。
[0007] CAN总线可以以高达1M比特/秒的比特率传输数据,且数据帧可承载高达8字节的有效载荷。但是,为了支持更高的数据率以及更大的有效载荷,已提出了新的协议,即具有灵活的数据率的CAN(CAN FD),在具有灵活的数据率的CAN规范1.0版(2012)中列出该协议。
[0008] 图1示出CAN FD数据帧。
[0009] 参照图1,CAN FD数据帧通过帧间隔(IFS)与前一帧(未示出)分开,且后面跟着另一个帧间隔或超载帧。
[0010] CAN FD数据帧包括帧起始(SOF)字段、仲裁字段、控制字段、数据字段、循环冗余码(CRC)字段、确认(ACK)字段以及帧结束(EOF)字段。
[0011] 在所谓的“仲裁阶段”中,以标准的比特率(即,CAN比特率,例如,500k比特/秒)传输CAN FD帧前的IFS以及CAN FD帧的第一部分。在所谓的“数据阶段”中,可以以标准比特率或高比特率(例如,高达8倍CAN比特率)传输CAN FD帧的第二部分。在另一个仲裁阶段中,以标准比特率传输CAN FD数据帧的第三部分以及CAN FD数据帧后的IFS或超载帧。
[0012] CAN FD规定了四种帧格式,即CAN标准格式和CAN扩展格式(与ISO 11898-1中规定的标准格式和扩展格式对应)、CAN FD标准格式以及CAN FD扩展格式。
[0013] 图2示出CAN FD标准(或“基本”)格式中的CAN FD数据帧。
[0014] 参照图2,仲裁字段包括基本标识符,后面是预留位(r1)。控制字段由标识符扩展(IDE)位、扩展数据长度(EDL)位、预留位(r0)、比特率切换(BRS)位、错误状态指示符(ESI)标记以及数据长度码(DLC)组成。EDL位也称为灵活的数据格式(FDF)位。CRC字段包括CRC序列以及CRC分隔符。ACK字段包括ACK时隙以及ACK分隔符。
[0015] CAN FD扩展格式包括仲裁字段和控制字段,仲裁字段由基本标识符、替代远程请求(SRS)位、IDE位、标识符扩展、以及预留位(r1)组成,控制字段由EDL位(其可称作FDF位)、预留位(r0)、BRS位、ESI标记以及DLC组成。
[0016] 所有的CAN FD帧格式包括CRC字段,CRC字段包括CRC序列以及CRC分隔符。但是,对于不同的帧格式,CRC序列的长度不同,也即,对于CAN基本帧格式和CAN扩展帧格式是15比特,对于包含高达16字节的CAN FD帧是17比特,并且对于包含超过16字节的CAN FD帧是21位。
[0017] BRS位标记从仲裁阶段到数据阶段的转变。CAN FD帧中的CRC分隔符指示回到仲裁阶段的转变。
[0018] 尽管CAN FD协议是基于CAN协议的部分B(这里简称为“CAN 2.0B”),但其具有与CAN 2.0B协议的有限的后向兼容性。CAN FD节点能够根据ISO 11898-1接收和发送CAN消息。但是,可根据CAN 2.0B协议发送和接收消息的CAN节点(这里称为“CAN 2.0B节点”)不能识别CAN FD消息,且因此一旦接收到CAN FD消息,将以CAN错误消息响应。
[0019] 这会妨碍包括与CAN 2.0B兼容但与CAN FD不兼容的节点和与CAN FD兼容的节点的混合的CAN系统的实施。
[0020] 一个解决方案是使用部分网络,由此,节点可选择性地关闭,置于睡眠模式或保持备用。但是,这仍意味着CAN 2.0B和CAN FD节点不能直接通信。

发明内容

[0021] 根据本发明的第一方面,提供了一种设备,所述设备被配置为识别RXD上的帧是否是CAN FD帧,且依赖于识别所述帧是CAN FD帧,用具有符合CAN 2.0B的格式的替代数据替换所述CAN FD帧的包括所述CAN FD帧的数据阶段的部分。
[0022] 因此,所述设备可置于CAN总线物理层电路和本地CAN控制器之间,且移除否则在所述CAN控制器生成错误的CAN FD帧的部分。在新的或输出的RXD(CRXD)上向所述CAN控制器输出包括所述替代数据的CAN替代帧。所述CAN替代帧可包括所述CAN FD帧的开始。所述CAN替代帧可包括额外的数据。
[0023] 所述部分可为连续的。
[0024] 所述设备可包括用于识别RXD上的帧是否是CAN FD帧的第一电路(例如,第一模)。
[0025] 所述第一电路可包括被配置为识别帧的开始的第一功能块。所述第一功能块可被配置为通过识别比特的图案来识别帧的开始。所述比特的图案包括EOF、IFS和SOF。所述第一功能块可被配置为响应于识别帧的开始而输出帧同步信号的开始(SOFSYNC)。
[0026] 所述第一电路可包括被配置为识别仲裁阶段时RXD中的错误帧和/或超载帧的第二功能块。所述第二功能块可被配置为响应于检测错误帧或超载帧而输出第一错误信号(AERR)。
[0027] 所述第一电路可包括被配置为识别所述数据阶段时RXD中的错误帧和/或超载帧的第三功能块。所述第三功能块可被配置为响应于检测错误帧或超载帧而输出第二错误信号(DERR)。
[0028] 所述第一电路可包括第四功能块。
[0029] 所述第四功能块或其他功能块可被配置为识别IDE位。所述第四功能块可被配置为响应于识别所述IDE位而输出指示所述IDE位的存在的信号(IDE-RTR)。
[0030] 所述第四功能块或其他功能块可被配置为识别EDL位(可称作FDF位)。所述第四功能块可被配置为响应于识别所述EDL位而输出指示所述EDL位是否被设置的信号。
[0031] 所述第四功能块或其他功能块可被配置为识别BRS位。所述第四功能块可被配置为响应于识别所述BRS位而输出指示所述BRS位是否被设置的信号。
[0032] 所述第一电路可包括第五功能块。
[0033] 所述第五功能块可以以第一操作模式和第二操作模式操作。
[0034] 所述第四功能块可被配置为响应于所述EDL位(可称作FDF位)被设置而输出用于控制所述CAN FD帧的屏蔽的信号。
[0035] 所述第四功能块可被配置为响应于给定的预定条件而输出用于控制替代数据的生成的信号(ENDGEN)。
[0036] 所述设备可包括用具有符合CAN协议的格式的替代数据来替换CAN FD帧的包括所述数据阶段的部分的第二电路(例如,第二模块)。
[0037] 所述第二电路可包括用于生成替代数据的至少一个或至少两个发生器的集合。所述第二电路可包括联接至RXD和发生器且输出多路复用的信号的多路复用器。
[0038] 所述部分可以以EDL位(可称作FDF位)开始。所述部分可以以CRC分隔符结束。
[0039] 超过一个CAN替代帧可用于替换CAN FD帧部分。
[0040] 所述设备可被配置为用具有符合CAN 2.0B的格式的其他替代数据来替换跟随所述部分的数据。所述部分和数据可为连续的。
[0041] 所述替代数据可包括DLC。所述DLC可规定所述帧不包含数据。
[0042] 所述设备可被配置为在所述替代数据后增加额外的替代数据。例如,这可在所述CAN FD帧比CAN替代帧长时使用。
[0043] 所述设备可被配置为在所述替代数据后增加额外的数据(即,用额外的数据替换所述CAN FD帧的其他随后的部分)。
[0044] 在第一模式下,所述额外的数据可包括错误帧和错误分隔符。所述设备可被配置为识别所述CAN FD帧的结尾之前给定数量位的点,且增加所述错误帧和错误分隔符,使得在所述CAN FD帧结束时所述错误分隔符结束。
[0045] 这可用于最小化防止本地CAN控制器访问CAN总线的时间。
[0046] 在第二模式下,所述额外的数据可包括至少超载帧以及相应的超载分隔符。
[0047] 这可用于帮助最小化在本地CAN控制器处生成的错误的数量。
[0048] 所述设备可被配置为通过识别所述EDL位(可称作FDF位)来识别所述帧是否是CAN FD帧。所述设备可通过检查CAN FD帧中期望找到所述EDL位的位置处的位来识别所述EDL位,并且确定所述位是否是隐性的。
[0049] 所述设备可被配置为识别所述帧具有基本格式还是扩展格式。所述设备可被配置为检查所述IDE位,以识别所述帧具有基本格式还是扩展格式。
[0050] 所述设备可配置为检测所述部分之前的第一位(IDE),并生成第一信号(IDE-RTR)以提供所述第一位的标记。
[0051] 所述设备可被配置为使用所述第一信号定位所述部分的开始。
[0052] 所述设备可被配置为响应于接收来自本地CAN控制器的CAN帧,依赖于是否正生成所述替代数据,来抑制所述CAN帧的传输。
[0053] 所述设备可以以硬件逻辑来实施。
[0054] 根据本发明的第二方面,提供了一种CAN收发机,该CAN收发机包括所述设备、以及包括RXD输出和TXD输入的CAN总线物理层设备电路(PHY)。所述设备被设置为接收来自所述CAN总线物理层设备电路的RXD,并且向所述CAN总线物理层设备电路提供TXD。
[0055] 根据本发明的第三方面,提供了一种节点(“CAN 2.0B节点”),该节点包括:CAN2.0B控制器;以及联接至所述CAN 2.0B控制器的CAN收发机。
[0056] 因此,使用包括转换器的CAN收发机能够使CAN 2.0B控制器被动参与CAN FD通信。
[0057] 根据本发明的第四方面,提供了一种CAN系统,该CAN系统包括CAN总线、至少一个CAN 2.0B节点以及至少一个CAN FD节点。
[0058] 根据本发明的第五方面,提供了一种方法,所述方法包括:识别RXD上的帧是否是CAN FD帧,以及依赖于识别所述帧是CAN FD帧,用具有符合CAN 2.0B的格式的替代数据来替换所述CAN FD帧的包括所述CAN FD帧的数据阶段的部分。附图说明
[0059] 现在将参照多个附图通过示例的方式描述本发明的一些实施例,附图中:
[0060] 图1图示出CAN FD帧;
[0061] 图2图示出CAN FD扩展格式数据帧;
[0062] 图3是包括CAN FD节点和CAN FD被动节点的CAN网络的示意框图
[0063] 图4图示出CAN FD帧到CAN帧的转换;
[0064] 图5是包括CAN FD/CAN FD被动转换器的收发机的示意框图;
[0065] 图6是CAN FD检测单元的示意框图,CAN FD检测单元包括SOF同步单元、仲裁阶段错误检测单元、FD数据阶段错误检测单元、EDL标记检测单元以及FD数据长度检测单元;
[0066] 图7是由图6中示出的同步单元实施的方法的过程流程图
[0067] 图8是由图6中示出的仲裁阶段错误检测单元实施的方法的过程流程图;
[0068] 图9是由图6中示出的FD数据阶段错误检测单元实施的方法的过程流程图;
[0069] 图10是由图6中示出的EDL标记检测单元实施的方法的过程流程图;
[0070] 图11A和图11B图示出由图6中示出的FD数据长度检测单元在第一操作模式下实施的方法的过程流程图;
[0071] 图12图示出由图6中示出的FD数据长度检测单元在第二操作模式下实施的方法的过程流程图;
[0072] 图13是包括接收多路复用器切换状态机的RX替代器的示意框图;
[0073] 图14是TX控和显性位抑制单元的示意框图;
[0074] 图15是示出RXD、CRXD和CTXD数据信号以及IDE-RTR、FDDDAMASK、ENDGEN和GENCOMP控制信号的时序图,该时序图图示出以第一操作模式操作的CAN FD/CAN FD被动转换器对短CAN FD帧的处理;
[0075] 图16是示出RXD、CRXD和CTXD数据信号以及IDE-RTR、FDDDAMASK、ENDGEN和GENCOMP控制信号的时序图,该时序图图示出以第一操作模式操作的CAN FD/CAN FD被动转换器对长CAN FD帧的处理;
[0076] 图17是示出RXD、CRXD和CTXD数据信号以及IDE-RTR、FDDDAMASK、ENDGEN和GENCOMP控制信号的时序图,该时序图图示出以第一操作模式操作的CAN FD/CAN FD被动转换器以及试图在替代数据的传输结束时传输的本地控制器对CAN FD帧的处理;
[0077] 图18是示出RXD、CRXD和CTXD数据信号以及IDE-RTR、FDDDAMASK、ENDGEN和GENCOMP控制信号的时序图,该时序图图示出以第二操作模式操作的CAN FD/CAN FD被动转换器对短CAN FD帧的处理;以及
[0078] 图19是示出RXD、CRXD和CTXD数据信号以及IDE-RTR、FDDDAMASK、ENDGEN和GENCOMP控制信号的时序图,该时序图图示出以第二操作模式操作的CAN FD/CAN FD被动转换器对长CAN FD帧的处理。

具体实施方式

[0079] 控制器局域网络1
[0080] 参照图3,示出了控制器局域网络(CAN)1。CAN 1包括CAN总线2以及连接至CAN总线2的多个节点3、4。每个节点3、4包括控制器5、6以及收发机9、10,控制器5、6可嵌入到微控制器7、8中或被实施为独立的设备。收发机9、10各自包括用于实施IOS
11898(2004)的物理层要求的电路11、12。节点3、4能够发送和接收符合CAN 2.0B(即,IOS
11898-1(2004))的帧13。这里,这样的帧13称为“CAN帧”。
[0081] 第一类型的每个节点3(这里称为“CAN FD节点”)包括控制器5,控制器5符合CAN灵活的数据率(CAN FD)协议,且因此,能够发送和接收CAN FD帧14(这里也称为“FD帧”)。
[0082] 第二类型的每个节点4(这里称为“CAN FD被动节点”或“CAN FD容忍节点”)包括控制器6,控制器6符合CAN 2.0B协议,且因此,能够交换CAN帧13。收发机10包括或设置有CAN FD/CAN FD被动转换器15,被动转换器15使得CAN FD被动节点4能够通过例如在接收CAN FD帧14时生成错误帧(未示出)来连接至CAN总线2,而不妨碍CAN FD通信。
[0083] CAN FD通信可支持例如高达500k比特/秒或高达1M比特/秒的CAN FD仲裁率、以及例如高达4M比特/秒或8M比特/秒(即,高达8倍仲裁率)的CAN FD数据率,CAN FD仲裁率通常由控制器5、6的处理速度限制,CAN FD数据率通常受限于CAN总线2的物理极限。
[0084] 此外,CAN FD被动节点4可提供或允许如ISO 11898-6规定的选择性唤醒、容忍CAN FD消息、允许通过显性边缘信令的“传统的”唤醒、提供发送(“TX”)低检测和/或操作模式的总线保护,操作模式包括透明的(活动的)、睡眠的及选择性的唤醒(使用CAN2.0B消息)。
[0085] CAN FD被动节点4跳过CAN FD通信专有的通信阶段,由此允许其参与混合的CAN FD和CAN 2.0B通信。具体地,CAN FD被动节点4可被动参与CAN FD通信,且主动参与CAN2.0B通信。
[0086] CAN FD帧到CAN替代帧转换
[0087] 还参照图4,CAN FD帧14一般包括符合CAN 2.0B和CAN FD协议两者的第一部分16、特定于CAN FD协议的第二部分17、以及可符合CAN 2.0B和CAN FD协议两者或仅符合CAN FD协议的第三部分18。CAN FD帧14后面跟着其他数据19(这里称为“跟随数据”),其他数据19通常为后面跟随着另一个帧的IFS的形式,另一个帧可为CAN 2.0B帧或CAN FD帧,且可包括数据帧或其他类型的帧。
[0088] CAN FD帧14的第一部分16始于SOF位。第二部分17始于EDL位(还可称为“FDF位”)且以ACK分隔符结束。第一部分16和第二部分17的内容基于帧格式。
[0089] 在接收CAN FD帧14时,CAN FD/CAN FD被动转换器15可通过用替代数据21替换帧14的第二部分17和第三部分18以及跟随数据19的部分20,来处理CAN FD帧14,以形成符合CAN 2.0B的帧22(这里称为“CAN替代帧”、“生成的CAN帧”或“CAN 2.0兼容帧”)。额外数据23跟着CAN替代帧22,额外数据23包括错误帧数据24或超载帧数据25。在一些情况下,例如,在CAN FD 14较长时,一个或多个其他CAN替代帧22可在错误帧数据
24或超载帧数据25之前跟着CAN替代帧22。此外,CAN替代帧22不一定需要包括CAN FD帧14的开始,即第一部分16。
[0090] 如下文将更详细解释的,替代数据21的且因此替代CAN帧22的内容基于帧格式以及帧长度。替代数据21通常包括显性预留位r0以及DLC位,且后面可跟着空数据部分、CRC位、ACK位、EOF位、IFS位、SOF位和/或仲裁字段位。
[0091] 在CAN 2.0B节点4传输CAN帧13时,CAN/CAN被动转换器15可延迟CAN帧13的传输,直至已通过生成向本地控制器16转发的专用总线活动序列而传递了CAN FD帧14。
[0092] 如也将在下文中更详细解释的,可提供不同的操作模式,包括帮助最大化总线参与的第一模式以及帮助最小化本地控制器6处的错误数量的第二模式。
[0093] 收发机10
[0094] 参照图5,收发机10包括物理层电路(PHY)12,且更详细地示出了CAN FD/CAN FD被动转换器15。数据流以及时钟信号被示出为实线,控制信号被示出为长虚线,且配置信号被示出为短虚线。
[0095] 如图5中示出的,PHY 12联接至CAN高(CAN_H)线以及CAN低(CAN_L)线。PHY12输出CAN接收数据信号(RXD),且接收来自CAN FD/CAN FD被动转换器15的CAN发送数据信号(TXD)。
[0096] RXD被供应至CAN FD检测单元51(这里简称为“FD检测单元”)、接收信号(RX)替代器单元52、RX多路复用器单元53、以及包括参引ID和数据寄存器55的选择性唤醒单元54。
[0097] TXD以来自TX门控和显性抑制单元56的发射机数据输入信号(CTXDS)的形式被供应至PHY 12。
[0098] FD检测单元51接收来自振荡器57的时钟信号(OSC)。振荡器57可以8或16MHz或者以其他频率操作。FD检测单元51还接收来自RX替代器52的设置控制信号(GENCOMP),并向RX替代器52供应EDL结束位指示器信号(IDE-RTR)、CAN FD数据屏蔽信号(FDDAMASK)、CAN比特率信号(TQCLK)、帧同步开始信号(SOFSYNC)以及帧生成信号(ENDGEN)。FD检测单元51还向TX门控和显性抑制单元56供应FDDAMASK。
[0099] FD检测单元51包括仲裁比特率寄存器58和CAN FD比特率寄存器59,这些寄存器使用从串行外设接口(SPI)单元60接收的配置信号(CONFIG)被设置,串行外设接口(SPI)单元60使用来自本地CAN控制器6(图3)的SPI信号来控制。
[0100] RX替代器52使用从SPI接口单元60接收的配置信号(CONFIG)来配置。RX替代器52向RX多路复用器单元53输出包括替换数据21(图4)的替代接收数据信号(RRXD)。
[0101] 选择性唤醒单元54使用从SPI接口单元60接收的配置信号(CONFIG)来配置。选择性唤醒单元54向RX多路复用器单元53输出唤醒信号(WUP)。
[0102] RX多路复用器单元53向本地CAN控制器6(图3)输出CAN接收数据信号(CRXD)。
[0103] TX门控和显性抑制单元56接收来自FD检测单元51的FDDAMASK,以及来自RX替代器单元52的GENCOMP。TX门控和显性抑制单元56还接收来自本地CAN控制器6(图3)的CAN发送数据(CTXD)以及来自SPI接口单元60的激活控制信号(ACTIVATE)。TX门控和显性抑制单元56向RX替代器单元52输出CAN发送数据倒置信号(CTXDA)。
[0104] CAN FD/CAN FD被动转换器操作
[0105] 参照图4和图5,CAN FD/CAN FD被动转换器15可以以不同的模式操作。
[0106] 在第一模式下,CAN FD/CAN FD被动转换器15可以以优化总线性能的方式操作。
[0107] 在接收CAN FD帧14时,FD检测单元51标记帧14的第二部分17和第三部分18、以及跟随该帧的用于替代的数据的部分19。RX替代器52处理CAN FD帧14,CAN FD帧14被替换并被馈送到RX多路复用器53中,并且作为CRXD输出。
[0108] 当CTXD不活动(即,隐性的)时,RX替代器52通过增加替代数据21来替换帧14的其余部分(即,帧14的第二部分17和第三部分18)以及IFS的一部分(即,跟随数据20)以形成CAN 2.0B兼容帧22,来完成目前不完整的CRXD帧,即帧14的第一部分16。替代数据21附于IDE位(图2)后,且包括CRC和正ACK。
[0109] 如果CTXD在仍正处理CAN FD帧14时变成活动的(即,显性的),TX门控和显性抑制单元56抑制CTXD到PHY 12的传输。TX门控和显性抑制单元56将CTXDA形式的CTXD馈送回RX替代器52,RX替代器52由CTXD触发。结果,RX替代器52生成包括仲裁字段的CAN 2.0B兼容帧22。在此仲裁字段期间,CTXD上的帧由显性覆盖。这故意导致本地CAN控制器6(图3)的仲裁丧失(loss of arbitration),由此使其停止传输。
[0110] CAN兼容帧22被设置为具有最小长度(即,DLC=0),没有数据内容,且被配置为在仲裁字段中具有最高优先级。如果CAN FD帧14的结尾的距离是使得其与错误帧数据24的长度(即,错误帧和错误分隔符)匹配,则在CRXD仍是活动的且错误帧被发送的情况下,终止帧的生成和到CRX的输出。因此,本地CAN控制器6(图3)可在FD帧14结束时尽快恢复访问CAN总线。
[0111] 无论何时以这样的方式处理CAN FD帧14,本地CAN控制器6(图3)中的RX错误计数器(未示出)递增。因此,在这样的操作模式下,本地CAN控制器6(图3)可达到“错误被动”状态。
[0112] 所生成的错误帧的时序被设置,使得错误帧的结尾匹配CAN FD总线的IFS的开始。
[0113] 在第二操作模式下,CAN FD/CAN FD被动转换器15可以以最小化RX错误的方式操作,但是另一方面,不允许本地CAN控制器6在精确的点(即,IFS的开始)重新加入CAN总线通信。
[0114] 类似于第一操作模式,在接收CAN FD帧14时,FD检测单元51标记帧14的第二部分17和第三部分1、以及跟随CAN FD帧14的用于替换的数据的部分20,且RX替代器52增加替代数据21。
[0115] 但是,为了避免CTXD在仍处理CAN FD帧14时变成显性,生成超载帧,直至CAN FD帧14结束。在超载帧期间,本地CAN控制器6(图3)不能开始任何传输,且因此其等待直至已完成超载帧的传输。
[0116] 如果在帧完成期间或在超载帧生成期间另一个CAN FD帧14在CAN总线上开始,则生成其他超载帧直至超载帧分隔符的结尾匹配总线空闲状态。
[0117] 类似于第一模式,CAN 2.0兼容帧22被设置为具有最小长度(即,DLC=0)。
[0118] 如果CAN总线负载是100%,则本地CAN控制器6(图3)不能参与仲裁,除非内部帧生成或超载分隔符的结尾匹配CAN总线的帧间隔阶段。但是,通常,CAN总线负载趋于不超过50%。因此,平均来看,在合理的时间之后,当内部帧生成或超载帧分隔符的结尾落在总线空闲或帧间隔阶段内时,CAN控制器6(图3)通常可重连接到CAN总线。
[0119] FD检测单元51
[0120] 参照图6,更详细地示出FD检测单元51。
[0121] FD检测单元51包括CAN仲裁比特率时间份额时钟生成单元62、CAN FD数据比特率时间份额时钟生成单元63、SOF同步单元64、仲裁阶段错误检测单元65、CAN FD数据错误检测单元66、EDL标记检测单元67以及CAN FD数据长度检测单元68。
[0122] 如图6中示出的,FD检测单元51使用来自内部振荡器57(图5)的时钟信号OSC。OSC可为8或16MHz。1.25%的精度足够,即,使用每比特8TQ,10比特内1时间份额(“TQ”)错误。可用每比特更低TQ的解析度生成CAN仲裁比特率时间份额时钟(ATQCLK)以及CAN数据比特率时间份额时钟(FDTQCLK)。
[0123] ATQCLK使用CONFIG经由SPI接口60(图5)来设置,并通过仲裁比特率时间份额时钟生成单元62来生成。ATQCLK在RXD的仲裁阶段期间被使用。仲裁比特率时间份额时钟生成单元62生成基于每比特8TQ的比特时序时钟。ATQCLK作为TQCLK被转发至RX替代器52(图5)。
[0124] FDTQCLK使用CONFIG经由SPI接口60(图5)被设置,并由CAN FD数据比特率单元63被输出。在需要更高的比特率时,在RXD的数据阶段期间使用FDTQCLK。CAN FD数据比特率时间份额时钟生成单元63生成基于每比特4TQ的比特时序时钟。
[0125] SOF同步单元64
[0126] 参照图4、图6和图7,在重置(步骤S 1-1)之后,SOF同步单元64检查分别来自仲裁阶段错误检测单元65或数据阶段错误检测单元66的仲裁阶段错误信号(AERR)或数据阶段错误信号(DERR)的接收(步骤S1-2)。AERR和DERR标记超载帧或错误帧的出现,且将引起SOF同步程序的重置。
[0127] 如果SOF同步单元64不接收错误信号(AERR或DERR),其通过查找包括(之前帧的)EOF以及被设置为显性位(即,逻辑‘0’)的SOF跟着的IFS的同步图案,寻找RXD上CAN帧的开始(步骤S 1-3)。
[0128] 当在RXD中找到SOF位时,SOF同步单元64向EDL标记检测块67转发SOF(步骤S1-4)。
[0129] 在仲裁阶段期间,SOF同步单元64使用ATQCLK的比时序。在(CAN FD)数据阶段期间,SOF同步单元64使用FDTQCLK来跟随比特流。数据阶段通过使用BRS的EDL标记检测块67向SOF同步单元64指示。
[0130] 如果在RXD上接收到超载帧或错误帧,则SOF同步单元64被重置,且将开始查找新的同步图案(步骤S 1-2)。
[0131] 仲裁阶段错误检测单元65
[0132] 参照图4、图6和图8,在重置(S2-1)之后,仲裁阶段错误检测单元65检测RXD信号(RXDA)中的错误帧和超载帧。EDL标记检测单元67在CAN帧13或CAN FD帧14的仲裁阶段期间转发RXD作为RXDA。
[0133] 在仲裁阶段错误检测单元65检测错误帧或超载帧时,设置AERR(步骤S2-2&S2-3)。
[0134] FD数据错误检测单元66
[0135] 参照图4、图6和图9,在重置(S3-1)之后,FD数据错误检测单元66检测RXD信号(RXDD)中的错误帧和超载帧。FD数据长度检测块68在CAN帧13的数据阶段期间转发RXD作为RXDD。
[0136] 在FD数据错误检测单元66检测错误帧或超载帧时,设置DERR(步骤S3-2&S3-3)。
[0137] FD数据错误检测单元66标记标准和FD CAN帧的错误帧和超载帧。
[0138] EDL标记检测单元67
[0139] 参照图4、图6和图10,EDL标记检测单元67查找EDL位(其可称为FDF位)的进入帧。EDL位位于距离SOF固定数量的位(或“固定的比特距离”)内的CAN FD帧14中。
[0140] EDL标记检测单元67清除EDL和BRS(步骤S4-1),并等待SOF(步骤S4-2)。一旦已找到SOF,则其等待IDE位(步骤S4-3)并使用IDE-RTR标记该位(1比特的持续时间)(步骤S4-4)。
[0141] EDL标记检测单元67读IDE,以确定帧是具有基本格式还是扩展格式。
[0142] 如果IDE是显性的,则帧具有基本格式,且因此,期望下一比特是(CAN FD帧的)EDL位或(CAN帧的)预留位r0。
[0143] 如果IDE是隐性的,则帧具有扩展格式,且因此,期望扩展的仲裁字段。因此,期望(CAN FD帧的)预留位r1跟随的标识符扩展或(CAN帧的)RTR。在仲裁字段之后,期望下一比特是(CAN FD帧的)EDL位或(CAN帧的)预留位r1。
[0144] EDL标记检测单元67等待期望从其找到EDL位的比特(步骤S4-5),并检查该比特(步骤S4-6)。对于CAN FD帧,EDL位是隐性的。对于CAN帧,预留位r1或r0是显性的。
[0145] 如果没有找到设置的比特且反而找到显性比特(即,r1或r0),则确定帧是CAN帧(即,不是CAN FD帧),且因此,该帧不需要进一步处理。因此,EDL标记检测单元67被重置(步骤S4-1)并等待新的SOF(步骤S4-2)。
[0146] 如果找到设置的比特(即,其为隐性的),EDL标记检测单元67通过设置EDL(步骤S4-7)向FD数据长度检测块68指示此发现。在这样的情况下,EDL标记检测单元67还检查并向FD数据长度检测块68以及SOF同步块64转发BRS标记,以允许他们选择合适的比特率(步骤S4-8、S4-9以及S4-10)。
[0147] 如果没找到设置的EDL位,或如果CAN FD帧14的数据阶段已完成(步骤S4-11),EDL标记检测单元67被重置(步骤S4-1)并等待新的SOF(步骤S4-2)。
[0148] 如果在任何时间找到仲裁或数据阶段中的错误,如信号AERR和DERR分别表示的(步骤S4-12),则重置EDL标记检测单元67(步骤S4-1)。
[0149] FD数据长度检测单元68
[0150] 参照图4、图5和图6,ENDGEN和FDDAMASK用于控制RX替代器52,RX替代器52模仿到本地(非FD)CAN控制器6(图3)的总线信号。
[0151] RX替代器52通过设置GENCOMP表示到FD数据长度检测单元68的替代比特21的插入的完成。在设置FDDAMASK时,本地CAN控制器6(图3)断开与RXD的连接,并由RX替代器52送入替代数据21(图4),且CTXD(即,从控制器6传输数据)未通过CTXDS馈送(即,未到达CAN总线)。
[0152] 如之前解释的,CAN FD/CAN FD被动转换器15可在两种不同的模式下操作。两种模式中的操作类似,主要在替代位21的内容中有所不同。
[0153] 第一操作模式下的FD数据长度检测单元68
[0154] 参照图4、图5、图6、图11A和图11B,首先清除SOF、BRS、AERR、DERR、FDDAMASK以及ENDGEN(步骤S5.1-1)。
[0155] FD数据长度检测单元68等待接收来自EDL标记检测单元67的EDL(步骤S5.1-2)。
[0156] 如果接收EDL位(因此,指示CAN FD帧14存在),FD数据长度检测单元68设置FDDAMASK(步骤S5.1-3)。继续设置FDDAMASK,直至经过了CAN FD帧14以及最小长度(在此情况下,3比特)的IFS(即,间断比特)(步骤S5.1-3至S5.1-14)。如果EDL位指示CAN FD帧14存在,可假设本地CAN控制器6(图3)已经丧失了仲裁,且由于EDL位已替代了显性位(即,r0或r1标记),将停止传输。
[0157] FD数据长度检测单元68在CAN FD帧14的结尾前(即,包括叠加(即,初始错误标记以及比初始错误标记更长的额外错误标记)的错误标记加上至少3比特的帧间隔前的错误分隔符的持续时间)对给定数量的位(在此情况下,20位)设置ENDGEN,以指示CAN FD帧14的替换应尽快结束(步骤S5.1-4至步骤S5.1-9)。为了生成ENDGEN,FD数据长度检测单元68解码CAN FD帧14(步骤S5.1-4),确定其长度以及数据率,并预测CRC字段的长度(步骤S5.1-5)。
[0158] 重置FDDAMASK之后,期待作为对ENDGEN的响应的来自RX替代器52的GENCOMP。如果在RXD上出现的任何新帧之前设置GENCOMP,那么,确定处理已完成,且因此重置FD数据长度检测单元68,并开始等待另一个CAN FD帧14。否则,再次设置FDDAMASK,且保持设置,直至已经过该帧和3比特的IFS,此后再次生成ENDGEN。
[0159] 在FD数据长度检测单元68设置ENDGEN之后,RX替代器52设置GENCOMP,且同时,CRXD上不再进行信号生成。
[0160] 除了EDL外,如果BRS被设置,那么,FD数据长度检测单元68识别CAN FD帧14的数据阶段,并替代ATQCLK使用FDTQCLK。
[0161] 如果数据阶段中的错误被找到且由DERR指示,那么,在清除FDDAMASK时重置FD数据长度检测单元68。
[0162] 因此,FD数据长度检测单元68等待直至经过帧和3比特的IFS(步骤S5.1-10)。等待时,FD数据长度检测单元68检查是否设置了GENCOMP(步骤S5.1-11)。
[0163] 如果同时设置了GENCOMP,那么,FD数据长度检测单元68等待直至经过该帧和3比特的IFS,即间断位(步骤S5.1-12),清除FDDAMASK(步骤S5.1-13),并重置(步骤S5.1-1)。
[0164] 如果未同时设置GENCOMP,那么,一旦已经过了该帧和3比特的IFS,FD数据长度检测单元68清除FDDAMASK(步骤S5.1-14)。
[0165] FD数据长度检测单元68检查是否已设置了GENCOMP(步骤S5.1-15)。如果已设置了GENCOMP,那么,重置FD数据长度检测单元68(步骤S5.1-1)。如果还未设置GENCOMP,那么,FD数据长度检测单元68等待直至在RXD上接收新帧(步骤S5.1-16)。如果接收到新帧,再次设置FDDAMASK,并保持设置,直至已经过该帧和3比特的IFS,其后再次生成ENDGEN(步骤S5.1-4至S5.1-9)。
[0166] 第二操作模式下的FD数据长度检测单元68
[0167] 参照图4、图5、图6和图12,首先清除SOF、BRS、AERR、DERR、FDDAMASK以及ENDGEN(步骤S5.2-1)。
[0168] FD数据长度检测单元68等待接收来自EDL标记检测单元67的EDL(步骤S5.2-2)。
[0169] 如果接收到EDL位(因此,指示CAN FD帧14存在),FD数据长度检测单元68设置FDDAMASK(步骤S5.2-3)。继续设置FDDAMASK,直至CAN FD帧14结束且到达IFS(步骤S5.2-4)。
[0170] 当已到达IFS时,ENDGEN指示CAN FD帧14的替换应结束(步骤S5.2-5)。
[0171] 期望作为对ENDGEN设置的响应的来自RX替代器52的GENCOMP。
[0172] 如果在RXD上出现下一帧之前设置GENCOMP,那么,处理被视为已完成,且FD数据长度检测单元68重置并等待下一个CAN FD帧14。
[0173] 如果GENCOMP清除,FDDAMASK仍设置,且在RXD上出现新帧,那么,也处理该帧。此帧之后,在IFS的开始生成新的ENDGEN信号。
[0174] 在FD数据长度检测单元68设置ENDGEN,且CRXD上没有进行信号生成时,RX替代器52设置GENCOMP。
[0175] 如果(除了EDL)还设置BRS,那么,FD数据长度检测单元68识别CAN FD帧14的数据阶段,并替代ATQCLK使用FDTQCLK。
[0176] 如果数据阶段中的错误被找到且由DERR指示,那么,在FDDAMASK清除时重置FD数据长度检测单元68。
[0177] 因此,FD数据长度检测单元68检查是否已接收了新帧(步骤S5.2-6)。如果是(即,已接收了新帧),那么,在新帧之后,在IFS的开始生成新的ENDGEN信号(步骤S5.2-4&S5.2-5)。
[0178] 但是,如果未接收到新帧,那么,FD数据长度检测单元68继续检查是否已设置了GENCOMP,直至接收到新帧(步骤S5.2-7)。如果仍未设置GENCOMP,那么,FD数据长度检测单元68继续检查新帧(步骤S5-2.7)。一旦接收到新帧,FD数据长度检测单元68保持FDDAMASK设置,直至也已过了此帧(IFS到达)。否则,如果S5.2-6之后已设置了GENCOMP,则清除FDDAMASK(步骤S5.2-8),且处理完成。
[0179] RX替代器单元52
[0180] 参照图13,更详细地示出RX替代器单元52。
[0181] RX替代器单元52包括接收流多路复用器72、接收多路复用器切换状态机73、以及生成替代数据21(图4)的一组发生器74。
[0182] 发生器74包括IFS/空闲发生器75、错误和超载帧发生器76、SOF和仲裁字段发生器77、显性r1/r0位发生器78、DCL(指示没有数据)字段发生器79、CRC字段发生器80以及ACK和EOF字段发生器81。
[0183] 响应于接收来自接收多路复用器切换状态机73的第一激活信号(A1),IFS/空闲发生器73向接收流多路复用器72提供IFS/空闲。响应于接收第二激活信号(S2),错误和超载帧发生器76(基于操作模式)向接收流多路复用器72提供错误或超载帧,在完成时,向接收多路复用器切换状态机73返回完成信号(C2)。响应于接收第三激活信号(S3),SOF和仲裁字段发生器77生成SOF以及仲裁字段位,且在完成时,返回完成信号(C3)。响应于接收第四激活信号(A4),显性位发生器75提供合适的显性位r1、r0。响应于接收第五激活信号(S5),DLC/非数据阶段信号发生器79生成DLC/非数据阶段位,在完成时,返回完成信号(C5)。
[0184] 响应于接收来自接收多路复用器切换状态机73的第六激活信号(S6)以及接收来自接收流多路复用器72的数据比特,CRC字段发生器80向接收流多路复用器72提供CRC数据,且在完成时,向接收多路复用器切换状态机73返回完成信号(C6)。响应于接收第七激活信号(S7),ACK和EOF字段发生器81生成ACK和EOF字段,且在完成时,向接收多路复用器切换状态机73返回完成信号(C7)。
[0185] 接收流多路复用器72
[0186] 仍参照图13,基于从接收多路复用器切换状态机73接收的选择信号(RSTRSEL),接收流多路复用器72向RRXD转发在RXD上接收的流或发生器74中的一个的输出。如果向RRXD转发发生器74的输出,那么,本地CAN控制器6(图3)看不到CAN总线信号RXD。因此,本地CAN控制器6(图3)有效地从CAN总线解耦。
[0187] 接收多路复用器切换状态机73
[0188] 状态机73基于输入条件,使用激活信号A1、S2、S3、A4、S5、S6、S7激活合适的发生器75、76、77、78、79、80、81,并观察完成信号C2、C3、C5、C6、C7。
[0189] 参照图4和图13,状态机73控制多路复用器72使用RSTRSEL转发RXD还是从发生器75、76、77、78、79、80、81输出RXD。在设置RSTRSEL时,发生器75、76、77、78、79、80、81的输出置于RRXD上。
[0190] 向RRXD转发CAN帧13(图3)时,状态机73使用TQCLK操作。
[0191] 现在将更详细地描述以第一模式操作时的状态机73的操作:
[0192] 如果设置了SOFSYNC且没有发生器75、76、77、78、79、80、81同时激活,那么,重置状态机73。但是,如果设置了SOFSYNC,且发生器75、76、77、78、79、80、81同时激活(例如,由于设置了完成信号C2、C3、C5、C6、C7中的至少一个),那么,不重置状态机73,直至所有发生器75、76、77、78、79、80、81是不活动的。
[0193] 在设置IDE-RTR,由此指示EDL标记将跟随时,那么,由r1/r0位(即,显性状态)替换EDL标记。因此,将RRXD上变得可见的任何帧标记为CAN帧,即,非FD帧。
[0194] 在设置FDDAMASK时,通过附上CRC、ACK、EOF以及IFS字段跟随的指示零长度数据字段的DLC字段,生成替代帧22,由此替换RXD上接收的流。如果在已插入这些字段之后FDDAMASK仍是活动的,那么,总线空闲信号生成并置于RRXD上。
[0195] 如果设置了信号ENDGEN(由此指示信号生成应完成),则通过插入错误帧来中止任何正在进行的帧生成。
[0196] 如果本地CAN控制器6(图3)尝试通过传输显性SOF(由CTXDA标记向RX替代器52发的信号)开始在TXD上发送帧,同时,FDDAMASK是活动的,且总线空闲信号同时在RRXD上(即,在已完成替代帧22的生成之后),则发生器在RRXD上生成完成帧,完成帧包括零长度指示DLC字段、CRC和ACK字段跟随的仲裁字段。因此,由于仲裁字段期间仲裁的丧失,本地CAN控制器6(图3)的传输中止,且不生成传输错误。RX替代器单元52生成的仲裁字段具有比源自本地CAN控制器6的任何帧的仲裁字段更高的优先级。
[0197] 在FDDAMASK不活动时,向RRXD转发信号RXD。
[0198] 如果重置了FDDAMASK,且没有信号生成是同时正在进行的,且已设置了ENDGEN,那么,设置GENCOMP。
[0199] 在设置FDDAMASK时TXDA上的任何总线活动引起另一个SOF、仲裁字段以及零长度数据阶段的生成。同时,如果设置了ENDGEN且重置了FDDAMASK,则用错误帧中止替代帧生成,且错误帧生成完成之后,设置GENCOMP。
[0200] 为了正确生成CRC字段,在CAN FD帧14的仲裁阶段期间考虑RXD上接收的去填充比特流。因此,RX替代器52记录在替换的CAN FD帧的仲裁阶段期间在RXD上接收的所有帧内容,并计算在考虑任何附加或生成的帧数据部分的此过程期间的CRC。
[0201] 可通过使用RX多路复用器53(图5)抑制RX替代器52的功能,以选择RXD。可使用SPI接口60(图5)设置这。
[0202] 现在将更详细描述以第二模式操作时的状态机73的操作:
[0203] 如果设置了SOFSYNC,且没有发生器75、76、77、78、79、80、81同时是活动的,那么,重置状态机73。但是,如果设置了SOFSYNC,且发生器75、76、77、78、79、80、81同时是活动的(例如,由于设置了完成信号C2、C3、C5、C6、C7中的至少一个),那么,不重置状态机73,直至所有发生器75、76、77、78、79、80、81是不活动的。
[0204] 在设置了IDE-RTR由此指示EDL标记将跟随时,那么,由r1/r0位(即,显性状态)替换EDL标记。因此,RRXD上变得可见的任何帧被标记为CAN帧,即,非FD帧。
[0205] 在FDDAMASK被激活时,指示零长度数据字段的DLC字段、CRC字段、ACK字段、EOF字段以及IFS被置于RRXD上,由此,用替代帧22替换RXD上接收的流。如果已在RRXD上插入帧之后FDDAMASK仍是活动的,则超载帧重复地置于RRXD上,以抑制本地CAN控制器6(图3)的传输帧的任何尝试。
[0206] 为了正确生成CRC字段,去填充的比特流RXD被考虑用于CAN FD帧的仲裁阶段。因此,RX替代器52记录所替换的CAN FD帧的仲裁阶段中RXD处的所有帧内容,并还计算在考虑附加或生成的帧数据部分的此过程期间的CRC。
[0207] 可通过使用RX MUX功能抑制此块的功能,以选择直接通过SPI接口输入的RXD。
[0208] 在此操作模式下,由于其指示本地CAN控制器6(图3)的传输的任何尝试,因此不使用CTXDA。但是,通过超载帧抑制这样的传输。
[0209] TX门控/显性抑制单元53
[0210] 参照图14,更详细地示出了TX门控/显性抑制单元53。
[0211] 单元53包括SIP接口161的激活标记(ACTIVATE)、传输流多路复用器82、总线空闲信号发生器83、传输多路复用器切换状态机84以及反相器85。
[0212] 传输流多路复用器82
[0213] 基于来自传输多路复用器切换状态机84的选择信号(TSTRSEL),传输流多路复用器82向CTXDS转发CTXD或总线空闲信号(为隐性水平)。
[0214] 可通过使用信号ACTIVATE的配置激活及禁用传输多路复用器切换状态机84。
[0215] 传输多路复用器切换状态机84
[0216] 一旦设置了FDDAMASK,状态机84就设置TSTRSEL,由此选择总线空闲信号(隐性的)作为CTXDS的输出。TSTRSEL保持设置,且隐性总线空闲信号保持选择,直至GENCOMP指示内部信号生成的完成。
[0217] 示例
[0218] 图15至图19图示出操作中的CAN FD/CAN FD被动转换器15(图3)的示例。
[0219] 图15图示出以第一模式操作的CAN FD/CAN FD被动转换器15(图5)对CAN FD帧14的处理。CAN FD帧14是短的,即,比用于替换它的CAN替代帧22短。
[0220] 如图15中示出的,CAN FD帧14在RXD上被接收,且包括SOF字段、仲裁字段、EDL和BRS位、其余的控制字段、数据字段和CRC字段、ACK字段和EOF字段。帧14跟随着IFS、总线空闲、且随后(标准)CAN 2.0B帧,CAN 2.0B帧包括SOF、仲裁字段、控制字段、数据字段和CRC字段、以及ACK字段。
[0221] 参照图5和图15,RX替代器52向RRXD传输SOF字段和仲裁字段,SOF字段和仲裁字段通过RX多路复用器53到达CRXD。FD检测单元51通过设置IDE-RTR且随后设置FDDAMASK来发送EDL位信号。
[0222] RX替代器52设置RSTRSEL(图13),并开始替代位21的生成。RX替代器52生成IDE(在基本格式帧的情况下)或预留位r1(在扩展格式帧的情况下)、预留位r0和指示零长度数据字段的DLC位,这些位置于RRXD上并通过RX多路复用器53到达CRXD。为了清楚未示出IDE/预留位r0。
[0223] FD检测单元51确定接近CAN FD 14的结尾(即,距离IFS的开始20比特),因此设置ENDGEN。ENDGEN的激活引起RX替代器52停止其替代帧生成,并生成错误帧和错误分隔符,错误帧和错误分隔符位于RRXD上,且通过RX多路复用器53到达CRXD。
[0224] 在CAN FD帧14已过去之后,FD检测器单元51禁用FDDAMASK。在其已完成错误帧并通过设置GENCOMP确认已停止了替代位21的生成之后,RX替代器52重置RSTRSEL(图13)。
[0225] 如图15中示出的,随后在RXD上接收CAN帧。RX替代器52向RRXD传输CAN帧,CAN帧通过RX多路复用器53到达CRXD。
[0226] 图16图示出以第一模式操作的CAN FD/CAN FD被动转换器15(图5)对CAN FD帧14的处理。CAN FD帧14是长的,即,比用于替换它的CAN替代帧22更长。
[0227] 如图16中示出的,CAN FD帧14是在RXD上接收的,且包括SOF字段、仲裁字段、EDL和BRS位、其余的控制字段、数据字段和CRC字段、ACK字段和EOF字段。IFS跟着帧14。
[0228] 参照图5和图16,RX替代器52向RRXD传输SOF字段和仲裁字段,SOF字段和仲裁字段通过RX多路复用器53到达CRXD。FD检测单元51通过设置IDE-RTR且随后设置FDDAMASK发送EDL位信号。
[0229] RX替代器52设置RSTRSEL(图13),并开始替代位21的生成。RX替代器52生成IDE(在基本格式帧的情况下)或预留位r1(在扩展格式帧的情况下)、预留位r0和指示零长度数据字段的DLC位,随后是CRC、ACK、EOF和IFS数据,且随后空闲,这些置于RRXD上并通过RX多路复用器53到达CRXD。为了清楚未示出IDE/预留位r0。
[0230] RX替代器52确定是否已设置了FDDAMASK。由于仍设置了FDDAMASK,且本地CAN控制器6(图3)开始发送帧(SOF设置的CTXDA),RX替代器52继续生成替代帧22的替代位21。RX替代器52生成SOF字段及仲裁字段,使得本地CAN控制器6(图3)丧失仲裁。
[0231] FD检测单元51确定接近CAN FD 14的结尾(即,距离IFS的开始20比特),因此设置ENDGEN。ENDGEN的激活引起RX替代器52中止其替代帧22生成,并生成错误帧和错误分隔符,错误帧和错误分隔符位于RRXD上,且通过RX多路复用器53到达CRXD。
[0232] 在CAN FD帧14已完成之后,FD检测器单元51禁用FDDAMASK,且CAN总线空闲。RX替代器52重置RSTRSEL(图13),并通过设置GENCOMP确认已利用包括分隔符的错误帧的完成停止替代位21的生成。
[0233] 图17图示出本地控制器6(图3)以第一模式操作时尝试开始朝替代数据的流的结尾传输时,CAN FD/CAN FD被动转换器15(图5)如何反应。
[0234] 如图17中示出的,本地控制器6(图3)开始在CTXD上传输,同时RX替代器52生成替代数据21。
[0235] 参照图5和图17,如果本地CAN控制器6(图3)尝试开始在CTXD上传输,同时RX替代器52生成替代数据21,则RX替代器52不生成GENCOMP,即使FDDAMASK指示CAN FD帧14已结束。因此,替代帧22生成继续。
[0236] 如果另一个帧(可为CAN帧或CAN FD帧)出现在总线(即,RXD)上,那么,RX替代器52继续生成替代帧22。这是由于FD检测单元52未响应于ENDGEN(未示出)接收GENCOMP,且因此,再次设置FDDAMASK。
[0237] 如果本地CAN控制器6(图3)再次尝试发送帧,那么,这触发另一个替代帧22被生成。如果总线上的帧达到其结尾,FD检测单元51再次设置ENDGEN。用错误帧和错误帧分隔符中止替代帧生成。
[0238] 本地控制器6(图3)应允许经过包括其分隔符的错误帧。由于此帧与总线上的帧的结尾一致,那么,在清除了FDDAMASK和GENCOMP后,本地控制器6(图3)可最后发送其待定帧。清除RSTRSEL,且因此,此帧达到CTXD并馈送回RXD上。
[0239] 图18图示出以第二模式操作的CAN FD/CAN FD被动转换器15(图5)对CAN FD帧14的处理。CAN FD帧14是短的,即,比用于替换它的CAN替代帧22短。
[0240] 如图18中示出的,CAN FD帧14是在RXD上接收的,且包括SOF字段、仲裁字段、EDL和BRS位、其余的控制字段、数据字段和CRC字段、ACK字段和EOF字段。帧14由IFS跟着,随后是包括SOF、仲裁字段、控制字段、数据字段和CRC字段、ACK字段和EOF字段的CAN帧,CAN帧由IFS跟着,之后,总线空闲。
[0241] 参照图5和图18,RX替代器52向RRXD传输SOF字段和仲裁字段,SOF字段和仲裁字段通过RX多路复用器53到达CRXD。FD检测单元51通过设置IDE-RTR发送EDL位信号且随后设置FDDAMASK。
[0242] RX替代器52设置RSTRSEL(图13),并开始替代位21的生成。RX替代器52生成IDE(在基本格式帧的情况下)或预留位r1(在扩展格式帧的情况下)、预留位r0和指示零长度数据字段的DLC位、随后置于RRXD上且通过RX多路复用器53到达CRXD的CRC、ACK、EOF和IFS数据。为了清楚未示出IDE/预留位r0。
[0243] FD检测单元51确定已到达IFS,且因此设置ENDGEN。但是,由于仍未完成信号生成,即,替代帧生成仍在进行中,且超载帧生帧仍未开始,RX替代器52忽略此指示。FD检测单元51检查是否已同时接收了另一个SOF。由于已接收了SOF,且仍未设置GENCOMP,FD检测单元51不设置FDDAMASK。
[0244] RX替代器52完成替代数据21的生成,替代数据21包括EOF和IFS数据。此后,RX替代器52生成超载帧以及超载分隔符,超载帧以及超载分隔符置于RRXD上。此时,RX替代器52可接受ENDGEN信号,停止超载帧生成,且随后以GENCOMP信号响应。
[0245] 如果接收了新帧,那么,FD检测单元51确定已达到IFS,并设置ENDGEN。在RX替代器52已经以GENCOMP响应之后,FD检测单元51重置FDDAMASK。通过FDDAMASK的禁用,RX替代器52重置RSTRSEL(图13)。
[0246] 图19图示出以第二模式操作的CAN FD/CAN FD被动转换器15(图5)对CAN FD帧14的处理。CAN FD帧14是长的,即,比用于替换它的CAN替代帧22更长。
[0247] 如图19中示出的,CAN FD帧14是在RXD上接收的,且包括SOF字段、仲裁字段、EDL和BRS位、其余的控制字段、数据字段和CRC字段、ACK字段和EOF字段。IFS跟着帧14,此后,总线变成空闲的。
[0248] 参照图5和图19,RX替代器52向RRXD传输SOF字段和仲裁字段,SOF字段和仲裁字段通过RX多路复用器53到达CRXD。FD检测单元51通过设置IDE-RTR发送EDL位信号且随后设置FDDAMASK。
[0249] RX替代器52设置RSTRSEL(图13),并开始替代位21的生成。RX替代器52生成IDE(在基本格式帧的情况下)或预留位r1(在扩展格式帧的情况下)、预留位r0和指示零长度数据字段的DLC位、随后是CRC、ACK、EOF和IFS数据,以及随后是空闲,这些置于RRXD上并通过RX多路复用器53到达CRXD。为了清楚未示出IDE/预留位r0。
[0250] 此后,在激活FFDAMASK且禁用ENDGEN时,RX替代器52开始并继续发送超载帧,以防止本地CAN控制器6(图3)尝试开始发送消息。
[0251] 在FD检测单元51识别IFS(即,CAN FD帧已经过去)时,其激活ENDGEN。替代帧生成已完成,且超载帧生成是活动的。因此,在当前的超载帧和超载分隔符的生成完成之后,RX替代器52识别ENDGEN。随后,为了确认完成,RX替代器52设置GENCOMP信号。因此,FD检测单元清除FDDAMASK。
[0252] 在图15至图18中示出的示例中,CAN FD帧可为基本格式的或扩展格式的。如果CAN FD帧具有基本格式,那么,具有基本格式的CAN帧可替换它。同样,如果CAN FD帧具有扩展格式,那么,具有扩展格式的CAN格式可用于替换它。如果生成超过一个CAN替代帧,那么,CAN替代帧不需要全部为同样格式,即基本或扩展格式。
[0253] 应理解,可对之前描述的实施例作出许多修改
[0254] 例如,高层功能块(例如,FD检测单元和RX替代器)可不同地细分成低层功能块。可提供额外的功能块。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈