CAN总线的嵌入式Web服务器设计
AUI引脚决定使用AUI还是BNC接口。高电平时使用AUI接口,低电平时使用BNC接口,支持8线双绞线或同轴电缆。本设计中采用双绞线为通信介质,将该引脚接地。
RTL8019AS使用引脚TPIN+、TPIN-、TPOUT+和TPOUT-连接耦合隔离滤波器HR61101G,利用RJ45插头实现与以太网的连接。
SJA1000是独立的CAN通信控制器,支持CAN2.0B协议,其工作频率为6~24MHz。它的AD0~AD7为地址数据复用线,与SX52的D口RD0~RD
7相连。当远端用户通过Web服务器查询现场的CAN总线数据时,SJA1000负责将现场控制单元的CAN总线数据解析,发送到SX52,再传到网上。
PCA82C250是CAN协议控制和物理总线的接口,它对总线提供发送能力,并对CAN控制器提供接收能力,它支持1Mbps速度。为保证SX52与SJA1000协同工作,在硬件设计中们将两个芯片共同一个硬件复位线,确保SX52与SJA1000硬件同步复位。(凹丫丫范文网fanwen.oyaya.net收集整理)
AT24C256是I2C总线的EEPROM,通常可以用来存储用户的一些设置,比如IP地址、网关等。在本设计用它存储静态网页。SCL接SX52的RA4脚,SDA接SX52的RA5脚。
MAX232CPE完成232电平与TTL电平转换,提供一个本地接口,为调试和维护提供方便。TXD接SX52的RA5脚。
MAX232CPE完成232电平与TTL电平转换,提供一个本地接口,为调试和维护提供方便。TXD接SX52的RA2脚,RXD接SX52的RA3脚,RS-RXD和RS-TXD是RS232电平,为标准串口电平。数据可以从串口输入到单片机SX52,SX52再把数据送到RTL8019AS传出去。
2 嵌入式Web服务器软件设计与实现
2.1 以太网接口驱动程序的实现
要将嵌入式Web服务器接入以太网,就要对RTL8019AS进行编程,完成以太网帧的数据收发,相当于实现PC机中网卡的驱动程序功能。以太网控制器驱动程序用于设置RTL8019AS的工作状态和工作方式,分配收发数据的缓冲区,通过对地址及数据口的读写来完成以太网帧的接收与发送。首先要对RTL8019AS进行复位,并将其设置为跳线模式;然后对RTL8019AS的工作参数进行设置,以使其开始工作;接下来就读写RTL8019AS的RAM以完成数据包的接收和发送。程序流程如图3所示。
2.2 嵌入式Web服务器TCP/IP协议栈的实现
TCP/IP协议栈是SX虚拟外设的一个重要实现,是基于SX处理器的应用系统与Internet实现互联的基础。通过这些协议栈,可以更加方便地开发基于Internet的嵌入式应用系统。
以太网数据的传输是采用MAC地址来识别的,而ARP协议提供IP地址和数据链路层使用MAC地址之间的转换功能。为了保证系统在太网的通信,首先要实现ARP协议。由于嵌入式Web服务器要能在Internet上通信,在网络层一定要实现IP协议,还要实现能报告数据传送差错等情况的ICMP协议。在应用层,主要实现远端主机通过浏览器的访问控制方式,所以要实现HTTP协议;而HTTP协议是基于TCP协议实现传输的,加上TCP协议是面向可靠的数据流的传输,基于应用的需要对可靠性的要求,在传输层采用TCP协议,并对TCP协议进行了简化处理,主要针对HTTP协议开发TCP协议。
图4为TCP/IP协议栈主流程图。系统初始化后,进入主程序循环部分。主程序循环包括两大部分:对接收到的以太网数据帧进行解包和对欲发送的数据进行封装并发送。对接收到的以太网数据帧进行解包,供应用程序使用;对欲发送的数据进行打包,将数据以以太网数据帧的格式发送出去,使采用TCP/IP协议的以太网内所有计算机能收到此数据帧。
图4
2.3 嵌入式Web服务器应用程序的实现
工业现场数据经嵌入式Web服务器上传到以太网才能被用户利用,因此网络用户和Web服务器之间通信程序的开发也是本课题中很重要的一部分。课题中嵌入式Web服务器实现的功能主要是现场实时数据发布功
《CAN总线的嵌入式Web服务器设计(第2页)》