BoschCAN用户手册中文版_第1页
BoschCAN用户手册中文版_第2页
BoschCAN用户手册中文版_第3页
BoschCAN用户手册中文版_第4页
BoschCAN用户手册中文版_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、L 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 数据长度编码 E

2、ML Error Management Logic 错误管理机制 FSM Finite State Machine 有限动作状态 18 / 21 TTCAN Time Triggered CAN 时间触发通讯的控制器局域网 2. C_CAN用户手册2 Functional Description 功能简介 C_CAN是可以作为单独或集成ASIC 一部分的CAN总线模块。用硬件描述 语言描述C_CAN综合到逻辑器件。它包含CAN内核、消息RAM、消息处理状 态机、控制寄存器和模块接口。 -PUEH O6PSSO2 oJtoo o06sd.lpp 循环结合无负载模式 Loop Back combi

3、ned with Silent Mode Figure 4: CAN Core in Loop Back combineawitfTSiient Mode 编程Lback和Silent同时置位(1), CAN运行在在循环无负载模式。这种 模式使用于自我测试(Hot Selftes),意味着C_CAN能在没有正常的CAN系统连 接到CAN_Tx和CAN_Rx引脚上时,自测试运。在这个模式中,CAN.RX引脚 被断开和CAN_TX引脚输出隐性(1)。 8、Basic 模式 Basic Mode 编程测试寄存器中的Basic位置位(1),内核工作于Basic模式。在这个模式 中C_CAN模块工作是没

4、有消息RAMo IF1使用作发送缓冲区。IF1寄存器中的内容请求发送,由写IF1命令请求 寄存器中的Busy位置位(1)。肖Busy位置位时IF1寄存器锁定。Busy位指示发 送状态。 一旦CAN总线空闲,CAN内核移位处理器载入IF1寄存器中的内容并始传 送。当成功发送,Busy位复位(0),并释放IF1寄存器。 在任何时候,未成功发送可以被中止,通过设置IF1命令请求寄存器中的 Busy位复位(0)。如果处理器对Busy进行复位,以防仲裁丢失或产生错误取消, 可能需要重传消息。 IF2使用作接收缓冲区。从位移寄存器接收的消息内容存储到IF2寄存器, 没有经过过滤。 除些之外,移位寄存器中的

5、内容在发送消息时被监听,每次读消息LI标对象 都初始化写IF2命令请求寄存器的Busy位为1。移位寄存器的内容存储到IF2 寄存器。 在Basic模式中,所有消息对象LI标相关的控制、状态位和Ifx命令掩码寄 存器控制位的赋值都被关闭。消息命令请求寄存器数值是无效。IF2消息控制寄 存器中的NewDat和MsgLst位依然保留他们的功能=DLC3-0显示接收数据长度 (DLC),其他控制位读出为0。 在Basic模式中CAN_WAIT_B输出准备功能取消(总是为1)。 9、软件控制CAN_TX引脚 CAN TX Software control of Pin 在CAN发送时CAN.TX的四种输

6、出功能都可以用到。除此之外,缺省值下 进行串行数据输出,它能驱动CAN采样信号点而监听CAN内核位定时和能驱 动连续的隐性或显示性值。最后的2个功能,结合可读CAN_RX引脚,可以使 用检测CAN总线的物理层。 CAN.TX引脚输出模式选择通过编程测试寄存器中的TX1和TX0位。 3种CAN_TX引脚接口测试功能都带有所在CAN协议功能。选择CAN消 息发送或循环测试模式(自检测模式)、无负载模式、Basic模式,CAN.TX必须 放奔缺省值功能。 5C_CAN用户手册5编程模式Programmer s Model C_CAN模块分配256位地址空间。这些寄存器组织成16位寄存器,髙字节 存放

7、在奇数地址和低字节存放在偶数地址空间。 双接口寄存器(IF1和IF2)控制处理器(CPU)访问消息U标对象RAM,它们用 于缓冲发送数据和从消息对象RAM读对数据。避免处理器(CPU)访问消息LI标 对象RAM和消息接收或发送之间冲突。 Address Name Reset Value Note CAN Base + 0 x00 CAN Control Register 0 x0001 CAN Base + 0 x02 Status Register 0 x0000 CAN Base + 0 x04 Error Counter 0 x0000 read only CAN Base + 0 x0

8、6 Bit Timing Register 0 x2301 write enabled by CCE CAN Base + 0 x08 Interrupt Register 0 x0000 read only CAN Base + OxOA Test Register 0 x00 & ObrOOOOOOO write enabled by Test CAN Base + OxOC BRP Extension Register 0 x0000 write enabled by CCE CAN Base + 0 x0E reserved _3) CAN Base 十 0 x10 IF1 Comma

