微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Ethernet 的冗余CAN 总线协议转换器设计

基于Ethernet 的冗余CAN 总线协议转换器设计

时间:07-31 来源:互联网 点击:

  0 引 言

  CAN(Controller Area Network) 总线又称控制局域网络,最早由德国BOSCH 公司推出,用于汽车内部测量与执行部件之间的数据通信,已被公认为几种最有前途的现场总线之一 .CAN 总线采用短帧结构.非破坏仲裁技术,具有传输速度快.可靠性高.结构简单.实时性和抗干扰能力较强等诸多优点 ,可以满足控制系统安全性.可靠性.快捷性的要求,但收发器驱动能力的限制使它不适合远距离数据传输及远程控制.而以太网技术成熟.通信速度快.软硬件产品丰富和外围技术支持全面,可以进行远距离通信,因此将以太网和CAN 总线进行互联,能够有效解决分布式控制系统中现场总线和上层信息管理层的互联问题,可以方便地将现场总线控制系统改造为基于以太网的分布式控制系统,既能满足控制网络的实时性,又能满足控制系统的分布性,极大地促进了信息从节点设备到管理层的集成.文中设计了基于Ethernet 接口的双通道CAN 总线协议转换器,能够方便地实现以太网与现有CAN 总线网络的直接数据互联,从而达到通过上位机进行总线数据远程监控.总线协议分析等目的.

  1 系统硬件设计

  本设计的硬件电路主要由单片机电路.双通道CAN 总线接口电路.以太网接口电路.EEPROM 电路.POE 电路等电路组成.主控芯片电路是将CAN 协议数据包与UDP / TCP 协议数据包进行转换,并负责对以太网接口芯片和CAN 接口芯片进行控制;CAN 通信接口电路主要用于采集现场仪表的数据和与主控芯片电路之间的数据传递;以太网通信接口电路主要负责主控芯片电路与以太网之间的数据传输;EEPROM电路实现CAN 总线初始化参数的写入与读取功能.

  工作原理如下:当以太网接口芯片收到以太网数据后,触发单片机的中断,单片机调用中断响应程序把数据从以太网接口芯片的数据缓冲区存储到自己的内存空间,然后将数据转换成CAN 格式再通过CAN 接口芯片转发到CAN 总线网络;当CAN 总线上的节点设备需要将数据发送到以太网,就会通过CAN 总线接口芯片向单片机发出中断信号,单片机响应中断将来自CAN 总线的数据存入相应的内存空间,然后将数据拷贝至以太网接口芯片的发送缓冲区转发数据,最后由以太网接口芯片通过RJ45 插座发至以太网.

1. 1 单片机电路

  主控芯片选择的是Silicon Labs 公司的单片机C8051F340,采用12V 直流电源供电或采用以太网48V供电,使用内部看门狗单元及内部晶体振荡器.

  C8051F340 是一款完全集成的混合信号片上系统型MCU ,其高速8051 微控制器内核具有流水线指令结构,70% 的指令执行时间为一个或两个系统时钟周期,速率最高可达48MIPS;片内调试电路提供全速.非侵入式的在线系统调试(不需仿真器),使得调试更加方便,比使用仿真芯片.目标仿真头和仿真插座的仿真系统具有更优越的性能;USB 控制器支持8 个端点通道,集成收发器并具有1 KB 的USB 缓存;具有一个10 位的单端/ 差分ADC,转换速率可达200ksps,并带有模拟多路复用器,数字外设方面具有16 位可编程计数器/定时器阵列,具有5 个捕捉比较模块,同时具有4 个通用16 位计时器/ 定时器和40 个耐5V 电压的端口I/O;存储器方面具有4352Byte 的数据RAM 和64KB 的FLASH 存储器;内部高速振荡器出厂时已经较准为12MHz±1. 5% ,时钟恢复电路允许内部振荡器与4 倍时钟乘法器配合,提供全速方式USB 时钟源;具有片内上电复位.时钟丢失检测器和VDD 监视器,电路原理图见图1.

  1. 2 CAN 总线接口电路

  采用NXP 公司SJA1000 作为CAN 总线转换器.NXP 公司TJA1050 用做CAN 总线收发器.为了提高CAN 总线电路的可靠性,在设计中采用双冗余的CAN总线结构,具体设计为:在各节点设备之间布下两条基于CAN 的系统通信总线,即用两套CAN 总线控制电路分别连接到两路CAN 总线通路上,正常情况下在两条总线上传送相同的通信数据,当一条总线出现故障时通信数据仍然可以通过另一条正常的总线传输,不影响节点设备的正常通信,然后对故障总线重新初始化使其恢复正常投入使用,这样即使一条通信通道出现故障也不会影响整个系统的数据传输;同时考虑工业应用,在CAN 总线控制器和CAN 总线收发器之间进行隔离.

  在电路中将SJA1000 的AD0 ~ AD7 直接与主控芯片的低8 位地址/ 数据复用总线相连,MODE 引脚与+5V 相连使得SJA1000 工作于Intel 模式[4] , 两路SJA1000 的中断输出信号分别连接至C8051F340 的端口P0. 2 和P0. 7,使得CAN 通信可以采用中断或查询两种方式工作,其中双冗余CAN 总线电路的晶振均为16MHz,复位信号采用软件复位,详细电路原理图见图2.

  1. 3 以太网接口电路

在以太网接口电路中选用Si

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top