具有使用缓冲器描述表的控制器区域网络模块的微控制器.pdf

上传人:54 文档编号:819064 上传时间:2018-03-13 格式:PDF 页数:20 大小:729.71KB
返回 下载 相关 举报
摘要
申请专利号:

CN201080008842.1

申请日:

2010.05.21

公开号:

CN102326363A

公开日:

2012.01.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/413申请日:20100521|||公开

IPC分类号:

H04L12/413; H04L12/56; B60R16/023; H04L12/40

主分类号:

H04L12/413

申请人:

密克罗奇普技术公司

发明人:

蒂姆·L·威尔逊; 约瑟夫·W·特里斯; 史蒂文·G·道森

地址:

美国亚利桑那州

优先权:

2009.05.28 US 61/181,720; 2010.05.07 US 12/776,046

专利代理机构:

北京律盟知识产权代理有限责任公司 11287

代理人:

孟锐

PDF下载: PDF下载
内容摘要

一种微控制器具有:随机存取存储器;及控制器区域网络(CAN)控制器,其具有接收经汇编CAN消息的控制单元。所述控制单元使用所述经汇编CAN消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存储于所述随机存取存储器中,且所述缓冲器描述符表条目具有来自所述CAN消息的至少一消息识别符及荷载数据以及随后缓冲器描述符表条目的信息。

权利要求书

1: 一种微控制器, 其包含 : 随机存取存储器 ; 控制器区域网络 (CAN) 控制器, 其包含接收经汇编 CAN 消息的控制单元, 其中所述控制 单元使用所述经汇编 CAN 消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存 储于所述随机存取存储器中, 且其中所述缓冲器描述符表条目包含来自所述 CAN 消息的至 少一消息识别符及荷载数据以及随后缓冲器描述符表条目的信息。
2: 根据权利要求 1 所述的微控制器, 其中缓冲器描述符表条目具有恒定大小。
3: 根据权利要求 1 所述的微控制器, 其中所述缓冲器描述符表条目进一步包含帧状态 及扩展的 CAN 消息识别符。
4: 根据权利要求 1 所述的微控制器, 其中所述微控制器为 32 位微控制器且所述缓冲器 描述符表条目由六个 32 位字组成。
5: 根据权利要求 1 所述的微控制器, 其中所述缓冲器描述符表条目包含帧状态字、 下 一地址位置字、 消息识别符字、 扩展的消息识别符字、 包含四个字节的第一数据字及包含四 个字节的第二数据字。
6: 根据权利要求 1 所述的微控制器, 其中所述随机存取存储器为双端口或多端口存储 器。
7: 根据权利要求 1 所述的微控制器, 其中所述 CAN 控制器包含与所述控制单元耦合的 消息汇编缓冲器移位寄存器。
8: 根据权利要求 7 所述的微控制器, 其中所述 CAN 控制器包含将多个屏蔽寄存器及多 个滤波器寄存器与所述控制单元耦合的逻辑, 其中所述逻辑产生指示所述消息汇编缓冲器 移位寄存器中的有效条目的信号。
9: 一种在微控制器内存储控制器区域网络 (CAN) 消息的方法, 其包含以下步骤 : 接收 CAN 消息 ; 汇编所述 CAN 消息 ; 使用所述经汇编 CAN 消息产生缓冲器描述符表条目 ; 及 将所述缓冲器描述符表条目存储于所述微控制器的随机存取存储器中, 其中所述缓冲 器描述符表条目包含来自所述 CAN 消息的至少一消息识别符及荷载数据以及随后缓冲器 描述符表条目的信息。
10: 根据权利要求 9 所述的方法, 其中所述 CAN 消息可为标准 CAN 消息以及扩展的 CAN 消息。
11: 根据权利要求 9 所述的方法, 其中缓冲器描述符表条目具有恒定大小。
12: 根据权利要求 9 所述的方法, 其中所述缓冲器描述符表条目进一步包含帧状态及 扩展的 CAN 消息识别符。
13: 根据权利要求 9 所述的方法, 其中所述微控制器为 32 位微控制器且所述缓冲器描 述符表条目由六个 32 位字组成。
14: 根据权利要求 9 所述的方法, 其中所述缓冲器描述符表条目包含帧状态字、 下一地 址位置字、 消息识别符字、 扩展的消息识别符字、 包含四个字节的第一数据字及包含四个字 节的第二数据字。
15: 根据权利要求 9 所述的方法, 其中所述随机存取存储器为双端口或多端口存储器。 2
16: 根据权利要求 9 所述的方法, 其中通过消息汇编缓冲器移位寄存器来执行所述汇 编 CAN 消息的步骤。
17: 根据权利要求 16 所述的方法, 其进一步包含借助多个屏蔽寄存器及多个滤波器寄 存器来产生有效性信号的步骤, 所述有效性信号指示所述消息汇编缓冲器移位寄存器中的 有效条目。
18: 一种 32 位微控制器, 其包含 : 双端口 32 位宽随机存取存储器 ; 及 控制器区域网络 (CAN) 控制器, 其包含接收经汇编 CAN 消息的控制单元, 其中所述控制 单元使用所述经汇编 CAN 消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存 储于所述随机存取存储器中, 且其中所述缓冲器描述符表条目由 32 位帧状态字、 32 位下一 地址位置字、 32 位消息识别符字、 32 位扩展的消息识别符字、 第一 32 位数据字及第二 32 位 数据字组成。
19: 根据权利要求 17 所述的微控制器, 其中所述 CAN 控制器包含与所述控制单元耦合 的消息汇编缓冲器移位寄存器。
20: 根据权利要求 18 所述的微控制器, 其中所述 CAN 控制器包含将多个屏蔽寄存器及 多个滤波器寄存器与所述控制单元耦合的逻辑, 其中所述逻辑产生指示所述消息汇编缓冲 器移位寄存器中的有效条目的信号。

