1.前语
在大型企业自动化体系中,在上层企业办理层和出产监控层选用的都是以太网和PC机,而在基层车间现场都是选用现场总线,如RS-485($14.5000)、CAN、lonWorks等,而衔接上下两层的交流一般选用工业操控机加以太网卡再加上PC机插槽上的与现场总线对应的接口卡或并行打印口的EPP接口卡来完结,这种衔接方法本钱高,开发周期长,接口卡成为体系上下两层的通讯瓶颈一旦呈现毛病上下两层的联络就将中止;为此运用廉价的依据单片机的以太网-CAN网桥替代贵重的工控机加接口卡,完结以太网和CAN总线网的直接衔接具有重要含义。
2.体系方案规划
因为体系中有以太网网和CAN总线数据处理,因而需求选用大容量RAM进行暂存网络数据,选用集成有8KRAM和64K Flash的P89C668型高速操控器,如图1所示,体系选用芯片RTL8019进行网络数据收发,选用芯片SJA1000($2.8080)处理CAN总线数据,一起为了便利对转化桥体系调试和进行参数设置(CANID、CAN波特率,以太网物理地址,IP地址,网关地址,子网掩码)和保存,增大体系运用的规模和运用灵活性,体系还扩展串口通讯RS232($780.5000)接口和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($0.2160)后与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地址等参数进行设置;各功用模块由使用办理程序进行监控和办理完结整个体系功用的和谐运转。
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报文则进一步区别是%&&&&&%MP报文(PING指令)仍是TCP报文或UDP报文;
如有以太网数据接纳,则转化成相应CAN帧格局数据并转发至对应地址的CAN节点,一起如有CAN节点发送数据则转化成以太网数据格局并转发至以太网服务器,然后完结以太网与CAN局域网数据彼此转化桥功用。
5.小结
在分布式操控体系中,跟着测控技能与网络技能日益严密的结合,测控体系接入互联网己经成为大势所趋,这也促成了近年来嵌入式网络技能的飞速发展,本文体系地提出了一种CAN总线与以太网互连体系的规划方案,转化器经过CAN总线接口CAN局域网衔接,经过以太网接口与计算机衔接,能够完结牢靠的CAN总线协议与以太网协议的高速数据通讯。