一种新型光纤CAN控制器通信系统研究
2021-04-22郭海兵张全柱邓永红
郭海兵,张全柱,邓永红
(华北科技学院 信息与控制技术研究所,北京 东燕郊 065201)
0 引言
控制器局域网(Controller Area Network,CAN)是一种普遍应用于工业现场总线通信的网络[1],尤其在煤矿安全监控系统[2]、电力机车电源通信系统[3]与汽车内部各电子装置[4]之间应用非常广泛。CAN通信传输介质可采用双绞线、同轴电缆或光纤[5]。现在,随着CAN总线技术高速、长距离应用的普及[6],大部分CAN总线都采用双绞线作为传输介质[7]。但是在十分恶劣的现场环境中,双绞线会有很大衰减和所谓近端串扰,即在发送线对和接收线对之间存在电磁耦合干扰[8],其抗干扰能力在强电磁情况下仍不能满足通信需求。光纤具有不辐射能量、通信速率高等优点而被广泛应用。有些学者[9]也曾指出对提高CAN网络的抗电磁干扰能力而言,研究利用光纤来代替双绞线作为CAN信号的传输介质十分必要,同时光纤传输还可扩展传输距离,减少空气腐蚀和维护成本。
国外的欧洲粒子物理研究所曾研究在加速器中的两个CAN总线节点之间采用光纤传输[10],以Mark Lynn为主的团队也研究了将光纤网络拓扑结构应用在汽车领域中,在一定程度上也指导了光纤CAN网络拓扑结构[11]。在国内,文献[12]中提出一种适用于解决对某个或某几个CAN节点使用光纤进行信号传输的问题,具有实用价值,但不能同时在光纤接口的两端连接CAN总线。文献[13]提出一种由CPLD控制的星型光纤CAN网络,但使用成本过高,不利于普及应用。文献[14]设计了一种基于光纤收发一体模块及CAN总线控制器SJA1000的光纤传输接口设计方案,但需使用FPGA对CAN总线信号编解码,控制方法相对复杂。
本文在进行研究CAN光纤通信时利用MCU消除掉CAN收发器上产生的干扰信号,保证了CAN收发器在发送信号时的正确性,从而达到了CAN通信转化为光纤通信的目的,可应用于自带CAN接口的通信设备实现光纤传输通信,并且成本低、可靠性强,可在一定程度上避免强电磁干扰,提高信号线路的可靠性,实现远距离通信。
1 光纤CAN控制器总体设计
1.1 光纤CAN控制器应用结构
图1所示结构是光纤CAN控制器应用在CAN通信设备中主机与从机进行光纤通信的运行结构框图。主机侧的光纤CAN控制器把CAN信号转成光信号通过光纤传输到从机侧的光纤CAN控制器中,从机侧控制器再把光信号转换成CAN信号传送给从机,之后从机发送返回信号给主机,以此实现主、从机之间的通信。这样就能在不改变原有设备CAN通信接口的情况下用光纤代替双绞线作为传输介质实现远距离通信。使用此光纤CAN控制器作为中继设备连接主机与从机进行通信,既能够增强传输距离,又可以减小传输过程中的电磁干扰。
图1 光纤CAN控制器运行结构框图
1.2 光纤CAN控制器工作原理
图2所示是光纤CAN控制器的组成框图,控制器由隔离的供电电源、光电转换电路、CPU及其信号处理电路和CAN收发电路四部分组成。其工作原理是通过CAN收发电路把CAN总线上的信号转化成TTL电平,经CPU及其信号处理电路处理后再由光电转换电路转化成光信号通过光纤传输给另一端控制器的光信号接收端,使光信号与被传输电信号具有相同特征;光纤转换电路把接收到的光信号再根据其特征还原为TTL电平,由CAN收发电路转化成CAN总线上能识别的信号,即可通过上述过程实现图1中设备之间的通信。
图2 光纤CAN控制器组成框图
2 硬件电路设计
2.1 隔离电源电路设计
图3给出了隔离供电电源电路,电路中主要由输入滤波电路、隔离电源和输出滤波电路三部分组成了系统供电电路,加强了电源电路的抗干扰能力。隔离电源模块也可用开关电源代替,具有转换效率高,空载功率低的特点。按照实际需求可由9 V到36 V电压输入转换为稳定的5 V隔离电压输出,使电压的输入与输出完全隔离开,既保证了电路的稳定性又提高了其抗干扰性[15]。
图3 隔离电源电路
2.2 CAN总线电路选型及设计
CAN总线电路设计如图4所示。为使CAN总线上信号稳定,在总线电路上加入了保险F1、F2和滤波电感L1;R5、R6是在CAN总线上并联后阻值为120Ω的终端匹配电阻,其作用是匹配总线阻抗,提高数据通信的抗干扰性及可靠行;SW1为拨动开关,可配置终端匹配电阻的通断;D1是钳位二极管;其余在CAN总线工作电路中的元件对电路起保护作用。CAN总线上的两路信号CANH和CANL分别以图中方式连接CAN收发器的引脚上,CAN收发器则通过TXD端和RXD端接收与发送TTL电平对数据进行处理。
图4 CAN总线电路
2.3 CPU及其信号处理电路设计
图5给出了CPU及其信号处理电路的结构。其结构由微处理器MCU、通用逻辑门芯片MC74VHC1G00DFT2G电路和通用逻辑门芯片SN74AHC1G08DBVR电路三部分组成。微处理器MCU主要通过其I/O口读取“CANT”中的电平信号来输出高、低电平给芯片“U5”。通用逻辑门芯片“U4”的逻辑真值表如表1所示,其中A、B为输入信号引脚,Y为输出信号引脚,本文中采用B信号引脚持续输入为高电平信号,这样根据真值表的内容,其输出引脚的状态就由“CANR”来决定,实现的功能是把输入的“CANR”信号进行取“反”输出给通用逻辑门芯片“U5”。“U5”则根据其真值表2中的内容把“U4”和“U6”输出的信号作为输入进行取“与”,之后输出“CANR1”信号给图6(b)光纤发送电路中具有“与非”逻辑输入的双路输出驱动器SN75452B芯片。
图5 CPU及其信号处理电路
表1 MC74VHC1G00DFT2G逻辑真值表
表2 SN74AHC1G08DBVR逻辑真值表
图6 光电转换电路
CPU及其信号处理电路的功能是通过控制芯片接收“CANT”信号中的下降沿电平信号进而触发控制芯片执行中断输出特定的电平信号,把CAN收发器上接收数据输出端RXD产生的干扰脉冲信号(下文称为“自监测信号”)屏蔽掉,而保留下有效的返回数据。
2.4 光电转换电路选型及设计
光纤收发器是进行CAN总线信号光电转换的重要元件。工程中常用的光纤收发器一般分为两种类型:第一种是具有独立的光接收和光发送模块,基于分立元件组成。它的光发射部分电路由光源和偏置控制电路等构成;光接收部分由光探测器、整形放大电路构成,常采用塑料或多模光纤进行信号传输。第二种是光纤收发一体模块。它把光的发送和接收集成为一体,使用较好性能的光源作为光发射器件,把时钟及再生判决电路添加到光接收部分,常采用单模光纤进行传输[16]。本文中光电转换器件采用独立的光接收和光发送模块,在进行光电数据转换时可以各自独立进行。
图6(a)是光纤发送器和光纤接收器的内部构造原理图。发送器型号为HFBR-1521,其中“1”脚和“2”脚连通指定大小的正向电压后可触发二极管发光,即产生光信号;接收器型号为HFBR-2521,其原理是利用光敏二级管检测到光信号后触发其内部三极管导通,使“1”脚和“2”脚形成回路后便可通过“VO”来输出高、低电平。光纤传输提供良好的级间隔离,可消除反串干扰,同时接收器的输出电位只有高或低两种,无中间态,可以有效防止误操作[17]。图6(b)(c)分别是光纤发送电路和光纤接收电路。光纤发送电路主要由驱动器SN75452B与光纤发送器HFBR-1521组成,把CAN收发器发出的TTL电平经CPU及其信号处理电路处理后转化成光信号;光纤接收电路则把接收来的光信号还原为TTL电平发送给CAN收发器和CPU及其信号处理电路。
3 系统主程序设计及电路工作过程分析
3.1 主程序设计
在主程序执行时要先调用初始化程序。系统在上电后,开始初始化单片机内部系统时钟、I/O口、寄存器与其他功能模块。初始化完成后开始进行系统自检,以保证系统运行处于正常的工作状态。
系统使用外部中断接收触发信号,外部中断处理程序主要负责接收光纤发送电路发来的光信号转换成电平后TTL的变化过程,当触发中断后,中断服务函数开始执行,使其I/O执行相应的操作。执行完其设定功能后便返回继续等待下一个中断。软件流程如图7所示。
图7 软件流程图
3.2 电路工作过程分析
图8所示为CAN通信转光纤通信的工作过程图。图8中光纤CAN控制器1和光纤CAN控制器2功能完全相同,两光纤CAN控制器之间通过光纤传递信号。主机与从机任一方均可先发送通信信息,之后另一方再返回通信信息,以此往复实现通信。以主机在工作时先发送通信信息为例,主机发送CAN信号到光纤CAN控制器1上,信号经其内部收发器通过CPU及其信号处理电路、光纤发送电路转化为光信号发出到光纤CAN控制器2上再与从机通信。但经实验发现,由于CAN收发器自身特性,每当CAN收发器的TXD端接收到一帧TTL电平数据时,就会在其RXD端相应产生一帧同样的“自监测信号”,该信号如果不消除会导致CAN通信故障。CPU及其信号处理电路通过检测光纤接收电路中的TTL电平进而输出信号将“自监测信号”消除,而保证正常发出从机返回的有效数据,使光纤通信可靠有效的工作,避免“自监测信号”通过RXD端发送出来而造成干扰,致使通信出错。在消除掉“自监测信号”后能够正常返回从机的有效数据给主机光纤CAN控制器1上,光纤CAN控制器1上的CPU及其信号处理电路也会经过同样的过程消除“自监测信号”而使通信正常。
图8 光纤CAN控制器工作过程
4 实验结果分析
4.1 实验室平台介绍
对设计的光纤CAN控制器进行实验研究,搭建图9所示的实验平台,主要由示波器、可编程线性直流电源、两套CAN通讯设备(‘主机’与‘从机’)和2块光纤CAN控制器等组成,以图中实验平台为例进行通信实验。图中光纤CAN控制器1和2分别与CAN通讯设备以CAN总线方式就近连接,光纤CAN控制器之间以光纤方式连接,即可满足设备通信要求。
图9 搭建的实验台
4.2 实验结果分析
图10(a)是CAN数据通信波形图,图中“C1”是CAN收发器上RXD端的波形,“C4”是CAN收发器TXD端上的波形,从波形图中可知,在CAN收发器的TXD引脚上每接收到一帧数据就会在其RXD引脚上产生相同的“自监测信号”帧。
图10 光纤CAN控制器通信测试波形图
图10 光纤CAN控制器通信测试波形图(续)
图10(b)光纤CAN控制器工作波形图中,“C2”是MCU执行中断后输出的波形图,“C3”是CAN收发器RXD端发出且经过CPU及其信号处理电路消除掉“自监测信号”的波形,通过与“C1”波形进行对比可以看出返回数据中只有‘从机’发出的有效数据信号。图10(c)是一帧数据波形展开图,更加清晰显示了一帧CAN信号的波形数据。表示互相通信的CAN数据信号没有被“自监测信号”干扰,验证了将CAN信号转化为光信号传输的实用性和方案的可靠性。
5 结论
(1) 本文研究了一种光纤CAN控制器,通过使用微处理器控制输出电平信号的方式将CAN收发器上产生的干扰信号消除,进而实现了光纤传输CAN信号通信的功能,提高了CAN通信线路中的抗干扰能力。
(2) 设计的光纤CAN控制器能应用于各种带有CAN通信接口设备中,无需改变原有硬件结构就可实现光纤与CAN总线数据之间的互连通信,实验表明该光纤CAN控制器可以长时间稳定运行,控制效果较好。
(3) 该光纤CAN控制器具有简单的外围电路,性能稳定,供电电路具有良好的隔离和保护能力,可适用于煤矿监控设备或其他CAN通信设备远距离信号。
(4) 还具有强大的拓展能力,可以将多台设备挂靠在CAN总线上实现长距离通信,有较强的工程实用性及应用推广价值。