单元九控制器区域网络

上传人:鲁** 文档编号:568504323 上传时间:2024-07-24 格式:PPT 页数:65 大小:796.50KB
返回 下载 相关 举报
单元九控制器区域网络_第1页
第1页 / 共65页
单元九控制器区域网络_第2页
第2页 / 共65页
单元九控制器区域网络_第3页
第3页 / 共65页
单元九控制器区域网络_第4页
第4页 / 共65页
单元九控制器区域网络_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《单元九控制器区域网络》由会员分享,可在线阅读,更多相关《单元九控制器区域网络(65页珍藏版)》请在金锄头文库上搜索。

1、9 - 9 - 1 1单元九控制器区域网络Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望什么是什么是“CAN” CAN 的意思是什么的意思是什么 ?全称 : 控制区域网络专注与汽车电子工业的发展是一个在汽车的电子系统的数字总线系统使用同步串行数据发送 为什么理解为什么理解 CAN 如此重要如此重要? 在汽车网络系统中是市场领导者是宝马BMW, 大众Volkswagen ,戴姆勒克莱斯勒Daimler-Chrysler , 保时捷 Porsche等著名汽车厂商汽车内部的中枢系统CAN

2、 涵盖一些你不能在其他地方找到的独特的内在特点在汽车工业外的CAN应用也越来越多 为什么一个汽车网络像为什么一个汽车网络像 CAN? 什么是一个汽车内部网络的典型需求什么是一个汽车内部网络的典型需求?低成本越少的空中传输,越高的性能高质量的量产 高可靠性和电磁兼容性 (EMC)自动防止错误的数据发送协议带来的高数据安全性消息长度短, 一个消息只有几个字节开放式系统 什么是什么是客户的需求客户的需求 ?减小污染减少燃料消耗增大引擎的性能高安全保准 , 主动 & 被动系统给汽车带来更多的舒适性需要更多的电子控制单元 (ECU) ! ECU间相当多的数据通信汽车中的电子控制单元汽车中的电子控制单元

3、一部汽车中微控制器的数量一部汽车中微控制器的数量 : 中断控制中断控制 ABS ( 1 + 4)无键登录系统无键登录系统(1) 主动轮驱动控制主动轮驱动控制引擎控制引擎控制 (2)安全气囊传感器安全气囊传感器(6+)座位占有传感器座位占有传感器(4)自动变速箱自动变速箱(1)电子刹车电子刹车(1) 诊断计算机诊断计算机(1)驾驶员显示单元驾驶员显示单元 (1)空调系统空调系统 (1) 自动导航控制自动导航控制 (1)收音机收音机/CD唱机唱机(2)碰撞警告雷达碰撞警告雷达 (2)雨雨/冰冰/雪传感器系统雪传感器系统 (1 each)动力驱动控制动力驱动控制 (4)active damping

4、system (4)驾驶员信息系统驾驶员信息系统 (1)GPS 导航系统导航系统 (3)CAN的特点的特点 -由由 Robert Bosch GmbH, 斯斯图加特加特 (Stuttgart) 在在 1987年提出年提出-得到大部分半导体厂商的许可得到大部分半导体厂商的许可 -同时包含在大多数的控制器家族中同时包含在大多数的控制器家族中-当今最流行的汽车应用系统穿行总线当今最流行的汽车应用系统穿行总线-竞争者竞争者 : VAN ( France) , J1850 ( USA) and PALMNET ( Japan)-在自动控制系统中的应用广泛在自动控制系统中的应用广泛 ( 低级现场总线低级现

5、场总线)特点特点 :多主机总线访问多主机总线访问可避免冲突的随即访问可避免冲突的随即访问消息长度短消息长度短 , 每个消息最多每个消息最多8个字节个字节数据传输速率微数据传输速率微 100KBPS 1MBPS短的总线长度短的总线长度 , 由数据传输速率决定由数据传输速率决定自同步位译码技术自同步位译码技术优化的电磁兼容性行为优化的电磁兼容性行为 EMC-behaviourbuild in fault tolerance错误公差错误公差屋里传送层屋里传送层 : RS485, ISO-high-speed(微分电压微分电压), ISO-low-speed (单电压单电压), 光纤光纤, galva

6、nic isolatedCAN的执行的执行/分类分类 The Implementation of CAN in Silicon 别混淆别混淆 !CAN的执行在所有的通讯中都是同样的的执行在所有的通讯中都是同样的.但是但是,有两种主要的硬有两种主要的硬件执行和另外两种版本的数据格式件执行和另外两种版本的数据格式 :BASIC-CAN and FULL-CAN -MCU-核核 和和 CAN之间是闭环之间是闭环-只有一个发送缓冲器只有一个发送缓冲器-只有两个接收缓冲器只有两个接收缓冲器-对进入的消息只有一个过滤器对进入的消息只有一个过滤器-需要软件程序来选择进入的消息需要软件程序来选择进入的消息-提

7、供消息服务器提供消息服务器-对进入消息的广泛允许过滤对进入消息的广泛允许过滤-用户可配置的邮箱用户可配置的邮箱 -邮箱存储器区域邮箱存储器区域, 大小有制造商确定大小有制造商确定-高级的错误识别高级的错误识别 CAN的数据格式的数据格式 CAN-Version 2.0A消息含有消息含有11位标识符位标识符CAN-Version 2.0B 消息含有消息含有29位标识符位标识符= 合适的配置后合适的配置后, 每种执行每种执行( BASIC or FULL)都可以处理都可以处理两种标准的和扩展的数据格式两种标准的和扩展的数据格式CAN 数据帧数据帧 (cont.) DATA-Frame CAN 2.

8、0A ( 11-bit-identifier )DATA-Frame CAN 2.0B ( 29-bit-identifier )CAN 数据帧数据帧 每个数据帧包含四段每个数据帧包含四段 :(1) 仲裁域仲裁域:指示消息的优先级指示消息的优先级消息的逻辑地址消息的逻辑地址 (标识符标识符 )标准帧标准帧 , CAN 2.0A : 11 bit-identifier 扩展帧扩展帧 ( CAN 2.0B ) : 29 bit-identifier(2) 数据域数据域 :最多最多8字节的消息字节的消息 , 也允许也允许0字节的消息字节的消息(3) 循环冗余码校验域循环冗余码校验域(CRC):循环冗

9、余码校验循环冗余码校验; 含有由含有由CRC多项式产生的多项式产生的checksum(4) 帧结束域帧结束域:包含响应,错误信息,消息的结束包含响应,错误信息,消息的结束 contains acknowledgement , error-messages, end of messageCAN 数据帧数据帧 (cont.) start bit(1 bit - dominant ): 消息开始的标志消息开始的标志; 在空闲时间下降沿后同步所有发送器在空闲时间下降沿后同步所有发送器identifier (11 bit) : 标志消息的名称和优先级标志消息的名称和优先级 ;值越小,优先级越高值越小,优

10、先级越高RTR (1 bit) : remote transmission request 远程传输要求远程传输要求 ; if RTR=1 ( 逆行的逆行的) 标标识该帧无合法数据识该帧无合法数据 这是接收器消息发送的一个请求这是接收器消息发送的一个请求 IDE (1 bit) : Identifier Extension标识符扩展标识符扩展 ; if IDE=1 则扩展则扩展 CAN-帧帧r0 (1 bit) : 保留保留CDL(4 bit) : 数据长度代码数据长度代码, 不允许数据长度位不允许数据长度位9 15!data(0.8 byte ) : 消息的数据消息的数据CRC(15 bit

11、 ) : cyclic redundancy code循环冗员码循环冗员码 ; 只检测错误只检测错误, 无校正无校正 ; 汉明距汉明距为为 6 (最多最多6为错误为错误 )ACK (2 bit) : acknowledge 响应位响应位 ; 每个收听者每个收听者接受到不含错误的消息接受到不含错误的消息( 包括包括 CRC !)后都必须在这个时间空档发送一个响应位后都必须在这个时间空档发送一个响应位!EOF (7 bit = 1 , 逆行的逆行的 ) : end of frame 帧的结束帧的结束 ; intentional violation of the bit-stuff-rule ; n

