杨亚丽,柴小东
(黄河科技学院,郑州,450063)
基于IPV6的新型检测装置的设计
杨亚丽,柴小东
(黄河科技学院,郑州,450063)
IPV6在网络通讯,资源共享等多方面比IPV4具有更多的优点。当前大部分检测设备中的通讯的实现仍然是以IPV4为基础,严重地阻碍了下一代互联网的发展,也不利于控制系统的研究。基于IPV6的检测装置的设计,采用80C51系列的单片机控制系统实现数据的采集,用网卡芯片RTL8019AS实现数据传输到互联网上。采用生成代码效率高的单片机C语言完成程序的代码开发,对工业控制系统及下一代互联网的发展有重要的意义。
IPV6;RTL8019AS;80C51;检测
IPv6是因特网互联协议第六版。IPV6的提出,主要是解决当前因特网使的IPV4中IP地址不足的问题。由于目前因特网使用的IP地址为32位,即4个字节,总计有232个地址。随着联网用户的增多,每个联网的主机都需要一个IP地址进行网卡通讯,致使IP地址的数目不足以满足更多用户的使用。因此互联网机构才提出为IPV6,以满足用户联网的需求。
2.1系统总体框图
系统的整体原理框。整个系统主要由AD转换模块、存储器模块和网络接口模块构成。
2.2主要芯片选择和硬件电路设计
2.2.1芯片选择
(1)单片机。单片机选用80C51系列的单片机。该系列单片机的程序存储器和片外数据寄存器寻址空间为64KB。内部程序存储器为4K×8位的ROM,用来存放系统程序、用户的专用程序和固定常数。该系列单片机具有4个串行I/O接口和8个并行I/ O接口。12个串、并I/O接口可完成地址信号和数据信号的输入及输出,同时,如果需要对外部I/O接口进行扩展,也可进行相应的扩展。4个串行I/O接口还支持全双工通信方式,可同时对数据进行发送和接收。该系列单片机具有2级中断优先级,一次可以同时接受5个外部中断源的中断请求,然后根据中断优先级,对优先级高的中断请求进行优先响应。整个中断系统的中断优先级可以由用户自己定义。该系列单片机内部有两个定时器/计数器,计数长度由8位扩展为16位,并且可以工作在4种不同的方式下,使用户使用起来非常方便。
(2)A/D转换芯片。A/D转换芯片主要用于模拟信号和数字信号的转换,考虑到本系统的硬件电路设计,故选用AD574芯片。该芯片是快速型12位逐次逼近式A/D转换器,其最大的优点就是不需要外接器件就可以进行模拟信号向数字信号的转换。AD574芯片进行模拟信号向数字信号转换的时间为15~35μs,其不仅支持12位的一次并行输出,又支持两次输出,一次输出8位,一次输出4位。
(3)数据锁存器及数据、程序存储器。80C51系列单片机为8位机,有8根数据线,16根地址线,寻址空间范围可达64KB。P0口作为地址总线和数据总线分时复用,因此必须加地址数据锁存器74LS373,以便单片机实现地址总线和数据总线的分时复用。80C51系列的单片机内部的ROM为2/4KB,而数据存储器为128B/256B,考虑到此系统的程序和数据比较大,所以必须进行程序和数据寄存器的扩展。用27512进行程序寄存器的扩展,用62256进行数据寄存器的扩展。27512为64KB×8位的EPROM,而62256为32KB×8位的SRAM。
(4)网络接口芯片。本检测装置需要将获取的数据通过网络接口上传到网络中,因此需要设计网络接口电路以实现传输控制协议/网际协议(TCP/IP)的物理层。对网络接口芯片的选择,考虑到系统本身的需要,以及当前网络接口芯片的发展,选用Realtek公司的RTL8019AS芯片。
RTL8019AS芯片内部有一个16K字节的静态随机读写存储器,可以对收到的数据,或者将要发送的数据进行暂时的缓存,以降低对主处理器的速度要求,防止因主处理器的速度过高,而造成数据的丢失。另外,其地址线宽度为16位,寻址能力达到64K。
2.2.2硬件电路设计
(1)AD574与80C51的硬件电路设计。AD574与80C51的接口电路图中的AD574芯片的数据输出采用两次输出方式,其12位数据中的高8位数据接口DB4~DB11与单片机的P0.0~P0.7接口相接,低4位的数据接口DB0~DB3与单片机的P0.0~P0.3接口相接,即AD574的12位数据输出,直接输出到数据总线上。当AD574的接口状态时,开始进行模拟信号向数字信号的转换,数据总线上将输出12位数据信号,单片机开始进行写操作,将12位数据写到外部存储器中。单片机的P1.0接口号AD574的STS接口相连,其主要作用是让单片机查询AD574是否完成数据转换。单片机在写数据前,需要查询数据转换是否完成。当STS=1时表明转换正在进行,当STS=0时表明转换已经完成,单片机可进行写操作。因AD574的12位转换速度很快,所以使用查询方式。之后8051执行两条外部数据存储器指令,进行写操作。在进行写操作时,单片机先读取AD574第一次输出的高8位数据,然后再读取第二次输出低4位数据,其接口状态为。
(2)存储器、网络芯片与80C51的硬件电路设计。74LS373、27512和62256与80C51的硬件电路图。其中93C46芯片是串行电可擦写EPROM,用来初始化RTL8019AS。
存储器62256芯片的数据接口D0~D7与单片机的P0.0~P0.7口相接,可以实现单片机对外部存储器数据的读、写操作。为读使能信号接口,与单片机的接口相接,对读操作进行控制。为写使能信号接口,与单片机的接口相接,对写操作进行控制。62256芯片有15根地址线,其中高7位与单片机相连,低8位与74LS373相接。
RTL8019AS的SD0~SD7口与27512的D0~D7口相连,与单片机的P0.0~P0.7相连。LPF为滤波器,网络芯片输出的数据经过滤波后,输出上传到互联网络中。
软件部分主要包括80C51芯片、RTL8019AS芯片和的AD574芯片的初始化,数据存储,从RAM中读数据到RTL8019AS的BUFF中,以及IPV6数据包的发送等几部分。检测装置的整个系统程序流程图。
程序开始先对单片机、网络接口模块以及AD574进行初始化,然后启动A/D转换,将检测到的模拟信号转换成数字信号,并将数据存储到外部存储器中。下一步,将外部存储器中的数据读出,送给网络接口芯片,网络接口芯片将收到的数据封装成IPV6数据包,并进行发送。数据包发送完毕后,进入返回状态,进行下一个数据的采集转换。
在整个系统的程序中,关于发送数据包的部分程序如下:
reg04=0x40;
reg06=count>>8;
reg05=count&0xff;
reg00=0x3e;
delay_ms( );
go to AD;
在数据包发送过程中,先发送数据包的高字节,再发送数据包的低字节,通过延时,保证数据包完全被发送。数据包发送完毕后,返回AD状态。
系统实现了基于IPV6的新型检测装置的实时数据采集,实时控制以及实时数据传输。在程序中严格地将单片机的I/O接口地址区分开来;在RTL8019AS中接受和发送使用同一个缓冲区以加快数据的传输速度,数据传输完成后再启动A/D转换,故此数据传输命令完成后,增加了时间的延迟,整个系统是采用查寻工作方式的。IPV6最大的特点就是地址空间巨大性,同时移动性强,地址是随即分配的,随着网络的发展,IPV6网络将取代现在的IPV4网络,基于IPV6的新型检测装置,更能适应以后工业控制系统和下一代互联网的发展。
[1] RFC2406 IP Encapsulating Security PayloadESP). S.Kent
Design on Novel Measuring Device Based on IPv6
Yang Yali,Chai Xiaodong
(Huanghe S&T College, Zhengzhou 450063, China)
IPV6 has more advantages than IPV4 in the aspects of Network communication,Resource sharing and so on.The code development of finishing the procedure of C language of one-chip computer is adopted efficiently.
IPV6;RTL8019AS;80C51;Measuring