一种CAN总线与以太网互连系统的设计方案

发布者:码梦创想最新更新时间:2014-08-11 来源: dzsc关键字:CAN总线  以太网  互连系统 手机看文章 扫描二维码
随时随地手机看文章

  1.前言

  在大型企业自动化系统中,在上层企业管理层和生产监控层采用的都是以太网和PC机,而在下层车间现场都是采用现场总线,如RS-485、CAN、lonWorks等,而连接上下两层的沟通通常采用工业控制机加以太网卡再加上PC机插槽上的与现场总线对应的接口卡或并行打印口的EPP接口卡来实现,这种连接方式成本高,开发周期长,接口卡成为系统上下两层的通信瓶颈一旦出现故障上下两层的联系就将中断;为此利用廉价的基于单片机的以太网-CAN网桥取代昂贵的工控机加接口卡,实现以太网和CAN总线网的直接连接具有重要意义。

  2.系统方案设计

  由于系统中有以太网网和CAN总线数据处理,因此需要采用大容量RAM进行暂存网络数据,采用集成有8KRAM和64K Flash的P89C668型高速控制器,如图1所示,系统采用芯片RTL8019进行网络数据收发,采用芯片SJA1000处理CAN总线数据,同时为了方便对转换桥系统调试和进行参数设置(CANID、CAN波特率,以太网物理地址,IP地址,网关地址,子网掩码)和保存,增大系统使用的范围和使用灵活性,系统还扩展串口通信RS232接口和24C256串口存储电路。

  

  3.系统硬件设计

  3.1 以太网接口电路设计

  以太网接口电路如图2所示,电路中36脚~43脚为数据输入输出口直接连接到单片机P0口。RTL8019AS有三个分别反映其工作状态的输出脚,分别LED0、LED1、LED2,分别输出网络的连接性、数据发送和数据输出状态;IOCS16是16位或8位I/O的选择脚,当上电复位的时,该引脚为低电平时,网卡将选择8位模式,为高电平时,网络控制器将选择16位的模式,电路用了个电阻R9(27K)下拉,在复位时引脚为低电平,因此网卡选择8位模式。由于RTL8019AS每个引脚(除AEN外)内部都有100K的下拉电阻置地,故当各引脚悬空时内部检测为低电平,由图2可知85脚、84脚、82脚、81脚分别悬空,从而选择了基地址300H,因此电路扩展就要以此为基准来进行配置,RTL8019AS地址线A19~A10固定接地,A9、A8定接P2.5作为地址选择端有单片机来控制而不是用34脚AEN(直接接地)来作为地址选择断,将A7,A6,A5固定接地,A4~A0要根据所要访问的RTL8019AS寄存器地址不同而不同,从而由由P89C668的P2.0~P2.4来选择RTL8019300H~31FH,因此对应P2口地址线变化范围为0xE0-0xFF,由于仅有P2口来选择地址,而P0口并没有参与地址编址电路中单片机对RTL8019AS的寻址I/O并不是连续,程序中分别定义Reg00~Reg1F来分别对应300H~31FH端口,定义如下:

  

  

  3.2 CAN总线的接口电路设计

  如图3所示,CAN总线的接口电路主要由P89C668处理器、CAN通信控制器SJA1000、CAN总线驱动器82C250、高速光电耦合器6 N 1 3 7电路组成,微处理器P 8 9 C 6 6 8负责SJA1000初始化,通过控制SJA1000实现数据的接收和发送等通信任务;为了增强CAN总结点的抗干扰能力,SJA1000的TX0和RX0通过高速光耦6N137后与82C250相连,实现了本节点在CAN总线上的电气隔离,提高了本系统的硬件的稳定性和安全性;82C250的CANH和CANL引脚之间串连60欧姆(两个120欧姆电阻并联)的电阻以消除电路中信号的反射等干扰,CANH和CANL与地之间并联两个30pF的小电容,起到滤除总线上的高频干扰和一定的电磁辐射的能力,两根CAN总线输入端与地之间分别接了一个防雷击管,当两端输入端与地之间出现瞬变干扰时,通过防雷击管的放电起到一定的保护作用,R18则为斜率电阻。

  

  4.系统软件设计

  4.1 系统软件总体设计

  如图4所示,根据以太网与现场总线CAN协议转换功能可知系统软件包括TCP/IP协议程序、CAN协议程序、RS232串行数据收发程序以及对以上三种协议程序进行协议转换和监控管理的应用管理程序;TCP/IP协议包括ARP(地址解析协议)、IP协议(网际协议)、ICMP(Internet互联网控制报文协议)、TCP(传输控制)协议和UDP(用户数据报)协议,ARP协议用于负责把一个IP地址映射成物理地址,即获取对方或通知对方本主机物理地址的一个协议;IP协议主要功能是把源主机上的数据分组发送到互联网中的任何一台目标主机上;ICMP用于差错报告和报文控制的协议,在本系统种主要完成ping命令请求和应答功能;UDP和TCP协议在工作时是建立在IP协议之上,UDP协议对每次输出都生成一个UDP数据报,然后把生成的UDP数据报直接封装在IP数据报中进行传输,提供无连接的不可靠的数据报文服务,而TCP协议提供面向连接的、可靠的数据流服务;CAN协议用于将接收到的以太网数据转换成一定格式的CAN协议格式的数据并转发到目标节点以及从其他目标节点受到的数据转换成TCP/IP协议格式数据;而RS232串口协议功能主要为系统调试和IP地址等参数进行设置;各功能模块由应用管理程序进行监控和管理完成整个系统功能的协调运行。[page]

  

  4.2 CAN总线扩展协议制定

  以太网数据转CAN总线数据时,由于CAN总线数据比较少,能满足以太网数据格式,而以太网向某CAN节点发送数据时,由于以太网数据据较多,远超出CAN总线一帧数据格式,因此需要设计CAN应用层协议对以太网数据进行管理,CAN现场总线仅定义物理层和数据链路层,实际应用中,这两层完全由硬件实现,由于CAN总线底层协议没有规定应用层,本身并不完整,而在基于CANBUS的分布式控制系统中,有些附加功能需要一个高层协议来实现,结合CAN总线数据传输是按帧(11bit/29bit控制场+8字节数据场)传输的特点,应用于CAN总线的应用层协议可以适当地简化,采用传统的源/目的模式格式,结合CAN特有的双滤波特性,可以实现,点对点,以及多播或广播等通信功能,其协议要素如图5所示。

  

  结合协议模型,CAN控制器采用采用PeliCAN模式,充分利用其29位标示符,采用其中14位作为寻址标识符(包括目标地址,源地址各7位),其中8位标示符作为分段码,以及剩余5位作为功能码,如果用户还需要其他功能的标示位则对各位自行定义可适当调整,具体格式如图6所示。

  

  目标节点地址和源节点地址由7位二进制标示,最大可以访问128个CAN节点,分段码主要是完成数据传输过程中对命令请求、应答以及所传输的数据在整个报文中的序号及其标志等,具体格式如图7所示,ACK为应答位,0表示本帧数据需要应答,一般用于命令帧,1表示应答帧,用于不需要应答的命令帧,SegPolo由2位二进制组成,表示分段表示符,SegNum用于记录分段数,SegPolo=00b表示本次数据传输没有分段,此时SegNum=0×00,SegPolo=01b时表示为接到以太网批量数据的第一个分段,此时SegNum=0×01,SegPolo=10b时表示为中间数据段,SegNum没传输一个数据加1,以记录分段数,SegPolo=11b时表示最后分段;功能码由5位二进制数组成,共有32种情况,表示对报文功能的规定,可有用户根据情况自行规定所表示的意义,报文数据由8个字节组成表示每帧CAN数据包中所载的数据。

  4.3 以太网与CAN总线数据转换主程序设计

  主程序流程图如图8所示,以太网与CAN总线数据转换主程序主要完成串口输入程序、ARP网关解析程序、TCP数据处理程序、UDP数据处理程序、CAN总线数据处理程序,串行口程序主要完成对网络相关参数的设置以及通过串口完成的网络调试程序,如手工完成对其他网络主机的Ping命令、UDP数据通信命令、TCP数据通信命令及ARP解析命令等;主程序还实时监测对TCP协议的超时处理、TCP连接处理以及断开处理,当有以太网数据接收时,首先判断是否为ARP报文还是IP报文,如是ARP请求报文则需进行ARP应答等操作,如为IP报文则进一步区分是ICMP报文(PING命令)还是TCP报文或UDP报文;

  

  如有以太网数据接收,则转换成相应CAN帧格式数据并转发至对应地址的CAN节点,同时如有CAN节点发送数据则转换成以太网数据格式并转发至以太网服务器,从而完成以太网与CAN局域网数据相互转换桥功能。

  5.小结

  在分布式控制系统中,随着测控技术与网络技术日益紧密的结合,测控系统接入互联网己经成为大势所趋,这也促成了近年来嵌入式网络技术的飞速发展,本文系统地提出了一种CAN总线与以太网互连系统的设计方案,转换器通过CAN总线接口CAN局域网连接,通过以太网接口与计算机连接,可以实现可靠的CAN总线协议与以太网协议的高速数据通信