12、ormally after five recessive bits one stuff-bit follows automaticallyIFS( 3 bit = 1 recessive ) : inter frame space ; time space to copy a received message from bus-handler into bufferExtended Frame only :SRR(1 bit = recessive) : substitute remote request远程传输请求替代远程传输请求替代 ; 代替标准帧代替标准帧的的 RTR位位r1(1 bit

13、 ): 保留保留CAN在汽车中的分类在汽车中的分类 有四种在使用的有四种在使用的CAN :Class A:底盘电子,如后视镜调整,灯光控制底盘电子,如后视镜调整,灯光控制.10 KBPS ; 1数据传输线数据传输线1 data transmission line , chassis used for groundClass B: 数据分配数据分配, e.g. 中央驱动器显示中央驱动器显示 driver-display; 40 KBPSClass C:控制环间和控制环内部的实时信息交换控制环间和控制环内部的实时信息交换e.g. 引擎控制引擎控制(点火,喷射点火,喷射),刹车系统,刹车系统(ABS

14、,ASR),动力驱动控制,阻尼系统,操动力驱动控制,阻尼系统,操控系统控系统; 1 MBPSClass D:大量数据网络大量数据网络 ( 10KB/frame) , e.g. 收音机收音机,电话,导航系统,电话,导航系统CAN 的标准化的标准化 CAN 是一个开放式系统是一个开放式系统The European ISO 已起草相应标准已起草相应标准CAN 标准遵循标准遵循 ISO-OSI标准的标准的“七层模型七层模型”作为开放系统作为开放系统的互相连络的互相连络在汽车通讯网络中只有在汽车通讯网络中只有1,2和第和第7层被用到层被用到第第7层不是标准的层不是标准的ISO-标准标准 :CAN : I

15、SO 11519 - 2 :layer 2 , layer 1 (top)CAN : ISO 11898 : layer 1 (bottom)VAN : ISO 11519 - 3 : layer 2 , layer 1J1850 : ISO 11519 - 4 : layer 2 , layer 1ISO 参考模型参考模型开放系统的互相连络开放系统的互相连络开放系统的互相连络开放系统的互相连络 (OSI):(OSI):Layer 1Layer 1 : : 传输线的接口传输线的接口传输线的接口传输线的接口differential two-wire-line, 双绞线双绞线twisted pai

16、r with/without shieldIC作为集成收发器作为集成收发器可选光纤可选光纤Optional fibre optical lines ( passive coupled star, carbon )可选译码可选译码Optional Coding : PWM, NRZ, Manchester Code Layer 2 :Layer 2 : 数据连接层数据连接层数据连接层数据连接层消息格式和传输协议消息格式和传输协议CSMA/CA 访问协议访问协议Layer 7 :Layer 7 : 应用层应用层应用层应用层 少数不同的标准作为工业应用,无作为少数不同的标准作为工业应用,无作为汽车应

17、用的标准汽车应用的标准但是必须具有通讯,网络管理和实时操但是必须具有通讯,网络管理和实时操作操作系统的接口作操作系统的接口but a must : interfaces for communication, network management and real-time operating systemsCAN Layer 71. CAN 1. CAN 应用层应用层应用层应用层 (CAL): (CAL): 欧洲欧洲 CAN 用户组用户组 ”自动控制中的自动控制中的CAN (CiA)”有菲利普医疗系统有菲利普医疗系统(Philips Medical Systems)在在1993年发起年发起Ci

18、A DS-201 to DS-207标准化的通讯目标,服务和协议标准化的通讯目标,服务和协议 (CAN-based Message Specification)动态标识符附属的服务和协议动态标识符附属的服务和协议Services and protocols for dynamic attachment of identifiers (DBT)为初始化,配置和获得网络的服务和协议为初始化,配置和获得网络的服务和协议Services and protocols for initialise, configure and obtain the net (NMT)第第1,2层的变参设置的服务和协议层的

19、变参设置的服务和协议Services and protocols for parametric set-up of layer 2 &1 (LMT)自动控制,医疗,运输工业自动控制,医疗,运输工业Automation, medicine, traffic-industry2. CAN 2. CAN 王国王国王国王国 瑞典瑞典 , Kvaser ; 工具箱工具箱”模块为网络服务,而不是网络为模块服务模块为网络服务,而不是网络为模块服务 交通工具交通工具 ; 工业控制工业控制, 水力学水力学3. OSEK/VDX3. OSEK/VDX欧洲汽车工业,厂商标准欧洲汽车工业,厂商标准包括标准化实时操作系

20、统的服务包括标准化实时操作系统的服务CAN Layer 7(cont.)4. CANopen : 4. CANopen : European Community funded project “ESPRIT” 1995 : CANopen profile :CiA DS-3011996 : CANopen device profile for I/O : CiA DS-4011997 : CANopen drive profileindustrial control , numeric control in Europe5. DeviceNet :5. DeviceNet :Allen-Bra

21、dley, now OVDA-groupdevice profiles for drives, sensors and revolversmaster-slave communication as well as peer to peerindustrial control , mostly USA6. Smart Distributed Systems (SDS)6. Smart Distributed Systems (SDS)Honeywell , device profilesonly 4 communication functions , less hardware resource

22、sindustrial control , PC-based controlUS-food industryMotorola 68HC05 with SDS on silicon available now7. other profile systems7. other profile systems J1939 J1939 US truck and bus industry LBS LBS Agricultural bus system, Germany, DIN) M3SM3S : European manufacturers of wheelchairs 总线访问过程总线访问过程以太网以

23、太网以太网以太网 : CSMA / CD: CSMA / CDCSMA /CD:Carrier SenseMultipleAccess withCollision冲突冲突 Detection检测检测Note : 这不是 CAN 应用的过程!为什么?CAN Access Procedure: CSMA/CACSMA/ CA = Carrier Sense Multiple Access with Collision Avoidance -非破坏位宽仲裁的访问控制非破坏位宽仲裁的访问控制access-control with non destructive bit-wide arbitration

24、-如果有冲突,优胜者取得总如果有冲突,优胜者取得总线线-高优先级的消息不被延迟高优先级的消息不被延迟!-real-time capability for high prioritised messages-标识符越低,优先级越高标识符越低,优先级越高CSMA/CA (cont.)CSMA / CA =CSMA / CA =发送期间同时接收和比较已发送消息,并进行位宽仲裁发送期间同时接收和比较已发送消息,并进行位宽仲裁bit - wide arbitration during transmission with simultaneous receiving and comparing of th

25、e transmitted message 也就是也就是 :如果在仲裁域有一个冲突,只有低优先级的节点取消发送如果在仲裁域有一个冲突,只有低优先级的节点取消发送.高优先级的节点继续发送消息高优先级的节点继续发送消息.CAN Physical LayersCAN - High - Speed ( ISO 11898 ) :CAN - High - Speed ( ISO 11898 ) :CAN 高速节点高速节点含片上含片上CAN 模块的模块的DSPCAN 收发器收发器CAN 总线总线TxdRxdCAN_LCAN_HSN65HVD23XCAN 错误管理错误管理 怎样工作怎样工作怎样工作怎样工作

