CAN总线的嵌入式Web服务器设计
关键词:嵌入式Web服务器 嵌入式Internet TCP/IP协议 CAN总线
引言
嵌入式系统指被嵌入到各种产品或工程应用中的,以微处理器或微控制器为核心的软硬件系统。嵌入式系统与Internet技术相结合,形成的嵌入式Internet技术是近几年随着计算机网络技术的普及而发展起来的一项新兴技术。它通过现有嵌入式系统,增加因特网接入能力来扩展其功能,创造性地提出以低价位单片机作为微处理器,使嵌入式设备而非PC系统直接接入Internet。在本文中,采用Ubicom公司的SX52单片机外接以太网控制芯片RTL8019AS实现嵌入式Web服务器硬件结构和软件功能。传统的基于DCS结构工控系统向嵌入式Web结构转移,可有效降低成本,这是因为没有必要开发专有的GUI,还可以方便最终用户,并改善故障检测和设备维护的远程访问能力。
图1
1 嵌入式Web服务器硬件设计与实现
通常嵌入式系统硬件包括微控制器、存储器外设器件和I/O端口等,其核心是嵌入式微控制器。为适应上网需求,嵌入式微控制器不仅要能执行传统的控制功能,还要能执行与连接因特网相关的功能,而Ubicom公司的SX52芯片能比较容易地实现TCP/IP协议,所以我们选择它作为微控制器。
实现嵌入式设备接入Internet,从原则上来讲最关键的就是要实现TCP/IP协议,还有一人关键的问题就是传输信息媒质的选择。我们采用最常用的连接模式,即通过以太网连接Internet,利用网络接口控制器来实现数据链路层协议。嵌入式系统应用最广泛的网络驱动芯片就是NE2000兼容系列网络芯片,它具有接口方便、驱动简单、占用资源少等优点,特别适合嵌入式系统。我们选用其中性能较了,供货比较稳定的RTL8019AS芯片。嵌入式Web服务器硬件结构框图如图1所示。
嵌入式Web服务器用SX52微控制器作为处理器,以太网驱动芯片RTL8019AS经耦合隔离滤波器HR61101G和RJ45接口接入以太网,配有RS232和CAN总线两个扩展接口,可以将具有RS232接口的设备或采用CAN总线协议通信的设备连到以太网上。RS232接口采用MAX232CPE芯片,CAN总线控制器采用Philips公司的SJA1000芯片,CAN收发器则采用了Philips公司的PCA82C250。
数据的流向为:请求和控制信息从局域网中来,通过RJ45送到RTL8019AS,RTL8019AS负责将以太网帧的首部和尾部信息剥离,将处理后的数据包送入SX52的TCP/IP协议栈,由协议栈对数据报进行解析,得到原始的请求和控制信息。请求和控制信息再经过SJA1000进行CAN协议格式的数据封装,再和现场的CAN总线设备进行通信。请求和控制的回复领先局域网的过程与上面正好相反。图2为Web服务器主要芯片连接电路简图。
SX52有5个I/O口,共40个引脚。在设计中,利用SX52的C口的RC0~RC7连接RTL8019AS的数据口SD0~SD7;SX52的B口兼顾选址和读写控制功能,在开发中用它与RTL8019AS的地址及读写控制引脚连接。在确保通信功能顺利实现的同时,充分利用了SX52芯片I/O口灵活配置的特点,最大程序地节约了微控制器SX52的硬件资源。
图2
RTL8019AS基地址选择引脚IOS0~IOS3接地,此时I/O基地址为300H,即0011 00000 000,所以地址线SA9、SA8接+5V。因为寄存器地址偏移量为00H~1FH共32个,对应地址从300H到31FH,所以只需将地址线SA0~SA4接SX52的RB0~RB4,其余地址线接地即可。芯片IORB、IOWB引脚为读写信号线,接SX52的RB6、RB5读写控制引脚。
RTL8019AS可以兼容8位和16位操作。图2中IOCS16是16位I/O的选择脚。当RTL8019AS上电复位的时候,如果这个脚为低电平,RTL8019AS将选择8位模式;如果这个脚为高电平,RTL8019AS将选择16位的模式。由于SX52是8位的数据总线,因此要用8位总线模式(每次读入或写入1个字节,只需8根数据线SD0~SD7),所以将这个脚接地。
RTL8019AS有3种工作方式:第一种为跳线方式,芯片的I/O和中断由跳线决定;第二种即插即用方式,由软件进行自动配置;第三种为免跳线方式,芯片的I/O和中断由外接的93C46里的内容决定。常用网卡上的RTL8019AS一般只支持第二种和第三种
《CAN总线的嵌入式Web服务器设计》