在电路的硬件系统组成中,注意以下几点:
(1)单片机与网卡芯片的接口电路
AT90S8515单片机所提供的8位数据总线PA0~PA7分别对应连接网卡的SD0~SD7引脚;5根地址线PC0~PC4对应连接网卡的SA0~SA4引脚;读信号线RD、写信号线WR与RTL8019AS的相应信号线连接[1]。复位通过PB0控制,PB1片选地址使能[2]。外接时钟电路单片机为8 MHz,网卡芯片为20 MHz。
(2)存储器扩展电路
一般单片机片内数据存储器容量为64 KB,这样的存储空间在进行单片机Web应用系统的开发时显得过小。因此需要扩展数据存储器,扩展容量随系统数据使用量而定。对于Web应用,需要很大的存储空间存放网页等数据,所以本系统采用静态RAM HM62256芯片作为存储器扩展电路。
(3)RTL8019AS工作方式
RTL8019AS有3种工作方式:跳线方式、即插即用方式和RT免跳线方式[1]。在嵌入式应用场合,为了降低系统的复杂性,单片机尽量少接不必要的芯片。所以将RTL8019AS选择工作在跳线方式。其IOCS16B引脚接下拉电阻,JP引脚端接高电平。
(4)MAX232串口电平转换电路
在现场控制端,由于单片机输出为TTL电平,现场数据采集系统(如传感器)输出为EIA电平,而MAX232芯片可以完成单片机和现场数据采集系统间的双向电平转换[3]。
(5)网络隔离滤波接口电路
在网络接入端需要一个网络隔离滤波器HR901170A。HR901170A主要对系统电路起保护作用,减少信号共模干扰,完成信号的传输。HR901170A的内部集成了RJ45接口,可以直接接入到Internet。
2 嵌入式Internet的TCP/IP协议实现
2.1 嵌入式TCP/IP协议
软件编程是实现嵌入式Web系统的关键。Web通信中的数据封装、解析都是由单片机软件实现的。软件实现主要包括两部分:一是单片机精简TCP/IP协议栈的实现,对数据的逐层打包、封帧、传送等流程[2];二是单片机Web应用服务的实现。
由单片机组成的嵌入式Web往往应用于特殊的、专用的领域,一般不需要太多的功能,这与PC机上的网络应用有很大的不同。支持PC机进行Internet通信的TCP/IP协议是一个非常庞大的协议簇。而单片机芯片没有足够的空间资源,所以从嵌入式网络应用和单片机空间资源两个方面考虑,都没有必要在单片机上实现完整的TCP/IP协议。目前市场上没有统一的标准的实现嵌入式Internet的TCP/IP协议软件,需要开发人员根据具体应用的需要去开发一套适用于单片机的嵌入式TCP/IP协议,工作量异常庞大,开发周期较长。一种比较简单和易实现的做法是使用由瑞士计算机科学院的Adam Dunkels等开发的免费公开源代码的小型TCP/IP协议,即uIP协议栈,它专门为8位和16位单片机编写。uIP的代码大小为3 304 B,对单片机RAM的需求为360 B,远远小于TCP/IP协议对资源的要求。有关uIP详述和应用例程可见参考文献[4]。