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

下载本文档

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

文档简介

1、1. C_CAN 用户手册 1术语和缩写Terms and AbbreviationsThis document uses the following terms and abbreviations. 这个文档使用到以下的术语和缩写。TermMeaningCANController Area Network 控制器局域网BSPBit Stream Processor 位流处理器BTLBit Timing Logic 位时间机制CRCCyclic Redundancy Check Register 循环冗余码校验冗余DLCData Length Code 数据长度编码EMLError Manag

2、ement Logic 错误管理机制FSMFinite State Machine 有限动作状态TTCAN Time Triggered CAN 时间触发通讯的控制器局域网2. C_CAN用户手册2Functional Description功能简介C_CAN是可以作为单独或集成 ASIC 部分的CAN总线模块。用硬件描述 语言描述C_CAN综合到逻辑器件。它包含CAN内核、消息RAM、消息处理状 态机、控制寄存器和模块接口。cCAN_TXCAN RXMessage RAMRegistersa)-pufflHCD6e5tnCDIAIModule Interfacez-raQot曇 Jlpp&l

3、t;_o上匸0-0Figure 1; Block Diagram of the C_CANCAN内核通信符合CAN协议规范2.0A和2.0B。在使用中位速率可以编程 达到1M/S。硬件连接物理层需在接收发射器。在CAN网络中通信,每个消息目标需要设定,接收的消息目标和识别符掩 码存储到消息RAM中。所有关于消息处理是在消息处理状态器中完成。这些功能包括消息过滤、CAN 内核与消息 RAM 之间的通信和消息发送中断请求并产生中断模块。C_CAN 中的寄存器组可以通过接口模块被外器 CPU 访问。这些寄存器用于 控制或配置 CAN 内核和消息处理状态机,并存储到消息 RAM 。在 C_CAN 模块

4、中的接口模块可以定制成适合于用户使用的模块接口。C_CAN 具有以下的功能特性 :支持 CAN 协议怎版本 2.0A 和版本 2.0B位速度达到 1M/S32个消息目标(在消息 RAM 中有 32个可以自定义接收或发送的消息目标)每个消息目标有自己的识别符掩码可编程的 FIFO 模式(消息目标在 FIFO 中连续存放)可屏蔽中断对于时间触发的 CAN 应用可以取消自动重传模式在自己测试操作可以设计成循环模式(重复发关这一个消息)兼容摩托罗拉公司 HC08 的 8 位单处理模块接口对 ARM 内核有 2 个 16 位的接口模式给 AMBA ABB 总路线3. C_CAN 用户手册 3模式结构 B

5、lock DiagramCAN CoreCAN 内核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 用户

6、手册 4操作模式 Operating Modes1、初始化程序 Software Initialization初始化程序开始前必须置 CAN 控制器中的控制寄存器中的 Init 位,或者由 软件或硬件复位还是总线关闭。当 Init 被置位,所有与 CAN 传送的消息被停止。 CAN 总线的 CAN_TX 状 态为隐性 (HIGH) ,错误处理寄存器状态不变, Init 置位不会改变任何配置寄存器。初始化CAN控制器时,处理器(CPU)必须设置位定时寄存器和每个消息对 象。如何一个消息对象不需要,设置此消息的 MsgVal 没有效(0)即可。否则初始 化全部消息对象。当 CAN 控制寄存器中的

7、Init 和 CCE 两者都置位时, 配置位定时的位定时寄 存器和位扩展定时寄存器才被激活。仅由处理器(CPU)复位In it才完成软件初始化。然后,在得到使用总线权和 发送消息之前等待总线空闲时(产生11个连续隐性位),位流处理器(BSP)同步传 数据。初始化消息对象时不需要将 Init 置位,可以在 CAN 控制器不工作的时候进 行。在位流处理器(BSP)开始消息传输之前,所有消息对像需要初始化一个单独 的识别符或初始消息无效。在正常工作期间改变消息对象的配置时,处理器 (CPU)修改配置前先设置消 息对象的MsgVal无效(0)。修改配置完成,MsgVal由处理器(CPU)I置位,消息

