基于ADuC841的數(shù)據(jù)采集系統(tǒng)的設(shè)計
2 數(shù)據(jù)采集器硬件系統(tǒng)的總體設(shè)計與實現(xiàn)
2.1 硬件系統(tǒng)的模塊劃分和各模塊功能
該外置式數(shù)據(jù)采集器硬件系統(tǒng)由傳感器模塊、信號調(diào)理模塊、外部存儲模塊、串行通信口模塊、顯示模塊組成,如圖2所示。信號調(diào)理模塊主要采集到的信號進(jìn)行簡單的放大、濾波。模擬輸入信號的濾波主要用于濾除高頻干擾信號,在設(shè)計中采用低通濾波器完成這一功能。開關(guān)量輸入信號的濾波主要用于防止強(qiáng)電磁干擾或工頻電壓通過開關(guān)量輸入通道進(jìn)入信號采集處理系統(tǒng),設(shè)計采用連接光耦合器的方法實現(xiàn)這一功能。信號采集處理模塊的主要功能是對采集到的信號進(jìn)行A/D轉(zhuǎn)換和簡單處理。同時信號采集處理模塊的微處理器肩負(fù)著管理輸入輸出等其他模塊的任務(wù),該模塊主要由ADuC841芯片組成。外部存儲模塊的主要功能是提供32 KB的外部數(shù)據(jù)存儲空間,為該外置式數(shù)據(jù)采集器存儲和處理大量的采集信號,以提供硬件支持。外部存儲模塊主要由FLAsH存儲器AT45DB081B組成。串行通信模塊的功能主要是提供標(biāo)準(zhǔn)的RS 232接口和RS 485接口,為實現(xiàn)不同外置式數(shù)據(jù)采集器之間的通信,以及外置式數(shù)據(jù)采集器與計算機(jī)之間的通信提供方便。該模塊主要由MAX 232芯片和MAX485芯片組成。
2.2 硬件系統(tǒng)電路的總體設(shè)計
信號采集處理模塊中的ADuC841芯片允許P1口作為采集器的模擬信號輸入口,ADuC841芯片功能強(qiáng)大,允許被采集信號直接輸入。但為了抑制干擾信號,在本設(shè)計中被采集信號通過低通濾波器后再輸入ADuC841。信號采集處理模塊中ADuC841芯片的P2口既可以作為采集器的數(shù)字信號I/O口,也可以作為外部32 KB RAM的高7位地址線接口。當(dāng)作為采集器的數(shù)字信號I/O口時,P2口通過緩沖器(鎖存器)與外部開關(guān)量輸入(開關(guān)量輸出)相連;當(dāng)作為外部32 KB RAM的高7位地址線接口時,P2口直接與外部RAM的高7位地址線相連。ADuC841的第14口外接一個射級跟隨器作為DAC輸出口,第14口外接一個射級跟隨器的目的是增加電路的驅(qū)動能力。為了方便集散控制和實現(xiàn)外置式數(shù)據(jù)采集器與計算機(jī)及其
他設(shè)備間的信息交換,需要在外置式數(shù)據(jù)采集器設(shè)計標(biāo)準(zhǔn)的通信接口。本數(shù)據(jù)采集處理器預(yù)留了標(biāo)準(zhǔn)的RS 232C和RS 485A通信接口,方便了聯(lián)機(jī)通信。
3 軟件系統(tǒng)的設(shè)計
本系統(tǒng)的軟件編制和仿真下載均在Keil公司最新推出的Keil uVision3環(huán)境下實現(xiàn)。Keil單片機(jī)應(yīng)用開發(fā)軟件支持多種不同公司的MCS51構(gòu)架的芯片,集編輯、編譯、下載和仿真等于一體,同時還支持PLM、匯編和C語言的程序設(shè)計,在調(diào)試程序和軟件仿真方面也有很強(qiáng)大的功能。Keil uVision3支持ADuC8XX系列芯片的開發(fā)和在線下載,簡單易用,能夠滿足系統(tǒng)軟件開發(fā)環(huán)境的需求。由于篇幅的限制只給出了串口通信的設(shè)計,如圖3所示。
在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對ADuC841串行口編程為4種工作方式,其中,方式0和方式2的波特率是固定的,方式1和方式3的波特率是可變的,由定時器T1的溢出率來決定。串行口的4種工作方式對應(yīng)3種波特率。由于輸入移位時鐘的來源不同,所以各種方式的波特率計算公式也不相同。
方式0的波特率=fosc/12
方式1的波特率=(2SMOD/64)(T1溢出率)
方式2的波特率=(2SMOD/64)fosc
方式3的波特率=(2SMOD/64)(T1溢出率)
當(dāng)T1作為波特率發(fā)生器時,使T1工作在自動再裝入的8位定時器方式(即方式2,且TCON的TR1=1,以啟動定時器)。這時溢出率取決于TH1中的計數(shù)值。在ADuC841中,用的晶振頻率為32.768 kHz,所以選用的波特率也相對固定。在使用串行口之前,應(yīng)對其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時器1、串行控制和中斷控制。具體步驟如下:
(1)確定T1的工作方式(編程TMOD寄存器);
(2)計算T1的初值,裝載TH1,TL1;
(3)啟動T1(編程TCON中的TR1位);
(4)確定串行口控制(編程SCON寄存器);
(5)串行口在中斷方式工作時,要進(jìn)行中斷設(shè)置(編程IE,IP寄存器)。
雙方約定采用串行口方式1進(jìn)行通信,一楨信息為10位,其中有1個起始位、8個數(shù)據(jù)位和一個停止位,波特率為2 400 b/s。T1工作在定時器方式2,振蕩頻率選用11.059 2 Hz,由此可知TH1=TL1=OF4H,PCON寄存器的SMOD位為0。
4 結(jié)語
在此提出了以ADuC841單片機(jī)為核心結(jié)構(gòu),進(jìn)行數(shù)據(jù)實時采集的實施方案設(shè)計。圍繞該系統(tǒng)方案,把本系統(tǒng)實時內(nèi)核的具體實現(xiàn)步驟分為系統(tǒng)硬件設(shè)計和軟件編程設(shè)計2個階段。對今后的研發(fā)提供一定的整體框架,為開發(fā)設(shè)計類似設(shè)備打下了理論與實踐的基礎(chǔ)。
評論