26、? ? - 大多数的错误应该能够被大多数的错误应该能够被CAN芯片检测并自我校正芯片检测并自我校正- 自动通知其他节点,一个错误已经被看见自动通知其他节点,一个错误已经被看见:错误帧错误帧错误帧错误帧 = 代码规律的蓄意违反代码规律的蓄意违反deliberate violation of code-laws )( 6-bit dominant = 消极错误帧消极错误帧消极错误帧消极错误帧 )( 12-bit dominant = 积极错误帧积极错误帧积极错误帧积极错误帧)- 所有节点必须取消他们收到的最后一个消息所有节点必须取消他们收到的最后一个消息- 有总线管理者自动重发有总线管理者自动重发

27、 CAN 错误识别错误识别 Bit-Error Bit-Error位错误位错误位错误位错误已发送位没有读回同样的数字级别已发送位没有读回同样的数字级别the transmitted bit doesnt read back with the same digital level (除非仲裁和确认空档除非仲裁和确认空档 except arbitration and acknowledge- slot ) Bit-Stuff-Error Bit-Stuff-Error位原料错误位原料错误位原料错误位原料错误多于多于5个连续位读回同样的数字级别个连续位读回同样的数字级别more than 5 con

28、tinuous bits read back with the same digital level ( 排除排除 帧结束帧结束-消息的一部分消息的一部分 ) CRC-Error CRC-Error循环冗员码校验错误循环冗员码校验错误循环冗员码校验错误循环冗员码校验错误收到的收到的CRC和与计算出来的和不匹配和与计算出来的和不匹配 Format-Error Format-Error格式错误格式错误格式错误格式错误违反消息的数据格式违反消息的数据格式Violation of the data-format of the message , e.g.: CRC分隔符不是逆行或违反分隔符不是逆行或违

29、反“帧结束帧结束”域的域的CRC-delimiter is not recessive or violation of the end -of-frame-field Acknowledgement-Error Acknowledgement-Error确认错误确认错误确认错误确认错误发送器在确认空档是位接收到统治位发送器在确认空档是位接收到统治位transmitter receives no dominant bit during the acknowledgement slot, i.e. the message was not received by any node. CAN 错误顺序

30、错误顺序 在某个节点检测到一个错误后,其他的所在某个节点检测到一个错误后,其他的所有节点收到一个特殊帧,错误帧有节点收到一个特殊帧,错误帧: 这是有发送至少这是有发送至少6个统治位引起的对原料个统治位引起的对原料位规则的违反位规则的违反This is the violation of the stuff-bit-rule by transmission of at least 6 dominant bits.错误帧使所有其他的节点识别到总线上的错误帧使所有其他的节点识别到总线上的错误状态错误状态检查到错误检查到错误错误帧将给检测到错误的所有节点发送错误帧将给检测到错误的所有节点发送所有节点收到

31、的最后一个消息将被取消所有节点收到的最后一个消息将被取消内部硬件错误计数器值增加内部硬件错误计数器值增加原始消息将被再次发送原始消息将被再次发送错误管理顺序错误管理顺序错误管理顺序错误管理顺序 : :CAN 错误状态错误状态 * 目的目的: 关闭有缺陷的节点以禁止对关闭有缺陷的节点以禁止对CAN持久的干扰持久的干扰* 三个错误状态三个错误状态 :Error Active积极错误积极错误 : 正常节点,消息会被接收和传送。一旦发生错误则一正常节点,消息会被接收和传送。一旦发生错误则一个积极错误帧将被发送。个积极错误帧将被发送。normal mode, messages will be recei

32、ved and transmitted. In case of error an active error frame will be transmittedError Passive消极错误消极错误 : 在检测到固定数量的错误后,节点达到这个状态。在检测到固定数量的错误后,节点达到这个状态。消息会被接收和发送,一旦发生错误则节点发出一个消极错误帧消息会被接收和发送,一旦发生错误则节点发出一个消极错误帧messages will be received and transmitted, in case of error the node sends a passive error frame.

33、总线关闭总线关闭 :节点和节点和CAN分离分离,接受和发送消息都不被允许,节点也不能发送错接受和发送消息都不被允许,节点也不能发送错误帧。只有复位能够离开这个状态误帧。只有复位能够离开这个状态!CAN 错误计数器错误计数器 有有CAN芯片自动执行发送芯片自动执行发送状态有两个错误计数器管状态有两个错误计数器管: 接收错误计数器接收错误计数器接收错误计数器接收错误计数器 (REC)(REC) 发送错误计数器发送错误计数器发送错误计数器发送错误计数器 (TEC)(TEC)可能的情形可能的情形 :a) 发送器识别到一个错误发送器识别到一个错误: TEC:=TEC + 8b) 接收器识别到一个错误接收

34、器识别到一个错误: REC:=REC + 1c) 接收器在发送一个错误帧之后识别到错误接收器在发送一个错误帧之后识别到错误: REC:=REC + 8d) 如果一个如果一个“积极错误积极错误”节点在错误帧的发送节点在错误帧的发送期间发现一个位原料错误期间发现一个位原料错误if an error active-node finds a bit-stuff-error during transmission of an error frame: TEC:=TEC+ 1e) 成功发送成功发送: TEC:=TEC - 1f) 成功接收成功接收 : REC:=REC - 1状态图状态图状态图状态图 :

35、:C28x CAN 特点特点uu与与与与CAN CAN ( 2.0B)( 2.0B)协议完全兼容协议完全兼容协议完全兼容协议完全兼容uu支持数据速率达到支持数据速率达到支持数据速率达到支持数据速率达到 1 Mbps1 Mbpsuu3232个邮箱,每个邮箱都具有以下特点个邮箱,每个邮箱都具有以下特点个邮箱,每个邮箱都具有以下特点个邮箱,每个邮箱都具有以下特点: :w w可配置为接收或发送可配置为接收或发送可配置为接收或发送可配置为接收或发送w w可用标准或扩展的标志符进行配置可用标准或扩展的标志符进行配置可用标准或扩展的标志符进行配置可用标准或扩展的标志符进行配置w w具有可编程接收过滤屏蔽具有

36、可编程接收过滤屏蔽具有可编程接收过滤屏蔽具有可编程接收过滤屏蔽w w支持数据帧和远程帧支持数据帧和远程帧支持数据帧和远程帧支持数据帧和远程帧w w支持支持支持支持0 08 8个字节的数据个字节的数据个字节的数据个字节的数据w w在接收和发送的消息中使用一个在接收和发送的消息中使用一个在接收和发送的消息中使用一个在接收和发送的消息中使用一个3232位的时间标志位的时间标志位的时间标志位的时间标志w w具有两个中断级别的可编程中断方案具有两个中断级别的可编程中断方案具有两个中断级别的可编程中断方案具有两个中断级别的可编程中断方案w w可编程超时警告可编程超时警告可编程超时警告可编程超时警告uu总线

37、活动的可编程唤醒总线活动的可编程唤醒总线活动的可编程唤醒总线活动的可编程唤醒uu自检模式自检模式自检模式自检模式 CAN 框图框图Memory ManagementUnitCPU Interface,Receive Control UnitTimer Management UniteCAN Memory(512 Bytes)Register and MessageObject ControlMailbox RAM(512 Bytes)32-Message Mailboxof 4 x 32-Bit Words3232Receive BufferTransmit BufferControl Buf

38、ferStatus BufferSN65HVD23x3.3-V CAN Transceiver.CAN Bus3232DataAddresseCAN0INTeCAN1INTCAN 存储器存储器Data SpaceCAN0x00 60000x00 00000x 3F FFFF0x00 61FF6080604061FFControlandStatusRegisterMessageObjectTimeStampsMailbox 0Mailbox 1Mailbox 31LocalAcceptanceMasksMessageObjectTimeOut60C061086100CAN 控制和状态寄存器控制和