8、才有效。2、CAN 报文传送 CAN Message Transfer一旦初始化 C_CAN 和 Init 复位(设置为 0), C_CAN 的 CAN 内核同时自我 检测总线和在总线上开始传送消息。如果接收到的消息符合本节点过虑的要求 (通过消息状态处理机过滤 ),存储 到相应的消息目标对象。整个消息包括仲裁识别位、数据长度 (DLC)和8个字节 数据都存储到消息目标对象。如果使用识别符 (ID)掩码(屏蔽码),消息目标对象 中的仲裁位可以被屏蔽 (不仲裁相应被屏蔽的识别符位 )。不管什么时候,处理器(CPU)可以通过CAN接口寄存器读或写每一条消息 (报文)。在并发操作中,消息状态处理机保

9、证数据可靠性。传送的消息(报文)由处理器(CPU)更新。如果永久性的消息目标对象(仲裁位 和控制位在初始化配置时被设定 )存在消息 (报文),仅数据位被处理器更新, 然后 将TxRqst和NewDat位置位,消息即开始传送。如几个(个别)传送的消息配置成 相同的消息对象目标 (消息对象的编码值无效 ),这些消息传送请求前必须以对全 部消息进行初始化设置。很多消息对象目标传送可以在同一时间请求, 消息对象对像的先后顺序由自 身的优级确定,消息可以随时更新或设置为无效, 甚于在发送请求还在等待时候。 消息未发送而被更新则旧的数据将丢弃。依照消息对象的配置, 传送消息被自动请求, 由接收带匹配识别符

10、的远程帧。3、取消自动重传 Disabled Automatic Retransmission依据 CAN 规范,在传送期间仲裁已经丢失或干拢错误时, C_CAN 提供了 自动重传帧的机制。 在帧传送成功之前, 帧传送服务不能被使用都证实。 传送失 败意味自动重传机制使能。当 C_CAN 工作在时间触发 CAN 环境时,自动重传 机制也可以取消。编程 CAN 控制器中的 DAR 置位 (1)取消自动重传机制。 在这种操作模式中, 程序必须考虑在消息缓冲控制寄存器中 TxRqst 和 NewDat 不同的情况。当每个消息报缓冲发送请求开始位(TxRqst)被复位(0),然而NewDat位依然 置

11、位(1).当传送成功后 NewDat 位复位,当传送失败 (仲裁丢失或传送错误 )NewDat 依然不变(置位1),重新传送由处理器(CPU)置位TxRqst为1。4、测试模式 Test Mode由处理器(CPU)设置CAN控制寄存器中的Test位置1,进入测试模式。在 测试模式中,测试寄存器中的 Tx1、Tx0、Lback、Silent和Basic需在写。Rx监 听CAN_RX引能脚的状态,并且仅读。当测试模式位TEST复位为0,所有测试寄存器中的功能全部取消。5、无负载模式 /只听模式 Silent ModeCAN内核可以通过编程设置测试寄存器中的 Silent置1,运行于无负载模式在无负

12、载模式中,C_CAN能接收有效数帧和有远程帧,但它仅发送确定 接收位在CAN总线上,以及它不能发送。如CAB内核需要发送一个显性位(ACK 应答位,超载标志,激活错误标志),此位在内部自动更改以至CAN内核监听这 个显性位(0),尽管CAN总是出现在隐性状态。无负载模式可以用于分析 CAN总 线运行情况,在没有使用总线时通过传送一个显性位 (应答位、错误帧)。CAN TX CAN RXFigure 2: CAN Core in Silent Mode在ISO 11898-1,无负载模式被叫做总线监听模式。只听模式成功接收到消息也不会作应答, 错误计数器停止,不传送消息,所 以可以作位定时波特率

13、软件自区配设置。6、循环模式/自检测模式 Loop Back Mode由编程测试寄存器位Lback置位(1),CAN内核进入测试循环模式(控制寄存 器中的TEST=1)。在循环模式中,CAN内核自我协商传送消息同时接收消息和 存储通过过虑的消息到接收缓冲区。此模式提供了自我测试的功能,不受外部干拢影响。在循环模式中,CAN内核忽略应答信号错误(接收位采样在数据帧或远程帧应答场内)。在这个模式 中,CAN内核从自己的Tx输出执行一个反馈信号到 Rx输入。实际上CAN内 核把CAN_RX输入引脚断开。传送消息时监听 CAN_TX弓|脚。自检测模式检测所有节点,没有任何活动的节点使用自接收命令,即

