综上所述,假设信号在光纤中的传输时间为t传输,信号传输中因光电转换造成的延迟时间为t光电延迟,CAN节点同步及内部延迟为t内部延迟,则应满足以下关系:
t传输+t光电延迟+t内部延迟
式中,对于给定长度和波特率,光纤传输时间和节点内部延迟时间是确定的,因此要尽量缩短光电转换的延迟时间,即对CAN信号编解码算法提出了特殊要求,要尽量缩短编解码的延迟时间。
3.2 编码、解码方案
光纤传输中常采用的信号编码有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总线仲裁特性的要求。
3.3 编码、解码器的实现
本设计中采用可编程逻辑器件来实现对信号的编解码,具体选用Altera公司的FLEX10K10系列FPGA;软件开发平台使用的是QuartusII 5.0和Modelsim SE5.8(第三方仿真工具);开发语言使用硬件描述语言VHDL。编码、解码器的硬件逻辑结构如图5所示。
逻辑功能的波形仿真结果如图6所示。
4 实验验证
通过两个CAN节点的通信实验,验证了该CAN光纤传输接口的正确性。实验平台结构如图7所示。
CAN通信节点使用光纤介质,与USB-CAN通信节点进行通信,并在PC机上显示通信情况。在CAN总线各波特率下进行了两个节点的收发实验,结果证明该CAN光纤传输接口原理正确,具有可行性。实验测得信号编、解码以及光电转换的延时时间(即t光电延迟),见表1。
5 采用光纤对CAN总线通信性能的改善
下面结合上述光电转换实验所获得的实验数据,简要讨论一下当使用光纤替代双绞线作为通信介质后,CAN总线在通信性能上的改善。
在给定波特率下,光纤传输的最远距离L与信号在光纤中的传输时间t传输之间满足以下关系:
L=V光纤×t传输
式中:V光纤为信号在光纤中的传播速度。电磁波在介质中的传播速度为V=C/n(C为光速,n为介质的折射率),光在光纤中的传播速度近似为260 m/μs,电磁波在双绞线中的传播速牢大致为200m/μs。这里取t内部延迟=0.4×t位时间,则可以估算出光纤传输时CAN总线的最大距离,如表2所列。采用光纤作为传输介质,CAN总线的最大传输距离能够提高约40%。
从表2中可以看,由于CAN总线通信速率较低及非破坏性总线仲裁的特点,使用光纤传输介质,其传输距离的增加并不十分明显,没能充分发挥光纤传输大容量、远距离的优势。但是使用光纤仍然有它巨大的潜力:
①由于一般电磁辐射的频谱和光波的频谱相距甚远,它不会叠加到光信号上或混入光信号中,也很难进入光纤芯内影响光信号的传送。因此,光纤通信系统特别适合于在有强烈电磁干扰的地区或场合中使用,诸如电力系统、电气化铁道中的通信系统等。
②由于光纤的主要材料为二氧化硅,所以它比以铜为材料的电缆抗化学腐蚀和氧化等的性能强,即光纤的化学稳定性好,寿命长,特别适宜在有腐蚀的区域(如化工厂等)使用。
③光纤的尺寸小,重量轻,因此,光纤通信系统特别适合在一些空间有限的地方使用,比如船舰、飞机、车辆、火箭、导弹等场合。这在国防军事上有十分重要的意义。
结 语
CAN总线应用范围的日趋广泛,能够适应越来越复杂的环境,特别是一些强干扰、远距离、地理分布不均、工作环境恶劣的应用场合。传统的双绞线已不能满足需要,采用光纤介质不但能解决这些问题,而且给CAN总线应用带来更大的灵活性。实现光纤传输的一个关键点就是光纤传输接口的设计,本文提出了一种基于光纤收发一体模块的接口方案 及其实现,并通过实验验证了设计的正确性,对于在CAN总线这样速率较低的现场总线中使用光纤传输具有一定实用价值。