39、状态寄存器 6000CANMECANMD60026004CANTRSCANTRR60066008CANTACANAA600A600CCANRMPCANRML600E6010CANRFPCANGAM60126014CANMCCANBTC60166018CANESCANTEC601A601CCANREC6020CANGIMCANGIF160226024CANMIMCANMIL60266028CANOPCCANTIOC602A602CCANRIOC602ECANLNTCANTOC60306032CANTOSCANGIF0601E3103106034reservedreserved60366038re

40、servedreserved603A603Creservedreserved603ECAN 邮箱使能寄存器邮箱使能寄存器 (CANME) 0x006000151631CANME15:0CANME31:160邮箱使能位邮箱使能位0 = 对应的邮箱被禁止对应的邮箱被禁止1 = 对应的邮箱使能对应的邮箱使能.在对任何标识符区域进行写操作之前,必须禁止响相应的邮箱在对任何标识符区域进行写操作之前,必须禁止响相应的邮箱.CAN 邮箱指向寄存器邮箱指向寄存器 (CANMD) 0x006002151631CANMD15:0CANMD31:160邮箱数据指向位邮箱数据指向位0 = 对应邮箱被定义为发送邮箱对应

41、邮箱被定义为发送邮箱.1 = 对应邮箱被定义位接收邮箱对应邮箱被定义位接收邮箱. CAN 发送请求置位寄存器发送请求置位寄存器 (CANTRS) 0x006004151631CANTRS15:0CANTRS31:160邮箱发送请求设置位邮箱发送请求设置位 (TRS)0 = 无操作,成功发送后此位由无操作,成功发送后此位由CAN模块逻辑自动清零模块逻辑自动清零.1 = 启动相应邮箱的发送启动相应邮箱的发送.由用户软件置位或在远程发送请求时由由用户软件置位或在远程发送请求时由CAN逻辑置位逻辑置位.CAN 发送请求复位寄存器发送请求复位寄存器 (CANTRR) 0x006006151631CANT

42、RR15:0CANTRR31:160邮箱发送复位邮箱发送复位 (TRR)0 = 无操作无操作.1 = 置位置位TRRn 取消一个不是正在被处理的发送请求取消一个不是正在被处理的发送请求. CAN 发送响应寄存器发送响应寄存器 (CANTA) 0x006008151631CANTA15:0CANTA31:160邮箱发送响应位邮箱发送响应位 (TA)0 = 消息没有被发送消息没有被发送.1 = i如果信箱如果信箱n中的消息被成功发送,则该寄存器的比特位被置位中的消息被成功发送,则该寄存器的比特位被置位.Note: 软件写软件写 1 清零清零! CAN 失败响应寄存器失败响应寄存器 (CANAA)

43、0x00600A151631CANAA15:0CANAA31:160邮箱失败响应位邮箱失败响应位 (AA)0 = 发送没有失败发送没有失败.1 = 对应邮箱的消息发送失败对应邮箱的消息发送失败.Note: 软件写软件写 1 清零清零! CAN 接受消息未决寄存器接受消息未决寄存器 (CANRMP) 0x00600C151631CANRMP15:0CANRMP31:160Mailbox Receive Message Pending Bits (RMP)0 = 邮箱不包含消息邮箱不包含消息.1 = 邮箱内包含一个消息邮箱内包含一个消息. Note: 软件写软件写 1 清零清零! CAN 接收消息

44、丢失寄存器接收消息丢失寄存器 (CANRML) 0x00600E151631CANRML15:0CANRML31:160Mailbox Receive Message Lost Bits (RML)0 = 没有丢失消息没有丢失消息.1 = 某邮箱中的一个旧的未被及时读取的消息已被一个新的消息覆盖某邮箱中的一个旧的未被及时读取的消息已被一个新的消息覆盖.Note: 软件写软件写 1 清零清零! CAN 远程帧未决寄存器远程帧未决寄存器 (CANRFP) 0x006010151631CANRFP15:0CANRFP31:160Mailbox Remote Frame Pending Bits (R

45、FP)0 = 没有接收到远程帧没有接收到远程帧.1 = 接收到一个远程帧接收到一个远程帧. Note: 软件写软件写 1 清零清零! CAN 全局接收屏蔽寄存器全局接收屏蔽寄存器 (CANGAM) 0x006012151631CANGAM15:0CANGAM28:160接收屏蔽标识符扩展位接收屏蔽标识符扩展位 (AMI)0 = 存储在邮箱中的标识符扩展位决定哪个消息要被接收,此时不使用过滤器存储在邮箱中的标识符扩展位决定哪个消息要被接收,此时不使用过滤器.1 = 可以接收标准帧和扩展帧。如果是扩展帧,标识符的可以接收标准帧和扩展帧。如果是扩展帧,标识符的29个比特位都要存储到邮箱中,并且全局接

46、收屏蔽个比特位都要存储到邮箱中,并且全局接收屏蔽 寄存器的所有寄存器的所有29位都被用于过滤位都被用于过滤.如果是标准帧,则只使用标识符的首个如果是标准帧,则只使用标识符的首个11位比特位比特(28-18) Note: 此时,接收邮箱的此时,接收邮箱的IDE位值为位值为(dont care),并且会被所发送消息的,并且会被所发送消息的IDE位所覆盖位所覆盖.AMIreserved30-2928Note : 此寄存器只用于此寄存器只用于SCC模式下如果相应邮箱的模式下如果相应邮箱的AME(MID.30)位被置位,则全局接收屏蔽用于位被置位,则全局接收屏蔽用于615号邮箱号邮箱.全局接收屏蔽位全局

47、接收屏蔽位(GAM)0 = 所接收消息的标识符位的值必须与所接收消息的标识符位的值必须与MID寄存器的响应的标识符位相匹配寄存器的响应的标识符位相匹配. 1 = 这些比特位允许屏蔽输入消息的任何标识符位,对接收的消息标识符的相应位允许是这些比特位允许屏蔽输入消息的任何标识符位,对接收的消息标识符的相应位允许是0或或1(dont care).Note: 软件写软件写1清零清零! CAN 主控制寄存器主控制寄存器 (CANMC) 0x006014151631reserved0MBCCMBNR邮箱时间标志计数器清邮箱时间标志计数器清0位位 (MBCC)0 = 无操作无操作1 = 在在16号邮箱成功发

48、送或接收以后,时间标志计数器复位到号邮箱成功发送或接收以后,时间标志计数器复位到0. ABOCDRWUBADBOPDRCCRSCBTCCSRESSTM4141312111098765时间标志计数器时间标志计数器MSB清零位清零位 (TCC)0 = no operation 1 = 时间标志计数器时间标志计数器MSB复位到复位到 0SCC 兼容位兼容位 (SCB)0 = SCC 模式,只能使用模式,只能使用 015 号邮箱号邮箱1 = eCAN (HECC) 模式模式变换配置请求位变换配置请求位 (CCR)0 = 请求通常的操作请求通常的操作 1 = 请求对请求对SCC的配置寄存器的配置寄存器C

49、ANBTC和接收屏蔽寄存器的和接收屏蔽寄存器的CANGAM,LAM0,LAM3 进行写操作进行写操作. 置位该位后,置位该位后,CPU必须等待,直到寄存器必须等待,直到寄存器CANES的的CCE标志位位标志位位 1 为止。为止。 NOTE: 仅在仅在SCC模式模式 ! CAN 主控制寄存器主控制寄存器 (CANMC) 0x006014 (cont.)150MBCCMBNRABOCDRWUBADBOPDRCCRSCBTCCSRESSTM4141312111098765数字字节顺序数字字节顺序 (DBO) 这一位选择消息数据区域的字节顺序这一位选择消息数据区域的字节顺序MDH31:0 and MD

