《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ADuC812的遠(yuǎn)程環(huán)境監(jiān)測信息系統(tǒng)下位機的設(shè)計
基于ADuC812的遠(yuǎn)程環(huán)境監(jiān)測信息系統(tǒng)下位機的設(shè)計
摘要: 本文給出了一種基于ADuC812實現(xiàn)遠(yuǎn)程環(huán)境監(jiān)測信息系統(tǒng)下位機的設(shè)計方法,介紹了ADuC812的優(yōu)點以及下位機數(shù)據(jù)采集系統(tǒng)硬件電路的設(shè)計和軟件實現(xiàn),。利用ADuC812具有24位尋址的能力,,采用閃速存儲器28F640實現(xiàn)了大容量的數(shù)據(jù)存儲。
Abstract:
Key words :

  1引言

  ADuC812是美國AD公司率先研制出的真正意義上的完整的數(shù)據(jù)采集系統(tǒng)芯片,,是投入市場的第一種微轉(zhuǎn)換器產(chǎn)品,。它性能優(yōu)良,價格便宜,,開發(fā)手段完備,,是一種新型的高度集成的高精度12位數(shù)據(jù)采集系統(tǒng)。其內(nèi)部的12位A/D轉(zhuǎn)換周期僅為4us,,比常用的AD574快好幾倍,。用ADuC812代替由常規(guī)芯片構(gòu)成的數(shù)據(jù)采集系統(tǒng),將大大降低產(chǎn)品的成本,、縮小設(shè)備的體積,、提高系統(tǒng)的可靠性和電氣性能指標(biāo)。

  ADuC812芯片內(nèi),,不僅包含了可重新編程的非易失性閃速/電擦除程序存儲器的高性能8位(與8051兼容)MCU,,還包含了高性能的自校準(zhǔn)多通道(8個輸入通道)ADC,兩個12位DAC,,32條可編程I/O接口,。ADuC812微控制器內(nèi)核與8051指令兼容,用戶現(xiàn)有的軟件都可以直接移植,,因而應(yīng)用開發(fā)方便,。它具有9個中斷源(2個優(yōu)先級),片內(nèi)還集成了8K字節(jié)的閃速/電擦除程序存儲器,、640字節(jié)的閃速/電擦除數(shù)據(jù)存儲器以及256字節(jié)RAM,。另外,它還包括一個看門狗定時器和電源監(jiān)控器,,ADC與數(shù)據(jù)存儲器之間的DMA方式,,存儲保護(hù)功能,一個通用的異步串行收發(fā)器,SPI和I²C總線接口,。AD uC812具有24位地址的外部數(shù)據(jù)尋址能力, 可尋址16MB的外部數(shù)據(jù)存儲器空間,。

  2  遠(yuǎn)程環(huán)境監(jiān)測信息系統(tǒng)整體介紹

  該遠(yuǎn)程環(huán)境監(jiān)測信息系統(tǒng)是針對當(dāng)今環(huán)境遠(yuǎn)程監(jiān)測自動化、網(wǎng)絡(luò)化,、信息化的要求而設(shè)計的,,它是由分布于遠(yuǎn)距離各個監(jiān)測站的多個下位機和位于中心站的上位機組成,其結(jié)構(gòu)如圖1所示,。

系統(tǒng)結(jié)構(gòu)圖
圖1,、系統(tǒng)結(jié)構(gòu)圖

  上下位機是通過MODEM和電話線路實現(xiàn)遠(yuǎn)程通信的。上位機將各下位機傳送來的數(shù)據(jù)存入數(shù)據(jù)庫,,并對各環(huán)境數(shù)據(jù)做出數(shù)據(jù)分析,。

  下位機分布在大范圍、遠(yuǎn)距離的各個環(huán)境監(jiān)測站點,,對大氣,、水質(zhì)、酸雨等各監(jiān)測儀送來的各種環(huán)境數(shù)據(jù)進(jìn)行實時采集,。對環(huán)境監(jiān)測儀輸出的SO2,、NO2、NO等變化緩慢的參數(shù)每2分鐘采樣一次,,對酸雨計輸出的酸雨參數(shù)每0.5mm雨量采樣一次,。采樣數(shù)據(jù)要求連續(xù)保存7天,每天的平均值保存一個月,,并且存儲在下位機中的采樣數(shù)據(jù)隨時準(zhǔn)備接受上位機的查詢和向上位機傳送,。

  3下位機硬件電路設(shè)計

  下位機硬件電路的設(shè)計,主要是考慮被測信號的變化速率和通道數(shù),,以及對測量精度,、分辨率、速度的要求等,。該數(shù)據(jù)采集系統(tǒng)電路包括:ADuC812,、模擬放大轉(zhuǎn)換電路、外部數(shù)據(jù)存儲器28F128,、串行口通信以及鍵盤和LCD顯示器,,如圖2所示。

