基于SJA1000和光纤收发一体模块实现CAN总线光纤传输接口的设计

描述

作为一种成熟的现场总线技术,CAN(ControllerArea Network)总线在汽车、电力、机械、化工等工业控制领域得到了极为广泛的应用。CAN协议标准中规定了CAN总线支持的两种传输介质--双绞线和光纤。目前,绝大多数CAN总线系统采用的都是双绞线传输。光纤一般应用于大容量、高速率的传输中,对于CAN总线这种传输速率较低、数据量较小的现场总线通信,光纤传输的优势得不到完全发挥,因此光纤传输的应用还不多。国内外多家研究机构也都进行了CAN总线光纤传输的研究,但主要是基于分立光纤收发元件的方法。本文介绍了一种使用光纤收发一体模块,结合编解码算法实现CAN总线光纤传输接口的方案;根据CAN总线的特点和实验数据,分析了CAN总线在光纤介质下传输性能的改善。

1 CAN总线的双绞线及光纤传输

1.1 CAN总线双绞线传输

CAN总线典型的网络拓扑是总线结构。1993年颁布的同际标准ISOll898对基于双绞线的CAN总线传输介质特性做出了建议:总线可具有两种逻辑状态,即隐性(逻辑“1”)或显性(逻辑“0”)。图1为基于CAN总线控制器SJA1000和总线驱动器PCA82C250的CAN双绞线传输网络结构图。

光纤

CAN总线双绞线传输接口的特点是技术上容易实现,造价低廉;理论上节点数无限制,对环境电磁辐射有一定抑制能力。但随着频率的增长,双绞线线对的衰减迅速增大;双绞线还有所谓近端串扰,即在“发送线对”和“接收线对”之间仔在电磁耦合干扰。另外,双绞线的传输速率受距离限制比较大。这些缺陷使得CAN总线不宜在强干扰、高速率、远距离的场合下使用双绞线作为传输介质。

1.2 CAN总线光纤传输

CAN协议支持光纤作为传输介质,但是由于CAN总线网络一般采用总线型结构,并且其总线仲裁采取的是具有优先级的非破坏性CSMA(载波侦听多路访问),而光纤信号的传输则是单向的,因此最简单实用的方法是在某些总线支路上采用光纤介质,整个CAN网络为双绞线和光纤两种传输介质混合使用的方式。结构如图2所示。

光纤

作为传输介质,光纤在抗干扰性、传输容量、速率等方面具有许多比双绞线优良的特性。因此,在某些环境恶劣、地理分布范围较广、速率要求较高的CAN总线系统中,可以在相应的支路上使用光纤传输,从而保证整个CAN网络的性能。

2 光纤传输接口实现方案

2.1 光纤收发模块的选用

实现光纤传输的一个重要环节就是完成总线信号的光电转换,可以使用专用的光纤收发器件。目前,光纤收发器有两种类型:一种是基于分立元件的,即光接收和光发送模块是独立的。这种光收发模块相对比较简单,光发射部分主要由光源和偏置控制电路组成;光接收部分主要由光探测器、整形放大电路组成,一般采用塑料或多模光纤进行传输。另一种是光纤收发一体模块,它在光源、光探测、光器件封装、驱动集成电路、放大集成电路技术进步的基础上,将接收和发送集成到一起、符合电信传输标准的光电子系统;在光发射部分使用r性能更好的光源,并在接收部分加入了时钟及再生判决电路等,一般采用单模光纤进行传输。因此,光纤收发一体模块在信号转换的速率和稳定性上都比分立的光纤收发器件有很大的提高,而且与外围器件接口方便,单模光纤的色散、传输光功率消耗也比多模光纤小。

本设计中选用一款TTL光纤收发一体模块,标准工业用l×9引脚,单+5V电源供电,光纤传输模式为单模,标准ST-ST光纤接口。该模块驱动接口如图3所示。

光纤

2.2 设计方案

由于光纤收发一体模块中含有时钟提取电路,要求所转换的信号流要含有丰富的时钟信息,以便时钟提取电路准确地捕获信号的频率,因此信号流中不宜包含较长的连“1”或连“0”。而CAN总线在空闲以及发送某些类型帧时会出现比较长的连“1”或连“0”,尤其在通信波特率比较低的情况下,连续相同电平的时间就会越长,这将会导致接收器捕获不到信号流的准确波特率,从而导致光电转换后的信号的位时间不准确甚至错误。因此,就要求对待转换的CAN信号流进行预先处理。最常用的方法就是进行编码,编码后的信号流中包含丰富的时钟信息,不会出现较长的连“1”或连“0”,经过光纤传输后再进行解码还原。也就是说,在CAN控制器、驱动器与光电转换模块之间增加一个编解码器。

据此提出一种基于CAN总线控制器SJA1000和光纤收发一体模块的CAN总线光纤传输接口方案,其结构如图4所示。

光纤

接口分为发送端和接收端。发送端由CAN总线控制器SJA1000、信号编解码器和光纤收发一体模块组成;接收端由CAN总线驱动器PCA82C250、信号编解码器和光纤收发一体模块组成。CAN节点向总线发送数据时,发送端总线控制器SJA1000的发送信号TX经编码器进行编码之后,送至光纤收发一体模块进行信号的电一光转换,然后通过光纤传输到达接收端RX;接收端光纤收发一体模块先对收到的光信号进行光一电转换,再由解码器将编码信号还原,最后通过总线驱动器PCA82C250与总线连接,完成数据发送过程。数据接收过程同理。

3 光电转换编码、解码器设计

3.1 CAN总线仲裁机制对编解码方案的要求

CAN总线的非破坏性总线仲裁机制的原理为:当总线空闲时,任何单元均可发送报文;若同时有2个或更多的节点开始发送报文,则会出现总线冲突。对于总线访问冲突,可借助于标识符ID进行逐位仲裁加以解决。仲裁期间,每个发送器将发送位电平同总线上检测到的电平进行比较:若相等,则节点继续发送;若不相等,则表明节点失去仲裁,停止报文发送。只有总线访问优先权最高的节点继续报文发送,其他优先权较低的节点失去仲裁,主动停止报文发送,只有当总线空闲时才能继续启动报文发送。因此,CAN节点每发送一位数据都要监听总线上的数据是否与所发送的一致。 在不考虑信号在光纤中传输时的衰减及CAN节点自身限制的前提下,为了保证CAN总线通信的正常进行,在CAN总线的通信过程中必须保证信号延迟不能超过CAN总线的允许值,而这主要是由CAN总线物理层的位定时和同步功能决定的。CAN总线的位时间被定义为一位的持续时间。一个位时间可划分为4个不重叠的时间段,即同步段(SYNC_SEG)、传播段(PROP_SEG)、相位缓冲段1(PHASE_SEG1)和相位缓冲段2(PHASE_SEG2)。其中,同步段用于同步总线上不同的节点,这一段内要有一个跳变沿;传播段用于补偿网络内的物理延迟时间(包括总线上的信号传播时间和节点的内部延迟时间);相位缓冲段1和相位缓冲段2用于补偿边沿阶段的误差。由于CAN总线中各个节点的时钟可能不一致,因此需要进行重新同步。重新同步的结果,使相位缓冲段1增长,或使相位缓冲段2缩短,内部的位时间从同步段重新开始。采样点位于相位缓冲段1的结束,在采样点时刻,CAN节点读总线电平。通过编程采样点的位置可以优化总线定时。

综上所述,假设信号在光纤中的传输时间为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总线这样速率较低的现场总线中使用光纤传输具有一定实用价值。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分