50、L31:00 = MDH31:0 : Byte 4,5,6,7 ; MDL31:0 : Byte 0,1,2,3 1 = MDH31:0 : Byte 7,6,5,4 ; MDL31:0 : Byte 3,2,1,0 总线唤醒位总线唤醒位 (WUBA)0 = 仅当对仅当对PDR写入写入 0 后,后, 模块才离开功率下降模式模块才离开功率下降模式1 = 在检测到任何总线活动后,在检测到任何总线活动后, 模块离开功率下降模式模块离开功率下降模式 改变数据区域请求位改变数据区域请求位 (CDR)0 = 普通操作普通操作 1 = 软件请求访问软件请求访问 2MBNR中的数据区域中的数据区域”. NOT

51、E: 访问完成后必须软件清零访问完成后必须软件清零. 自动开启总线自动开启总线 (ABO)0 = 总线关闭总线关闭 状态持续状态持续. 1 = 总线关闭后,当接收到总线关闭后,当接收到12811个逆行位后,个逆行位后, 模块自动返回到总线开启状态模块自动返回到总线开启状态. 自检模式自检模式 (STM)0 = 模块处于普通模式模块处于普通模式 1 = 模块处于自检模式模块处于自检模式 软件复位软件复位 (SRES)0 = 无效无效 1 = CAN 模块复位模块复位邮箱号邮箱号 (MBNR)CPU请求对其数据区进行请求对其数据区进行写操作的邮箱号写操作的邮箱号功率下降模式功率下降模式 (PDR)

52、0 = 处于普通操作模式处于普通操作模式1 = 请求局部功率下降模式请求局部功率下降模式.NOTE: 当从低功耗模式被唤醒时,当从低功耗模式被唤醒时,这一位由这一位由eCAN模块自动清零模块自动清零! CAN 位定时配置寄存器位定时配置寄存器uuCAN CAN 协议规范将名义位定时分割为四段协议规范将名义位定时分割为四段协议规范将名义位定时分割为四段协议规范将名义位定时分割为四段: :uuSYNC_SEGSYNC_SEG uu同步模式使用同步模式使用同步模式使用同步模式使用uu长度长度长度长度 : : 总是总是总是总是 1 1 个时间量个时间量个时间量个时间量 (TQ)(TQ)uuPROP_S

53、EGPROP_SEGuu网络中物理延迟时间的补偿时间网络中物理延迟时间的补偿时间网络中物理延迟时间的补偿时间网络中物理延迟时间的补偿时间uu总线上信号传播时间总和的两倍,输入比较延迟和输出驱动延迟总线上信号传播时间总和的两倍,输入比较延迟和输出驱动延迟总线上信号传播时间总和的两倍,输入比较延迟和输出驱动延迟总线上信号传播时间总和的两倍,输入比较延迟和输出驱动延迟. .uu可编程可编程可编程可编程 1 18 8 个时间量个时间量个时间量个时间量(TQ)(TQ)uuPHASE_SEG1PHASE_SEG1uu正向边沿相移的补偿正向边沿相移的补偿正向边沿相移的补偿正向边沿相移的补偿Compensat

54、ion for positive edge phase shiftCompensation for positive edge phase shiftuu 可编程可编程可编程可编程 1 18 8 个个个个TQTQuuPHASE_SEG2PHASE_SEG2uu负向边沿相移的补偿负向边沿相移的补偿负向边沿相移的补偿负向边沿相移的补偿Compensation time for negative edge phase shiftCompensation time for negative edge phase shiftuu可编程可编程可编程可编程 2 28 8 个个个个TQTQCAN 位定时配置位

55、定时配置uutseg1 : PROP_SEG + PHASE_SEG1tseg1 : PROP_SEG + PHASE_SEG1uutseg2 : PHASE_SEG2tseg2 : PHASE_SEG2uuTQTQ : SYNCSEG : SYNCSEGuuCAN CAN 名义位定时名义位定时名义位定时名义位定时 = TQ + tseg1 + tseg2= TQ + tseg1 + tseg2CANNominalBitTimeSYNCSEGsjwsjwtseg2tseg1TQSamplePointTransmitPointCAN 位定时配置位定时配置uu根据根据根据根据CANCAN标准,以下

56、位定时规则必须履行标准,以下位定时规则必须履行标准,以下位定时规则必须履行标准,以下位定时规则必须履行: :uutseg1 tseg1 tseg2tseg2uu3/BRP 3/BRP tseg1 tseg1 16 TQ 16 TQuu3/BRP 3/BRP tseg2 tseg2 8 TQ 8 TQuu 1 TQ 1 TQ sjw sjw MIN 4*TQ , tseg2MIN 4*TQ , tseg2uuBRP BRP 5 ( 5 ( 如果使用了如果使用了如果使用了如果使用了3 3个采样时间个采样时间个采样时间个采样时间) )CAN 位定时控制寄存器位定时控制寄存器 (CANBTC) 0x0

57、06016波特率预定标波特率预定标 (BRP)定义时间量定义时间量 (TQ): 31reservedBRP.2BRP.3BRP.4BRP.5BRP.0BRP.116BRP.7 BRP.62324Note: 外部时钟为 30MHz , PLL * 5,则: SYSCLK = 150MHz 同步跳跃宽度同步跳跃宽度 (SJW)CAN 位定时配置寄存器位定时配置寄存器 (CANBTC) 0x006016时间段时间段 1( tseg1) 15reservedTSEG1SJWTSEG20SAMSBG7823691011时间段时间段 2( tseg2) 采样点设置采样点设置 (SAM)0 = CAN模块仅

58、在采样点处采样一次模块仅在采样点处采样一次 1 = CAN模块采样三个值并进行多数判决模块采样三个值并进行多数判决同步边沿选择同步边沿选择 (SBG)0 = 重新同步在下降沿重新同步在下降沿1 = 重新同步在上升沿和下降沿重新同步在上升沿和下降沿CAN Bit-Timing ExamplesuuSYSCLK = 150 MHzSYSCLK = 150 MHzuu采样点设置在位定时的采样点设置在位定时的采样点设置在位定时的采样点设置在位定时的 80% :80% :uu速率为速率为速率为速率为 50 KBPS: 50 KBPS: TQ = (199+1)/150 MHz = 1.334 nsTQ

59、= (199+1)/150 MHz = 1.334 nstseg1 = 1.334 ns ( 10 + 1) = 14.674 ns tseg1 = 1.334 ns ( 10 + 1) = 14.674 ns t tCANCAN = 20.010 ns = 20.010 ns tseg2 = 1.334 ns ( 2 + 1) = 4.002 nstseg2 = 1.334 ns ( 2 + 1) = 4.002 nsCAN-CAN-BaudrateBaudrateBRPBRPTSEG1TSEG1TSEG2TSEG21 MBPS1 MBPS9 910102 2500 KBPS500 KBPS

60、191910102 2250 KBPS250 KBPS393910102 2125 KBPS125 KBPS797910102 2100 KBPS100 KBPS999910102 250 KBPS50 KBPS19919910102 2CAN 错误和状态寄存器错误和状态寄存器 (CANES) 0x006018警告状态警告状态 (EW)0 = 两个错误计数器的值均小于两个错误计数器的值均小于 961 = 其中一个错误计数器达到了报警值其中一个错误计数器达到了报警值 96被动错误状态被动错误状态 (EP)0 = CAN 处于主动错误模式处于主动错误模式1 = CAN 处于主动错误模式处于主动错误