14、使没有应答,CAN也可会成功发送。7、循环结合无负载模式Loop Back combined with SilentModeCAN TX CAN RXc CAN+1*tTxRxCAN CoreFigure 4: CAN Core in Loop Back combined with Silent Mode编程Lback和Silent同时置位(1),CAN运行在在循环无负载模式。这种 模式使用于自我测试(Hot Selftes),意味着C_CAN能在没有正常的CAN系统连 接到CAN_Tx和CAN_Rx引脚上时,自测试运。在这个模式中,CAN_RX弓|脚 被断开和CAN_TX引脚输出隐性。8、B

15、asic模式 Basic Mode编程测试寄存器中的 Basic 位置位 (1),内核工作于 Basic 模式。在这个模式 中 C_CAN 模块工作是没有消息 RAM 。IF1 使用作发送缓冲区。 IF1 寄存器中的内容请求发送,由写 IF1 命令请求 寄存器中的 Busy 位置位 (1)。当 Busy 位置位时 IF1 寄存器锁定。 Busy 位指示发 送状态。一旦CAN总线空闲,CAN内核移位处理器载入IF1寄存器中的内容并始传 送。当成功发送,Busy位复位(0),并释放IF1寄存器。在任何时候,未成功发送可以被中止,通过设置 IF1 命令请求寄存器中的 Busy位复位(0)。如果处理器

16、对Busy进行复位,以防仲裁丢失或产生错误取消, 可能需要重传消息。IF2使用作接收缓冲区。从位移寄存器接收的消息内容存储到IF2寄存器,没有经过过滤。除些之外,移位寄存器中的内容在发送消息时被监听, 每次读消息目标对象 都初始化写 IF2 命令请求寄存器的 Busy 位为 1。移位寄存器的内容存储到 IF2 寄存器。在Basic模式中,所有消息对象目标相关的控制、状态位和 Ifx命令掩码寄 存器控制位的赋值都被关闭。消息命令请求寄存器数值是无效。 IF2 消息控制寄 存器中的NewDat和MsgLst位依然保留他们的功能。DLC3-0显示接收数据长度 (DLC) ,其他控制位读出为 0。在B

17、asic模式中CAN_WAIT_B输出准备功能取消(总是为1)9、软件控制 CAN_TX 引 脚 Software control of Pin CAN_TX在 CAN 发送时 CAN_TX 的四种输出功能都可以用到。 除此之外, 缺省值下 进行串行数据输出,它能驱动 CAN 采样信号点而监听 CAN 内核位定时和能驱 动连续的隐性或显示性值。最后的 2 个功能,结合可读 CAN_RX 引脚,可以使 用检测 CAN 总线的物理层。CAN_TX 引脚输出模式选择通过编程测试寄存器中的 TX1 和 TX0 位。3种CAN_TX引脚接口测试功能都带有所在 CAN协议功能。选择CAN消 息发送或循环测

18、试模式 (自检测模式 )、无负载模式、 Basic 模式, CAN_TX 必须 放弃缺省值功能。5. C_CAN 用户手册 5 编程模式 Programmer' s ModelC_CAN模块分配256位地址空间。这些寄存器组织成16位寄存器,高字节 存放在奇数地址和低字节存放在偶数地址空间。双接口寄存器(IF1和IF2)控制处理器(CPU)访问消息目标对象RAM,它们用 于缓冲发送数据和从消息对象 RAM读对数据。避免处理器(CPU)访问消息目标对象RAM和消息接收或发送之间冲突AddressNameReset ValueNoteCAN Base + OscOOCAN Control

19、Register0x0001CAN+ 0x02Status Register0x0000CAN B + 0x04Error Counter0x0000read onlyCAN Bate + 0x06Bit Timing Register0x2301write enabled by CCECAN Base + 0x0SInterrupt Register0x0000read onlyCAN Base + 0x0ATest RegisterOxQOA ObrOOOOOOOwrite enabled by TestCAN Base + OxOCBRP Extension Register0x0000