关键字:CAN总线  以太网  互连系统 引用地址:一种CAN总线与以太网互连系统的设计方案

上一篇:基于FA16网络的雷达信号传输质量的研究
下一篇:基于FPGA的AFDX终端系统模块设计

推荐阅读最新更新时间:2024-05-02 23:06

基于CAN总线和MSP430的CO红外检测系统设计
1 引言 一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。CO无论是对工业生产还是人类都造成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规程》规定,井下作业场所的CO浓度应控制在0.002 4%以下。因此,实时、准确地测出井下CO气体浓度,对保障煤矿工业安全生产具有重要意义。 目前检测CO的方法主要有化学法、电化学法、气相色谱法等。这些方法普遍存在价格高、普适性差等问题,且测量精度较低。这里设计一种新的检测系统,选用红外CO传感器和MSP430单片机作为核心信号处理电路,结合数字滤波、温度补偿运算.具有检测浓度范围宽、使用
[单片机]
基于<font color='red'>CAN总线</font>和MSP430的CO红外检测<font color='red'>系统</font>设计
TMS320C6713与DM9000A的接口设计与实现
摘 要: 采用DAVICOM公司的以太网控制芯片和TI公司的TMS320C6713设计了网络通信电路。该设计适用于各种嵌入式设备以及各种信号处理设备中。为各种设备之间的通信提供解决方案。给出了TMS320C6713和DM9000A的接口电路和软件编程实现。 关键词: DSP; 以太网; DM9000A; TCP/IP协议 随着嵌入式技术和网络技术的发展及以太网的广泛应用,各种应用设备的网络化成为未来设备发展的一个重要方向。各种嵌入式设备已经成功渗透到生产生活的各个领域,并逐渐朝着网络化、智能化的方向发展 。以太网因其在实时操作、可靠传输、标准统一等方面的卓越性能及其便于安装、维护简单、不受通信距离限制等优点,已发展成为
[嵌入式]
TMS320C6713与DM9000A的接口设计与实现
亚信推出低功耗AX88772E免驱动USB 2.0转百兆以太网芯片
亚信电子最新推出的AX88772E USB 2.0转百兆以太网控制芯片 ,具有小封装、低功耗和免驱动(Driverless)的特性,不仅满足客户对节能减碳的产品需求,并可轻松实现简便地即插即用(Plug and Play)的连网体验。 亚信电子(ASIX Electronics Corporation)今日推出一款最新小封装、低功耗、免驱动USB百兆以太网芯片—【AX88772E USB 2.0转百兆以太网控制芯片】,不仅满足客户对节能减碳的产品需求,并可轻松实现简便地即插即用(Plug and Play)的连网体验。 AX88772E支持各种先进的电源管理与省电功能,包括电源管理及卸载(ARP & NS)、ECMA
[网络通信]
亚信推出低功耗AX88772E免驱动USB 2.0转百兆<font color='red'>以太网</font>芯片
基于CAN总线的非智能适配卡设计
引言 控制器局域网CAN (Controller Area Network)是目前被批准为国际标准的少数现场总线之一。CAN网络可采用多主方式工作。它采用非破坏性的总线仲裁技术,其信号传输和控制采用短帧结构,因而具有较强的抗干扰能力和低耦合性;CAH网络的通讯速率范围为5 kbs/10 km~lMbs//40m,驱动节点数可达110个。它的传输介质可以是双绞线、同轴电缆或光纤,选择十分灵活;每帧信息都有CRC校验及其它检错措施,因而数据出错率极低,可靠性很高;当其传输的信息出错严重时,节点可自动断开与总线的联系,以使总线上其它的操作不受影响。 虽然目前PCI、USB等总线技术得到了快速发展,但在大量应用的测试微机及工控
[工业控制]
PIC单片机在汽车电动车窗控制器中的应用
  摘 要: 针对汽车控制系统减少线束和较低成本的要求,提出了以集成CAN控制器的PIC18F258单片机为核心设计而成的汽车电动车窗控制系统,给出了系统主要硬件结构和软件设计流程。相对于传统的点对点控制方式,不仅减少了车内的线束、降低了成本,而且控制灵活、实时性强。试验表明,该系统工作正常、性能可靠,具有低成本、低功耗和易于维修等优点。 随着汽车电子技术的发展,越来越多的电子产品装载到汽车上,极大地提高了汽车的动力性和舒适性,同时也增加了车内布线的难度和成本。CAN(Controller Area Network)作为一种串行数据通信总线,由于具有良好的可靠性、实时性及灵活性,已经成为国际标准(ISO11898)
