第十六章 CAN控制器
图 16-17. 通过正常恢复顺序从掉线状态恢复操作
TEC>FFH?错误生成? ?掉线? ?掉线恢复顺序??错误既成?C0INFO寄存器中的BOFF位<1>≠00H00H<2>≠ 00H<3>≠ 00H00H≠00HC0CTRL寄存器中的OPMODE[2:0] (用户写入)C0CTRL寄存器中的OPMODE[2:0] (用户读取)C0ERC寄存器中的TEC[7:0] 80H≤TEC[7:0]≤ FFHFFH (b) 跳过掉线恢复顺序的强行恢复操作 CAN模块可通过跳过掉线顺序强行从掉线状态中解除,而不考虑总线的状态。 这里给出步骤。 首先,CAN模块请求进入初始化模式。 关于操作和此时应该注意的部分,参见 (a) 通过正常恢复顺序从掉线状态恢复操作。 然后模块请求进入一个操作模式。 同时,必须将C0CTRL寄存器的CCERC位设为1。 于是,跳过由CAN协议ISO 11898定义的掉线顺序,然后模块直接进入操作模式。 这种情况下,在监测到11个连续隐性电平位后该模块连接到CAN总线。 有关详情,参见图 16-56中的处理。 注意事项 CAN协议ISO 11898未定义该功能。当使用该功能时,应彻底估算其对网络系统的影响。 (6) 在初始化模式中将CAN模块错误计数器寄存器(C0ERC)初始化 如果有必要将CAN模块错误计数器寄存器(C0ERC)和CAN模块信息寄存器(C0INFO)初始化来调试或评测程序,可通过在初始化模式下设置C0CTRL寄存器的CCERC位将它们初始化为默认值。 完成初始化之后,CCERC位自动清除为0。 注意事项 1. 该功能仅在初始化模式下允许。 在CAN操作模式下,即使将CCERC位设为1,C0ERC和 C0INFO寄存器也不会被初始化。 2. 请求进入CAN操作模式的同时可以设置CCERC位。 用户手册 U17553CA4V0UD 397 第十六章 CAN控制器 16.3.7 波特率控制功能 (1) 预分频器 CAN控制器为CAN提供一个将时钟(fCAN)分频的预分频器。 该预分频器产生一个CAN协议层基础时钟(fTQ),它由CAN模块系统时钟(fCANMOD)经1至256分频后得到(参见16.6 (12) CAN位速率预分频器寄存器(C0BRP))。 (2) 数据位时间(8至25个时间量子) 一个数据位时间按照图 16-18所示定义。 CAN控制器将时间段1、时间段2和重新同步跳转宽度(SJW)设为数据位时间的参数,如图16-18所示。时间段1等于传播段(prop)与CAN协议规范定义的相位段1的总时间。 时间段2等于相位段2。 图 16-18. 段设置 数据位时间(DBT)Sync段Prop段相位段 1相位段 2时间段 1(TSEG1)时间段 2(TSEG2)采样点 (SPT) 段名称 时间段 1 (TSEG1) 时间段 2 (TSEG2) 可设置的范围 2TQ至16TQ 1TQ至8TQ 设置符合CAN规范的注意事项 — CAN控制器的IPT为0TQ。 为了保证CAN协议规范,必须在此设置等于相位段1的长度。 这意味着时间段1减去1TQ为时间段2的可设置范围的上限。 时间段1的长度减去1TQ或4TQ,较小的那一个 重新同步跳转宽度(SJW) 1TQ至4TQ 备注 IPT :信息处理时间 TQ :时间量子 398 用户手册 U17553CA4V0UD 第十六章 CAN控制器 参考: CAN标准ISO 11898规范定义的组成数据位时间的段如图16-19所示。 图 16-19. 参考:由CAN规范所定义的数据位时间的配置 数据位时间(DBT) Sync段 Prop段 相位段 1 相位段 2SJW 采样点 (SPT) Sync 段 (同步段) Prop 段 可设计为 1至8,或更长 该段占用输出缓存、CAN总线和输入缓存的延时。 设置该段长度,以便在相位段1开始之前返回ACK。 prop 段的时间(输出缓存的延时) + 2 x (CAN总线的延时) + (输入缓存的延时) 相位段 1 相位段 2 可设计为1至8 相位段1或IPT较长的那个 可设计为从1TQ 到1或4TQ段的长度,较短的那个 该段补偿数据位时间的错误。 该段越长,可允许范围越宽而通信速度越低。 段名称 1 段长度 说明 建立硬件同步时,该段从电平由隐性变为显性的边沿开始 SJW 重新同步期间该宽度为相位段扩展或压缩的上限。 备注 IPT :信息处理时间 TQ :时间量子 用户手册 U17553CA4V0UD 399 第十六章 CAN控制器 (3) 同步数据位 - 因为接收节点没有同步信号,所以它在总线上利用电平的改变建立同步。 - 发送节点与发送节点的位时序同步发送数据。 (a) 硬件同步 当接收节点在帧间间隔检测到帧起始时建立硬件同步。 - 当在总线上检测到下降沿时,TQ表示sync段且下一段为prop段。 这种情况下,不考虑SJW而建立同步。 图 16-20. 总线空闲期间识别显性电平时的硬件同步 帧间间隔CAN总线帧起始位时序 Sync段Prop段相位段 1相位段 2 400 用户手册 U17553CA4V0UD