20、write enabled by CCECAN Base + OkOEreserved斗CAN Base + 0x10IF1 Command Request0x0001CAN Base + 0x12IF1 Coirnnand MaskOxQODDCAN Base + 0x14IF1 Mask 1OxFFFFCAN Base + 0)c16IF1 MaskZOxFFFFCAN Base + 0x18IF1 Arbitration 10x0000CAN Base + 0x1AIF1 Arbitration20x0000CAM Base + 0x1CIF1 Message Control0x0000

21、CAN Base + 0x1EIF1 Data A 10x0000CAN Base 十 0x20IF1 Data A 20x0000CAN Base + 0x22IF1 DataB 10x0000CAN Base + 0x24IF1 Data 0 20x0000CAN Base + 0x2S - 0x3Ereserved一3)CAN Base + 0x40 - 0x54IF2 Registerssee note 2)same as IF 1 RegistersCAN Base + 0x56 - 0x7Ereserved3)CAN Base + Ox SOTransmission Request

22、 1CxOOCOread onlyCAN Base + 0x&2Transmission Request 20x0000read onlyCAN Base + 0x84 - OxBEreserved3>CAN Base + 0x90New Data 10x0000read onlyCAN Base + 0x92New Data 20x0000read onlyCAN Base + 0x94 - 0x9EreservedCAN Base + OxAOInterrupt Pending 10x0000read onlyCAN Base + 0xA2Interrupt Pending

23、20x0000read onlyCAN Base + 0xA4 - OxAEreserved3)CAN Base + OxB0Message Valid 1DxDOCOread onlyCAN Base + 0xB2Message Valid 20x0000raad onlyCAN Base + 0xB4 - OxBEreserved3)"r signifies the actual value of the CAN_RX pin.2i The two sets of Message Interface Registers - IF1 and IF2 - have identical

24、 functions.3) Reserved bits are read as 'O' except for IFx Mask 2 Register where they are read as rVFigure 5: C_CAN Register Summary5.1 硬件复位描述 Hardware Reset Description硬件复位以后(各寄存器的复位值依上表),除了总线关闭状态被复位(0), 输出引脚 CAN_TX复位为隐性(1)。软件初始化时 CAN控制寄存器值为 0x0001(Init = 1)。 C_CAN对CAN总线不会产生影响,直到处理器复位Init为0

25、。在硬件复位,存储在消息对象 RAM中的数据不会受到影响。上电,消 息目标对象RAM的内容依情况而定。CAN 控制相关寄存器CAN Protocol Related Registers在CAN内核中有涉及到CAN控制器的寄存器。它们控制 CAN的工作模式、CAN位定时器的配置和提供消息状态1、CAN 控制寄存器(地址 0x01 & 0x00) CAN ControlRegister (addresses 0x01 & 0x00)1514131211109876543l0resi*e1谜resresTestCCEDARresEIESIEIErnltIrrri:rrrwtw1Wrr

26、wrwrwrwTest 测试模式使能1测试模式0正常模式CCE 配置更改使能1 处理器(CPU )写存储到位定时器有效(当In it = 1)0 处理器(CPU )不写存储位定时寄存器DAR取消自动重传使能1自动重传取消0 错误消息(报文)自动重传EIE 错误中断使能1 使能 在状态寄存器中的Boff或Ewarn发生变化将发生中断0 取消 不会产生错误状态中断SIE中断状态改变使能1使能 当消传送成功或监测CAN总线错误将产生一个中断0取消 不产生状态中断IE模块中断使能1 使能 中断使IRQ_B为低,IRQ_B依然为低直到所以中断被处理0 取消模块中断IRQ_B总是为高Init初始化模式1初