61、模式31reservedBOACKESECRCEEWEP16BESA12324171819202122FE总线关闭状态总线关闭状态 (BO)0 = 正常操作正常操作1 = 当发送错误计数器值当发送错误计数器值CANTEC达到达到256的限制时,模块处于关闭状态的限制时,模块处于关闭状态.填充错误填充错误 (SE)0 = 正常操作正常操作1 = 发生了一个填充错误发生了一个填充错误. 响应错误响应错误 (ACKE)0 = 正常操作正常操作1 = CAN 模块没有接收到应答模块没有接收到应答 ACK.CRC 错误错误 (CRCE)0 = 正常操作正常操作1 = 接收到一个接收到一个CRC错误错误.

62、 在主错误处停止在主错误处停止 (SA1)0 = CAN 模块检测到一个逆行比特位模块检测到一个逆行比特位1 = CAN 没有检测到逆行的比特位没有检测到逆行的比特位.位错误标志位错误标志 (BE)0 = 未检测到位错误未检测到位错误1 = 接收到的位与发送的位不匹配接收到的位与发送的位不匹配 (在仲裁区域外在仲裁区域外). 格式错误标志格式错误标志 (FE)0 = 没有检测到格式错误,没有检测到格式错误,CAN模块可以正确地发送和接收模块可以正确地发送和接收1 = 在总线上发生一个格式错误在总线上发生一个格式错误. CAN 错误和状态寄存器错误和状态寄存器 (CANES) 0x006018发

63、送模式位发送模式位 (TM)0 = CAN 模块位发送消息模块位发送消息.1 = CAN 正在发送一个消息正在发送一个消息.接收模式位接收模式位 (RM)0 = CAN 模块未接收消息模块未接收消息.1 = CAN 正在接收一个消息正在接收一个消息15reservedRes.PDACCESMATMRM0123456功率下降模式确认位功率下降模式确认位 (PDA)0 = 正常模式正常模式1 = CAN 模块进入了功率下降模式模块进入了功率下降模式.改变配置使能位改变配置使能位 (CCE)0 = 拒绝拒绝CPU对配置寄存器进行写操作对配置寄存器进行写操作.1 = CPU 对配置寄存器进行了写操作对

64、配置寄存器进行了写操作.暂停模式应答位暂停模式应答位 (SMA)0 = 正常操作正常操作1 = CAN 模块已进入暂停模式模块已进入暂停模式.Note: 当当DSP不时运行模式时,不时运行模式时,暂停模式由调试器激活暂停模式由调试器激活. CAN 发送错误寄存器发送错误寄存器 (CANTEC) 0x00601ACAN 接收错误寄存器接收错误寄存器 (CANREC) 0x00601C151631reserved0发送错误计数器发送错误计数器 (TEC)TEC值根据值根据 CAN 协议规范增减协议规范增减reservedTEC151631reserved0接收错误计数器接收错误计数器 (REC)R

65、EC 根据根据CAN 协议规范增减协议规范增减reservedRECCAN 全局中断屏蔽寄存器全局中断屏蔽寄存器 (CANGIM) 0x006020全局中断级别全局中断级别 (GIL)中断中断 TCOF,WDIF,WUIF,BOIF and WLIF的全局中断标准的全局中断标准0 = 映射到映射到ECAN0INT中断线上中断线上 HECC_INT_REQ0 line GIF01 = 映射到映射到ECAN1INT中断线上中断线上 HECC_INT_REQ1 line GIF1中断屏蔽位中断屏蔽位:MTOM = 邮箱超时中断屏蔽邮箱超时中断屏蔽TCOM = 时间标志计数器溢出中断屏蔽时间标志计数器

66、溢出中断屏蔽AAM= 响应失败中断屏蔽响应失败中断屏蔽WDIM= “写拒绝写拒绝”中断屏蔽中断屏蔽WUIM= 唤醒中断屏蔽唤醒中断屏蔽RMLIM= “接收消息丢失接收消息丢失”中断屏蔽中断屏蔽BOIM= 总线关闭中断屏蔽总线关闭中断屏蔽EPIM= 被动错误中断屏蔽被动错误中断屏蔽WLIM= 警告级别中断屏蔽警告级别中断屏蔽Interrupt Mask Bits 0 = 中断禁止中断禁止1 = 中断使能中断使能151631reserved0Res.reservedGILWLIMEPIMBOIMRMLIMWUIMWDIMAAMI0ENI1EN1141312111098732TCOMMTOM1718

67、中断中断 1 使能使能 (I1EN)0 = HECC_INT_REQ1中断线禁止中断线禁止1 = HECC_INT_REQ1中断线使能中断线使能中断中断 2 使能使能 (I0EN)0 = HECC_INT_REQ0中断线禁止中断线禁止1 = HECC_INT_REQ0中断线使能中断线使能CAN 全局中断标志寄存器全局中断标志寄存器0 (CANGIF0) 0x00601E邮箱中断矢量位邮箱中断矢量位 (MIV0)这个矢量指出了置位全局邮箱中断标志的邮箱号这个矢量指出了置位全局邮箱中断标志的邮箱号 (GMIF0)Interrupt Flag Bits:MTOF0 = 邮箱超时标志位邮箱超时标志位T

68、COF0 = 时间标志计数器溢出标志位时间标志计数器溢出标志位GMIF0= 全局邮箱中断标志位全局邮箱中断标志位AAIF0= 响应失败中断标志位响应失败中断标志位WDIF0= “写拒绝写拒绝”中断标志位中断标志位WUIF0= 唤醒中断标志位唤醒中断标志位RMLIF0= “接收消息丢失接收消息丢失”中断标志位中断标志位BOIF0= 总线关闭中断标志位总线关闭中断标志位EPIF0= 被动错误中断标志位被动错误中断标志位WLIF0= 警告级别中断标志位警告级别中断标志位Interrupt Flag Bits 0 = 无中断产生无中断产生1 = 中断产生中断产生151631reserved0GMIF0

69、Res.MIV0.2WLIF0EPIF0BOIF0RMLIF0WUIF0WDIF0AAIF0MIV0.0MIV0.111413121110987-532TCOF0MTOF01718MIV0.4 MIV0.34CAN 全局中断标志寄存器全局中断标志寄存器 1 (CANGIF1) 0x006022邮箱中断矢量位邮箱中断矢量位 (MIV1)这个矢量指出了置位全局邮箱中断标志的邮箱号这个矢量指出了置位全局邮箱中断标志的邮箱号 (GMIF1)Interrupt Flag Bits:MTOF1 = 邮箱超时标志位邮箱超时标志位TCOF1 = 时间标志计数器溢出标志位时间标志计数器溢出标志位GMIF1= 全

70、局邮箱中断标志位全局邮箱中断标志位AAIF1= 响应失败中断标志位响应失败中断标志位WDIF1= “写拒绝写拒绝”中断标志位中断标志位WUIF1= 唤醒中断标志位唤醒中断标志位RMLIF1 = “接收消息丢失接收消息丢失”中断标志位中断标志位BOIF1= 总线关闭中断标志位总线关闭中断标志位EPIF1= 被动错误中断标志位被动错误中断标志位WLIF1= 警告级别中断标志位警告级别中断标志位Interrupt Flag Bits 0 = 无中断产生无中断产生1 = 中断产生中断产生151631reserved0GMIF1Res.MIV1.2WLIF1EPIF1BOIF1RMLIF1WUIF1WD

