1引言
ADuC812是美國AD公司率先研制出的真正意義上的完整的數據采集系統(tǒng)芯片,是投入市場的第一種微轉換器產品。它性能優(yōu)良,價格便宜,開發(fā)手段完備,是一種新型的高度集成的高精度12位數據采集系統(tǒng)。其內部的12位A/D轉換周期僅為4us,比常用的AD574快好幾倍。用ADuC812代替由常規(guī)芯片構成的數據采集系統(tǒng),將大大降低產品的成本、縮小設備的體積、提高系統(tǒng)的可靠性和電氣性能指標。
ADuC812芯片內,不僅包含了可重新編程的非易失性閃速/電擦除程序存儲器的高性能8位(與8051兼容)MCU,還包含了高性能的自校準多通道(8個輸入通道)ADC,兩個12位DAC,32條可編程I/O接口。ADuC812微控制器內核與8051指令兼容,用戶現有的軟件都可以直接移植,因而應用開發(fā)方便。它具有9個中斷源(2個優(yōu)先級),片內還集成了8K字節(jié)的閃速/電擦除程序存儲器、640字節(jié)的閃速/電擦除數據存儲器以及256字節(jié)RAM。另外,它還包括一個看門狗定時器和電源監(jiān)控器,ADC與數據存儲器之間的DMA方式,存儲保護功能,一個通用的異步串行收發(fā)器,SPI和I²C總線接口。AD uC812具有24位地址的外部數據尋址能力, 可尋址16MB的外部數據存儲器空間。
2 遠程環(huán)境監(jiān)測信息系統(tǒng)整體介紹
該遠程環(huán)境監(jiān)測信息系統(tǒng)是針對當今環(huán)境遠程監(jiān)測自動化、網絡化、信息化的要求而設計的,它是由分布于遠距離各個監(jiān)測站的多個下位機和位于中心站的上位機組成,其結構如圖1所示。
圖1、系統(tǒng)結構圖
上下位機是通過MODEM和電話線路實現遠程通信的。上位機將各下位機傳送來的數據存入數據庫,并對各環(huán)境數據做出數據分析。
下位機分布在大范圍、遠距離的各個環(huán)境監(jiān)測站點,對大氣、水質、酸雨等各監(jiān)測儀送來的各種環(huán)境數據進行實時采集。對環(huán)境監(jiān)測儀輸出的SO2、NO2、NO等變化緩慢的參數每2分鐘采樣一次,對酸雨計輸出的酸雨參數每0.5mm雨量采樣一次。采樣數據要求連續(xù)保存7天,每天的平均值保存一個月,并且存儲在下位機中的采樣數據隨時準備接受上位機的查詢和向上位機傳送。
3下位機硬件電路設計
下位機硬件電路的設計,主要是考慮被測信號的變化速率和通道數,以及對測量精度、分辨率、速度的要求等。該數據采集系統(tǒng)電路包括:ADuC812、模擬放大轉換電路、外部數據存儲器28F128、串行口通信以及鍵盤和LCD顯示器,如圖2所示。
圖2、硬件結構圖
3.1 采集電路的模擬信號輸入
在ADuC812中,P1.0—P1.7初始化后為8通道的模擬輸入口。如果用于數字量輸入,編程時應首先把端口寫“0”。本電路將P1口設為8路由各環(huán)境監(jiān)測儀輸出的模擬量輸入。由于ADC的基準電壓是2.5伏,而各監(jiān)測儀輸出的模擬量一般為0~1伏或4~20毫安,因而需要模擬放大轉換電路把輸入信號轉換成0—2.5伏的標準輸入。轉換電路如圖3所示。
圖3、模擬放大轉換電路
3.2 ADuC812與外部數據存儲器的接口電路
為滿足本設計系統(tǒng)大量數據的存儲要求,在采用常規(guī)芯片構成的系統(tǒng)中要采用10片128K的HM628128數據存儲器(RAM),這樣,不但成本高、電路設計復雜、系統(tǒng)的可靠性和電氣性能指標也低。由于ADuC812具有24位地址的外部數據尋址能力,本方案中,我們采用一片28F640。28F640是一超大容量閃速存儲器,單片容量為8MB,不但更好的滿足了本系統(tǒng)的設計要求,而且當采集參數增加,或采樣時間變化時,同樣能滿足要求,因而提高了系統(tǒng)的兼容性。
為實現對28F640的訪問,ADuC812利用兩片8位鎖存器74HC573與28F640相連。P0口分時輸出低8位地址A0~A7和8位數據,利用地址鎖存信號ALE可以將低8位地址鎖存到8位鎖存器U2中。P2口分時輸出高8位地址和中8位地址,可以利用地址鎖存信號ALE將高8位地址鎖存到8位鎖存器U4中。這樣就實現了24位尋址空間。由于28F640只有A0~A22共23位地址線,所以鎖存器輸出的A23地址線懸空。
3.3 鍵盤、顯示器接口電路
外接鍵盤和LCD顯示器的目的是:當數據發(fā)送錯誤或人工查詢數據時,可通過鍵盤選擇要查詢的參數并在顯示器上顯示出來,使下位機的工作更加靈活方便。
為了連接鍵盤和顯示器,需要擴展一片8155I/O口擴展芯片,采用4*4觸摸式鍵盤和點陣式液晶顯示器。鍵盤上的鍵值分別與各路環(huán)境參數對應,若為“0”按下,則調顯示子程序,此后每按一個鍵,此按鍵值對應的環(huán)境參數在顯示器上顯示出來。若不是“0”鍵按下,則把鍵值送累加器A。當為“F”鍵按下時,則退出顯示子程序。
3.4 串行通信接口電路
由于要通過MODEM、電話線與上位PC機通信,所以須利用MAX232芯片作為RS—232口電平匹配與驅動。MAX232是包含兩路接收器和驅動器的IC芯片,其內部有一個電源電壓變換器,可以把輸入的+5V電源電壓變換成為RS—232C輸出電平所需的±10伏電壓。
4下位機軟件設計
4.1 軟件整體設計
下位機的軟件設計主要由3部分組成:數據采集及存儲子程序,鍵盤掃描與液晶顯示程序,與上位機的通信子程序。流程圖如圖4。
主程序中,首先進行鍵盤、顯示器、AD模塊和通信端口的初始化。數據采集及存儲子程序編寫為定時中斷子程序,采用定時器2定時,每2分鐘調一次數據采集及存儲子程序,采集一次數據。而酸雨數據的采集是通過外部中斷INT1,每當酸雨量達0.5mm時向ADuC812發(fā)一個中斷請求,ADuC812采集一次酸雨數據。
主程序循環(huán)掃描鍵盤,當有鍵按下時,轉鍵盤掃描子程序。主程序中把與上位機的通信程序設置為外部中斷子程序,中斷信號由INT0輸入。當上位機要求傳送數據時,通過撥號,選中某一下位機,則此下位機程序跳轉到通信子程序,完成與上位機的通信。
圖4、軟件流程圖
4.2 軟件設計特點
ADuC812微控制器內核與8051指令兼容,用戶現有的軟件都可以直接移植,但在ADC轉換模塊和數據的存取方面與8051編程不同。
在數據采集及存儲子程序中,ADC首先要初始化。對ADuC812的AD轉換模塊的操作是通過對ADCON1,ADCON2和ADCON3這3個特殊功能寄存器(SFR)來控制的。ADCON1控制轉換與采集時間、硬件轉換模式以及掉電模式。在對ADCON1的設置中,ADC正常工作,時鐘分頻比為2。由于輸入信號模擬放大轉換電路的輸出阻抗都小于8KΩ,所以選擇ADC采集時鐘為1。設置定時器2轉換位T2C,由此,得ADCON1=52H。ADCON2控制ADC通道選擇和轉換模式。由于本數據采集系統(tǒng)為8通道順序采集,ADC每次需要將8個通道的模擬輸入量依次進行轉換,因此,要把通道號CHAG的值送入ADCON2中。ADCON3未用。一旦特殊功能寄存器ADCON1~3完成設置,ADC將轉換模擬輸入并在特殊功能寄存器ADCDADAH/L中提供ADC 12位結果字。
CPU用中斷方式管理A/D轉換器。當A/D轉換完成時,向CPU發(fā)請求信號,CPU響應中斷,中斷處理子程序負責對轉換的數據進行讀出并將其存儲至外部數據存儲器28F128中,然后通道號加1,相應的閃速存儲器地址也加1。
當用戶訪問微轉換器ADuC812的16MB的外部數據空間時,必須添加一個數據頁指針DPP,與普通MCS-51一樣,一條向DPTR送數的MOV指令仍只送16位的數據到DPH和DPL,但一個使DPH溢出的INC DPTR指令,將使地址增加一頁而不是加1。頁的大小與DPP有關。因此利用數據頁指針DPP可實現16MB外部數據空間的訪問。
對28F640的讀寫是以頁編程操作為基礎。28F640是超大容量閃速存儲器,為了保證對各種操作的可靠進行,芯片內部增加了控制邏輯。如用來接受各種操作命令的用戶命令單元接口(CUI)和擦寫狀態(tài)機(WSM)等。當進行數據交換時,首先是將芯片的片選端使能,使存儲器進入工作狀態(tài),然后再將相應命令字送入CUI。CUI根據命令要求按地址鎖存器的尋址去控制WSM對相應的存儲單元或存儲塊區(qū)域自動執(zhí)行編程算法和必要的延時,從而完成數據塊的擦除、寫入、鎖存等操作。
5結束語
把ADuC812芯片應用在遠程環(huán)境監(jiān)測信息系統(tǒng)下位機的設計上,顯著提高了數據采集系統(tǒng)的性能并大幅度地減少了開發(fā)時間和成本,適應了現代環(huán)境監(jiān)測的要求。根據具體要求稍加修改,本系統(tǒng)還可適用于氣象、電力、水文等需要實時監(jiān)測的各個部門。