硬件結(jié)構(gòu)圖

圖2,、硬件結(jié)構(gòu)圖

  3.1  采集電路的模擬信號輸入

  在ADuC812中,,P1.0—P1.7初始化后為8通道的模擬輸入口,。如果用于數(shù)字量輸入,,編程時應(yīng)首先把端口寫“0”。本電路將P1口設(shè)為8路由各環(huán)境監(jiān)測儀輸出的模擬量輸入。由于ADC的基準(zhǔn)電壓是2.5伏,,而各監(jiān)測儀輸出的模擬量一般為0~1伏或4~20毫安,,因而需要模擬放大轉(zhuǎn)換電路把輸入信號轉(zhuǎn)換成0—2.5伏的標(biāo)準(zhǔn)輸入。轉(zhuǎn)換電路如圖3所示,。

模擬放大轉(zhuǎn)換電路

圖3,、模擬放大轉(zhuǎn)換電路

  3.2  ADuC812與外部數(shù)據(jù)存儲器的接口電路

  為滿足本設(shè)計系統(tǒng)大量數(shù)據(jù)的存儲要求,在采用常規(guī)芯片構(gòu)成的系統(tǒng)中要采用10片128K的HM628128數(shù)據(jù)存儲器(RAM),,這樣,,不但成本高、電路設(shè)計復(fù)雜,、系統(tǒng)的可靠性和電氣性能指標(biāo)也低,。由于ADuC812具有24位地址的外部數(shù)據(jù)尋址能力,本方案中,,我們采用一片28F640,。28F640是一超大容量閃速存儲器,單片容量為8MB,,不但更好的滿足了本系統(tǒng)的設(shè)計要求,,而且當(dāng)采集參數(shù)增加,或采樣時間變化時,,同樣能滿足要求,,因而提高了系統(tǒng)的兼容性。

  為實現(xiàn)對28F640的訪問,,ADuC812利用兩片8位鎖存器74HC573與28F640相連,。P0口分時輸出低8位地址A0~A7和8位數(shù)據(jù),利用地址鎖存信號ALE可以將低8位地址鎖存到8位鎖存器U2中,。P2口分時輸出高8位地址和中8位地址,,可以利用地址鎖存信號ALE將高8位地址鎖存到8位鎖存器U4中。這樣就實現(xiàn)了24位尋址空間,。由于28F640只有A0~A22共23位地址線,,所以鎖存器輸出的A23地址線懸空。

  3.3  鍵盤,、顯示器接口電路

  外接鍵盤和LCD顯示器的目的是:當(dāng)數(shù)據(jù)發(fā)送錯誤或人工查詢數(shù)據(jù)時,,可通過鍵盤選擇要查詢的參數(shù)并在顯示器上顯示出來,使下位機的工作更加靈活方便,。

  為了連接鍵盤和顯示器,,需要擴展一片8155I/O口擴展芯片,采用4*4觸摸式鍵盤和點陣式液晶顯示器,。鍵盤上的鍵值分別與各路環(huán)境參數(shù)對應(yīng),,若為“0”按下,,則調(diào)顯示子程序,此后每按一個鍵,,此按鍵值對應(yīng)的環(huán)境參數(shù)在顯示器上顯示出來,。若不是“0”鍵按下,則把鍵值送累加器A,。當(dāng)為“F”鍵按下時,,則退出顯示子程序。

 

   3.4 串行通信接口電路 

          由于要通過MODEM,、電話線與上位PC機通信,,所以須利用MAX232芯片作為RS—232口電平匹配與驅(qū)動。MAX232是包含兩路接收器和驅(qū)動器的IC芯片,,其內(nèi)部有一個電源電壓變換器,,可以把輸入的+5V電源電壓變換成為RS—232C輸出電平所需的±10伏電壓。

  4下位機軟件設(shè)計

  4.1  軟件整體設(shè)計

  下位機的軟件設(shè)計主要由3部分組成:數(shù)據(jù)采集及存儲子程序,,鍵盤掃描與液晶顯示程序,,與上位機的通信子程序。流程圖如圖4,。

  主程序中,,首先進(jìn)行鍵盤、顯示器,、AD模塊和通信端口的初始化,。數(shù)據(jù)采集及存儲子程序編寫為定時中斷子程序,采用定時器2定時,,每2分鐘調(diào)一次數(shù)據(jù)采集及存儲子程序,,采集一次數(shù)據(jù)。而酸雨數(shù)據(jù)的采集是通過外部中斷INT1,,每當(dāng)酸雨量達(dá)0.5mm時向ADuC812發(fā)一個中斷請求,,ADuC812采集一次酸雨數(shù)據(jù)。

  主程序循環(huán)掃描鍵盤,,當(dāng)有鍵按下時,,轉(zhuǎn)鍵盤掃描子程序。主程序中把與上位機的通信程序設(shè)置為外部中斷子程序,,中斷信號由INT0輸入,。當(dāng)上位機要求傳送數(shù)據(jù)時,通過撥號,,選中某一下位機,,則此下位機程序跳轉(zhuǎn)到通信子程序,完成與上位機的通信,。