9、nd Request 0 x0001 CAN Base + 0 x12 IF1 Command Mask 0 x0000 CAN Base 十 0 x14 IF1 Mask 1 OxFFFF CAN Base + 0 x16 IF1 Mask 2 OxFFFF CAN Base+ 0 x18 IF1 Arbitratio n 1 0 x0000 CAN Base + 0 x1A IF1 Arbitration2 0 x0000 CAN Base+ 0 x1C IF1 Message Control 0 x0000 CAN Base + 0 x1 E IF1 Data A 1 0 x0000 C

10、AN Base + 0 x20 IF1 Data A 2 0 x0000 CAN Base + 0 x22 IF1 Data B 1 0 x0000 CAN Base + 0 x24 IF1 Data B 2 0 x0000 CAN Base + 0 x28 0 x3E reserved 3) CAN Base + 0 x40 0 x54 IF2 Registers see note2, same as IF1 Registers CAN Base + 0 x56 0 x7E reserved 3) CAN Base + 0 x80 Transmission Request 1 0 x0000

11、 read only CAN Base + 0 x82 Transmission Request 2 0 x0000 read only CAN Base + 0 x84 - 0 x8E reserved _3) CAN Base + 0 x90 New Data 1 0 x0000 read only CAN Base + 0 x92 New Data 2 0 x0000 read only CAN Base + 0 x94 - 0 x9E reserved 3) CAN Base + OxAO Interrupt Pen ding 1 0 x0000 read only CAN Base

12、+ 0 xA2 Interrupt Pen ding 2 0 x0000 read only CAN Base + 0 xA4 OxAE reserved 3) CAN Base + OxBO Message Valid 1 0 x0000 read only CAN Base + 0 xB2 Message Valid 2 0 x0000 read only CAN Base + 0 xB4 OxBE reserved _3) r signifies the actual value of the CAN.RX pin. 2 The two sets of Message In terfac

13、e Registers IF1 and IF2 have identical fun ctions. 劭 Reserved bits are read as O except for IFx Mask 2 Register where they are read as V Figure 5: C_CAN Register Summary 5.1 硬件复位描述 Hardware Reset Description 硬件复位以后(各寄存器的复位值依上表),除了总线关闭状态被复位(0), 输出引脚CAN_TX复位为隐性(1)。软件初始化时CAN控制寄存器值为 0 x000l(Init = l)o C

14、_CAN对CAN总线不会产生影响,直到处理器复位Init为0。 在硬件复位,存储在消息对象RAM中的数据不会受到影响。上电,消 息L1标对象RAM的内容依情况而定。 CAN 控制相关寄存器 CAN Protocol Related Registers 在CAN内核中有涉及到CAN控制器的寄存器。它们控制CAN的工作 模式、CAN位定时器的配置和提供消息状态。 1、CAN 控制寄存器(地址 0 x01 & 0 x00) CAN Control Register (addresses 0 x01 & 0 x00) 15 14 13 12 11 10 9 8 6 5 4 3 2 1 0 res re

