APP下载

单片机与网络的通信应用

2012-08-15天津滨海职业学院胥宝萍

电子世界 2012年8期
关键词:网络通信寄存器以太网

天津滨海职业学院 胥宝萍

1.单片机与网络通信的基本原理

随着网络的普及,人们的生活越来越依赖于网络的应用,从电气设备使用的角度,对网络的应用已经不再局限于计算机和网络的连接。很多信息家电、仪表等对网络的需求也日益明显,单片机应当网络通信应用已经成为一种趋势。从原理上讲,要实现单片机和网络的连接,需要遵循TCP/IP协议,将单片机接入英特网,起到单片机与外界信息交流的作用。从技术细节上看,实现单片机网络化的技术手段是在电子设备中嵌入TCP/IP协议,利用内置的网络接口芯片以及微控制器,来实现对网络数据的输入和输出。

2.单片机网络通信的硬件设计

2.1 系统硬件组成与结构

现在市场上的电器所嵌入的微处理器一般都是8位,因此本文从适应性广泛的角度出发,在进行系统的硬件设计时以8位单片机为基础。从硬件之间的关系上看,单片机的内嵌微处理器要以TCP/IP协议和应用层协议为基础,并且要借助以太网接口芯片和其他电子元件。以太网接口芯片则负责处理本身实现了物理层和数据链路层协议,通过数据接口(如RJ45型接口)与网络进行通信。由此可以得出单片机和网络之间实现通信的硬件组成和流程结构为:单片机→以太网接口芯片→数据接口→集线器→网络。当然,箭头的流程顺序也可以反过来,从而实现网络和单片机之间的数据交换。

2.2 硬件选型

(1)单片机选型

为了提高单片机网络应用的效率,应当选用性能更为优良的高性能单片机,如AT90系列、W78E系列、P89C51系列等,本文所选用的的单片机型号为Winbond公司生产的W78E16B型单片机。

(2)网络接口芯片选型

以太网控制器是网络接口的核心部件,在单片机网络通信系统中的作用是实现和网络的连通。以太网控制器之间的差异主要体现在集成度上,有的以太网控制器既集成了MAC层和物理层接口,而有的以太网控制器只具备物理层接口。具体选用那种类型的以太网控制器取决于设计时的具体需要,一般选用对物理层和MAC层都集成的芯片。本文中所采用的以太网控制芯片型号为Realtek公司生产的的RTL8019AS,该款芯片的集成度较高,具有全双工通信接口,可以支持对PNP的自动探测功能。

3.单片机网络通信的软件实现

3.1 网络协议的处理

单片机实现网络应用除了对硬件方面有要求外,软件方面同样有相应的要求,主要体现对如何让单片机应用TCP/IP协议。从原理上讲,在采用OSI七层参考模型时,物理层和数据链路层的协议由以太网控制芯片RTL8019AS来实现。而系统的网络层面既要实现IP协议也要实现ICMP协议,这两类协议所负责的内容有所不同,由于所采用系统的不同而工作重点也有差异。在本文中是以web server为背景,对数据的可靠性要求较高,因此重点是处理TCP协议的实现问题。由于单片机本身容量和处理能力有限,需要对TCP/IP协议进行必要的简化。结合本文的具体情况,以以太网控制芯片为出发点的系统协议分为两个分支:(1)以太网控制芯片(RTL8019AS)→IP→TCP(UDP)→HTTP;(2)太网控制芯片(RTL8019AS)→ICMP→ping。web server的应用流程相对较为复杂,可参照有关文献,在此不再赘述。

3.2 RTL8019AS的驱动设计

