freescalecan模块用户手册.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CAN模块用户手册 引言 FlexCAN (FC)模块实现控制器局域网络协议(CAN)通信。CAN是一种用于汽车和工业控制系统异步通讯协议,是高速(1Mbit/sec)、短时间间隔、基于优先级的协议,能够使用多种通讯媒介(例如:光缆,非屏蔽线对等)。FlexCAN 模块同时支持CAN协议规范2.0版、B部分所规定的标准帧和扩展帧。 CAN协议主要——但不是仅仅地用于车辆串行总线,面对这样的特殊要求现场:实时处理、车辆电磁干扰环境的可靠操作、成本效率和需要的带宽等。本文档理论上采用CAN协议2.0版的一般应用知识。更详细的参见CAN协议规范2.0版。 功能说明 基于并包含所有现有的TouCAN 模块功能。 IP接口结构。 完全实现CAN协议规范2.0 标准数据和远程帧 (直到109位长度) 扩展数据和远程帧 (直到127位长度) 0—8字节数据长度。 可编程位速率直到1Mbit/sec。 多达16个0—8字节长度的弹性信息缓存器,各自可以配置为接收或传输,所有的都支持标准帧和扩展帧。 允许单侦听模式。 内容相关的寻址。 无读/写信号。 三个可编程过滤寄存器: 全局过滤 (用于MBs 0-13) MB14专用 MB15专用 独立于传输介质(假设使用外部收发器)。 开放的网络架构。 多主总线。 高度抗电磁干扰。 高优先级信息短延迟时间。 低功耗睡眠模式,可编程 总线活动唤醒。 结构图 图1: 典型的CAN系统图 图2 每个CAN站点物理上通过一个收发器连接到CAN总线,收发器提供CAN总线上通讯所需的传输驱动、波形,以及接受/比较等功能,还提供保护以预防不良的总线或站点对FlexCAN模块造成损坏。 信息缓存 信息缓存器结构。 图3 说明扩展(29-bit) ID信息缓存器结构;图4说明标准(11-bit) ID 信息缓存器结构。 图3 图4 扩展和标准格式帧的公共字段。如表1: 表1:公共字段 字段 描述 TIME STAMP 时间戳。装载CAN总线上本帧ID开始时捕捉的自由运行定时器的高字节值的拷贝。 CODE 参见表2 和表3 LENGTH (接收时) 存储在缓存器地址偏移量$3到$6中的接收到的数据长度。该字段由FlexCAN 模块填写,拷贝自接收数据的DLC字段。万一接收到的DLC字段的值超过8,则只有前8个接收到的数据字节被保存。 LENGTH (发送时) 位于缓存器地址偏移量$3到$6中的待发送数据长度。该字段由器件填写,用于作为DLC字段的值。如果远程传送请求(RTR)=1,本帧作为远程帧,DATA字段不被传输,从而忽略LENGTH的值。 DATA 数据。本字段存储帧数据直到8字节。对于接收帧,这些数据作为从总线上收到的数据存储;对于发送帧,器件提供所需要发送的帧内数据。 Reserved 保留字。该字的整个字段(16Bit)器件不能访问。改字用于内部测试,不允许以任何方式访问。 表2:接收缓存器编码 接收新帧前 描述 新帧收到后 注释 0000 NOT ACTIVE:信息缓存未激活 —— —— 0100 EMPTY:信息缓存有效且是空的 0010 —— 0010 FULL:信息缓存满 0110 如果器件读取发生在新帧到来之前,新接收码是: 0010 0110 OVERRUN:在器件读取第一个信息之前,第二个信息写入填满的缓存。 0101* BUSY:信息缓冲正在被新接收的帧填写。这种情形将在20周期内清除。 0010 填写了空缓存 0011* 0110 填写了满缓存 0111* 0110 填写了已经溢出的缓存 * 对于发送信息缓存,读的时候应忽略BUSY位。 表3:发送缓存器编码 RTR 初始值 描述 发送之后 X 1000 信息缓存器没有准备好发送 —— 0 1100 数据帧无条件传送一次。 1000 1 1100 远程帧传送一次,并且信息缓冲器转换成数据帧的接收信息缓存。 0100 0 1010* 数据帧仅作为远程帧的响应传送。 1010 0 1110 数据帧无条件传送一次,然后仅作为远程帧的响应。 1010 * 当检测到匹配的远程请求帧,这样的信息缓冲编码变为1110。 仅用于扩展模式帧的字段。 表4:扩展帧 字段 描述 ID[28:18]/[17:15] 包含14个扩展标识的最高位,位于信息缓冲区的ID HIGH 字。 置换远程请求 (SRR) 包含一个确定的隐性位,仅用于扩展模式,对于发送缓冲,需将此位置1,对于接收帧将按在总线上收到的来保存,该位位于信息缓冲区(MB)的ID HIGH 字。如果FlexCAN模块发送了一个值,并收到了匹配的响应,预示着一个成功的位传送。无论如何,如果FlexCAN模块以“1”来传送此位,但却收到它为“0”,预示着失去了仲裁;并且,如果FlexCAN模块以“0”来传送此

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档