说明书


具有使用缓冲器描述表的控制器区域网络模块的微控制器

    相关申请案交叉参考
     本申请案请求在 2009 年 5 月 28 日提出申请且标题为 “轻量级缓冲器描述符表 (LIGHTWEIGHT BUFFER DESCRIPTOR TABLE)” 的第 61/181,720 号美国临时申请案的权益, 所 述美国临时申请案全文并入本文中。
     技术领域
     本发明涉及控制器区域网络 (CAN 或 CAN 总线 ) 兼容的微控制器, 且更特定来说涉 及一种用于 CAN 消息存储的轻量级缓冲器描述符表 (BDT)。背景技术
     控制器区域网络 (CAN) 是有效地以高水平的安全性支持分散式实时控制的串行 通信协议。CAN 的应用范围从高速数字通信网络到低成本多路复用布线。CAN 是用于实时 应用的高整体性串行数据通信总线。CAN 以高达 1 兆位 / 秒的数据速率操作, 具有优秀的 错误检测与约束能力, 且最初开发用于汽车中, 但现在也用于其它领域中。CAN 总线与 CPU 之间的接口通常称为 CAN 控制器。CAN 背后的动机是通过改善汽车电子器件、 引擎控制单 元、 传感器、 防滑刹车系统等的互可操作性同时减小线束重量及复杂性而使汽车更可靠、 安 全且燃料高效。由于 CAN 的出现, CAN 协议已在工业自动化及汽车 / 卡车应用中获得广泛 普及。CAN 总线在嘈杂环境中的强健性及从故障条件检测及恢复的能力使 CAN 适合与工业 控制设备、 医学设备、 测试设备、 移动及便携式机器、 器具等一起使用。
     CAN 是具有一个逻辑总线的不同步串行总线系统。其具有具有相等总线节点的开 放线性总线结构。CAN 总线由两个或两个以上节点组成。可在不干扰其它节点的通信的情 况下动态地改变总线上节点的数目。
     CAN 逻辑总线对应于 “线与” 机构, “空闲” 位 ( 通常但未必等于逻辑电平 “1” )被 “占有” 位 ( 通常是逻辑电平 “0” ) 覆写。只要没有总线节点正在发送占有位, 那么总线在 空闲状态中, 但来自任一总线节点的占有位产生占有总线状态。因此, 对于 CAN 总线, 选择 能够传输两个可能位状态 ( 占有及空闲 ) 的媒体。所使用的常见物理媒体是双绞线对。总 线则称为 “CANH” 及 “CANL” , 且可直接连接到 CAN 控制器节点或经由连接器连接到其。
     在 CAN 总线协议中, 并非寻址总线节点, 而是将地址信息包含于所传输的消息中。 此经由识别消息内容 ( 例如, 引擎速度、 油温等 ) 的识别符 ( 每一消息的部分 ) 来进行。所 述识别符另外指示消息的优先等级。所述识别符的二进制值越低, 则消息的优先等级越高 ( 更多占有位 )。
     原始 CAN 规范 ( 版本 1.0、 1.2 及 2.0A) 将消息识别符定义为具有 11 位的长度, 从 而给出可能 2048 个消息识别符。 “扩展的 CAN” 规范版本 2.0B 允许使用 11 及 / 或 29 位的 消息识别符长度 (29 位的识别符长度允许超过 536,000,000 个消息识别符 )。所述 CAN 规 范 ( 所有版本 ) 出于所有目的以引用方式并入本文中。
     通常, 两种方法可用于 CAN, 因为 CAN 标准不涵盖 CAN 控制器的架构, 这两种方法是: “基本 CAN” 及 “完全 CAN” ( 不要与 CAN 1 及 CAN 2 或标准识别符及扩展的识别符混淆 ) ; 其在消息的缓冲上不同。
     基本 CAN 控制器架构类似于简单 UART, 除发送完整帧而非字符外。 通常, 存在单个 传输缓冲器及双缓冲接收缓冲器。 举例来说, 微控制器将帧放入传输缓冲器中, 且在发送所 述帧时接收中断。当在接收缓冲器中接收到帧时, 微控制器接收用以腾空所述接收缓冲器 的中断且在接收随后帧之前将所述帧从所述接收缓冲器腾空。在基本 CAN 控制器架构中, 微控制器必须管理传输及接收, 且处置帧的存储。
     完全 CAN 控制器架构包含专用缓冲器且将帧存储于此专用缓冲器中。可依据所述 专用缓冲器的大小处理有限数目个帧。 以映射到每一帧缓冲器的帧的识别符给所述缓冲器 加标签。微控制器可更新所述缓冲器中的帧且对其进行标记以供传输。可检查接收缓冲器 以查看是否已接收到具有匹配识别符的帧。 另外, 可使用滤波器来预筛选所接收到的帧, 以 使得仅既定供特定 CAN 控制器使用的那些帧存储于接收缓冲器中。
     标准 CAN 对扩展的 CAN
     CAN 协议通常以两个版本获得应用 : CAN 1.0 及 CAN 2.0。CAN 2.0 与 CAN 1.0 向 后兼容, 且大多数新控制器根据 CAN 2.0 构建。CAN 2.0 标准存在两个部分 : 部分 A 及部分 B。在 CAN 1.0 及 CAN 2.0A 的情况下, 识别符必须为 11 位长。在 CAN 2.0B 的情况下, 识别 符可为 11 位 (“标准” 识别符 ) 或 29 位 (“扩展的” 识别符 )。为依从于 CAN 2.0, 控制器 必须为 2.0 部分 B 被动或 2.0 部分 B 主动。 如果其是被动的, 那么其必须忽略扩展的帧 ( 当 CAN 1.0 控制器看到具有 29 位识别符的帧时, 其将产生错误帧 )。如果其是主动的, 那么其 必须允许接收及传输扩展的帧。存在用于发送及接收两种类型的帧的一些兼容性规则。
     CAN 2.0B 主动控制器将发送及接受标准帧及扩展的帧两者。CAN 2.0B 被动控制 器将发送及接收标准帧, 且将丢弃不具有错误的扩展的帧。
     CAN 1.0 控制器在看到扩展的帧时, 其将产生错误。因此, 其中网络上存在单个 CAN1.0 控制器的所述网络不能够与所述网络上的扩展的帧共处 ; 所有控制器必须使用标 准帧发送。
     控制器架构
     CAN 标准不涵盖控制器的架构, 因此如何使用其存在变化形式。 虽然存在两种一般 方法 : 基本 CAN 及完全 CAN( 不要与 CAN 1.0 及 2.0 或标准识别符及扩展的识别符混淆 ) ; 其在消息的缓冲上不同。
     如上所述, 在基本 CAN 控制器中, 架构类似于简单 UART, 除发送完整帧而非字符 外: ( 通常 ) 存在单个传输缓冲器及双缓冲接收缓冲器。CPU 将帧放入传输缓冲器中, 且在 发送帧时采取中断 ; CPU 将帧接收于接收缓冲器中, 采取中断且腾空所述缓冲器 ( 在接收随 后帧之前 )。CPU 必须管理传输及接收, 且处置帧的存储。
     如上所述, 在完全 CAN 控制器中, 帧存储于所述控制器的专用缓冲器中。可处理有 限数目个帧 ( 通常 16 个 ), 因为网络上可存在更多的帧, 以映射到每一缓冲器的帧的识别符 给所述缓冲器加标签。CPU 可更新所述缓冲器中的帧且对其进行标记以供传输 ; 可检查缓 冲器以查看是否已接收到具有匹配识别符的帧。
     完全 CAN 设计的意图是在网络中提供一组 “共享变量” ; CPU 周期性地更新所述变 量 ( 即, 缓冲器中的帧的内容 ) ; CPU 还可检查所述变量。实际上, ( 当然 ) 事情由于并行性困难而并不如此简单 : 当从帧读取一组字节时, 控制器可用新帧的内容覆写数据, 且在许多 控制器中仅通过状态旗标来用信号通知此情况。
     在 “基本 CAN” 实施方案中, 通常存在一个具有一个或一个以上相关联消息接受滤 波器的双缓冲接收信道。 仅具有一个双缓冲消息信道意指处理器必须能够在此时间内处置 先前消息。在 “完全 CAN” 实施方案中, 通常存在多达 15 个消息缓冲器或信道, 每一消息缓 冲器或信道具有一个相关联消息接受滤波器。 具有大量接收缓冲器可在处理器非常慢的情 况下有助于处理消息业务的突发, 然而, 如果总消息业务使得其倾覆处理器能力, 那么没有 什么缓冲量可防止消息的最终损失。如果处理器的 CPU 非常慢或非常忙, 那么为接收许多 不同被寻址消息需要单独的接收缓冲器及接受滤波器。在较快速处理器的情况下, 可因接 受滤波器的编程的灵活性而使用更有限数目个接收缓冲器。简而言之, 处理器必须具有带 宽以服务总线上的总业务。作为折衷, 通常实施多个缓冲器。然而, 每一接收缓冲器具有相 关联的多个屏蔽寄存器及过滤器寄存器以及相关联比较器。此需要大量硅面积。
     因此, 此项技术中需要一种不需要大量硅面积的 CAN 实施方案。 发明内容 根据一实施例, 一种微控制器可包含 : 随机存取存储器 ; 及控制器区域网络 (CAN) 控制器, 其包含接收经汇编 CAN 消息的控制单元, 其中所述控制单元使用所述经汇编 CAN 消 息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存储于所述随机存取存储器中, 且其中所述缓冲器描述符表条目包含来自所述 CAN 消息的至少一消息识别符及荷载数据 以及随后缓冲器描述符表条目的信息。
     根据进一步实施例, 缓冲器描述符表条目可具有恒定大小。 根据进一步实施例, 所 述缓冲器描述符表条目可进一步包含帧状态及扩展的 CAN 消息识别符。根据进一步实施 例, 所述微控制器可为 32 位微控制器且所述缓冲器描述符表条目由六个 32 位字组成。根 据进一步实施例, 所述缓冲器描述符表条目可包含帧状态字、 下一地址位置字、 消息识别符 字、 扩展的消息识别符字、 包含四个字节的第一数据字及包含四个字节的第二数据字。 根据 进一步实施例, 所述随机存取存储器可为双端口或多端口存储器。根据进一步实施例, 所 述 CAN 控制器可包含与所述控制单元耦合的消息汇编缓冲器移位寄存器。根据进一步实施 例, 所述 CAN 控制器可包含将多个屏蔽寄存器及多个滤波器寄存器与所述控制单元耦合的 逻辑, 其中所述逻辑产生指示所述消息汇编缓冲器移位寄存器中的有效条目的信号。
     根据另一实施例, 一种在微控制器内存储控制器区域网络 (CAN) 消息的方法可包 含以下步骤 : - 接收 CAN 消息 ; - 汇编所述 CAN 消息 ; - 使用所述经汇编 CAN 消息产生缓冲 器描述符表条目 ; 及 - 将所述缓冲器描述符表条目存储于所述微控制器的随机存取存储器 中, 其中所述缓冲器描述符表条目包含来自所述 CAN 消息的至少一消息识别符及荷载数据 以及随后缓冲器描述符表条目的信息。
     根据所述方法的进一步实施例, 所述 CAN 消息可为标准 CAN 消息以及扩展的 CAN 消息。根据所述方法的进一步实施例, 缓冲器描述符表条目可具有恒定大小。根据所述方 法的进一步实施例, 所述缓冲器描述符表条目可进一步包含帧状态及扩展的 CAN 消息识别 符。根据所述方法的进一步实施例, 所述微控制器可为 32 位微控制器且所述缓冲器描述符 表条目由六个 32 位字组成。根据所述方法的进一步实施例, 所述缓冲器描述符表条目可包
     含帧状态字、 下一地址位置字、 消息识别符字、 扩展的消息识别符字、 包含四个字节的第一 数据字及包含四个字节的第二数据字。根据所述方法的进一步实施例, 所述随机存取存储 器可为双端口或多端口存储器。根据所述方法的进一步实施例, 可通过消息汇编缓冲器移 位寄存器来执行所述汇编 CAN 消息的步骤。根据所述方法的进一步实施例, 所述方法可进 一步包含借助多个屏蔽寄存器及多个滤波器寄存器来产生有效性信号的步骤, 所述有效性 信号指示所述消息汇编缓冲器移位寄存器中的有效条目。
     根据又一实施例, 一种 32 位微控制器可包含 : 双端口 32 位宽随机存取存储器 ; 及 控制器区域网络 (CAN) 控制器, 其包含接收经汇编 CAN 消息的控制单元, 其中所述控制单元 使用所述经汇编 CAN 消息产生缓冲器描述符表条目且将所述缓冲器描述符表条目存储于 所述随机存取存储器中, 且其中所述缓冲器描述符表条目由 32 位帧状态字、 32 位下一地址 位置字、 32 位消息识别符字、 32 位扩展的消息识别符字、 第一 32 位数据字及第二 32 位数据 字组成。
     根据所述 32 位微控制器的进一步实施例, 所述 CAN 控制器可包含与所述控制单元 耦合的消息汇编缓冲器移位寄存器。根据所述 32 位微控制器的进一步实施例, 所述 CAN 控 制器可包含将多个屏蔽寄存器及多个滤波器寄存器与所述控制单元耦合的逻辑, 其中所述 逻辑产生指示所述消息汇编缓冲器移位寄存器中的有效条目的信号。 根据下文更特定来说对如附图中所图解说明的本发明优选实施例的说明将明了 本发明的上述及其它目标、 特征及优点。
     附图说明
     图 1 展示根据一实施例的具有 CAN 模块 / 控制器的微控制器的部分的框图 ; 图 2 展示常规 CAN 控制器的接收缓冲器及其相关联滤波器的示意图 ; 图 3 展示标准 CAN 消息与扩展的 CAN 消息之间的差异 ; 图 4 展示供与 CAN 控制器一起使用的根据一实施例的缓冲器描述符表 ; 图 5 展示使用图 4 的缓冲器描述符表的微控制器的随机存取存储器 ; 图 6 展示来自图 1 的 CAN 协议引擎的实施例 ; 图 7 展示比较器单元的示范性实施例 ; 图 8 展示位比较器单元的另一示范性实施例。具体实施方式
     参照图 2, 其图解说明供用于微控制器中的常规 CAN 控制器的接收缓冲器 118、 120 及 122 以及相关联屏蔽 102、 108 及滤波器寄存器 104、 106、 110、 112、 114、 116。缓冲器 120( 指定为消息汇编缓冲器 (MAB)) 发挥作用以仅监视用于传入消息的 CAN 逻辑总线 ( 未 展示 )。MAB 120 保持来自总线的经去充填位流。所述位流由包含识别符及数据字段的消 息 ( 即, 数据帧、 远程帧或其它帧 ) 组成 ( 未展示 )。CAN 控制器包含 ( 例如 ) 两个可由微 控制器的 CPU 存取的专用缓冲器 118 及 122。MAB 120 允许这些接收缓冲器 118 及 122 并 行存取所述消息。MAB 120 还允许接受滤波器 106 及 116 存取所述消息的识别符部分。位 流消息到接收缓冲器 118 或 122 的并行传送在接受屏蔽 102 及 108 以及接受滤波器 104、 106、 110、 112、 114 及 116 将接受匹配测试施加到所述消息之前可不被允许。所列缓冲器的数目仅为实例, 可利用更多的缓冲器。
     分别使用可编程接受滤波器屏蔽 102 及 108 来选择应将未经充填位流消息的哪些 位与接受滤波器 104 及 106 以及 110、 112、 114 及 116 的内容进行比较。
     接受匹配测试如下进行 : 滤波器 104、 106、 110、 112、 114 及 116 接收所述消息的识 别符字段且将所述字段与滤波器值进行比较。 如果所述识别符字段与滤波器值之间存在匹 配, 那么将所述消息加载到匹配滤波器的对应接收缓冲器 118 或 122 中。滤波器 104 及 106 连接到缓冲器 118, 滤波器 110、 112、 114 及 116 连接到缓冲器 122。
     根据一实施例, 接收缓冲器可存在暗示的优先等级。举例来说, 缓冲器 118 可为较 高优先等级缓冲器且具有与其相关联的消息接受滤波器 104 及 106。缓冲器 122 可为较低 优先等级缓冲器且具有与其相关联的接受滤波器 110、 112、 114 及 116。与缓冲器 118 相关 联的滤波器比与缓冲器 122 相关联的滤波器少意指缓冲器 118 比缓冲器 122 更具限制性。 更具限制性的缓冲器 118 含蓄地具有与其相关联的较高临界点。具有优先等级并非要求, 但可为可选择选项。
     在 MAB 120 快速连续地接收两个 “高优先等级” 消息时, 接收缓冲器 118( 其被指定 为第一高优先等级缓冲器 ) 将接收第一高优先等级消息。在接收第二高优先等级消息时, MAB 120 发现缓冲器 118 当前由高优先等级消息占据。MAB 120 接着引导缓冲器 122( 其被 指定为第二高优先等级缓冲器 ) 接收所述第二高优先等级消息。在此情境中, 缓冲器 118 及 122 分别被排定等级为所述第一高优先等级缓冲器及所述第二高优先等级缓冲器。 中央处理单元 (CPU)( 未在图 2 中展示 ) 可在接收缓冲器 118 及 122 中的一者上 操作, 而另一者供用于接收或保持先前接收的消息。
     根据示范性实施方案, 在两个高优先等级消息的到达的情况下的协议可由接收缓 冲器 118 及 122 的控制寄存器 ( 未展示 ) 中的 BUKT 位实现。表 I 描绘并解释接收缓冲器 118 的控制寄存器, 其中 R/W 意指可读取 / 可写入位, 且其中 R 意指只读位。
     表I
     如果设定为 “1” , 那么 BUKT 位实施基于优先等级的协议。表 II 描绘并解释接收缓 冲器 122 的控制寄存器。
     表 II
     图 1 展示供用于微控制器中的 CAN 控制器的示范性实施例。微控制器被视为包含 至少一 CPU、 存储器及多个外围装置的单芯片装置, 例如 CAN 模块。在 CAN 模块 / 控制器的 此实施例中, 第一及第二屏蔽寄存器 415 及 420 可为可逐位寻址的且可包含单个输出位。 此 外, 多个滤波器寄存器 0...N( 仅展示两个 ) 由编号 425 及 430 指定。滤波器寄存器 425、 430 也可包含单个输出位且是可逐位寻址的。 另外, 屏蔽寄存器 415 及 420 以及所有滤波器 寄存器 425、 430 可为可由中央处理单元 485 以并行模式读取及写入 ( 图 1 中未展示连接 )。
     定序器与控制单元 410 可作为位选择单元操作且产生地址信号, 所述地址信号被馈送到屏 蔽寄存器 415 及 420 以及所有滤波器寄存器 425、 430。每一滤波器寄存器 425、 430 可包含 相关联位比较器单元 435、 440。屏蔽寄存器 415 及 420 的位输出信号被馈送到位比较器单 元 435、 440 的第一及第二输入。此外, 滤波器寄存器 425、 430 的每一位输出可被馈送到其 相关联位比较器单元 435、 440 的第三输入。来自 CAN 总线的位流信号由 CAN 协议引擎 480 提供且被馈送到每一位比较器单元 435、 440 的第四输入。滤波器寄存器 425、 430 可提供额 外存储位, 所述额外存储位与每一相关联位比较器单元的第四输入耦合。可提供具有更少 或更多的功能性的 CAN 模块的其它设计。
     根据各种实施例, 每一位比较器单元 435、 440 的输出可载运接受信号且与描述符 表控制单元 460 的控制输入耦合。可提供具有与滤波器寄存器的数目一样多的输入的 OR 门 450。每一输入从相应位比较器单元 435、 440 接收接受信号。描述符表控制单元 460 的 地址输出与微控制器的与 CPU 485 耦合的通用随机存取存储器 470 的地址输入耦合。 OR 门 450 的输出与描述符表控制单元 460 的另一控制输入耦合。根据一实施例, 随机存取存储 器 470 可为双端口或多端口存储器, 其第一数据端口与描述符表控制单元 460 的数据输出 耦合。描述符表控制单元 460 从标准消息汇编缓冲器移位寄存器 490 接收经汇编消息, 标 准消息汇编缓冲器移位寄存器 490 又从 CAN 协议引擎 495 接收串行数据流。存储器 470 的 第二数据端口与中央处理单元 485 耦合。然而, 根据另一实施例, CPU 485 与描述符表控制 单元 460 可共享与存储器 470 耦合的同一数据总线。 使用特定设计的缓冲器描述符表来以特定方式将 CAN 消息存储到随机存取存储 器 470 中。通常, ( 例如 ) 从以太网协议知道的缓冲器描述符表 (BDT) 具有与其相关联的 显著开销。 此外, 此些传统缓冲器描述符表存储指针数据, 所述指针数据分支到实际上存储 附加到消息或嵌入于消息中的数据的存储器的不同部分。BDT 可含有相对大量的必须读取 的信息。 当结合显著大于 BDT 中所含有的信息的数据消息读取 BDT 时, 那么读取及处理 BDT 中的信息的开销相对低。此导致显著开销及复杂的存储器管理。然而, 对于具有小数据大 小的应用, 例如 CAN 系统, 用于从 BDT 读取及处理信息的开销可显著影响系统性能。
     因此, 根据各种实施例提供供用于 CAN 控制器中的特定设计的缓冲器描述符表。 此特定设计的缓冲器描述符表减少从 CAN 装置的 BDT 读取及处理信息的开销。根据一实施 例, 已设计一种轻量级 BDT, 其中每一缓冲器描述符表条目可具有恒定大小及 / 或含有实际 数据荷载。根据本发明的教示, 此轻量级 BDT 放弃完全 BDT 的一些灵活性, 但节约显著硅面 积、 所需的处理能力及总线存取。在轻量级 BDT 中, 消除对数据的指针且可合并状态字段, 因此每 BDT 查找节约两次 (2) 读取。
     不限制应用专用缓冲器。而是, 系统存储器或可用 RAM 的大小理论上限制多少条 目可用。 如上文所提及, 根据一实施例所使用的特定描述符表允许快速数据检索, 因为使所 需读取的数目最小化。根据一实施例, 缓冲器描述符表可包含以下条目。编号 210 指定含 有帧状态的具有 32 位的第一条目。编号 220 指定下一表条目的 32 位地址。地址 220 允许 存储器的灵活处置。举例来说, 可使用多个非连续存储器段来代替连续表条目。编号 230 含有标准 CAN 识别符 (SID) 且编号 240 含有扩展的识别符及 DLC 条目。以下两个 32 位字 250 及 260 包含 CAN 消息的实际 8 个数据字节。可设计其它缓冲器描述符表。根据各种实 施例的基本要求是包括实际数据荷载以及对下一表条目的指针。另外, 可添加状态信息及
     各种识别符信息。相应条目的次序可变化且不重要。
     描述符表控制单元 460 以图 4 中所示的此特定设计的缓冲器描述符表操作。图 3 展示标准及扩展的消息被接收于消息汇编缓冲器移位寄存器 490 中时的标准及扩展的消 息。主要差异在于额外发送者识别符, 其中在扩展的版本中, 将额外 29 个位提供给标准 11 位识别符。两个版本中的数据有效荷载为 8 个字节。因此, 最多需要 14 个字节来存储 CAN 消息。一旦经接收, 经汇编消息被并行转发到描述符表控制单元 460。描述符表控制单元 460 还接收经由屏蔽寄存器 415、 420、 滤波器寄存器 425、 430 及评估逻辑 435、 440、 450 产生 的所有必需控制信号。 在接收到待传送到缓冲器中的有效消息之后, 描述符表控制单元 460 借助从消息汇编缓冲器接收的数据产生如图 4 中所示的缓冲器描述符表条目。如果此为第 一表条目, 那么可从相关联控制寄存器检索开始表地址。 否则, 使用来自先前所存储的表条 目的字段 220 的下一可用地址。因此, 不必需专用缓冲器存储器, 特定来说不必需需要集成 电路上的实质面积的 FIFO。 根据本发明的各种实施例提供在不考虑其相应复杂性的情况下 与 USB 及以太网装置类似的外观及感觉。控制单元仅必须存储对第一存储器条目的指针, 此节约大量原本需要的存储容量及逻辑。
     举例来说, 通过高等级指令 ( 例如, 存储器分配指令 (malloc) 或任何其它合适的 存储器分配指令 ), 用户程序可将存储器空间分配给 CAN 控制器且将开始及结束地址指派 给描述符表控制单元 460。 用户程序接着可仅检索相应表条目, 其中每一表条目内的固定指 派允许非常快速的检索。由于缓冲器的大小仅受存储器大小的限制, 因此缓冲器的非常灵 活的管理适用, 其中不会容易地丢失数据。如图 4 中所设计的缓冲器描述符表针对来自存 储于存储器中的表条目的实际 CAN 消息仅需要四次字读取。状态字段可容易地更新且含有 所有必需信息。控制单元可容易地包括时间戳条目。
     此外, 实际数据荷载总是存储于表条目内且因此具有从每一表条目的开始地址的 ( 举例来说 ) 四个 32 位字的恒定偏移 ( 见图 4)。此结构中不存在可变长度, 此允许快速地 检索所需信息。
     图 5 展示可如何将数据存储于 RAM 470 中。可存储于专用控制寄存器中的 CAN 缓 冲器开始地址指示表条目的开始。每一表条目中的第二 32 位数据字含有下一表条目的实 际地址, 其可如实线所展示为连续的或如断线所展示为不连续的。
     以逐位方式而非并行地进行滤波器寄存器 425、 430 中所存储的滤波器值与所传 输识别符的比较。因此, 避免需要相对大量的硅面积的并行比较器。CAN 协议引擎 495 所提 供的串行数据流包含识别符, 所述识别符被直接馈送到所有位比较器单元 435、 440。 定序器 与控制单元 410 寻址屏蔽寄存器 415、 420 及所有滤波器寄存器 425、 430 以将对应位输出到 位比较器单元 435、 440。位比较器单元 435、 440 将所有滤波器寄存器位与帧内的相应识别 符位进行比较。通过将结果与相应屏蔽寄存器位进行比较来对其进行进一步处理。为此, 每一滤波器寄存器 425、 430 的额外存储位可指示哪一屏蔽寄存器应用于此比较。下文将更 详细地解释此功能。将针对帧内的每一识别符的所有位积累最终比较结果。如果单个比较 失败, 那么将不产生接受信号。 如果每个位比较为正, 那么会将接受信号馈送到描述符表控 制单元 460 且馈送到 OR 门 450 的相应输入。
     图 6 更详细地展示来自图 1 的 CAN 协议引擎 480。协议引擎 480 组合数个功能块。 引擎 480 的心脏是协议有限状态机 310(FSM)。此状态机逐位地定序经过消息, 从而在传输或接收各种帧类型的各种字段时改变机器的状态。FSM 310 为控制分别在 RX/TX 移位寄存 器 320、 325、 CRC 寄存器 330 以及接收总线 350 及传输总线 360 之间的顺序数据流的定序 器。移位寄存器 320、 325 可为消息汇编寄存器 490 的部分。提供额外组件 355 及 365 以转 换数据流且适应总线 350 及 360 上的相应计时。FSM 还控制错误管理逻辑 340(EML) 及 TX/ RX 移位寄存器 320、 325 与 CAN 模块的其它组件之间的并行数据流 RecData。根据 CAN 协议 执行接收仲裁、 传输及错误信令的过程。FSM 310 还处置总线上消息的任何自动传输。
     到协议引擎 480 的数据接口由字节宽的传输及接收数据组成。并非汇编及移位整 个帧, 而是将帧破分成字节。来自协议 FSM 310 的接收或传输地址表明帧的哪一字节是当 前的。对于传输, 选择来自传输缓冲器的适当字节且将其呈现给引擎, 引擎接着使用 8 位移 位寄存器来将数据串行化。对于接收, 8 位移位寄存器汇编字节, 所述字节接着被加载于消 息汇编缓冲器 490 中的适当字节内。
     循环冗余校验寄存器 330 产生供在数据字节上传输的循环冗余校验 (CRC) 码且校 验传入消息的 CRC 码。错误管理逻辑 (EML)340 负责 CAN 装置的故障约束。通过来自位流 处理器的命令递增及递减其计数器, 接收错误计数器及传输错误计数器。根据错误计数器 的值, CAN 控制器被设定成主动错误状态、 被动错误状态或总线关断状态。
     单元 355 内的位计时逻辑 (BTL) 监视总线输入且根据 CAN 协议处置与总线相关的 位计时。如果 CAN 控制器本身不传输占有位, 那么 BTL 在帧的开始的空闲到占有总线转变 上及在任何进一步空闲到占有总线转变上同步。BTL 还提供可编程时间段以补偿传播延迟 时间及相移, 且在界定位时间中的取样点的位置时进行补偿。 BTL 的编程取决于波特率及外 部物理延迟时间。
     在图 7 中, 展示比较器单元的示范性实施例。展示单个位比较器单元的细节, 但所 述细节相应地适用于所有其它位比较器单元。编号 600 指示提供 CAN 串行数据流的单元, 所述 CAN 串行数据流被馈送到消息汇编缓冲器寄存器 490 及异 NOR 门 690 的第一输入。滤 波器寄存器 620 的单个位输出与异 NOR 门 690 的第二输入耦合, 异 NOR 门 690 的输出与 NOR 门 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 耦合以选择将用于每一帧内的比较的相应位。
     传入 CAN 位流与位选择逻辑 610 同步。换句话说, 位选择逻辑 610 选择滤波器寄 存器 620 及屏蔽寄存器 630 中对应于串行位流的传入位的相应位。实际比较器由在两个输 入信号相同的情况下仅在其输出处产生逻辑 “高” 的异 NOR 门 690 形成。NOR 门 650 用作屏 蔽单元以在屏蔽寄存器 630 内的相应位被设定的情况下屏蔽掉结果。D 触发器 670 用作寄 存器以积累一连串比较内的结果且在帧的开始被预设定为 “1” 。仅在帧内的所有比较成功 的情况下, 将产生 AND 门 640 的输出处的接受信号 AccN。否则, D 触发器 670 由错误比较结 果设定为 “0” 且保持为 “0” 直到帧的结束。使用两个控制信号 ACC_RDY 及 BIT_RDY 来同步 及激活相应信号。
     图 8 更详细地展示具有甚至更多功能性的位比较器单元 435、 440 的另一示范性实施例。而且, 展示位比较器单元 0 的细节, 但所述细节可相应地适用于所有其它位比较器单 元。屏蔽寄存器 415 及 420 的输出与 4:1 多路复用器 520 的第一及第二输入耦合。可在多 路复用器 520 的第三及第四输入处提供额外输入 560 及 570。举例来说, 输入 560 与由编 号 580 指定的滤波器寄存器 15 的输出耦合。滤波器寄存器 425 包含 ( 举例来说 ) 与多路 复用器 520 的选择输入耦合的两个额外输出。多路复用器 520 可具有任何大小, 举例来说, 可扩充到 N:1 多路复用器, 从而将屏蔽的数目增加到 N。多路复用器 520 的输出连接到 NOR 门 530 的第一输入。NOR 门 530 作为确认单元操作, 从而指示是否将使用或忽略比较结果。 NOR 门 530 的第二输入与异 NOR 门 510 的输出耦合, 异 NOR 门 510 的第一输入从滤波器寄存 器 425 接收位输出信号且其第二输入从 CAN 协议引擎 495 接收串行数据流。NOR 门 530 的 输出与 D 触发器 540 的控制输入耦合。D 触发器 540 的 D 输入接收逻辑低信号。在 D 触发 器 540 的求反输出 550 处载运接受信号。
     根据一实施例, 第一比较级由异 NOR 门 510 形成。在此级中, 将串行位流的识别符 位与滤波器寄存器 425 的相应位进行比较。异 NOR 门 510 仅在两个输入信号相同的情况下 在其输出处产生逻辑 “高” 。定序器单元 410 选择滤波器寄存器 425 内的相应位。滤波器 寄存器 425 包含指示应使用哪一屏蔽寄存器的额外数据位。在此示范性实施例中, 可选择 四个不同值。可选择屏蔽寄存器 415 或 420 中的任一者或可由另一滤波器寄存器 ( 举例来 说, 滤波器寄存器 15) 提供第三值。 可使用第四可能选择 570 来指示通过提供相应电平 ( 举 例来说, 逻辑 “1” ) 将不使用屏蔽。因此, 可给每一滤波器寄存器 425、 430 指派个别屏蔽功 能。选定屏蔽值将放在 NOR 门 530 的第一输入处。如果所述屏蔽值指示应使用滤波器寄存 器 425 中的相应位, 那么 NOR 门 530 将作为可控制开关操作且将异 NOR 门 510 的比较结果 馈送到控制输入 D 触发器 540。D 触发器 540 用作被预设定为 “1” 的寄存器。如果一个比 较的结果为负 ( 指示没有匹配 ) 且相应屏蔽位无效, 那么将清空 D 触发器 540 且将不产生 接受信号 550。D 触发器 540 因此将重设为 “0” 。D 触发器 540 将预设定为 “1” , 从而再次以 下一帧开始以比较另一识别符, 如上文所描述。
     可使用任何其它类型的适当逻辑来实施比较器。 举例来说, 可使用可控制开关、 等 效布林运算器等。此外, 可将确认单元放在比较器前面或比较器之后。确认单元的基本功 能是并入选定位或将其从比较中排除。
     因此, 本发明极适于实施所述目标并获得所提及的结果及优点以及其中固有的其 它结果及优点。 虽然已参照本发明的特定优选实施例描述、 描述及界定了本发明, 但此些参 照并不暗示对本发明的限制, 且不应推断出存在此种限制。本发明能够在形式及功能上做 出大量修改、 替代及等效形式, 所属领域的技术人员将联想到所述修改、 替代及等效形式。 所描绘及所描述的本发明的优选实施例仅为示范性, 且并非对本发明的范围的穷尽性说 明。 因此, 本发明既定仅由所附权利要求书的精神及范围的限制, 从而在所有方面赋予对等 效物的完全认知。

具有使用缓冲器描述表的控制器区域网络模块的微控制器.pdf_第1页
第1页 / 共20页
具有使用缓冲器描述表的控制器区域网络模块的微控制器.pdf_第2页
第2页 / 共20页
具有使用缓冲器描述表的控制器区域网络模块的微控制器.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《具有使用缓冲器描述表的控制器区域网络模块的微控制器.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。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1