前文已经对以太网的接口芯片进行选型,为RTL8019AS。在进行驱动设计时需要以该款芯片的具体构造为基础来进行。RTL8019AS的SRAM为16KB,并可分为64个存储页面。在对SRAM进行初始化时,需要处理接受数据包和发送数据包两个部分,先分别进行讨论。SRAM的初始化是比较复杂的过程,初始化的内容包括:(1)复位寄存器的初始化;(2)配置寄存器的初始化;(3)接收缓冲区的初始化;(4)接收缓冲区边界寄存器的初始化;(5)接收缓冲区当前页面寄存器的初始化;(6)发送缓冲区的初始化;(7)接收配置寄存器的初始化;(8)发送配置寄存器的初始化;(9)数据配置寄存器的初始化;(10)设置以太网接口的物理地址。以上各个部分都需要做处理,具体的操作代码较为繁杂,不在此详述,可参照有关文献。

4.TCP/IP协议的简化

TCP/IP协议是一组完整的协议族,协议中各层分别为链路层、网络层、传输层和应用层。由于单片机的资源有限,要在8位单片机上实现TCP/IP协议,就必须做一定的简化,否则在嵌入式系统中无法实现。在本文中根据web server应用的特点,对TCP/IP协议简化后各层的要实现的协议分别为:(1)应用层HTTP协议;(2)传输层TCP协议和UDP协议;(3)网络层IP协议、ARP协议和ICMP协议。本文在编写协议时在单片机keil编译器上进行。

5.单片机web server的实现途径探讨

在当前的网络应用中的主流是Internet,但Internet网络是主要针对具有较高处理性能32以上的微处理器而设计的,因此要以8位单片机来是实现web server的应用是有困难的。但从目前智能家电的普及和嵌入式单片机性能的提高,基于单片机的web server应用已经成为研究的方向之一,本节将就此进行初步的探讨。

单片机的web server实现原理为在单片机EEPROM中存储网页信息,单片机应用系统通过Internet来实现远程客户端的访问,在经过解析后发送网页数据,并以浏览器的形式展示网页内容。在细节上需要处理以下两个方面的内容一是HTTP协议,二是系统的实时控制。

HTTP协议的实现是以数据包的处理为基础的,即系统需要处理有客户机发送的含HTTP请求的数据包,通过对数据请求内容的判断来做系统处理。其步骤为:(1)通过端口接受和存储远程数据包;(2)对数据包进行解析;(3)以数据解析结果为基础,把数据存储到存储区并打包,并向客户机发送数据包;(4)一次数据接受和发送后关闭连接,等待下一次数据请求。

系统的实时控制模式取决于对数据包的解析要求,以及所提供的服务内容。不同的功能设定会有不同的系统实时控制模式,通过编写具体的控制程序可以实现不同的服务内容。显然,系统能够提供的服务内容会受到系统资源的限制,这也是利用单片机实现web server应用的最大瓶颈所在。但随着单片机性能的提高,系统能够提供的服务内容将越来越多,因此是值得深入研究的一个方向。

6.结语

本文的研究内容为单片机和网络之间通信的实施方案,并给出了一种可行的系统结构。在硬件选型上采用较为主流的以太网芯片和8位单片机,在对TCP/IP协议进行必要的简化后实现单片机的网络通信。最后探讨了利用单片机实现嵌入式web server应用的途径。在未来的研究中,需要深入研究的问题是实现了单片机网络通信后安全问题。因为单片机网络通信实现的原理并不复杂,要实现对单片机系统的远程恶意控制的技术难度也不大。这是目前单片机网络应用中的一个大问题,是值得深入研究的。

[1]Realtek Semiconductor CO.LTD.Realtek Full-Duplex Ethernet Controller with Plug and Play function,2005.

[2]王峰等.嵌入式internet技术及其实现方案[J].微计算机信息,2010(12).

猜你喜欢

网络通信寄存器以太网
STM32和51单片机寄存器映射原理异同分析
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
Lite寄存器模型的设计与实现
基于网络通信的智能照明系统设计
网络通信中信息隐藏技术的应用
基于网络通信的校园智能音箱设计
谈计算机网络通信常见问题及技术发展
谈实时以太网EtherCAT技术在变电站自动化中的应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用