《具有使用缓冲器描述表的控制器区域网络模块的微控制器.pdf》由会员分享,可在线阅读,更多相关《具有使用缓冲器描述表的控制器区域网络模块的微控制器.pdf(20页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN102326363A43申请公布日20120118CN102326363ACN102326363A21申请号201080008842122申请日2010052161/181,72020090528US12/776,04620100507USH04L12/413200601H04L12/56200601B60R16/023200601H04L12/4020060171申请人密克罗奇普技术公司地址美国亚利桑那州72发明人蒂姆L威尔逊约瑟夫W特里斯史蒂文G道森74专利代理机构北京律盟知识产权代理有限责任公司11287代理人孟锐54发明名称具有使用缓冲器描述表的控制器区域网络模块的微。
2、控制器57摘要一种微控制器具有随机存取存储器;及控制器区域网络CAN控制器,其具有接收经汇编CAN消息的控制单元。所述控制单元使用所述经汇编CAN消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存储于所述随机存取存储器中,且所述缓冲器描述符表条目具有来自所述CAN消息的至少一消息识别符及荷载数据以及随后缓冲器描述符表条目的信息。30优先权数据85PCT申请进入国家阶段日2011082286PCT申请的申请数据PCT/US2010/0357672010052187PCT申请的公布数据WO2010/138416EN2010120251INTCL19中华人民共和国国家知识产权局12发明专利申请权。
3、利要求书2页说明书11页附图6页CN102326376A1/2页21一种微控制器,其包含随机存取存储器;控制器区域网络CAN控制器,其包含接收经汇编CAN消息的控制单元,其中所述控制单元使用所述经汇编CAN消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存储于所述随机存取存储器中,且其中所述缓冲器描述符表条目包含来自所述CAN消息的至少一消息识别符及荷载数据以及随后缓冲器描述符表条目的信息。2根据权利要求1所述的微控制器,其中缓冲器描述符表条目具有恒定大小。3根据权利要求1所述的微控制器,其中所述缓冲器描述符表条目进一步包含帧状态及扩展的CAN消息识别符。4根据权利要求1所述的微控制器,其。
4、中所述微控制器为32位微控制器且所述缓冲器描述符表条目由六个32位字组成。5根据权利要求1所述的微控制器,其中所述缓冲器描述符表条目包含帧状态字、下一地址位置字、消息识别符字、扩展的消息识别符字、包含四个字节的第一数据字及包含四个字节的第二数据字。6根据权利要求1所述的微控制器,其中所述随机存取存储器为双端口或多端口存储器。7根据权利要求1所述的微控制器,其中所述CAN控制器包含与所述控制单元耦合的消息汇编缓冲器移位寄存器。8根据权利要求7所述的微控制器,其中所述CAN控制器包含将多个屏蔽寄存器及多个滤波器寄存器与所述控制单元耦合的逻辑,其中所述逻辑产生指示所述消息汇编缓冲器移位寄存器中的有效。
5、条目的信号。9一种在微控制器内存储控制器区域网络CAN消息的方法,其包含以下步骤接收CAN消息;汇编所述CAN消息;使用所述经汇编CAN消息产生缓冲器描述符表条目;及将所述缓冲器描述符表条目存储于所述微控制器的随机存取存储器中,其中所述缓冲器描述符表条目包含来自所述CAN消息的至少一消息识别符及荷载数据以及随后缓冲器描述符表条目的信息。10根据权利要求9所述的方法,其中所述CAN消息可为标准CAN消息以及扩展的CAN消息。11根据权利要求9所述的方法,其中缓冲器描述符表条目具有恒定大小。12根据权利要求9所述的方法,其中所述缓冲器描述符表条目进一步包含帧状态及扩展的CAN消息识别符。13根据权。
6、利要求9所述的方法,其中所述微控制器为32位微控制器且所述缓冲器描述符表条目由六个32位字组成。14根据权利要求9所述的方法,其中所述缓冲器描述符表条目包含帧状态字、下一地址位置字、消息识别符字、扩展的消息识别符字、包含四个字节的第一数据字及包含四个字节的第二数据字。15根据权利要求9所述的方法,其中所述随机存取存储器为双端口或多端口存储器。权利要求书CN102326363ACN102326376A2/2页316根据权利要求9所述的方法,其中通过消息汇编缓冲器移位寄存器来执行所述汇编CAN消息的步骤。17根据权利要求16所述的方法,其进一步包含借助多个屏蔽寄存器及多个滤波器寄存器来产生有效性信。
7、号的步骤,所述有效性信号指示所述消息汇编缓冲器移位寄存器中的有效条目。18一种32位微控制器,其包含双端口32位宽随机存取存储器;及控制器区域网络CAN控制器,其包含接收经汇编CAN消息的控制单元,其中所述控制单元使用所述经汇编CAN消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存储于所述随机存取存储器中,且其中所述缓冲器描述符表条目由32位帧状态字、32位下一地址位置字、32位消息识别符字、32位扩展的消息识别符字、第一32位数据字及第二32位数据字组成。19根据权利要求17所述的微控制器,其中所述CAN控制器包含与所述控制单元耦合的消息汇编缓冲器移位寄存器。20根据权利要求18所述的。
8、微控制器,其中所述CAN控制器包含将多个屏蔽寄存器及多个滤波器寄存器与所述控制单元耦合的逻辑,其中所述逻辑产生指示所述消息汇编缓冲器移位寄存器中的有效条目的信号。权利要求书CN102326363ACN102326376A1/11页4具有使用缓冲器描述表的控制器区域网络模块的微控制器0001相关申请案交叉参考0002本申请案请求在2009年5月28日提出申请且标题为“轻量级缓冲器描述符表LIGHTWEIGHTBUFFERDESCRIPTORTABLE”的第61/181,720号美国临时申请案的权益,所述美国临时申请案全文并入本文中。技术领域0003本发明涉及控制器区域网络CAN或CAN总线兼容的。
9、微控制器,且更特定来说涉及一种用于CAN消息存储的轻量级缓冲器描述符表BDT。背景技术0004控制器区域网络CAN是有效地以高水平的安全性支持分散式实时控制的串行通信协议。CAN的应用范围从高速数字通信网络到低成本多路复用布线。CAN是用于实时应用的高整体性串行数据通信总线。CAN以高达1兆位/秒的数据速率操作,具有优秀的错误检测与约束能力,且最初开发用于汽车中,但现在也用于其它领域中。CAN总线与CPU之间的接口通常称为CAN控制器。CAN背后的动机是通过改善汽车电子器件、引擎控制单元、传感器、防滑刹车系统等的互可操作性同时减小线束重量及复杂性而使汽车更可靠、安全且燃料高效。由于CAN的出现。
10、,CAN协议已在工业自动化及汽车/卡车应用中获得广泛普及。CAN总线在嘈杂环境中的强健性及从故障条件检测及恢复的能力使CAN适合与工业控制设备、医学设备、测试设备、移动及便携式机器、器具等一起使用。0005CAN是具有一个逻辑总线的不同步串行总线系统。其具有具有相等总线节点的开放线性总线结构。CAN总线由两个或两个以上节点组成。可在不干扰其它节点的通信的情况下动态地改变总线上节点的数目。0006CAN逻辑总线对应于“线与”机构,“空闲”位通常但未必等于逻辑电平“1”被“占有”位通常是逻辑电平“0”覆写。只要没有总线节点正在发送占有位,那么总线在空闲状态中,但来自任一总线节点的占有位产生占有总线。
11、状态。因此,对于CAN总线,选择能够传输两个可能位状态占有及空闲的媒体。所使用的常见物理媒体是双绞线对。总线则称为“CANH”及“CANL”,且可直接连接到CAN控制器节点或经由连接器连接到其。0007在CAN总线协议中,并非寻址总线节点,而是将地址信息包含于所传输的消息中。此经由识别消息内容例如,引擎速度、油温等的识别符每一消息的部分来进行。所述识别符另外指示消息的优先等级。所述识别符的二进制值越低,则消息的优先等级越高更多占有位。0008原始CAN规范版本10、12及20A将消息识别符定义为具有11位的长度,从而给出可能2048个消息识别符。“扩展的CAN”规范版本20B允许使用11及/或。
12、29位的消息识别符长度29位的识别符长度允许超过536,000,000个消息识别符。所述CAN规范所有版本出于所有目的以引用方式并入本文中。0009通常,两种方法可用于CAN,因为CAN标准不涵盖CAN控制器的架构,这两种方法说明书CN102326363ACN102326376A2/11页5是“基本CAN”及“完全CAN”不要与CAN1及CAN2或标准识别符及扩展的识别符混淆;其在消息的缓冲上不同。0010基本CAN控制器架构类似于简单UART,除发送完整帧而非字符外。通常,存在单个传输缓冲器及双缓冲接收缓冲器。举例来说,微控制器将帧放入传输缓冲器中,且在发送所述帧时接收中断。当在接收缓冲器中。
13、接收到帧时,微控制器接收用以腾空所述接收缓冲器的中断且在接收随后帧之前将所述帧从所述接收缓冲器腾空。在基本CAN控制器架构中,微控制器必须管理传输及接收,且处置帧的存储。0011完全CAN控制器架构包含专用缓冲器且将帧存储于此专用缓冲器中。可依据所述专用缓冲器的大小处理有限数目个帧。以映射到每一帧缓冲器的帧的识别符给所述缓冲器加标签。微控制器可更新所述缓冲器中的帧且对其进行标记以供传输。可检查接收缓冲器以查看是否已接收到具有匹配识别符的帧。另外,可使用滤波器来预筛选所接收到的帧,以使得仅既定供特定CAN控制器使用的那些帧存储于接收缓冲器中。0012标准CAN对扩展的CAN0013CAN协议通常。
14、以两个版本获得应用CAN10及CAN20。CAN20与CAN10向后兼容,且大多数新控制器根据CAN20构建。CAN20标准存在两个部分部分A及部分B。在CAN10及CAN20A的情况下,识别符必须为11位长。在CAN20B的情况下,识别符可为11位“标准”识别符或29位“扩展的”识别符。为依从于CAN20,控制器必须为20部分B被动或20部分B主动。如果其是被动的,那么其必须忽略扩展的帧当CAN10控制器看到具有29位识别符的帧时,其将产生错误帧。如果其是主动的,那么其必须允许接收及传输扩展的帧。存在用于发送及接收两种类型的帧的一些兼容性规则。0014CAN20B主动控制器将发送及接受标准帧。
15、及扩展的帧两者。CAN20B被动控制器将发送及接收标准帧,且将丢弃不具有错误的扩展的帧。0015CAN10控制器在看到扩展的帧时,其将产生错误。因此,其中网络上存在单个CAN10控制器的所述网络不能够与所述网络上的扩展的帧共处;所有控制器必须使用标准帧发送。0016控制器架构0017CAN标准不涵盖控制器的架构,因此如何使用其存在变化形式。虽然存在两种一般方法基本CAN及完全CAN不要与CAN10及20或标准识别符及扩展的识别符混淆;其在消息的缓冲上不同。0018如上所述,在基本CAN控制器中,架构类似于简单UART,除发送完整帧而非字符外通常存在单个传输缓冲器及双缓冲接收缓冲器。CPU将帧放。
16、入传输缓冲器中,且在发送帧时采取中断;CPU将帧接收于接收缓冲器中,采取中断且腾空所述缓冲器在接收随后帧之前。CPU必须管理传输及接收,且处置帧的存储。0019如上所述,在完全CAN控制器中,帧存储于所述控制器的专用缓冲器中。可处理有限数目个帧通常16个,因为网络上可存在更多的帧,以映射到每一缓冲器的帧的识别符给所述缓冲器加标签。CPU可更新所述缓冲器中的帧且对其进行标记以供传输;可检查缓冲器以查看是否已接收到具有匹配识别符的帧。0020完全CAN设计的意图是在网络中提供一组“共享变量”;CPU周期性地更新所述变量即,缓冲器中的帧的内容;CPU还可检查所述变量。实际上,当然事情由于并行性说明书。
17、CN102326363ACN102326376A3/11页6困难而并不如此简单当从帧读取一组字节时,控制器可用新帧的内容覆写数据,且在许多控制器中仅通过状态旗标来用信号通知此情况。0021在“基本CAN”实施方案中,通常存在一个具有一个或一个以上相关联消息接受滤波器的双缓冲接收信道。仅具有一个双缓冲消息信道意指处理器必须能够在此时间内处置先前消息。在“完全CAN”实施方案中,通常存在多达15个消息缓冲器或信道,每一消息缓冲器或信道具有一个相关联消息接受滤波器。具有大量接收缓冲器可在处理器非常慢的情况下有助于处理消息业务的突发,然而,如果总消息业务使得其倾覆处理器能力,那么没有什么缓冲量可防止消。
18、息的最终损失。如果处理器的CPU非常慢或非常忙,那么为接收许多不同被寻址消息需要单独的接收缓冲器及接受滤波器。在较快速处理器的情况下,可因接受滤波器的编程的灵活性而使用更有限数目个接收缓冲器。简而言之,处理器必须具有带宽以服务总线上的总业务。作为折衷,通常实施多个缓冲器。然而,每一接收缓冲器具有相关联的多个屏蔽寄存器及过滤器寄存器以及相关联比较器。此需要大量硅面积。0022因此,此项技术中需要一种不需要大量硅面积的CAN实施方案。发明内容0023根据一实施例,一种微控制器可包含随机存取存储器;及控制器区域网络CAN控制器,其包含接收经汇编CAN消息的控制单元,其中所述控制单元使用所述经汇编CA。
19、N消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存储于所述随机存取存储器中,且其中所述缓冲器描述符表条目包含来自所述CAN消息的至少一消息识别符及荷载数据以及随后缓冲器描述符表条目的信息。0024根据进一步实施例,缓冲器描述符表条目可具有恒定大小。根据进一步实施例,所述缓冲器描述符表条目可进一步包含帧状态及扩展的CAN消息识别符。根据进一步实施例,所述微控制器可为32位微控制器且所述缓冲器描述符表条目由六个32位字组成。根据进一步实施例,所述缓冲器描述符表条目可包含帧状态字、下一地址位置字、消息识别符字、扩展的消息识别符字、包含四个字节的第一数据字及包含四个字节的第二数据字。根据进一步实。
20、施例,所述随机存取存储器可为双端口或多端口存储器。根据进一步实施例,所述CAN控制器可包含与所述控制单元耦合的消息汇编缓冲器移位寄存器。根据进一步实施例,所述CAN控制器可包含将多个屏蔽寄存器及多个滤波器寄存器与所述控制单元耦合的逻辑,其中所述逻辑产生指示所述消息汇编缓冲器移位寄存器中的有效条目的信号。0025根据另一实施例,一种在微控制器内存储控制器区域网络CAN消息的方法可包含以下步骤接收CAN消息;汇编所述CAN消息;使用所述经汇编CAN消息产生缓冲器描述符表条目;及将所述缓冲器描述符表条目存储于所述微控制器的随机存取存储器中,其中所述缓冲器描述符表条目包含来自所述CAN消息的至少一消息。
21、识别符及荷载数据以及随后缓冲器描述符表条目的信息。0026根据所述方法的进一步实施例,所述CAN消息可为标准CAN消息以及扩展的CAN消息。根据所述方法的进一步实施例,缓冲器描述符表条目可具有恒定大小。根据所述方法的进一步实施例,所述缓冲器描述符表条目可进一步包含帧状态及扩展的CAN消息识别符。根据所述方法的进一步实施例,所述微控制器可为32位微控制器且所述缓冲器描述符表条目由六个32位字组成。根据所述方法的进一步实施例,所述缓冲器描述符表条目可包说明书CN102326363ACN102326376A4/11页7含帧状态字、下一地址位置字、消息识别符字、扩展的消息识别符字、包含四个字节的第一数。
22、据字及包含四个字节的第二数据字。根据所述方法的进一步实施例,所述随机存取存储器可为双端口或多端口存储器。根据所述方法的进一步实施例,可通过消息汇编缓冲器移位寄存器来执行所述汇编CAN消息的步骤。根据所述方法的进一步实施例,所述方法可进一步包含借助多个屏蔽寄存器及多个滤波器寄存器来产生有效性信号的步骤,所述有效性信号指示所述消息汇编缓冲器移位寄存器中的有效条目。0027根据又一实施例,一种32位微控制器可包含双端口32位宽随机存取存储器;及控制器区域网络CAN控制器,其包含接收经汇编CAN消息的控制单元,其中所述控制单元使用所述经汇编CAN消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存储。
23、于所述随机存取存储器中,且其中所述缓冲器描述符表条目由32位帧状态字、32位下一地址位置字、32位消息识别符字、32位扩展的消息识别符字、第一32位数据字及第二32位数据字组成。0028根据所述32位微控制器的进一步实施例,所述CAN控制器可包含与所述控制单元耦合的消息汇编缓冲器移位寄存器。根据所述32位微控制器的进一步实施例,所述CAN控制器可包含将多个屏蔽寄存器及多个滤波器寄存器与所述控制单元耦合的逻辑,其中所述逻辑产生指示所述消息汇编缓冲器移位寄存器中的有效条目的信号。0029根据下文更特定来说对如附图中所图解说明的本发明优选实施例的说明将明了本发明的上述及其它目标、特征及优点。附图说明。
24、0030图1展示根据一实施例的具有CAN模块/控制器的微控制器的部分的框图;0031图2展示常规CAN控制器的接收缓冲器及其相关联滤波器的示意图;0032图3展示标准CAN消息与扩展的CAN消息之间的差异;0033图4展示供与CAN控制器一起使用的根据一实施例的缓冲器描述符表;0034图5展示使用图4的缓冲器描述符表的微控制器的随机存取存储器;0035图6展示来自图1的CAN协议引擎的实施例;0036图7展示比较器单元的示范性实施例;0037图8展示位比较器单元的另一示范性实施例。具体实施方式0038参照图2,其图解说明供用于微控制器中的常规CAN控制器的接收缓冲器118、120及122以及相。
25、关联屏蔽102、108及滤波器寄存器104、106、110、112、114、116。缓冲器120指定为消息汇编缓冲器MAB发挥作用以仅监视用于传入消息的CAN逻辑总线未展示。MAB120保持来自总线的经去充填位流。所述位流由包含识别符及数据字段的消息即,数据帧、远程帧或其它帧组成未展示。CAN控制器包含例如两个可由微控制器的CPU存取的专用缓冲器118及122。MAB120允许这些接收缓冲器118及122并行存取所述消息。MAB120还允许接受滤波器106及116存取所述消息的识别符部分。位流消息到接收缓冲器118或122的并行传送在接受屏蔽102及108以及接受滤波器104、106、110、。
26、112、114及116将接受匹配测试施加到所述消息之前可不被允许。所列缓冲器的说明书CN102326363ACN102326376A5/11页8数目仅为实例,可利用更多的缓冲器。0039分别使用可编程接受滤波器屏蔽102及108来选择应将未经充填位流消息的哪些位与接受滤波器104及106以及110、112、114及116的内容进行比较。0040接受匹配测试如下进行滤波器104、106、110、112、114及116接收所述消息的识别符字段且将所述字段与滤波器值进行比较。如果所述识别符字段与滤波器值之间存在匹配,那么将所述消息加载到匹配滤波器的对应接收缓冲器118或122中。滤波器104及106。
27、连接到缓冲器118,滤波器110、112、114及116连接到缓冲器122。0041根据一实施例,接收缓冲器可存在暗示的优先等级。举例来说,缓冲器118可为较高优先等级缓冲器且具有与其相关联的消息接受滤波器104及106。缓冲器122可为较低优先等级缓冲器且具有与其相关联的接受滤波器110、112、114及116。与缓冲器118相关联的滤波器比与缓冲器122相关联的滤波器少意指缓冲器118比缓冲器122更具限制性。更具限制性的缓冲器118含蓄地具有与其相关联的较高临界点。具有优先等级并非要求,但可为可选择选项。0042在MAB120快速连续地接收两个“高优先等级”消息时,接收缓冲器118其被指。
28、定为第一高优先等级缓冲器将接收第一高优先等级消息。在接收第二高优先等级消息时,MAB120发现缓冲器118当前由高优先等级消息占据。MAB120接着引导缓冲器122其被指定为第二高优先等级缓冲器接收所述第二高优先等级消息。在此情境中,缓冲器118及122分别被排定等级为所述第一高优先等级缓冲器及所述第二高优先等级缓冲器。0043中央处理单元CPU未在图2中展示可在接收缓冲器118及122中的一者上操作,而另一者供用于接收或保持先前接收的消息。0044根据示范性实施方案,在两个高优先等级消息的到达的情况下的协议可由接收缓冲器118及122的控制寄存器未展示中的BUKT位实现。表I描绘并解释接收缓。
29、冲器118的控制寄存器,其中R/W意指可读取/可写入位,且其中R意指只读位。0045表I0046说明书CN102326363ACN102326376A6/11页90047如果设定为“1”,那么BUKT位实施基于优先等级的协议。表II描绘并解释接收缓冲器122的控制寄存器。0048表II0049说明书CN102326363ACN102326376A7/11页100050图1展示供用于微控制器中的CAN控制器的示范性实施例。微控制器被视为包含至少一CPU、存储器及多个外围装置的单芯片装置,例如CAN模块。在CAN模块/控制器的此实施例中,第一及第二屏蔽寄存器415及420可为可逐位寻址的且可包含单。
30、个输出位。此外,多个滤波器寄存器0N仅展示两个由编号425及430指定。滤波器寄存器425、430也可包含单个输出位且是可逐位寻址的。另外,屏蔽寄存器415及420以及所有滤波器寄存器425、430可为可由中央处理单元485以并行模式读取及写入图1中未展示连接。说明书CN102326363ACN102326376A8/11页11定序器与控制单元410可作为位选择单元操作且产生地址信号,所述地址信号被馈送到屏蔽寄存器415及420以及所有滤波器寄存器425、430。每一滤波器寄存器425、430可包含相关联位比较器单元435、440。屏蔽寄存器415及420的位输出信号被馈送到位比较器单元435。
31、、440的第一及第二输入。此外,滤波器寄存器425、430的每一位输出可被馈送到其相关联位比较器单元435、440的第三输入。来自CAN总线的位流信号由CAN协议引擎480提供且被馈送到每一位比较器单元435、440的第四输入。滤波器寄存器425、430可提供额外存储位,所述额外存储位与每一相关联位比较器单元的第四输入耦合。可提供具有更少或更多的功能性的CAN模块的其它设计。0051根据各种实施例,每一位比较器单元435、440的输出可载运接受信号且与描述符表控制单元460的控制输入耦合。可提供具有与滤波器寄存器的数目一样多的输入的OR门450。每一输入从相应位比较器单元435、440接收接受。
32、信号。描述符表控制单元460的地址输出与微控制器的与CPU485耦合的通用随机存取存储器470的地址输入耦合。OR门450的输出与描述符表控制单元460的另一控制输入耦合。根据一实施例,随机存取存储器470可为双端口或多端口存储器,其第一数据端口与描述符表控制单元460的数据输出耦合。描述符表控制单元460从标准消息汇编缓冲器移位寄存器490接收经汇编消息,标准消息汇编缓冲器移位寄存器490又从CAN协议引擎495接收串行数据流。存储器470的第二数据端口与中央处理单元485耦合。然而,根据另一实施例,CPU485与描述符表控制单元460可共享与存储器470耦合的同一数据总线。0052使用特定。
33、设计的缓冲器描述符表来以特定方式将CAN消息存储到随机存取存储器470中。通常,例如从以太网协议知道的缓冲器描述符表BDT具有与其相关联的显著开销。此外,此些传统缓冲器描述符表存储指针数据,所述指针数据分支到实际上存储附加到消息或嵌入于消息中的数据的存储器的不同部分。BDT可含有相对大量的必须读取的信息。当结合显著大于BDT中所含有的信息的数据消息读取BDT时,那么读取及处理BDT中的信息的开销相对低。此导致显著开销及复杂的存储器管理。然而,对于具有小数据大小的应用,例如CAN系统,用于从BDT读取及处理信息的开销可显著影响系统性能。0053因此,根据各种实施例提供供用于CAN控制器中的特定设。
34、计的缓冲器描述符表。此特定设计的缓冲器描述符表减少从CAN装置的BDT读取及处理信息的开销。根据一实施例,已设计一种轻量级BDT,其中每一缓冲器描述符表条目可具有恒定大小及/或含有实际数据荷载。根据本发明的教示,此轻量级BDT放弃完全BDT的一些灵活性,但节约显著硅面积、所需的处理能力及总线存取。在轻量级BDT中,消除对数据的指针且可合并状态字段,因此每BDT查找节约两次2读取。0054不限制应用专用缓冲器。而是,系统存储器或可用RAM的大小理论上限制多少条目可用。如上文所提及,根据一实施例所使用的特定描述符表允许快速数据检索,因为使所需读取的数目最小化。根据一实施例,缓冲器描述符表可包含以下。
35、条目。编号210指定含有帧状态的具有32位的第一条目。编号220指定下一表条目的32位地址。地址220允许存储器的灵活处置。举例来说,可使用多个非连续存储器段来代替连续表条目。编号230含有标准CAN识别符SID且编号240含有扩展的识别符及DLC条目。以下两个32位字250及260包含CAN消息的实际8个数据字节。可设计其它缓冲器描述符表。根据各种实施例的基本要求是包括实际数据荷载以及对下一表条目的指针。另外,可添加状态信息及说明书CN102326363ACN102326376A9/11页12各种识别符信息。相应条目的次序可变化且不重要。0055描述符表控制单元460以图4中所示的此特定设计。
36、的缓冲器描述符表操作。图3展示标准及扩展的消息被接收于消息汇编缓冲器移位寄存器490中时的标准及扩展的消息。主要差异在于额外发送者识别符,其中在扩展的版本中,将额外29个位提供给标准11位识别符。两个版本中的数据有效荷载为8个字节。因此,最多需要14个字节来存储CAN消息。一旦经接收,经汇编消息被并行转发到描述符表控制单元460。描述符表控制单元460还接收经由屏蔽寄存器415、420、滤波器寄存器425、430及评估逻辑435、440、450产生的所有必需控制信号。在接收到待传送到缓冲器中的有效消息之后,描述符表控制单元460借助从消息汇编缓冲器接收的数据产生如图4中所示的缓冲器描述符表条目。
37、。如果此为第一表条目,那么可从相关联控制寄存器检索开始表地址。否则,使用来自先前所存储的表条目的字段220的下一可用地址。因此,不必需专用缓冲器存储器,特定来说不必需需要集成电路上的实质面积的FIFO。根据本发明的各种实施例提供在不考虑其相应复杂性的情况下与USB及以太网装置类似的外观及感觉。控制单元仅必须存储对第一存储器条目的指针,此节约大量原本需要的存储容量及逻辑。0056举例来说,通过高等级指令例如,存储器分配指令MALLOC或任何其它合适的存储器分配指令,用户程序可将存储器空间分配给CAN控制器且将开始及结束地址指派给描述符表控制单元460。用户程序接着可仅检索相应表条目,其中每一表条。
38、目内的固定指派允许非常快速的检索。由于缓冲器的大小仅受存储器大小的限制,因此缓冲器的非常灵活的管理适用,其中不会容易地丢失数据。如图4中所设计的缓冲器描述符表针对来自存储于存储器中的表条目的实际CAN消息仅需要四次字读取。状态字段可容易地更新且含有所有必需信息。控制单元可容易地包括时间戳条目。0057此外,实际数据荷载总是存储于表条目内且因此具有从每一表条目的开始地址的举例来说四个32位字的恒定偏移见图4。此结构中不存在可变长度,此允许快速地检索所需信息。0058图5展示可如何将数据存储于RAM470中。可存储于专用控制寄存器中的CAN缓冲器开始地址指示表条目的开始。每一表条目中的第二32位数。
39、据字含有下一表条目的实际地址,其可如实线所展示为连续的或如断线所展示为不连续的。0059以逐位方式而非并行地进行滤波器寄存器425、430中所存储的滤波器值与所传输识别符的比较。因此,避免需要相对大量的硅面积的并行比较器。CAN协议引擎495所提供的串行数据流包含识别符,所述识别符被直接馈送到所有位比较器单元435、440。定序器与控制单元410寻址屏蔽寄存器415、420及所有滤波器寄存器425、430以将对应位输出到位比较器单元435、440。位比较器单元435、440将所有滤波器寄存器位与帧内的相应识别符位进行比较。通过将结果与相应屏蔽寄存器位进行比较来对其进行进一步处理。为此,每一滤波。
40、器寄存器425、430的额外存储位可指示哪一屏蔽寄存器应用于此比较。下文将更详细地解释此功能。将针对帧内的每一识别符的所有位积累最终比较结果。如果单个比较失败,那么将不产生接受信号。如果每个位比较为正,那么会将接受信号馈送到描述符表控制单元460且馈送到OR门450的相应输入。0060图6更详细地展示来自图1的CAN协议引擎480。协议引擎480组合数个功能块。引擎480的心脏是协议有限状态机310FSM。此状态机逐位地定序经过消息,从而在传输说明书CN102326363ACN102326376A10/11页13或接收各种帧类型的各种字段时改变机器的状态。FSM310为控制分别在RX/TX移位。
41、寄存器320、325、CRC寄存器330以及接收总线350及传输总线360之间的顺序数据流的定序器。移位寄存器320、325可为消息汇编寄存器490的部分。提供额外组件355及365以转换数据流且适应总线350及360上的相应计时。FSM还控制错误管理逻辑340EML及TX/RX移位寄存器320、325与CAN模块的其它组件之间的并行数据流RECDATA。根据CAN协议执行接收仲裁、传输及错误信令的过程。FSM310还处置总线上消息的任何自动传输。0061到协议引擎480的数据接口由字节宽的传输及接收数据组成。并非汇编及移位整个帧,而是将帧破分成字节。来自协议FSM310的接收或传输地址表明帧。
42、的哪一字节是当前的。对于传输,选择来自传输缓冲器的适当字节且将其呈现给引擎,引擎接着使用8位移位寄存器来将数据串行化。对于接收,8位移位寄存器汇编字节,所述字节接着被加载于消息汇编缓冲器490中的适当字节内。0062循环冗余校验寄存器330产生供在数据字节上传输的循环冗余校验CRC码且校验传入消息的CRC码。错误管理逻辑EML340负责CAN装置的故障约束。通过来自位流处理器的命令递增及递减其计数器,接收错误计数器及传输错误计数器。根据错误计数器的值,CAN控制器被设定成主动错误状态、被动错误状态或总线关断状态。0063单元355内的位计时逻辑BTL监视总线输入且根据CAN协议处置与总线相关的。
43、位计时。如果CAN控制器本身不传输占有位,那么BTL在帧的开始的空闲到占有总线转变上及在任何进一步空闲到占有总线转变上同步。BTL还提供可编程时间段以补偿传播延迟时间及相移,且在界定位时间中的取样点的位置时进行补偿。BTL的编程取决于波特率及外部物理延迟时间。0064在图7中,展示比较器单元的示范性实施例。展示单个位比较器单元的细节,但所述细节相应地适用于所有其它位比较器单元。编号600指示提供CAN串行数据流的单元,所述CAN串行数据流被馈送到消息汇编缓冲器寄存器490及异NOR门690的第一输入。滤波器寄存器620的单个位输出与异NOR门690的第二输入耦合,异NOR门690的输出与NOR。
44、门650的第一输入连接。NOR门650的第二输入从屏蔽寄存器630接收单个位输出信号。NOR门650的输出与AND门660的第一输入耦合,AND门660的输出与D触发器670的控制输入耦合。D触发器670的输入D与逻辑“低”信号例如,VCC耦合。D触发器670的反相输出与AND门640的第一输入耦合,AND门640的输出提供接受信号。AND门640及660分别包含第二输入ACC_RDY及BIT_RDY,其用于与相应输入信号同步。位选择逻辑610与滤波器寄存器620及屏蔽寄存器630耦合以选择将用于每一帧内的比较的相应位。0065传入CAN位流与位选择逻辑610同步。换句话说,位选择逻辑610选。
45、择滤波器寄存器620及屏蔽寄存器630中对应于串行位流的传入位的相应位。实际比较器由在两个输入信号相同的情况下仅在其输出处产生逻辑“高”的异NOR门690形成。NOR门650用作屏蔽单元以在屏蔽寄存器630内的相应位被设定的情况下屏蔽掉结果。D触发器670用作寄存器以积累一连串比较内的结果且在帧的开始被预设定为“1”。仅在帧内的所有比较成功的情况下,将产生AND门640的输出处的接受信号ACCN。否则,D触发器670由错误比较结果设定为“0”且保持为“0”直到帧的结束。使用两个控制信号ACC_RDY及BIT_RDY来同步及激活相应信号。0066图8更详细地展示具有甚至更多功能性的位比较器单元4。
46、35、440的另一示范性实说明书CN102326363ACN102326376A11/11页14施例。而且,展示位比较器单元0的细节,但所述细节可相应地适用于所有其它位比较器单元。屏蔽寄存器415及420的输出与41多路复用器520的第一及第二输入耦合。可在多路复用器520的第三及第四输入处提供额外输入560及570。举例来说,输入560与由编号580指定的滤波器寄存器15的输出耦合。滤波器寄存器425包含举例来说与多路复用器520的选择输入耦合的两个额外输出。多路复用器520可具有任何大小,举例来说,可扩充到N1多路复用器,从而将屏蔽的数目增加到N。多路复用器520的输出连接到NOR门530。
47、的第一输入。NOR门530作为确认单元操作,从而指示是否将使用或忽略比较结果。NOR门530的第二输入与异NOR门510的输出耦合,异NOR门510的第一输入从滤波器寄存器425接收位输出信号且其第二输入从CAN协议引擎495接收串行数据流。NOR门530的输出与D触发器540的控制输入耦合。D触发器540的D输入接收逻辑低信号。在D触发器540的求反输出550处载运接受信号。0067根据一实施例,第一比较级由异NOR门510形成。在此级中,将串行位流的识别符位与滤波器寄存器425的相应位进行比较。异NOR门510仅在两个输入信号相同的情况下在其输出处产生逻辑“高”。定序器单元410选择滤波器。
48、寄存器425内的相应位。滤波器寄存器425包含指示应使用哪一屏蔽寄存器的额外数据位。在此示范性实施例中,可选择四个不同值。可选择屏蔽寄存器415或420中的任一者或可由另一滤波器寄存器举例来说,滤波器寄存器15提供第三值。可使用第四可能选择570来指示通过提供相应电平举例来说,逻辑“1”将不使用屏蔽。因此,可给每一滤波器寄存器425、430指派个别屏蔽功能。选定屏蔽值将放在NOR门530的第一输入处。如果所述屏蔽值指示应使用滤波器寄存器425中的相应位,那么NOR门530将作为可控制开关操作且将异NOR门510的比较结果馈送到控制输入D触发器540。D触发器540用作被预设定为“1”的寄存器。。
49、如果一个比较的结果为负指示没有匹配且相应屏蔽位无效,那么将清空D触发器540且将不产生接受信号550。D触发器540因此将重设为“0”。D触发器540将预设定为“1”,从而再次以下一帧开始以比较另一识别符,如上文所描述。0068可使用任何其它类型的适当逻辑来实施比较器。举例来说,可使用可控制开关、等效布林运算器等。此外,可将确认单元放在比较器前面或比较器之后。确认单元的基本功能是并入选定位或将其从比较中排除。0069因此,本发明极适于实施所述目标并获得所提及的结果及优点以及其中固有的其它结果及优点。虽然已参照本发明的特定优选实施例描述、描述及界定了本发明,但此些参照并不暗示对本发明的限制,且不。
50、应推断出存在此种限制。本发明能够在形式及功能上做出大量修改、替代及等效形式,所属领域的技术人员将联想到所述修改、替代及等效形式。所描绘及所描述的本发明的优选实施例仅为示范性,且并非对本发明的范围的穷尽性说明。因此,本发明既定仅由所附权利要求书的精神及范围的限制,从而在所有方面赋予对等效物的完全认知。说明书CN102326363ACN102326376A1/6页15图1说明书附图CN102326363ACN102326376A2/6页16图2先前技术说明书附图CN102326363ACN102326376A3/6页17图3图4说明书附图CN102326363ACN102326376A4/6页18。