掉电、复位及总线上过多的错误都会使控制器进入总线脱离模式;系统上电、复位解除或过多错误而复位后的下个时钟会使控制器进入总线启动模式;在总线启动模式下,若之前因掉电、复位使控制器进入总线脱离模式,当控制器监测到总线上1次连续11个隐性位(逻辑电平1”)时,控制器进入总线空闲状态,若因过多错误使控制器进入总线脱离模式,则当控制器监测到总线上128次连续11个隐性位时,控制器进入总线空闲模式;当控制器没有数据发送但监测到总线上有显性位(逻辑电平“0”)时,控制器进入接收模式,而当控制器有数据发送同时监测到总线上有显性位时,控制器进入模式选择模式;模式选择其实就是一个总线仲裁,此时标识符将扮演仲裁位的角色,显性位的优先级更高,若总线仲裁失败则控制器进入接收模式,仲裁成功则进入发送模式;一帧数据成功发送完成后,控制器会进入间歇模式;若间歇帧发送成功,则控制器会再次进入总线空闲模式。状态机由空闲模式转换为模式选择模式的仿真图如图3所示。
1.2.5 位定时模块
位定时模块控制着控制器报文发送或接收的节奏,这个节奏就是位时间,它由四部分组成:同步段、传播段、相位缓冲段1和相位缓冲段2,这四个段均由时间份额构成,时间份额是根据预先设置的分频值对输入时钟进行分频得到的。
位定时模块还有一个重要的功能是将本节点与总线上的其它节点进行时钟同步。由于每个CAN节点使用的是独立的时钟,所以不同节点之间会有相位差,这些相位差严重时会影响报文发送和接收的准确性,所以有必要对不同节点进行时钟同步。
上一页 [1] [2] [3] [4] 下一页