Bosch_CAN用户手册中文版.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.C_CAN用户手册1
术语和缩写
Terms and Abbreviations
This document uses the following terms and abbreviations.
这个文档使用到以下的术语和缩写。
Term Meaning
CAN Controller Area Network
控制器局域网
BSP Bit Stream Processor
位流处理器
BTL Bit Timing Logic
位时间机制
CRC Cyclic Redundancy Check Register
循环冗余码校验冗余
DLC Data Length Code
数据长度编码
EML Error Management Logic
错误管理机制
FSM Finite State Machine
有限动作状态
TTCAN Time Triggered CAN 时间触发通讯的控制器局域网
2.C_CAN用户手册2
Functional Description功能简介
C_CAN是可以作为单独或集成ASIC一部分的CAN总线模块。用硬件描述语言描述C_CAN综合到逻辑器件。它包含CAN内核、消息RAM、消息处理状态机、控制寄存器和模块接口。
CAN内核通信符合CAN协议规范2.0A和2.0B。在使用中位速率可以编程达到1M/S。硬件连接物理层需在接收发射器。
在CAN网络中通信,每个消息目标需要设定,接收的消息目标和识别符掩码存储到消息RAM中。
所有关于消息处理是在消息处理状态器中完成。这些功能包括消息过滤、
CAN内核与消息RAM之间的通信和消息发送中断请求并产生中断模块。
C_CAN中的寄存器组可以通过接口模块被外器CPU访问。这些寄存器用于控制或配置CAN内核和消息处理状态机,并存储到消息RAM。
在C_CAN模块中的接口模块可以定制成适合于用户使用的模块接口。
C_CAN具有以下的功能特性:
支持CAN协议怎版本2.0A和版本2.0B
位速度达到1M/S
32个消息目标(在消息RAM中有32个可以自定义接收或发送的消息目标)
每个消息目标有自己的识别符掩码
可编程的FIFO模式(消息目标在FIFO中连续存放)
可屏蔽中断
对于时间触发的CAN应用可以取消自动重传模式
在自己测试操作可以设计成循环模式(重复发关这一个消息)
兼容摩托罗拉公司HC08的8位单处理模块接口
对ARM内核有2个16位的接口模式给AMBA ABB总路线
3.C_CAN用户手册3
模式结构Block Diagram
CAN Core
CAN内核
CAN协议控制器和接收与发送移位寄存器完成消息的并行或串行转换
Message RAM
消息RAN
存储消息目标和识别符掩码
Registers
寄存器
所有寄存器用于控制和配置C_CAN模块
Message Handler
消息状态处理机控制数据在CAN内核接收与发送移位寄存器与消息RAM 之间的传送,也在控制和配置寄存器中产生中断
Module Interface模块接口
到目前为止,C_CAN模块被分成3种不同的接口。一种是对于摩托罗拉HC08控制器的8位接口,和二种来自ARM的AMBA APB总线的16位接口
4.C_CAN用户手册4
操作模式Operating Modes
1、初始化程序Software Initialization
初始化程序开始前必须置CAN控制器中的控制寄存器中的Init位,或者由软件或硬件复位还是总线关闭。
当Init被置位,所有与CAN传送的消息被停止。CAN总线的CAN_TX状态为隐性(HIGH),错误处理寄存器状态不变,Init置位不会改变任何配置寄存器。
初始化CAN控制器时,处理器(CPU)必须设置位定时寄存器和每个消息对象。如何一个消息对象不需要,设置此消息的MsgVal没有效(0)即可。否则初始化全部消息对象。
当CAN控制寄存器中的Init和CCE两者都置位时,配置位定时的位定时寄存器和位扩展定时寄存器才被激活。
仅由处理器(CPU)复位Init才完成软件初始化。然后,在得到使用总线权和发送消息之前等待总线空闲时(产生11个连续隐性位),位流处理器(BSP)同步传数据。
初始化消息对象时不需要将Init置位,可以在CAN控制器不工作的时候进行。在位流处理器(BSP)开始消息传输之前,所有消息对像需要初始化一个单独的识别符或初始消息无效。
在正常工作期间改变消息对象的配置时,处理器(CPU)修改配置前先设置消息对象的MsgVal无效(0)。修改配置完成,MsgVal由处理器(CPU)l置位,消息才有效。
2、CAN报文传送CAN Message Transfer
一旦初始化C_CAN和Init复位(设置为0),C_CAN的CAN内核同时自我检测总线和在总线上开始传送消息。
如果接收到的消息符合本节点过虑的要求(通过消息状态处理机过滤),存储到相应的消息目标对象。整个消息包括仲裁识别位、数据长度(DLC)和8个字节数据都存储到消息目标对象。如果使用识别符(ID)掩码(屏蔽码),消息目标对象中的仲裁位可以被屏蔽(不仲裁相应被屏蔽的识别符位)。
不管什么时候,处理器(CPU)可以通过CAN接口寄存器读或写每一条消息(报文)。在并发操作中,消息状态处理机保证数据可靠性。
传送的消息(报文)由处理器(CPU)更新。如果永久性的消息目标对象(仲裁位和控制位在初始化配置时被设定)存在消息(报文),仅数据位被处理器更新,然后将TxRqst和NewDat位置位,消息即开始传送。如几个(个别)传送的消息配置成相同的消息对象目标(消息对象的编码值无效),这些消息传送请求前必须以对全部消息进行初始化设置。
很多消息对象目标传送可以在同一时间请求,消息对象对像的先后顺序由自身的优级确定,消息可以随时更新或设置为无效,甚于在发送请求还在等待时候。消息未发送而被更新则旧的数据将丢弃。
依照消息对象的配置,传送消息被自动请求,由接收带匹配识别符的远程帧。