基于ADuC841的數(shù)據(jù)采集系統(tǒng)的設(shè)計
掃描二維碼
隨時隨地手機看文章
摘要:針對油田現(xiàn)場環(huán)境復(fù)雜,一直面臨著因采集到的數(shù)據(jù)不準(zhǔn)確的問題,采用ADl公司的ADuC841芯片設(shè)計了一種具有在油田現(xiàn)場實現(xiàn)數(shù)據(jù)采集的小型電路。該數(shù)據(jù)采集電路采用片內(nèi)集成的A/D轉(zhuǎn)換器,大大減小電路體積;滿足系統(tǒng)的高溫、高壓工作環(huán)境以及低功耗。現(xiàn)在的數(shù)據(jù)采集系統(tǒng)速度更快,功能更強,精度更高,但是體積卻顯得更小,總體性價比越來越高。
關(guān)鍵詞:嵌入式;數(shù)據(jù)采集系統(tǒng);ADuC841;A/D轉(zhuǎn)換器
0 引言
油田現(xiàn)場往往環(huán)境復(fù)雜,電磁干擾多,溫度/濕度相對變化范圍較大,所以一直面臨著因采集到的數(shù)據(jù)不準(zhǔn)確,影響測量精度和速度。在設(shè)計現(xiàn)場數(shù)據(jù)采集模塊的過程中,經(jīng)過對眾多數(shù)據(jù)采集處理芯片的分析比較,選用了ADuC841作為數(shù)據(jù)采集的核心芯片,相比于早期的ADuC81x系列,它在速度大幅度提升片內(nèi)的集成功能、器件的可靠性和功耗等方面都達(dá)到了一個嶄新的水平,證明該芯片非常適合用于復(fù)雜電磁環(huán)境下工業(yè)控制上的小信號數(shù)據(jù)采集。
1 ADuC841的基本原理和性能特點
ADuc841單片機具有高速、高精度的ADC,DAC功能,以及獨一無二的在電路可調(diào)試、可下載的特點,特別適合在各種測控系統(tǒng)和儀器儀表中使用。
ADuC841(如圖1所示)內(nèi)部集成了8052微處理器的內(nèi)核,并提供了很大的存儲空間,如64 KB的FLASH/E2PROM程序空間、8 KB的FLASH/E-2PROM數(shù)據(jù)空間,以及2 304 B的數(shù)據(jù)RAM等。此外,該器件還集成了許多外圍器件,包括精確、高速的8通道12位模/數(shù)轉(zhuǎn)換器(其轉(zhuǎn)換速率最高可達(dá)420 kS/s),片上低漂移15×10-6℃的精密內(nèi)部電壓參考源,DMA方式控制器,2個12位的電壓輸出數(shù)/模轉(zhuǎn)換器、2個脈寬調(diào)制輸出、一個溫度傳感器。使用這些模塊,可以方便地實現(xiàn)與前級傳感器的接口,也可以有效地控制后級電路。其他的片上外設(shè)主要有ART,SPI以及I2C接口、時間間隔計數(shù)器、看門狗定時器和電源監(jiān)視器等,這些模塊可以便捷地實現(xiàn)與其他單片機或PC機通信(此時需電平轉(zhuǎn)換電路),還可以有效地保障單片機電源的正常工作和程序的正常運行。
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)量輸入信號的濾波主要用于防止強電磁干擾或工頻電壓通過開關(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ù)采集器與計算機之間的通信提供方便。該模塊主要由MAX 232芯片和MAX485芯片組成。
2.2 硬件系統(tǒng)電路的總體設(shè)計
信號采集處理模塊中的ADuC841芯片允許P1口作為采集器的模擬信號輸入口,ADuC841芯片功能強大,允許被采集信號直接輸入。但為了抑制干擾信號,在本設(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ù)采集器與計算機及其
他設(shè)備間的信息交換,需要在外置式數(shù)據(jù)采集器設(shè)計標(biāo)準(zhǔn)的通信接口。本數(shù)據(jù)采集處理器預(yù)留了標(biāo)準(zhǔn)的RS 232C和RS 485A通信接口,方便了聯(lián)機通信。
3 軟件系統(tǒng)的設(shè)計
本系統(tǒng)的軟件編制和仿真下載均在Keil公司最新推出的Keil uVision3環(huán)境下實現(xiàn)。Keil單片機應(yīng)用開發(fā)軟件支持多種不同公司的MCS51構(gòu)架的芯片,集編輯、編譯、下載和仿真等于一體,同時還支持PLM、匯編和C語言的程序設(shè)計,在調(diào)試程序和軟件仿真方面也有很強大的功能。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單片機為核心結(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ǔ)。