27、始化开始0 正常模式总线的关闭状态不受Init的置位或复位而改变,总线关闭,CAN总线自检 测置位Init位,停止所以总线活动。一旦处理顺(CPU)清除In it位,总线将等待 产生129个总线空闲状态(129*11个隐性位),在恢复正常运行之前。总线恢复正 常结束后,错误管理计数器将清零。在每次对Init位重新复位以后,将会等侍监听连续11隐性位的时间,BitOEraor代码将写到状态寄存器。使能处理器(CPU)检测总线正接受显性位或连 续干拢并监听总线关闭状态。提示:C8051系列单片机中的CAN总线也是采用BOSCH CAN协议。其操作 过程一样,但是在CAN寄存器中加多了一位。位4:

28、CANIF : CAN中断标志。写=忽略。0:未发生CAN中断。1:发生了 CAN中断。CANIF由CAN控制器控制,当CAN控制器中所有的中断条件都被清除 后,该标志被清 0'2、状态寄存器(地址 0x03 & 0x02) Status Register (addresses0x03 & 0x02)15141312Ll109665斗310resITSresres1ITSresBOffEWniiEP耐RxOkTsOkLECrrrrrrrrIrwrwBOff 总线关闭状态1 总线在关闭状态0 总线正常状态Ewarn 警告状态1 在错误管理器 (EML) 中至少有一个错误计

29、数器达到了 96 次限制警告0 错误或警告二个都没有达到 96 次的限制Epass 产生错误1 在 CAN 总线协议中定义 CAN 内核运行在错误的状态0 CAN 内核使能错误RxOk 成功接收消息1 一旦此位被由处理器 (CPU) 置位,消息接收成功 (依赖于过虑器的结果 )0 自从此位由处理器 (CPU) 置位后,没成功接收消息,这位永远由处理器 (CPU)复位TxOk 成功发送消息1自从处理器(CPU)对此位复位以后,成功发送消息(没有错误和至少一个 节点应答 )0自从CPU对此位复位以后,没有消息已发送成功,这位永远由CPU复位LEC 最近错误代码0 No Error:有错误1 Stu

30、ff Error:填充错误,在接收消息中部分标准是超过 5个连续位产生 是不充许。2 Earm Error:帧错误,接收帧固定格式部分是个错误形式3 Ack Error :应答错误,CAN内核发送信息没有任何一个节点应答4 Bit1Error :在消息发送期间(除仲裁域),设备想发送一个隐性位,但监听为显性位5 BitOError :在消息发送期间(或应答位、激活错误标志、超载标志), 设备想发送一个显示位(数据或识别符逻辑值0),但是监听到总线的值为隐性位。 关闭总线恢复每次都要监听一个连续 11个隐性位状态,这使能处理器(CPU)去监 听处理总线关闭恢复序列(指示总线没有干拢位或连续干拢)

31、6 CRCError: CRC检测较验出接收到的数据是错误的。经过CRC校验接收进来的消息与未准的数据不能匹配7 Unsed:当LEC显示为“7时,自从处理器(CPU)写到数到LEC以后, 总线就没有任何事件发生。LEC域保存显示CAN总线上最近发生错误类型编码,在成功传送(发送 或接收)消息并且没有错误时这个域全部清 0,当处理器(CU)检测更新时,未使 用的编码“河以写入LEC。状态中断Status In terrupts状态中断产生由Boff位和Ewarm位(错误中断)或由RxOK位、TxOK位 和LEC(状态改变中断)装载,并在CAN控制寄存器中的相应使能位置位有效使 能。Epass位

32、改变或写RxOK、TxOK,或LEC也不会产生状态中断。读状态寄 存器将清除在中断寄存器中状态中断值(8000H),如果没有中断时。3、错误计数器(地址 0x05 & 0x04 )Error Counter (addresses0x05 & 0x04)1514 B 1211109 S 76542 l 0HPREC6-I)TEC7-IIRP消极接收错误1 接收错误计数器已经达到由CAN协议定义错误消极状态0接收错误计数器没有达到错误消极状态REC6-0接收错误计数器接收错误计数器实际状态,其值在 0127TEC7-0发送错误计数器发送错误计数器实际状态,其值在 02554、位定时寄存器(地址 0x07 & 0x06) Bit Timing Register(addresses 0x07 & 0x06)15141312Llio g8= 65斗321 0resT

温馨提示

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

评论

0/150

提交评论