摘 要:提出一种基于ARM7芯片LPC2294微处理器和以太网控制器ENC28J60的以太网/CAN网关设计方案,阐述以太网/CAN协议转换的硬件设计,以及相关接口通信软件设计。通过该网关可以实现CAN总线与基于IP/TCP协议的以太网之间的双向通信。
关键词:嵌入式网关;不起CAN总线;以太网;ARM
0 引 言
随着Internet的普及,实现智能家居远程控制不再是人们的梦想,其完全成为可能,然而实现这个梦想需要花费高额代价,智能家居迄今仍不能普及,因此设计一款性价比好的家庭控制器很有必要。CAN总线采用非破坏仲裁技术,短帧结构和数据出错率极低,可以满足控制系统安全性、可靠性、快捷性的要求。目前以太网以成本低,通信速度快,兼容性和互操作性好,资源共享能力强等特点已成为目前最流行的因特网接入方案之一,因此采用CAN总线组建家庭内部网络,再通过网关与外部以太网相连实现对家居电器设备的远程控制,实现CAN网络与以太网的结合,已成为家居发展的趋势。CAN与以太网采用的网络协议,要确保两种网络之间高效无缝地连接网关是问题的关键。在此设计一种基于ENC28J60的高性能嵌入式以太网/CAN网关。
1 网关的硬件设计
1.1 系统硬件结构
该系统的硬件部分主要由ARM、以太网接口、CAN接口、高速存储器、JTAG口、复位电路和电源等组成,其系统硬件结构如图1所示。ARM负责对以太网接口芯片和CAN接口芯片进行控制。ARM移植TCP/IP通信协议和CAN协议,可完成以太网协议和CAN总线协议转换,实现以太网接口和CAN接口通信数据的透明传输。JTAG口主要用来下载程序,进行系统仿真调试。键盘、LCD显示用来实现人机交换。
1.2 主控制器的选择
微处理器选用PhiIips公司ARM7TDMI内核的32位微控制器LPC2294,与一般单片机相比,LPC2294可嵌入操作系统。LPC2294内嵌256 KB的高速FLASH存储器和16 KB的静态RAM,多个外部中断和串行口,LPC2294内部还集成了CAN控制器,只要加上CAN总线收发器就可以构成CAN节点,从而大大简化了硬件电路。同时,由于LPC2294具有多路CAN,因此还可以把系统设计成冗余结构,以提高系统的可靠性。LPC2294还支持JTAG实时仿真和跟踪,并具有128位宽度的存储器接口和独特的加速结构,它能够使32位代码在高达60 MHz的操作频率下运行。
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的复位引脚。当复位开关SW按下时,TPS383K33输出复位信号,引脚REST输出低电平,导致两路74HCl25(三态门负逻辑控制)导通,信号nRST和nTRST输出低电平使系统复位。在系统正常运行情况下,TPS383K33的引脚REST输出高电平,两路74HCl25截止,上拉电阻R1,R2将信号nRST和nTRST上拉为高电平。