楊亞麗,柴小東
(黃河科技學院,鄭州,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