由于CAN总线的通信方式是串行同步收发数据,所以为了使数据传送的准确性提高,就要求数据的接收端与发送端同步,同步包括收发双方数据流中的字符要同步、字符内部的位也要同步。所以,要达到这种要求,控制数据的接收和发送就需要用同步时钟来控制。如果要让接收端在很长的数据流中保持位同步,这就是位定时,位定时必须识别每个二进制位在何时开始的。如果要让接收端再很长的数据流中保持位同步,这就是位定时,位定时必须识别每个二进制位在何时开始的。
CAN总线上所有节点都必须具有相同的比特率。CAN协议采用反向不归零制(NRZ)编码,在数据流中不对时钟信号进行编码。因此接收时钟信号必须由接收节点恢复并与发送器的时钟同步。
位定时对CAN总线的性能有很重要的影响,因为位定时出现任何小错误,就会使总线的仲裁机制停止工作。即使有位同步来修补位定时的错误,但还是不能避免数据传输的出错,所以对于在数据实时性要求很高的电动汽车的应用中,位定时显得格外重要。另外,我们再应用中遇到过,位定时出错时,如果CAN总线节点上有超过2个节点在发送数据时,系统会启动错误认可标志,这样一来,节点上的信息就不能进行发送或接收等处理。因此要分析、解决这样的错误就需要对CAN总线位定时中与位同步进行深入的分析,并通过原理确定一个能满足应用实际应用需要的值,以优化网络性能。 |