軟件流程圖

圖4,、軟件流程圖

  4.2  軟件設(shè)計特點

 

  ADuC812微控制器內(nèi)核與8051指令兼容,,用戶現(xiàn)有的軟件都可以直接移植,但在ADC轉(zhuǎn)換模塊和數(shù)據(jù)的存取方面與8051編程不同,。

  在數(shù)據(jù)采集及存儲子程序中,,ADC首先要初始化,。對ADuC812的AD轉(zhuǎn)換模塊的操作是通過對ADCON1,,ADCON2和ADCON3這3個特殊功能寄存器(SFR)來控制的。ADCON1控制轉(zhuǎn)換與采集時間,、硬件轉(zhuǎn)換模式以及掉電模式,。在對ADCON1的設(shè)置中,ADC正常工作,,時鐘分頻比為2,。由于輸入信號模擬放大轉(zhuǎn)換電路的輸出阻抗都小于8KΩ,所以選擇ADC采集時鐘為1,。設(shè)置定時器2轉(zhuǎn)換位T2C,,由此,得ADCON1=52H,。ADCON2控制ADC通道選擇和轉(zhuǎn)換模式,。由于本數(shù)據(jù)采集系統(tǒng)為8通道順序采集,ADC每次需要將8個通道的模擬輸入量依次進(jìn)行轉(zhuǎn)換,,因此,,要把通道號CHAG的值送入ADCON2中。ADCON3未用,。一旦特殊功能寄存器ADCON1~3完成設(shè)置,,ADC將轉(zhuǎn)換模擬輸入并在特殊功能寄存器ADCDADAH/L中提供ADC 12位結(jié)果字。

  CPU用中斷方式管理A/D轉(zhuǎn)換器,。當(dāng)A/D轉(zhuǎn)換完成時,,向CPU發(fā)請求信號,CPU響應(yīng)中斷,,中斷處理子程序負(fù)責(zé)對轉(zhuǎn)換的數(shù)據(jù)進(jìn)行讀出并將其存儲至外部數(shù)據(jù)存儲器28F128中,,然后通道號加1,相應(yīng)的閃速存儲器地址也加1,。

  當(dāng)用戶訪問微轉(zhuǎn)換器ADuC812的16MB的外部數(shù)據(jù)空間時,,必須添加一個數(shù)據(jù)頁指針DPP,與普通MCS-51一樣,,一條向DPTR送數(shù)的MOV指令仍只送16位的數(shù)據(jù)到DPH和DPL,,但一個使DPH溢出的INC DPTR指令,將使地址增加一頁而不是加1,。頁的大小與DPP有關(guān),。因此利用數(shù)據(jù)頁指針DPP可實現(xiàn)16MB外部數(shù)據(jù)空間的訪問,。

  對28F640的讀寫是以頁編程操作為基礎(chǔ)。28F640是超大容量閃速存儲器,,為了保證對各種操作的可靠進(jìn)行,,芯片內(nèi)部增加了控制邏輯。如用來接受各種操作命令的用戶命令單元接口(CUI)和擦寫狀態(tài)機(WSM)等,。當(dāng)進(jìn)行數(shù)據(jù)交換時,,首先是將芯片的片選端使能,使存儲器進(jìn)入工作狀態(tài),,然后再將相應(yīng)命令字送入CUI,。CUI根據(jù)命令要求按地址鎖存器的尋址去控制WSM對相應(yīng)的存儲單元或存儲塊區(qū)域自動執(zhí)行編程算法和必要的延時,從而完成數(shù)據(jù)塊的擦除,、寫入,、鎖存等操作。

  5結(jié)束語

  把ADuC812芯片應(yīng)用在遠(yuǎn)程環(huán)境監(jiān)測信息系統(tǒng)下位機的設(shè)計上,,顯著提高了數(shù)據(jù)采集系統(tǒng)的性能并大幅度地減少了開發(fā)時間和成本,,適應(yīng)了現(xiàn)代環(huán)境監(jiān)測的要求。根據(jù)具體要求稍加修改,,本系統(tǒng)還可適用于氣象,、電力、水文等需要實時監(jiān)測的各個部門,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。