15、s ITS res re$ res res res Test CCE DAR res I EIE 1 SIE IE Iui( r r r r r r r r rw rw nv r 1W nv rw rw Test测试模式使能 1测试模式 0正常模式 CCE 配置更改使能 1 处理器(CPU)写存储到位定时器有效(当Init = 1) 0 处理器(CPU)不写存储位定时寄存器 DAR取消自动重传使能 1 自动重传取消 0 错误消息(报文)自动重传 EIE 错误中断使能 1 使能 在状态寄存器中的Boff或Ewarn发生变化将发生中断 0 取消 不会产生错误状态中断 SIE中断状态改变使能 1使能

16、 当消传送成功或监测CAN总线错误将产生一个中断 0取消不产生状态中断 IE模块中断使能 1 使能 中断使IRQ_B为低,IRQ_B依然为低直到所以中断被处理 0 取消模块中断IRQ.B总是为高 Init初始化模式 1 初始化开始 0正常模式 注意: 总线的关闭状态不受Init的置位或复位而改变,总线关闭,CAN总线自检 测置位Init位,停止所以总线活动。一旦处理顺(CPU)清除Init位,总线将等待 产生129个总线空闲状态(129*11个隐性位),在恢复正常运行之前。总线恢复正 常结束后,错误管理计数器将清零。 在每次对Init位重新复位以后,将会等侍监听连续11隐性位的时间, BitO

17、Eraor代码将写到状态寄存器。使能处理器(CPU)检测总线正接受显性位或连 续干拢并监听总线关闭状态。 提示: C8051系列单片机中的CAN总线也是采用BOSCH CAN协议。其操作 过程一样,但是在CAN寄存器中加多了一位。 位4: CANIF: CAN中断标志。写二忽略。 0:未发生CAN中断。 1:发生了 CAN中断。 CANIF III CAN控制器控制,当CAN控制器中所有的中断条件都被清除 后,该标志被清,(F 2、状态寄存器(地址 0 x03 & 0 x02) Status Register (addresses 1514131211109876543210 0 x03 &

18、0 x02) re$ res res res res res res res BOff EWarn EPass RxOk TxOk LEC 0 rw rw BOff总线关闭状态 1总线在关闭状态 0总线正常状态 Ewarn警告状态 1在错误管理器(EML)中至少有一个错误计数器达到了 96次限制警告 0错误或警告二个都没有达到96次的限制 Epass产生错误 1在CAN总线协议中定义CAN内核运行在错误的状态 0CAN内核使能错误 RxOk成功接收消息 1一旦此位被III处理器(CPU)置位,消息接收成功(依赖于过虑器的结果) 0自从此位曲处理器(CPU)fi位后,没成功接收消息,这位永远由处

19、理器 (CPU復位 TxOk成功发送消息 1自从处理器(CPU)对此位复位以后,成功发送消息(没有错误和至少一个 节点应答) 0自从CPU对此位复位以后,没有消息已发送成功,这位永远曲CPU复 位 LEC 最近错误代码 0 No Error:有错误 1 Stuff Error:填充错误,在接收消息中部分标准是超过5个连续位产生 是不充许。 2 Earm Error:帧错误,接收帧固定格式部分是个错误形式 3 Ack Error:应答错误,CAN内核发送信息没有任何一个节点应答 4 Bit 1 Error:在消息发送期间(除仲裁域),设备想发送一个隐性位,但 监听为显性位 5 BitOError

20、:在消息发送期间(或应答位、激活错误标志、超载标志), 设备想发送一个显示位(数据或识别符逻辑值0),但是监听到总线的值为隐性位。 关闭总线恢复每次都要监听一个连续11个隐性位状态,这使能处理器(CPU)去监 听处理总线关闭恢复序列(指示总线没有干拢位或连续干拢) 6 CRCError: CRC检测较验出接收到的数据是错误的。经过CRC校验 接收进来的消息与未准的数据不能匹配 7 Unsed:当LEC显示为“7”时,自从处理器(CPU)写到数到LEC以后, 总线就没有任何事件发生。 LEC域保存显示CAN总线上最近发生错误类型编码,在成功传送(发送 或接收)消息并且没有错误时这个域全部清0,当

21、处理器(CU)检测更新时,未使 用的编码“7”可以写入LEC。 状态中断 Status Interrupts 状态中断产生山Boff位和Ewarm位(错误中断)或山RxOK位、TxOK位 和LEC(状态改变中断)装载,并在CAN控制寄存器中的相应使能位置位有效使 能。Epass位改变或写RxOK、TxOK,或LEC也不会产生状态中断。读状态寄 存器将清除在中断寄存器中状态中断值(8000H),如果没有中断时。 3、错误计数器(地址 0 x05 & 0 x04 )Error Counter (addresses 0 x05 & 0 x04) 】5141312111()987654321 RPRE

22、60|TEC70 rr RP消极接收错误 1接收错误计数器已经达到由CAN协议定义错误消极状态 0接收错误计数器没有达到错误消极状态 REC6-0接收错误计数器 接收错误计数器实际状态,其值在0127 TEC7-0发送错误计数器 发送错误讣数器实际状态,其值在0255 4、位定时寄存器(地址 0 x07 & 0 x06) Bit Timing Register (addresses 0 x07 & 0 x06))98765432 I 0 res | TSc2 ITScgl| SJV |BRP rrwrwrwrw TSegl采样点前的定时段 Tsegl有可变值为0 x0

23、10 xF,即是1.15,这个值通过硕件译码成比1更大 的值被使用。 TSeg2 采样点后的定时段 Tseg2有可变值0 x00 x7,即是1.7,这个值通过硬件译码成比1更大的值 被使用。 SJW同步跳转宽度 可变编程值为0 x003,即是03,这个值通过硬件译码成比1更大的值 被使用。 BRP 波特率分频器 数值0 x010 x3F可以决定系统时间频率被分频产生位定时量子。位时间被分 成多块定时量子,波特率分频器的值可在063选择。这个值通过硬件译码成比 1更大的值被使用。 注意: 模式时钟CAN_CLK为8MHz,其复位值为0 x2301配置C_CAN的位速 率为500Kbit/so这个位仅当CCE位和Init位同时置位才写有效。 5、测试寄存器(地址 OxOB & OxOA) Test Register (addresses OxOB & OxOA) 15 14 13 12

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论