楊亞麗,柴小東
(黃河科技學(xué)院,鄭州,450063)
基于IPV6的新型檢測(cè)裝置的設(shè)計(jì)
楊亞麗,柴小東
(黃河科技學(xué)院,鄭州,450063)
IPV6在網(wǎng)絡(luò)通訊,資源共享等多方面比IPV4具有更多的優(yōu)點(diǎn)。當(dāng)前大部分檢測(cè)設(shè)備中的通訊的實(shí)現(xiàn)仍然是以IPV4為基礎(chǔ),嚴(yán)重地阻礙了下一代互聯(lián)網(wǎng)的發(fā)展,也不利于控制系統(tǒng)的研究。基于IPV6的檢測(cè)裝置的設(shè)計(jì),采用80C51系列的單片機(jī)控制系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的采集,用網(wǎng)卡芯片RTL8019AS實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)交ヂ?lián)網(wǎng)上。采用生成代碼效率高的單片機(jī)C語(yǔ)言完成程序的代碼開發(fā),對(duì)工業(yè)控制系統(tǒng)及下一代互聯(lián)網(wǎng)的發(fā)展有重要的意義。
IPV6;RTL8019AS;80C51;檢測(cè)
IPv6是因特網(wǎng)互聯(lián)協(xié)議第六版。IPV6的提出,主要是解決當(dāng)前因特網(wǎng)使的IPV4中IP地址不足的問(wèn)題。由于目前因特網(wǎng)使用的IP地址為32位,即4個(gè)字節(jié),總計(jì)有232個(gè)地址。隨著聯(lián)網(wǎng)用戶的增多,每個(gè)聯(lián)網(wǎng)的主機(jī)都需要一個(gè)IP地址進(jìn)行網(wǎng)卡通訊,致使IP地址的數(shù)目不足以滿足更多用戶的使用。因此互聯(lián)網(wǎng)機(jī)構(gòu)才提出為IPV6,以滿足用戶聯(lián)網(wǎng)的需求。
2.1系統(tǒng)總體框圖
系統(tǒng)的整體原理框。整個(gè)系統(tǒng)主要由AD轉(zhuǎn)換模塊、存儲(chǔ)器模塊和網(wǎng)絡(luò)接口模塊構(gòu)成。
2.2主要芯片選擇和硬件電路設(shè)計(jì)
2.2.1芯片選擇
(1)單片機(jī)。單片機(jī)選用80C51系列的單片機(jī)。該系列單片機(jī)的程序存儲(chǔ)器和片外數(shù)據(jù)寄存器尋址空間為64KB。內(nèi)部程序存儲(chǔ)器為4K×8位的ROM,用來(lái)存放系統(tǒng)程序、用戶的專用程序和固定常數(shù)。該系列單片機(jī)具有4個(gè)串行I/O接口和8個(gè)并行I/ O接口。12個(gè)串、并I/O接口可完成地址信號(hào)和數(shù)據(jù)信號(hào)的輸入及輸出,同時(shí),如果需要對(duì)外部I/O接口進(jìn)行擴(kuò)展,也可進(jìn)行相應(yīng)的擴(kuò)展。4個(gè)串行I/O接口還支持全雙工通信方式,可同時(shí)對(duì)數(shù)據(jù)進(jìn)行發(fā)送和接收。該系列單片機(jī)具有2級(jí)中斷優(yōu)先級(jí),一次可以同時(shí)接受5個(gè)外部中斷源的中斷請(qǐng)求,然后根據(jù)中斷優(yōu)先級(jí),對(duì)優(yōu)先級(jí)高的中斷請(qǐng)求進(jìn)行優(yōu)先響應(yīng)。整個(gè)中斷系統(tǒng)的中斷優(yōu)先級(jí)可以由用戶自己定義。該系列單片機(jī)內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器,計(jì)數(shù)長(zhǎng)度由8位擴(kuò)展為16位,并且可以工作在4種不同的方式下,使用戶使用起來(lái)非常方便。
(2)A/D轉(zhuǎn)換芯片。A/D轉(zhuǎn)換芯片主要用于模擬信號(hào)和數(shù)字信號(hào)的轉(zhuǎn)換,考慮到本系統(tǒng)的硬件電路設(shè)計(jì),故選用AD574芯片。該芯片是快速型12位逐次逼近式A/D轉(zhuǎn)換器,其最大的優(yōu)點(diǎn)就是不需要外接器件就可以進(jìn)行模擬信號(hào)向數(shù)字信號(hào)的轉(zhuǎn)換。AD574芯片進(jìn)行模擬信號(hào)向數(shù)字信號(hào)轉(zhuǎn)換的時(shí)間為15~35μs,其不僅支持12位的一次并行輸出,又支持兩次輸出,一次輸出8位,一次輸出4位。
(3)數(shù)據(jù)鎖存器及數(shù)據(jù)、程序存儲(chǔ)器。80C51系列單片機(jī)為8位機(jī),有8根數(shù)據(jù)線,16根地址線,尋址空間范圍可達(dá)64KB。P0口作為地址總線和數(shù)據(jù)總線分時(shí)復(fù)用,因此必須加地址數(shù)據(jù)鎖存器74LS373,以便單片機(jī)實(shí)現(xiàn)地址總線和數(shù)據(jù)總線的分時(shí)復(fù)用。80C51系列的單片機(jī)內(nèi)部的ROM為2/4KB,而數(shù)據(jù)存儲(chǔ)器為128B/256B,考慮到此系統(tǒng)的程序和數(shù)據(jù)比較大,所以必須進(jìn)行程序和數(shù)據(jù)寄存器的擴(kuò)展。用27512進(jìn)行程序寄存器的擴(kuò)展,用62256進(jìn)行數(shù)據(jù)寄存器的擴(kuò)展。27512為64KB×8位的EPROM,而62256為32KB×8位的SRAM。
(4)網(wǎng)絡(luò)接口芯片。本檢測(cè)裝置需要將獲取的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)接口上傳到網(wǎng)絡(luò)中,因此需要設(shè)計(jì)網(wǎng)絡(luò)接口電路以實(shí)現(xiàn)傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的物理層。對(duì)網(wǎng)絡(luò)接口芯片的選擇,考慮到系統(tǒng)本身的需要,以及當(dāng)前網(wǎng)絡(luò)接口芯片的發(fā)展,選用Realtek公司的RTL8019AS芯片。
RTL8019AS芯片內(nèi)部有一個(gè)16K字節(jié)的靜態(tài)隨機(jī)讀寫存儲(chǔ)器,可以對(duì)收到的數(shù)據(jù),或者將要發(fā)送的數(shù)據(jù)進(jìn)行暫時(shí)的緩存,以降低對(duì)主處理器的速度要求,防止因主處理器的速度過(guò)高,而造成數(shù)據(jù)的丟失。另外,其地址線寬度為16位,尋址能力達(dá)到64K。
2.2.2硬件電路設(shè)計(jì)
(1)AD574與80C51的硬件電路設(shè)計(jì)。AD574與80C51的接口電路圖中的AD574芯片的數(shù)據(jù)輸出采用兩次輸出方式,其12位數(shù)據(jù)中的高8位數(shù)據(jù)接口DB4~DB11與單片機(jī)的P0.0~P0.7接口相接,低4位的數(shù)據(jù)接口DB0~DB3與單片機(jī)的P0.0~P0.3接口相接,即AD574的12位數(shù)據(jù)輸出,直接輸出到數(shù)據(jù)總線上。當(dāng)AD574的接口狀態(tài)時(shí),開始進(jìn)行模擬信號(hào)向數(shù)字信號(hào)的轉(zhuǎn)換,數(shù)據(jù)總線上將輸出12位數(shù)據(jù)信號(hào),單片機(jī)開始進(jìn)行寫操作,將12位數(shù)據(jù)寫到外部存儲(chǔ)器中。單片機(jī)的P1.0接口號(hào)AD574的STS接口相連,其主要作用是讓單片機(jī)查詢AD574是否完成數(shù)據(jù)轉(zhuǎn)換。單片機(jī)在寫數(shù)據(jù)前,需要查詢數(shù)據(jù)轉(zhuǎn)換是否完成。當(dāng)STS=1時(shí)表明轉(zhuǎn)換正在進(jìn)行,當(dāng)STS=0時(shí)表明轉(zhuǎn)換已經(jīng)完成,單片機(jī)可進(jìn)行寫操作。因AD574的12位轉(zhuǎn)換速度很快,所以使用查詢方式。之后8051執(zhí)行兩條外部數(shù)據(jù)存儲(chǔ)器指令,進(jìn)行寫操作。在進(jìn)行寫操作時(shí),單片機(jī)先讀取AD574第一次輸出的高8位數(shù)據(jù),然后再讀取第二次輸出低4位數(shù)據(jù),其接口狀態(tài)為。
(2)存儲(chǔ)器、網(wǎng)絡(luò)芯片與80C51的硬件電路設(shè)計(jì)。74LS373、27512和62256與80C51的硬件電路圖。其中93C46芯片是串行電可擦寫EPROM,用來(lái)初始化RTL8019AS。
存儲(chǔ)器62256芯片的數(shù)據(jù)接口D0~D7與單片機(jī)的P0.0~P0.7口相接,可以實(shí)現(xiàn)單片機(jī)對(duì)外部存儲(chǔ)器數(shù)據(jù)的讀、寫操作。為讀使能信號(hào)接口,與單片機(jī)的接口相接,對(duì)讀操作進(jìn)行控制。為寫使能信號(hào)接口,與單片機(jī)的接口相接,對(duì)寫操作進(jìn)行控制。62256芯片有15根地址線,其中高7位與單片機(jī)相連,低8位與74LS373相接。
RTL8019AS的SD0~SD7口與27512的D0~D7口相連,與單片機(jī)的P0.0~P0.7相連。LPF為濾波器,網(wǎng)絡(luò)芯片輸出的數(shù)據(jù)經(jīng)過(guò)濾波后,輸出上傳到互聯(lián)網(wǎng)絡(luò)中。
軟件部分主要包括80C51芯片、RTL8019AS芯片和的AD574芯片的初始化,數(shù)據(jù)存儲(chǔ),從RAM中讀數(shù)據(jù)到RTL8019AS的BUFF中,以及IPV6數(shù)據(jù)包的發(fā)送等幾部分。檢測(cè)裝置的整個(gè)系統(tǒng)程序流程圖。
程序開始先對(duì)單片機(jī)、網(wǎng)絡(luò)接口模塊以及AD574進(jìn)行初始化,然后啟動(dòng)A/D轉(zhuǎn)換,將檢測(cè)到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),并將數(shù)據(jù)存儲(chǔ)到外部存儲(chǔ)器中。下一步,將外部存儲(chǔ)器中的數(shù)據(jù)讀出,送給網(wǎng)絡(luò)接口芯片,網(wǎng)絡(luò)接口芯片將收到的數(shù)據(jù)封裝成IPV6數(shù)據(jù)包,并進(jìn)行發(fā)送。數(shù)據(jù)包發(fā)送完畢后,進(jìn)入返回狀態(tài),進(jìn)行下一個(gè)數(shù)據(jù)的采集轉(zhuǎn)換。
在整個(gè)系統(tǒng)的程序中,關(guān)于發(fā)送數(shù)據(jù)包的部分程序如下:
reg04=0x40;
reg06=count>>8;
reg05=count&0xff;
reg00=0x3e;
delay_ms( );
go to AD;
在數(shù)據(jù)包發(fā)送過(guò)程中,先發(fā)送數(shù)據(jù)包的高字節(jié),再發(fā)送數(shù)據(jù)包的低字節(jié),通過(guò)延時(shí),保證數(shù)據(jù)包完全被發(fā)送。數(shù)據(jù)包發(fā)送完畢后,返回AD狀態(tài)。
系統(tǒng)實(shí)現(xiàn)了基于IPV6的新型檢測(cè)裝置的實(shí)時(shí)數(shù)據(jù)采集,實(shí)時(shí)控制以及實(shí)時(shí)數(shù)據(jù)傳輸。在程序中嚴(yán)格地將單片機(jī)的I/O接口地址區(qū)分開來(lái);在RTL8019AS中接受和發(fā)送使用同一個(gè)緩沖區(qū)以加快數(shù)據(jù)的傳輸速度,數(shù)據(jù)傳輸完成后再啟動(dòng)A/D轉(zhuǎn)換,故此數(shù)據(jù)傳輸命令完成后,增加了時(shí)間的延遲,整個(gè)系統(tǒng)是采用查尋工作方式的。IPV6最大的特點(diǎn)就是地址空間巨大性,同時(shí)移動(dòng)性強(qiáng),地址是隨即分配的,隨著網(wǎng)絡(luò)的發(fā)展,IPV6網(wǎng)絡(luò)將取代現(xiàn)在的IPV4網(wǎng)絡(luò),基于IPV6的新型檢測(cè)裝置,更能適應(yīng)以后工業(yè)控制系統(tǒng)和下一代互聯(lián)網(wǎng)的發(fā)展。
[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