基于IPV6 的嵌入式數(shù)據(jù)采集系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機(jī)看文章
摘要:本文以工業(yè)生產(chǎn)中的“網(wǎng)絡(luò)化數(shù)據(jù)采集系統(tǒng)”這一實際應(yīng)用為討論研究對象,借此來
說明基于IPv6 協(xié)議的嵌入式Internet 系統(tǒng)的硬件與軟件設(shè)計。在本設(shè)計中,系統(tǒng)研制過程中
設(shè)計的技術(shù)主要有:1.系統(tǒng)的硬件方面使用了價格低廉的8 位MCU+以太網(wǎng)控制芯片的方式,
通過以太網(wǎng)控制芯片來完成Internet 上數(shù)據(jù)的收發(fā);2.在軟件方面采用了IPV6 協(xié)議,IPV6 協(xié)
議是新一代互聯(lián)網(wǎng)的標(biāo)準(zhǔn),它保留了目前廣泛使用的IPV4 協(xié)議的主要設(shè)計思想,同時又針
對現(xiàn)代互聯(lián)網(wǎng)應(yīng)用技術(shù)的需求,對其進(jìn)行的修改、擴(kuò)充和完善。
關(guān)鍵字:IPV6,嵌入式,數(shù)據(jù)采集,協(xié)議
引言
目前,世界各地廣泛在使用的還是 IPv4 網(wǎng)絡(luò),IPv6 網(wǎng)絡(luò)還只是停留在一些地方局部的
試用;同時IPv6 強(qiáng)大的網(wǎng)絡(luò)功能,對嵌入式系統(tǒng)、智能芯片等軟硬件的要求也相對較高。所
以基于IPv6 協(xié)議的嵌入式Internet 系統(tǒng)的研究與應(yīng)用并沒有為大多數(shù)人所關(guān)注。但是,隨著
的IPv4 協(xié)議漸漸被IPv6 協(xié)議所取代;隨著嵌入式Internet 系統(tǒng)的不斷自我完善;隨著微控制芯
片的迅猛發(fā)展?;贗Pv6 協(xié)議的嵌入式Internet 系統(tǒng)將會成為互聯(lián)網(wǎng)時代的新的發(fā)展和研究
方向。
1. 嵌入式 Internet 系統(tǒng)
嵌入式微處理器作為一種智能器件已經(jīng)給工業(yè)領(lǐng)域帶來了巨大變化,隨著控制精度、
智能化程度等要求的提高,嵌入式微處理器完成任務(wù)也越來越多,其軟件實現(xiàn)的功能也越來
越復(fù)雜,單一任務(wù)的軟件結(jié)構(gòu)也隨之變?yōu)槎嗳蝿?wù)的。所謂嵌入式Internet 系統(tǒng),就是普通的
嵌入式系統(tǒng)具備了Internet 互聯(lián)功能,它能夠方便地連接到Internet 上,實現(xiàn)信息在互聯(lián)網(wǎng)
上的傳遞。早在1999 年6 月,中國計算機(jī)學(xué)會(China Computer Federation)舉行的“嵌入式
系統(tǒng)及產(chǎn)業(yè)化在中國的發(fā)展前景”研討會中,專家們曾探討了嵌入式系統(tǒng)在當(dāng)今計算機(jī)工業(yè)
中的地位及其網(wǎng)絡(luò)化問題,并一致認(rèn)為Internet 正由傳統(tǒng)的PC 為中心的應(yīng)用轉(zhuǎn)向以嵌入式
設(shè)備為中心的應(yīng)用。同時網(wǎng)絡(luò)專家也預(yù)測,將來Internet 上傳輸?shù)男畔⒂?0%來自于小型
嵌入式系統(tǒng)。
今天,越來越多的消費(fèi)型產(chǎn)品具有了Internet 特性。我們身邊己經(jīng)有了可以自動撥號進(jìn)
入Internet 獲取音像資料的DVD 播放機(jī)、有了可以查看股票信息的網(wǎng)絡(luò)冰箱、還有GPS(全
球定位系統(tǒng))等各種各樣的嵌入式Internet 系統(tǒng)。
2. 系統(tǒng)的硬件設(shè)計
網(wǎng)絡(luò)化數(shù)據(jù)采集系統(tǒng),是利用嵌入式Internet 系統(tǒng)的透明接入技術(shù)來實現(xiàn)數(shù)據(jù)采集的網(wǎng)
絡(luò)化,它是由單片機(jī)系統(tǒng)、LED 顯示控制器、A/D 和D/A 轉(zhuǎn)換器、以太網(wǎng)絡(luò)控制器等幾部
分組成,其硬件結(jié)構(gòu)框圖如圖1 所示。
[!--empirenews.page--]
2.1 主控制器的擴(kuò)展
系統(tǒng)的設(shè)計中,主控制器采用了 ATMEL 公司生產(chǎn)的AT89C55 微處理器。設(shè)計中把P0
口用作數(shù)據(jù)16 位地址的低位地址復(fù)用口,P2 口用作16 位地址的高位地址,P1 口的P1. 0
用作以太網(wǎng)控制芯片RTL8019AS 的復(fù)位信號輸入端,P1. 1, P1. 2 分別模擬IZC 總線用作
EEPROM 數(shù)據(jù)存儲器的時鐘信號和數(shù)據(jù)輸入輸出線。引腳12(INTO)用來對以太網(wǎng)控制器
RTL8019AS 的中斷請求作響應(yīng)。
74LS373 用作P0 口分時復(fù)用的16 位低位地址鎖存器。外部數(shù)據(jù)存儲器62256 內(nèi)含32K
的8 位存儲單元,其片選引腳CS (20)接單片機(jī)的A15。62256 內(nèi)部存儲器尋址通過單片機(jī)
的低15 位地址線AO^}A14。所以外部數(shù)據(jù)存儲器62256 的單片機(jī)尋址范圍為0000~7FFF。
AT89C55 沒有I2C 總線接口,所以只能用單片機(jī)虛擬I2C 總線方式工作,由于總線上只
有一個單片機(jī)作為主節(jié)點,因此系統(tǒng)設(shè)計為單主方式下的虛擬I2C 總線。在這種方式下,虛
擬I2C 總線只有主發(fā)送和主接收兩種操作, AT24C02 的寫讀程序如下:
① 寫 AT24C02 子程序AT24C02_ W
NUMBYT:被傳送字節(jié)數(shù)N 的存放單元、NUM:被傳送字節(jié)數(shù)N, SUBADR:AT24C02 中
要存放的數(shù)據(jù)首地址、VSDA:虛擬總線的數(shù)據(jù)線、VSCL:虛擬總線的時鐘線、SLAW:寫尋址
字節(jié)、MTD:發(fā)送數(shù)據(jù)緩沖區(qū)首地址。
AT24C02_W: NUMBYT. #NUM ;將被傳送的字節(jié)數(shù)N 寫入NUMBYT 中
MOV SLA. #SLAW ;寫地址送到SLA 中
LCALL WRNBYT ;調(diào)用N 字節(jié)的寫入子程序
RET
② 讀 AT24C02 子程序AT24C02_ R。
AT24C02 的指點地址的讀和它的寫有些不同,指點地址的讀是要求在指定的字地址讀
出一個字節(jié)數(shù)據(jù)的操作,由于是要在指定的資地址,所以要先寫一個字地址,然后重復(fù)起始
狀態(tài),讀入一個數(shù)據(jù)字節(jié)。
AT24C02 R:MOV MTD. SUBADR :將數(shù)據(jù)首地址送到發(fā)送數(shù)據(jù)緩沖區(qū)
MOV SLA. #SLAW :將寫地址送到SLA 中
MOV NUMBYT,#1
LCALL WRNBYT ;調(diào)用N 字節(jié)的寫入程序
MOV SLA,#SLAR ;將讀地址送到SLA 中
MOV NUMBYT, #NUM ;從AT24C02 中讀出子程序
RET
2.2 SAA1064 LED 驅(qū)動控制器
SAA1064 是PHILIPS 公司生產(chǎn)的I2C 總線接口的LED 驅(qū)動控制器件,它為雙極型集成
電路,有2X8 位輸出驅(qū)動接口,可靜態(tài)驅(qū)動2 位8 段LED 顯示器或動態(tài)4 位8 段LED 顯
示器。AT89C55 的P1 口的P1. 1 和P1. 2 引腳模擬I2C 總線與SAA1064 的SCL 和SDA 連
接,P1~P8, P9~P16 分別各自連接兩個數(shù)碼管的abcdefgh 端,CEXT 外接2. 7nF 電容,模擬引
腳地址端ADR 引腳接地,器件可讀地址為SLAR=71H,可寫地址為SLAW=70H。
SAA1064 除了具有LED 驅(qū)動控制的寫操作外,還有可以反映系統(tǒng)上電標(biāo)志的讀操作,
但是,由于在本論文中只需用到SAA1064 的顯示驅(qū)動控制功能,所以這里只討論其寫入操
作。SAA1064 的寫入數(shù)據(jù)操作格式為:
SLAW +SUBADR +COM +data 1+data2+data3+data4
其中SUBADR 為SAA1064 片內(nèi)地址單元首地址,COM 為SAA1064 的控制命令,
datal~data4 為動態(tài)顯示方式的4 個LED 的共陰極段選碼。
2.3 系統(tǒng)A/D 和D/A 轉(zhuǎn)換
PCF8591 是PHILIPS 公司生產(chǎn)的具有I2c 總線接口的8 位A/D 和D/A 轉(zhuǎn)換器。器件由
單一的電源供電,COMS 工藝;有4 路A/D 轉(zhuǎn)換模擬輸入、1 路D/A 轉(zhuǎn)換輸出;A/D 轉(zhuǎn)換為逐
次比較型;輸入輸出部分有采樣/保持電路;最大的轉(zhuǎn)換速率與I2c 總線傳輸率有關(guān);A/D 和D/A
轉(zhuǎn)換的基準(zhǔn)電源由外部供給。PCF8591 也是采用典型的I2c 總線接口器件尋址方式。器件的
地址為1001f 引腳地址為A2AlA0,方向位為R/W,因此它的器件地址及尋址字節(jié)為
1001A2A1A0R/W。
AT89C55 的P1 口的P1. 1 和P1. 2 引腳模擬I2c 總線與PCF8591 的SCL 和SDA 連接,
PCF8591 使用內(nèi)部時鐘電路,所以EXT 引腳接地,OSC 作為內(nèi)部時鐘輸出端懸空,將A2, A1
和AO 三個引腳接地,所以器件可讀地址為SLAR=91H,可寫地址為SLAW=90H。
PCF8951 的DAC 數(shù)據(jù)操作程序代碼如下:
DAC 數(shù)據(jù)操作程序
PCF8951_ DAC: MOV MTD, #COM ;PCF8951 控制命令COM 入MTD
MOV R0, #MTD
INC RO
MOV @R0, A;D/A 轉(zhuǎn)換數(shù)據(jù)入MTD + 1
MOV SLA, #SLAW;指向PCF8951 節(jié)點寫地址
MOV NUMBYT, #2;寫入兩個字節(jié)COM 和A
LCALL WRNBYT
RET[!--empirenews.page--]
2.4 以太網(wǎng)芯片的擴(kuò)展
本系統(tǒng)網(wǎng)絡(luò)芯片使用的是RTL8019AS芯片,RTL8019AS是臺灣REALTEK公司生產(chǎn)ISA
接口的通用以太網(wǎng)控制器。RTL8019AS 的硬件連接主要涉及三部分:第一部分是RTL8019AS
工作模式及相關(guān)配置,其配置包括:RTL8019AS 的工作方式選擇、總線方式、I/0 基址設(shè)置、
中斷線選擇、傳輸介質(zhì)選擇、BROM(自舉程序存儲器)的容量和基址設(shè)置。第二部分是與
MCU 的連接。第三部分是傳輸介質(zhì)的連接,其電路圖如圖2 所示。
3. 系統(tǒng)軟件設(shè)計
網(wǎng)絡(luò)化數(shù)據(jù)采集系統(tǒng)的軟件部分設(shè)計,大體可分為三個部分:底層以太網(wǎng)數(shù)據(jù)的收發(fā)、
TCP/IPv6 協(xié)議功能的實現(xiàn),以及用戶應(yīng)用軟件的實現(xiàn)。其中,在用戶應(yīng)用軟件部分的設(shè)計
中主要是采用的是匯編語言來描述的,它主要完成數(shù)據(jù)采集系統(tǒng)的采集參數(shù)設(shè)置、數(shù)據(jù)的采
集、數(shù)據(jù)的保存,以及數(shù)據(jù)的顯示等,系統(tǒng)軟件部分三個模塊之間的關(guān)系結(jié)構(gòu)圖如圖3 所示。
在網(wǎng)絡(luò)化數(shù)據(jù)采集系統(tǒng)的設(shè)計中,底層網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)采用的是以太網(wǎng)為物理媒介,在
Internet 的通明傳輸中采用的是TCP/IPv6 為通信協(xié)議來搭建的。系統(tǒng)在測控的局域網(wǎng)中,通
過使用一臺路由器來實現(xiàn)與外部Internet 的連接。這樣做,一來保證了內(nèi)部測量儀器、傳感
器等電子設(shè)備的安全性,對外部的訪問可以進(jìn)行過濾,防止了來自因特網(wǎng)的惡意破壞;二來,
在網(wǎng)絡(luò)通訊中的許多繁雜的工作不需要在現(xiàn)場設(shè)備端實現(xiàn),現(xiàn)場設(shè)備的TCP/IPv6 協(xié)議棧設(shè)
計的工作量可大大降低。一般只要實現(xiàn)基本的IPv6, ICMPv6 和UDP 就可以工作了。
此外,數(shù)據(jù)采集系統(tǒng)與遠(yuǎn)方控制站之間的通訊采用了客戶/服務(wù)器模型,即數(shù)據(jù)采集系
統(tǒng)為服務(wù)器,控制站為客戶機(jī)??蛻魴C(jī)向服務(wù)器發(fā)送數(shù)據(jù)傳送請求、采集系統(tǒng)的參數(shù)設(shè)置等;
服務(wù)器根據(jù)客戶機(jī)的請求提供一些特定的服務(wù),比如返回數(shù)據(jù)、某端口狀態(tài)等,網(wǎng)絡(luò)數(shù)據(jù)采
集流程如圖4 所示。
4. 總結(jié)
本文創(chuàng)新點:在 8 位嵌入式系統(tǒng)中實現(xiàn)IPv6 協(xié)議的網(wǎng)絡(luò)互聯(lián)。Internet 的IPv6 網(wǎng)絡(luò)層
協(xié)議目前還是一個比較新鮮的事物,并不為多數(shù)人所知,嵌入式系統(tǒng)在這幾年的快速成長后,
已成為時代的新寵,雖然它實現(xiàn)的方式和采用的方法各有千秋,但相對而言它已具備了比較
完善的設(shè)計思想。論文將IPv6 協(xié)議引入到目前流行的嵌入式Internet 系統(tǒng)的研究熱潮中,大
膽使用性能優(yōu)良但價格低廉的8 位MCU 作為網(wǎng)絡(luò)協(xié)議實現(xiàn)的載體。