71、IF1AAIF1MIV1.0MIV1.111413121110987-532TCOF1MTOF11718MIV1.4 MIV1.34CAN 邮箱中断屏蔽寄存器邮箱中断屏蔽寄存器 (CANMIM) 0x006024151631CANMIM15:0CANMIM31:160邮箱中断屏蔽位邮箱中断屏蔽位 (MIM)0 = 禁止邮箱中断禁止邮箱中断.1 = 使能邮箱中断使能邮箱中断. 当成功发送一个消息(对于发送邮箱)或当成功发送一个消息(对于发送邮箱)或 成功接收一个消息而没有发生任何错误(对于接收邮箱)时,成功接收一个消息而没有发生任何错误(对于接收邮箱)时, 会产生一个中断会产生一个中断. CAN

72、 邮箱中断级别寄存器邮箱中断级别寄存器 (CANMIL) 0x006026151631CANMIL15:0CANMIL31:160邮箱中断级别位邮箱中断级别位 (MIL)0 = 在中断线在中断线0( HECC_INT_REQ0)上产生邮箱中断上产生邮箱中断.1 = 在中断线在中断线1( HECC_INT_REQ1 上产生邮箱中断上产生邮箱中断.CAN 覆盖保护控制寄存器覆盖保护控制寄存器 (CANOPC) 0x006028151631CANOPC15:0CANOPC31:160覆盖保护控制位覆盖保护控制位 (MIM)0 = 邮箱中的旧消息可能被新的消息覆盖邮箱中的旧消息可能被新的消息覆盖. 这

73、由接收消息丢失位这由接收消息丢失位RMLn通知通知1 = 邮箱中的旧消息被保护起来不被新的消息覆盖邮箱中的旧消息被保护起来不被新的消息覆盖. 因此,后面的邮箱将会被作因此,后面的邮箱将会被作ID匹配检查,如果没有找到其它的邮箱,新消息将丢失匹配检查,如果没有找到其它的邮箱,新消息将丢失. CAN I/O 控制寄存器控制寄存器 (CANTIOC) 0x00602ATXFUNC0 = CANTX 是常规是常规 I/O 引脚引脚.1 = CANTX 引脚用于引脚用于 CAN 发送功能发送功能.151631reservedreserved0TXINTXFUNCTXDIRTXOUT213TXDIR0 =

74、 CANTX 作为输入引脚如果被配置为常规作为输入引脚如果被配置为常规I/O引脚引脚.1 = CANTX 作为输出引脚如果被配置为常规作为输出引脚如果被配置为常规I/O引脚引脚.TXOUTCANTX引脚的输出值,如果配置为常规输出引脚引脚的输出值,如果配置为常规输出引脚TXIN0 = 引脚引脚CANTX上为逻辑上为逻辑0.1 = 引脚引脚CANTX上为逻辑上为逻辑1.CAN I/O 控制寄存器控制寄存器 (CANRIOC) 0x00602CRXFUNC0 = CANRX 引脚是常规引脚引脚是常规引脚.1 = CANRX 作为作为 CAN 接收功能接收功能151631reservedreserv

75、ed0RXINRXFUNCRXDIRRXOUT213RXDIR0 = CANRX作为输入引脚如果被配置为常规作为输入引脚如果被配置为常规I/O引脚引脚.1 = CANRX作为输出引脚如果被配置为常规作为输出引脚如果被配置为常规I/O引脚引脚.RXOUTCANRX引脚的输出值,如果配置为常规输出引脚引脚的输出值,如果配置为常规输出引脚RXIN0 = 引脚引脚CANRX上为逻辑上为逻辑0.1 = 引脚引脚CANRX上为逻辑上为逻辑1.CAN 局域网络定时寄存器局域网络定时寄存器 (CANLNT) 0x00602E151631LNT15:0LNT31:160uuLNT LNT 是一个自由运行的计数器

76、,时钟由是一个自由运行的计数器,时钟由是一个自由运行的计数器,时钟由是一个自由运行的计数器,时钟由CANCAN模块的位时钟模块的位时钟模块的位时钟模块的位时钟提供提供提供提供. .uuLNT LNT 在一个接收的消息被保存或消息被发送后被写入到对在一个接收的消息被保存或消息被发送后被写入到对在一个接收的消息被保存或消息被发送后被写入到对在一个接收的消息被保存或消息被发送后被写入到对应的邮箱时间标志寄存器应的邮箱时间标志寄存器应的邮箱时间标志寄存器应的邮箱时间标志寄存器 (MOTS ). (MOTS ).uuLNT LNT 在在在在1616号邮箱发送或接收到一个消息后清零,因此,号邮箱发送或接收

77、到一个消息后清零,因此,号邮箱发送或接收到一个消息后清零,因此,号邮箱发送或接收到一个消息后清零,因此,1616号邮箱可以作为全局网络定时同步控制号邮箱可以作为全局网络定时同步控制号邮箱可以作为全局网络定时同步控制号邮箱可以作为全局网络定时同步控制. .CAN 超时控制寄存器超时控制寄存器 (CANTOC) 0x00603031031TOS31:0TOC31:00超时控制位超时控制位 (TOC)0 = 邮箱邮箱 n的超时功能被禁止的超时功能被禁止.1 = 邮箱邮箱 n的超时功能被使能的超时功能被使能,如果对应的如果对应的MOTO寄存器大于寄存器大于LNT则产生一个超时事件则产生一个超时事件CA

78、N 超时状态寄存器超时状态寄存器 (CANTOS) 0x006032超时状态标志位超时状态标志位 (TOS)0 = 邮箱邮箱 n 无超时事件无超时事件.1 = LNT的值大于或等于对应的值大于或等于对应MOTO寄存器的值寄存器的值CAN 局部接收屏蔽寄存器局部接收屏蔽寄存器 0x00 6040 - 0x00 607F0x00 6040 - 0x00 607Freserved15162830-2931LAMn15:0LAMn28:16LAMI00 = 存储在邮箱中的标识符扩展位决定着接收哪一个消息存储在邮箱中的标识符扩展位决定着接收哪一个消息1 = 可以接收标准帧和扩展帧可以接收标准帧和扩展帧.

79、 扩展帧扩展帧: 邮箱中存储所有邮箱中存储所有29位标识符且局部接收屏蔽寄存器位标识符且局部接收屏蔽寄存器LAM中的全部中的全部29位都被用于过滤操作位都被用于过滤操作 标准帧标准帧: 仅使用标识符的第一个仅使用标识符的第一个11位(位( LAM 28-18)LAMn28-0: 输入消息的标识符位屏蔽输入消息的标识符位屏蔽1 = 对接收的标识符的相应位允许时对接收的标识符的相应位允许时 0 或或 1“dont care”.0 = 接收的标识符的比特位值必须与接收的标识符的比特位值必须与MID寄存器中的相应的标识符位相匹配寄存器中的相应的标识符位相匹配 .CAN 消息对象时间标志寄存器消息对象时

80、间标志寄存器 0x00 6080 - 0x00 60BF0x00 6080 - 0x00 60BF151631MOTSn15:0MOTSn31:160一个自由运行的计数器一个自由运行的计数器(CANLNT)被用来指示接收或发送一个消息的时间被用来指示接收或发送一个消息的时间. CANLNT 是一个由是一个由CAN总线位时钟驱动的总线位时钟驱动的32位定时器位定时器.在接收的一个消息被保存或消息被发送后,在接收的一个消息被保存或消息被发送后,CANLNT的内容被写入的内容被写入MOTSn.CAN 消息对象超时寄存器消息对象超时寄存器 0x00 60C0 - 0x00 60FF0x00 60C0

81、- 0x00 60FF151631MOTOn15:0MOTOn31:160一个自由运行的计数器一个自由运行的计数器(CANLNT)被用来指示接收或发送一个消息的时间被用来指示接收或发送一个消息的时间. CANLNT 是一个由是一个由CAN总线位时钟驱动的总线位时钟驱动的32位定时器位定时器.如果如果CANLNT的值大于或等于的值大于或等于MOTOn的值,的值,CANTOS寄存器中合适的位将寄存器中合适的位将被置位被置位假设这个功能在假设这个功能在CANTOS中被允许。中被允许。CAN 邮箱寄存器邮箱寄存器0x00 6100 - 0x00 61FF0x00 6100 - 0x00 61FFAME

82、1516293031IDn15:0IDn28:16IDE0AAM28消息标识符寄存器消息标识符寄存器消息标识符寄存器消息标识符寄存器 (MID) Mailbox n(MID) Mailbox n标识符扩展位标识符扩展位0 = 标准标识符标准标识符 (11 Bits)1 = 扩展标识符扩展标识符 (29 Bits)接收屏蔽使能位接收屏蔽使能位 ( receiver only)0 = 不使能接收屏蔽,为了接收消息,所有的标识符位必须匹配不使能接收屏蔽,为了接收消息,所有的标识符位必须匹配1 = 使能相应的接收屏蔽使能相应的接收屏蔽自动应答模式位自动应答模式位 ( transmitter only)

83、0 = 邮箱不对远程请求进行应答邮箱不对远程请求进行应答.1 = 自动应答模式。如果接收到一个匹配的远程请求,自动应答模式。如果接收到一个匹配的远程请求,CAN模块通过发送该邮箱的内容模块通过发送该邮箱的内容来应答远程请求来应答远程请求Message Identifier标准帧标准帧 : 使用使用IDn28:18 扩展帧扩展帧 : 使用使用IDn28:0 MID015:0 = address 0x00 6100MID031:16 = address 0x00 6101CAN 邮箱寄存器邮箱寄存器 0x00 6100 - 0x00 61FF0x00 6100 - 0x00 61FFRTR1516

84、41331reservedreserved0DLC3消息控制寄存器消息控制寄存器消息控制寄存器消息控制寄存器 (MCF) Mailbox n(MCF) Mailbox n发送优先级位发送优先级位与另外与另外31个邮箱比较的优先级,个邮箱比较的优先级,数字越大优先级越高数字越大优先级越高.Data Length CodeValid numbers are 0 to 8. 远程发送请求远程发送请求RTR0 = 没有远程发送请求没有远程发送请求.1 = 对于接收邮箱对于接收邮箱:如果如果TRS标志被置位,则会发送一个远程帧并且用同一个邮箱接收相应的数据帧标志被置位,则会发送一个远程帧并且用同一个邮箱

85、接收相应的数据帧. 1 = 对于发送邮箱对于发送邮箱:如果如果TRS标志被置位,则会发送一个远程帧,但是会用另一个邮箱接收相应的数据帧标志被置位,则会发送一个远程帧,但是会用另一个邮箱接收相应的数据帧.MCF015:0 = address 0x00 6102MCF031:16 = address 0x00 6103TPLreserved128 75CAN 邮箱寄存器邮箱寄存器 0x00 6100 - 0x00 61FF0x00 6100 - 0x00 61FF23241531Data Byte 00消息数据低位寄存器消息数据低位寄存器消息数据低位寄存器消息数据低位寄存器 (MDL) (MDL)

86、 , DBO = 0 DBO = 0 时时时时MDL015:0 = address 0x00 6104MDL031:16 = address 0x00 61051687Data Byte 1Data Byte 3Data Byte 223241531Data Byte 30消息数据低位寄存器消息数据低位寄存器消息数据低位寄存器消息数据低位寄存器 (MDL)(MDL), DBO = 1 DBO = 1 时时时时1687Data Byte 2Data Byte 0Data Byte 1CAN 邮箱寄存器邮箱寄存器0x00 6100 - 0x00 61FF0x00 6100 - 0x00 61FF2

87、3241531Data Byte 40消息数据高位消息数据高位消息数据高位消息数据高位 (MDH) (MDH) ,DBO = 0 DBO = 0 时时时时MDL015:0 = address 0x00 6106MDL031:16 = address 0x00 61071687Data Byte 5Data Byte 7Data Byte 623241531Data Byte 70消息数据高位消息数据高位消息数据高位消息数据高位 (MDH) (MDH) , DBO = 1 DBO = 1 时时时时1687Data Byte 6Data Byte 4Data Byte 5CAN Example :

88、 发送一个帧发送一个帧uuLab9:发送一个发送一个CAN消息消息w wCANCAN波特率波特率波特率波特率 :100KBPS(CAN:100KBPS(CAN低速低速低速低速 ) )w w每秒发送一个单字节的消息每秒发送一个单字节的消息每秒发送一个单字节的消息每秒发送一个单字节的消息w w消息标识符消息标识符消息标识符消息标识符 0x10000000(0x10000000(扩展帧扩展帧扩展帧扩展帧) )w w使用使用使用使用5 5号邮箱作为发送邮箱号邮箱作为发送邮箱号邮箱作为发送邮箱号邮箱作为发送邮箱w w消息内容消息内容消息内容消息内容: :输入开关的状态输入开关的状态输入开关的状态输入开关

89、的状态 (GPIOB15-B8)(GPIOB15-B8)w wCANCAN收发器为收发器为收发器为收发器为 SN65HVD230(ZwickauAdapterSN65HVD230(ZwickauAdapterBoard):Board):w w将跳线将跳线将跳线将跳线 JP5JP5和和和和 JP6JP6设为设为设为设为 1-21-2w w将跳线将跳线将跳线将跳线 JP4JP4设为设为设为设为 2-3(2-3(使能板上行使能板上行使能板上行使能板上行120Ohm120Ohm的终结器的终结器的终结器的终结器) )w wDB9(DB9(公公公公) )用来连接用来连接用来连接用来连接 AdapterBo

90、ardAdapterBoard到到到到 CANCANw wPin2:CAN_L;Pin7:CAN_H;Pin3:GNDPin2:CAN_L;Pin7:CAN_H;Pin3:GND CAN Example : 接收一个帧接收一个帧uuLab10:接收一个接收一个CAN消息消息w wCANCAN波特率波特率波特率波特率 :100KBPS(CAN:100KBPS(CAN低速低速低速低速 ) )w w接收一个单字消息并在接收一个单字消息并在接收一个单字消息并在接收一个单字消息并在 GPIO-PortB7B0(8LEDs)GPIO-PortB7B0(8LEDs)上显示上显示上显示上显示w w消息标识符消

91、息标识符消息标识符消息标识符 0x10000000(0x10000000(扩展帧扩展帧扩展帧扩展帧) )w w使用使用使用使用1 1号邮箱作为接收邮箱号邮箱作为接收邮箱号邮箱作为接收邮箱号邮箱作为接收邮箱w wCANCAN收发器为收发器为收发器为收发器为 SN65HVD230(ZwickauAdapterSN65HVD230(ZwickauAdapterBoard):Board):w w将跳线将跳线将跳线将跳线 JP5JP5和和和和 JP6JP6设为设为设为设为 1-21-2w w将跳线将跳线将跳线将跳线 JP4JP4设为设为设为设为 2-3(2-3(使能板上行使能板上行使能板上行使能板上行120Ohm120Ohm的终结器的终结器的终结器的终结器) )w wDB9(DB9(公公公公) )用来连接用来连接用来连接用来连接 AdapterBoardAdapterBoard到到到到 CANCANw wPin2:CAN_L;Pin7:CAN_H;Pin3:GNDPin2:CAN_L;Pin7:CAN_H;Pin3:GND

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号