联通需被掌握的打算机,将被控打算机的桌面环境显示到自己的打算机上,通过本地打算机对远方打算机进行配置、软件安装程序、修正等事情。远程唤醒(WOL),即通过局域网络实现远程开机。
CAN是掌握器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品着称的德国BOSCH公司开拓了的,并终极成为国际标准(ISO118?8)。
是国际上运用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车打算机掌握系统和嵌入式工业掌握局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机器车辆设计的J1939协议。
近年来,其所具有的高可靠性和良好的缺点检测能力受到重视,被广泛运用于汽车打算机掌握系统和环境温度恶劣、电磁辐射强和振动大的工业环境。
CAN与以太网采取的网络协议,为打算机网络中进行数据交流而建立的规则、标准或约定的凑集。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。
为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。
当然,对付不相容终端,除了需变换字符集字符外。其他特性,如显示格式、行长、行数、屏幕滚动办法等也需作相应的变换。
1
网关的硬件设计
1.1
系统硬件构造
该系统的硬件部分紧张由ARM、以太网接口、CAN接口、高速存储器、JTAG口、复位电路和电源等组成,其系统硬件构造如图1所示。
ARM移植TCP/IP通信协议和CAN协议,可完成以太网协议和CAN总线协议转换,实现以太网接口和CAN接口通信数据的透明传输。
以太网(Ethernet)指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开拓的基带局域网规范,是当今现有局域网采取的最通用的通信协议标准。
以太网络利用CSMA/CD(载波监听多路访问及冲突检测)技能,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802·3系列标准相类似。
1.2
主掌握器的选择
微处理器选用PhiIips公司ARM7TDMI内核的32位微掌握器LPC2294,与一样平常单片机比较,LPC2294可嵌入操作系统。
LPC2294内嵌256 KB的高速FLASH存储器和16 KB的静态RAM,多个外部中断和串行口,LPC2294内部还集成了CAN掌握器,只要加上CAN总线收发器就可以构成CAN节点,从而大大简化了硬件电路。
微处理器用一片或少数几片大规模集成电路组成的中心处理器。这些电路实行掌握部件和算术逻辑部件的功能。微处理器与传统的中心处理器比较,具有体积小,重量轻和随意马虎模块化等优点。
微处理器的基本组成部分有:寄存器堆、运算器、时序掌握电路,以及数据和地址总线。微处理器能完成取指令、实行指令,以及与外界存储器和逻辑部件交流信息等操作,是微型打算机的运算掌握部分。它可与存储器和外围电路芯片组成微型打算机。
自从人类1947年发明晶体管以来,50多年间半导体技能经历了硅晶体管、集成电路、超大规模集成电路、甚大规模集成电路等几代,发展速率之快是其他家当所没有的。
半导体技能对全体社会产生了广泛的影响,因此被称为“家当的种子”。中心处理器是指打算机内部对数据进行处理并对处理过程进行掌握的部件,伴随着大规模集成电路技能的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上。
1.3
系统电源电路和复位电路
在该设计中,须要利用5 V,3.3 V和1.8 V的直流稳压电源。个中,5 V电源由LM317L三端可调稳压器产生;3.3 V和l_8 V电源由可调节输出电压的SPXlll7产生。
系统复位电路的可靠性对全体系统的稳定起着非常主要的浸染。在复位电路中采取了电压监控芯片TPS383K33,它是10 ms或200。ms可选的上电复位发生器,具有防按键抖动的手动复位输入功能,许可组成多个IC的菊花链电压监控等。
复位电路如图2所示,图2中,nRST连接到LPC2294的复位脚RESET;nTRST接以太网掌握器ENC28J60的复位引脚。
1.4
CAN总线接口
CAN总线接口由LPC2294和CAN总线收发器等构成。这里采取带隔离的高速cAN收发器CTMl050T,其紧张功能是将CAN掌握器的逻辑电平转换为CAN总线的差分电平,并且具有(DC2500V)隔离功能、ESD保护功能及TVS管防总线过压功能,其内带隔离器,可减少外部干系电路的设计。
CAN总线接口电路如图3所示。CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH真个状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。
这就担保不会在涌如今RS-485网络中的征象,即当系统有缺点,涌现多节点同时向总线发送数据时,导致总线呈现短路,从而破坏某些节点的征象。
而且CAN节点在缺点严重的情形下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而担保不会涌征象在网络中,因个别节点涌现问题,使得总线处于“去世锁”状态。
而且,CAN具有的完善的通信协议可由CAN掌握器芯片及其接口芯片来实现,从而大大降落系统开拓难度,缩短了开拓周期,这些是仅有电气协议的RS-485所无法比拟的。
1.5
以太网接口
在系统设计中,采取ENC28J60作为网络接口芯片。ENC28J60是美国微芯科技公司推出的28引脚独立以太网掌握器,内置以太网物理层器件(PHY)及介质访问掌握器(MAC),可按以太网协议可靠地收发信息包数据。
其余,它还具有可编程8 KB双端口SRAM缓冲器,数据传输速率高达10 Mb/s。ENC28J60具有多种集成功能,如CRC校验、可编程过滤、可自动评价、吸收或拒收多种信息包、数据滤波等功能,能高效率地进行信息包的存储、检索和修正,可减轻主控微处理器的内存负荷。
ENC28J60采取标准的SPI串行接口,只需4条连线即可实现与微处理器相连,而且它只有28个引脚,可以大大简化干系设计,减小空间。
网络插座采取RJ45插座HR911102A,其内置网络变压器、状态显示灯和电阻网络,具有旗子暗记耦合电气隔离、阻抗匹配、抑制滋扰等特点,可提高系统抗滋扰能力和收发的稳定性。
以太网接口电路如图4所示,图4中ENC28J60的2个中断引脚INT和WOL分别接LPC2294的EINTl,EINT2;ENC28J60的SPI脚SO,SI,SCK,CS分别接LPC2294的脚MISO1,MISll,SCKl,CSl,2个专用的引脚(LEDA,LEDB)用于连接HR911102A的LEDG,LEDY,进行网络活动状态指示。
1.6
外扩存储器接口
由于LPC2294内部只有16 KB的RAM,不能知足以太网数据存储的空间哀求,该设计扩展了256 KB的外部存储器,选用RAMTRON公司的存储器芯片FM25256。
FM25256是采取前辈的铁电技能制造的非易失落性存储器,具有比其他非易失落性存储器高得多的读写操作次数,可以承受超过一万亿次的读写操作。存储器接口电路如图5所示。
图5中FM25256的SPI脚SO,SI,SCK,CS分别与LPC2294的MISOO,MISl0,SCK0,CS2脚相连。写保护引脚WP与LPC2294的P2.21相连。FM25256紧张用来存储以太网数据。
2
网关软件设计
网关的软件设计采取嵌入式操作系统μC/OS-Ⅱ,它具有较小的内核构造,开拓本钱小,实行效率高,移植也随意马虎。初始化文件通过JTAG下载到网关并保存在FLASH中。
2.1
CAN通信软件设计
该设计的关键是编写CAN驱动程序,主程序通过调用CAN驱动程序实现接口数据的收发,驱动程序包括CAN掌握器的初始化、吸收数据、发送数据和总线非常处理。
2.1.1 CAN掌握器的初始化
初始化操作包括硬件使能CAN、软件复位、设备报警界线、设置总线波特率、设置中断事情办法、设置CAN验收过滤器事情办法、设置掌握器的事情模式和启动CAN等。
LPC2294片内外设与引脚的连接由引脚连接模块掌握。CAN掌握器的硬件使能便是通过软件设备GPIO寄存器来掌握多路开关,将特定的引脚与CAN掌握器连接起来。
2.1.2 数据的吸收与发送
LPC2294的每个CAN掌握器中有3个发送缓冲区,发送数据时先查询CANSR寄存器是否空闲,若空闲才能写入数据,然后判断报文的类型,根据报文类型调用相应的发送函数,即对数据进行封装并写入发送缓冲区,末了调用发送命令。
为了提高效率,吸收数据采取中断办法,首先在CANopen的初始化程序中要使能吸收中断,当有中断发生,读取CANICR寄存器,判断吸收中断标志是否置位。
2.1.3 非常处理
在总线发生严重故障的情形下,CAN节点分开总线,此时下述寄存器位被置位为CANSR的BS位、CANIR的BEI位和EI位(如果使能)和CAN-MOD的RM位。
RM将许多CAN掌握器功能复位和禁止。软件下一步必须置零RM位。发送缺点计数器将递减计数总线开释条件(11个连续的隐性位)的第128个缺点。
2.2
以太网通信软件设计
2.2.1 ENC28J60的初始化
LPC2294。对ENC28J60的各种操作均通过SPI接口进行,包括寄存器的设置、数据的发送和吸收。LPC2294的SPI事情在主动办法,即ENC28J60的SPI时钟旗子暗记由LPC2294供应。
2.2.2 TCP/IP协议
该设计采取嵌入式系统中广泛运用的LwIP协议栈。LwIP TCP/IP实现的特点是在保持协议紧张功能的根本上减少对RAM的占用,这使协议栈LwIP适宜在低端嵌入式系统中利用。
LwIP协议栈运用到的协议有ARP,IP,IcMP,TCP,UDP,其具有滑动窗口、拥塞掌握和吸收分片的分组功能。在LwIP中可以有多个网络接口,每个网络接口都对应一个strut netif()。
netif包含了相应网络接口的属性、收发函数。采纳调用netif的方法netif→inpln()及netif→output()进行以太网PACket的收、发等操作。
2.3
以太网/CAN双向协议转换
全体设计中最为关键的便是CAN协议与TCP/IP协议的相互转换。协议转换流程图如图6所示。
其详细过程如下:当网关吸收到数据,首先判断数据类型,如果是从CAN接口吸收CAN协议报文,便分离出数据部分,再将报文数据部分按系统规定的运用层格式进行封装,然后将运用层数据存入以太网接口发送缓冲区,由该接口在数据前面依次添加TCP或UDP头、IP头、以太帧头,末了封装成以太帧后,通过以太网接口发往以太网。
若吸收到的以太网数据,数据转换过程相反,依次去掉IP头、TCP或UDP头和运用层头,再将运用层数据按CAN报文格式封装好后存入CAN接口发送缓冲区,由CAN接口发往CAN网络中相应设备。若运用层数据长度大于8 B,则还需将数据以8 B为一组进行拆分。
3
结 语
符合IEEE802.3协议的ENC28J60不仅能供应以太网通信的相应功能,而且体积小,能够简化设计,可以设计出较小的嵌入式网关。
用上述方法构建的通信网关可实现以太网与CAN总线之间的协议转换,为以太网与CAN总线网络的互联供应了一种传输速率快,本钱低,稳定性和安全性高的办理方案。
【如果你喜好EDA365的文章,记得关注和点赞哦!】