[汽车电子]
PIC单片机在汽车电动车窗控制器中的应用
基于Winsock控件实现PLC网络通信控制
  在工业控制中,用PLC控制的工程在上/下位机通讯上一般采用RS-232/RS-485串口通讯,这种方法对于数据量较大 www.cechina.cn ,通讯距离较远,实时性要求高的控制系统,很难满足通讯需要。   近年来随着计算机网络技术的飞速发展,网络化数控已经成为现代制造业发展的必然趋势, 控制系统正向虚拟化、网络化、集成化、分布化和节点智能化的方向发展。 许多大型PLC厂商生产的PLC都配备了相应的 以太网 通信模块 控制工程网版权所有 ,本文讨论了OMRON PLC的以太网通信体系结构,并以CP1H PLC的ENT2l以太网模块为例实现与计算机的通信。    1. Winsock网络通信控件    Winsock控件 是不
[嵌入式]
STM32中CAN总线接口发送和接收数据
☆ CAN协议基础知识 I2C.SPI总线多用于短距离传输,协议简单,数据量少,主要用于IC之间的通讯,而 CAN 总线则不同,CAN(Controller Area Network) 总线定义了更为优秀的物理层、数据链路层,并且拥有种类丰富、简繁不一的上层协议。与I2C、SPI有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。 CAN物理层的形式主要分为闭环总线及开环总线网络两种,一个适合于高速通讯,一个适合于远距离通讯。CAN闭环通讯网络是一种遵循ISO11898标准的高速、短距离网络,它的
[单片机]
STM32中<font color='red'>CAN总线</font>接口发送和接收数据
基于PIC单片机的CAN总线扩展技术
0 引 言 CAN总线是一种串行多主站局域网总线,被广泛应用于汽车控制系统、自动控制、楼宇自动化、医学设备等各个领域。其传输距离远,最远可达10 km,传输速率高,最高可达1 Mb/s,容错性能好,可靠性能高。但是由于CAN驱动器的驱动能力有限,CAN总线能够驱动的节点数有限,一般在100个左右,同时会随着传输距离的增加,最高传输速率会下降,如果距离过长会引起信号丢失、反射等故障。在实验室条件下测得在5 Kb/s的通信速率下最远通信距离能达到10 km;在18 Kb/s的通信速率下最远通信距离只能达到2 km;而在42 b/s的通信速率下,最远通信距离只能达到1 km。测试条件:线缆采用线径为0.75 mm2的屏蔽双绞线,线
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved