基于IPV6 的嵌入式数据采集系统设计
扫描二维码
随时随地手机看文章
摘要:本文以工业生产中的“网络化数据采集系统”这一实际应用为讨论研究对象,借此来
说明基于IPv6 协议的嵌入式Internet 系统的硬件与软件设计。在本设计中,系统研制过程中
设计的技术主要有:1.系统的硬件方面使用了价格低廉的8 位MCU+以太网控制芯片的方式,
通过以太网控制芯片来完成Internet 上数据的收发;2.在软件方面采用了IPV6 协议,IPV6 协
议是新一代互联网的标准,它保留了目前广泛使用的IPV4 协议的主要设计思想,同时又针
对现代互联网应用技术的需求,对其进行的修改、扩充和完善。
关键字:IPV6,嵌入式,数据采集,协议
引言
目前,世界各地广泛在使用的还是 IPv4 网络,IPv6 网络还只是停留在一些地方局部的
试用;同时IPv6 强大的网络功能,对嵌入式系统、智能芯片等软硬件的要求也相对较高。所
以基于IPv6 协议的嵌入式Internet 系统的研究与应用并没有为大多数人所关注。但是,随着
的IPv4 协议渐渐被IPv6 协议所取代;随着嵌入式Internet 系统的不断自我完善;随着微控制芯
片的迅猛发展。基于IPv6 协议的嵌入式Internet 系统将会成为互联网时代的新的发展和研究
方向。
1. 嵌入式 Internet 系统
嵌入式微处理器作为一种智能器件已经给工业领域带来了巨大变化,随着控制精度、
智能化程度等要求的提高,嵌入式微处理器完成任务也越来越多,其软件实现的功能也越来
越复杂,单一任务的软件结构也随之变为多任务的。所谓嵌入式Internet 系统,就是普通的
嵌入式系统具备了Internet 互联功能,它能够方便地连接到Internet 上,实现信息在互联网
上的传递。早在1999 年6 月,中国计算机学会(China Computer Federation)举行的“嵌入式
系统及产业化在中国的发展前景”研讨会中,专家们曾探讨了嵌入式系统在当今计算机工业
中的地位及其网络化问题,并一致认为Internet 正由传统的PC 为中心的应用转向以嵌入式
设备为中心的应用。同时网络专家也预测,将来Internet 上传输的信息将有70%来自于小型
嵌入式系统。
今天,越来越多的消费型产品具有了Internet 特性。我们身边己经有了可以自动拨号进
入Internet 获取音像资料的DVD 播放机、有了可以查看股票信息的网络冰箱、还有GPS(全
球定位系统)等各种各样的嵌入式Internet 系统。
2. 系统的硬件设计
网络化数据采集系统,是利用嵌入式Internet 系统的透明接入技术来实现数据采集的网
络化,它是由单片机系统、LED 显示控制器、A/D 和D/A 转换器、以太网络控制器等几部
分组成,其硬件结构框图如图1 所示。
[!--empirenews.page--]
2.1 主控制器的扩展
系统的设计中,主控制器采用了 ATMEL 公司生产的AT89C55 微处理器。设计中把P0
口用作数据16 位地址的低位地址复用口,P2 口用作16 位地址的高位地址,P1 口的P1. 0
用作以太网控制芯片RTL8019AS 的复位信号输入端,P1. 1, P1. 2 分别模拟IZC 总线用作
EEPROM 数据存储器的时钟信号和数据输入输出线。引脚12(INTO)用来对以太网控制器
RTL8019AS 的中断请求作响应。
74LS373 用作P0 口分时复用的16 位低位地址锁存器。外部数据存储器62256 内含32K
的8 位存储单元,其片选引脚CS (20)接单片机的A15。62256 内部存储器寻址通过单片机
的低15 位地址线AO^}A14。所以外部数据存储器62256 的单片机寻址范围为0000~7FFF。
AT89C55 没有I2C 总线接口,所以只能用单片机虚拟I2C 总线方式工作,由于总线上只
有一个单片机作为主节点,因此系统设计为单主方式下的虚拟I2C 总线。在这种方式下,虚
拟I2C 总线只有主发送和主接收两种操作, AT24C02 的写读程序如下:
① 写 AT24C02 子程序AT24C02_ W
NUMBYT:被传送字节数N 的存放单元、NUM:被传送字节数N, SUBADR:AT24C02 中
要存放的数据首地址、VSDA:虚拟总线的数据线、VSCL:虚拟总线的时钟线、SLAW:写寻址
字节、MTD:发送数据缓冲区首地址。
AT24C02_W: NUMBYT. #NUM ;将被传送的字节数N 写入NUMBYT 中
MOV SLA. #SLAW ;写地址送到SLA 中
LCALL WRNBYT ;调用N 字节的写入子程序
RET
② 读 AT24C02 子程序AT24C02_ R。
AT24C02 的指点地址的读和它的写有些不同,指点地址的读是要求在指定的字地址读
出一个字节数据的操作,由于是要在指定的资地址,所以要先写一个字地址,然后重复起始
状态,读入一个数据字节。
AT24C02 R:MOV MTD. SUBADR :将数据首地址送到发送数据缓冲区
MOV SLA. #SLAW :将写地址送到SLA 中
MOV NUMBYT,#1
LCALL WRNBYT ;调用N 字节的写入程序
MOV SLA,#SLAR ;将读地址送到SLA 中
MOV NUMBYT, #NUM ;从AT24C02 中读出子程序
RET
2.2 SAA1064 LED 驱动控制器
SAA1064 是PHILIPS 公司生产的I2C 总线接口的LED 驱动控制器件,它为双极型集成
电路,有2X8 位输出驱动接口,可静态驱动2 位8 段LED 显示器或动态4 位8 段LED 显
示器。AT89C55 的P1 口的P1. 1 和P1. 2 引脚模拟I2C 总线与SAA1064 的SCL 和SDA 连
接,P1~P8, P9~P16 分别各自连接两个数码管的abcdefgh 端,CEXT 外接2. 7nF 电容,模拟引
脚地址端ADR 引脚接地,器件可读地址为SLAR=71H,可写地址为SLAW=70H。
SAA1064 除了具有LED 驱动控制的写操作外,还有可以反映系统上电标志的读操作,
但是,由于在本论文中只需用到SAA1064 的显示驱动控制功能,所以这里只讨论其写入操
作。SAA1064 的写入数据操作格式为:
SLAW +SUBADR +COM +data 1+data2+data3+data4
其中SUBADR 为SAA1064 片内地址单元首地址,COM 为SAA1064 的控制命令,
datal~data4 为动态显示方式的4 个LED 的共阴极段选码。
2.3 系统A/D 和D/A 转换
PCF8591 是PHILIPS 公司生产的具有I2c 总线接口的8 位A/D 和D/A 转换器。器件由
单一的电源供电,COMS 工艺;有4 路A/D 转换模拟输入、1 路D/A 转换输出;A/D 转换为逐
次比较型;输入输出部分有采样/保持电路;最大的转换速率与I2c 总线传输率有关;A/D 和D/A
转换的基准电源由外部供给。PCF8591 也是采用典型的I2c 总线接口器件寻址方式。器件的
地址为1001f 引脚地址为A2AlA0,方向位为R/W,因此它的器件地址及寻址字节为
1001A2A1A0R/W。
AT89C55 的P1 口的P1. 1 和P1. 2 引脚模拟I2c 总线与PCF8591 的SCL 和SDA 连接,
PCF8591 使用内部时钟电路,所以EXT 引脚接地,OSC 作为内部时钟输出端悬空,将A2, A1
和AO 三个引脚接地,所以器件可读地址为SLAR=91H,可写地址为SLAW=90H。
PCF8951 的DAC 数据操作程序代码如下:
DAC 数据操作程序
PCF8951_ DAC: MOV MTD, #COM ;PCF8951 控制命令COM 入MTD
MOV R0, #MTD
INC RO
MOV @R0, A;D/A 转换数据入MTD + 1
MOV SLA, #SLAW;指向PCF8951 节点写地址
MOV NUMBYT, #2;写入两个字节COM 和A
LCALL WRNBYT
RET[!--empirenews.page--]
2.4 以太网芯片的扩展
本系统网络芯片使用的是RTL8019AS芯片,RTL8019AS是台湾REALTEK公司生产ISA
接口的通用以太网控制器。RTL8019AS 的硬件连接主要涉及三部分:第一部分是RTL8019AS
工作模式及相关配置,其配置包括:RTL8019AS 的工作方式选择、总线方式、I/0 基址设置、
中断线选择、传输介质选择、BROM(自举程序存储器)的容量和基址设置。第二部分是与
MCU 的连接。第三部分是传输介质的连接,其电路图如图2 所示。
3. 系统软件设计
网络化数据采集系统的软件部分设计,大体可分为三个部分:底层以太网数据的收发、
TCP/IPv6 协议功能的实现,以及用户应用软件的实现。其中,在用户应用软件部分的设计
中主要是采用的是汇编语言来描述的,它主要完成数据采集系统的采集参数设置、数据的采
集、数据的保存,以及数据的显示等,系统软件部分三个模块之间的关系结构图如图3 所示。
在网络化数据采集系统的设计中,底层网络数据的收发采用的是以太网为物理媒介,在
Internet 的通明传输中采用的是TCP/IPv6 为通信协议来搭建的。系统在测控的局域网中,通
过使用一台路由器来实现与外部Internet 的连接。这样做,一来保证了内部测量仪器、传感
器等电子设备的安全性,对外部的访问可以进行过滤,防止了来自因特网的恶意破坏;二来,
在网络通讯中的许多繁杂的工作不需要在现场设备端实现,现场设备的TCP/IPv6 协议栈设
计的工作量可大大降低。一般只要实现基本的IPv6, ICMPv6 和UDP 就可以工作了。
此外,数据采集系统与远方控制站之间的通讯采用了客户/服务器模型,即数据采集系
统为服务器,控制站为客户机。客户机向服务器发送数据传送请求、采集系统的参数设置等;
服务器根据客户机的请求提供一些特定的服务,比如返回数据、某端口状态等,网络数据采
集流程如图4 所示。
4. 总结
本文创新点:在 8 位嵌入式系统中实现IPv6 协议的网络互联。Internet 的IPv6 网络层
协议目前还是一个比较新鲜的事物,并不为多数人所知,嵌入式系统在这几年的快速成长后,
已成为时代的新宠,虽然它实现的方式和采用的方法各有千秋,但相对而言它已具备了比较
完善的设计思想。论文将IPv6 协议引入到目前流行的嵌入式Internet 系统的研究热潮中,大
胆使用性能优良但价格低廉的8 位MCU 作为网络协议实现的载体。