光纤传输中常采用的信号编码有CMI码、扰码、8B/10B码等。虽然这些编码都能提供丰富的时钟信息,但是由于CAN总线的总线仲裁是具有优先级的非破坏性CSMA,这个特点决定了信号经过编解码后的延迟要尽可能得小。提出一种1B/16B编码方法,编、解码规则如下:
(1) 编码规则
逻辑"1"--1110101010101010
逻辑"0"--0001010101010101
具体做法是,用是待编码比特流波特率16倍的时钟频率对其每位进行采样,每一位采样16次,然后根据约定好的编码规则进行编码。这样就将原比特流的一位编码成新的16位传输,每位的长度是原来位时间的1/16,而总的位时间不变。编码后的信号不会出现较长的连"1"或连"0"(最长的连"1"或连"0"为4位)。
(2) 解码规则
逻辑"1"--连续采样3个"1"
逻辑"0"--连续采样3个"0"
具体做法是,用是经编码后比特流波特率3倍的时钟频率对编码后的信号进行采样(即一位采3次,取2次以上一样的作为本次采样最终结果)。如果连续采到3个"1",则解码输出为"1";如果连续采到3个"0",则解码输出为"0"。
从1B/16B编码、解码方法可以看出,经过编码之后,CAN信号流中不存在长时间的相同电平信号,有丰富的跳变沿供时钟提取电路捕获信号频率;解码时利用了编码信号流中的特征码,即连续3个以上的相同电平信号,采样到连续的3个"1"或3个"0"就得到解码结果。实际上,采用这种编解码方法,一位编成为16位后,只有前3位是有用的信息,其余的都是冗余码;但是这样做可以缩短编解码的延迟时间,以满足CAN总线仲裁特性的要求。
其下篇:CAN总线接口电路设计注意事项(http://www.dzsc.com/data/html/2008-5-22/63140.html) 相关链接:http://www.dzsc.com/data/html/2008-5-22/63140.html |