2007年單片機(jī)ADUC812在氣體分析儀器中的應(yīng)用薛萬(wàn)鐵(中國(guó)船舶重工集團(tuán)公司第七一八研究所)特點(diǎn),在氣體分析儀器的設(shè)計(jì)中得到了很好的應(yīng)用,本文針對(duì)氣體分析儀器設(shè)計(jì)中的功能需求,介紹了單片機(jī)ADC812在氣體分析儀器設(shè)計(jì)中的應(yīng)用。 前言單片機(jī)具有體積小、性能可靠、使用靈活等特點(diǎn),因此在精密儀器的信號(hào)采集處理設(shè)計(jì)中具有廣泛的應(yīng)用。對(duì)于單片機(jī)的接觸和認(rèn)識(shí),很多人是從以INTEL8031為代表的MCS-51系列單片機(jī)開(kāi)始的⑴,在采用單片機(jī)INTEL8031設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)中,需要以總線方式來(lái)擴(kuò)展各功能部件,如A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、顯示驅(qū)動(dòng)器件等。 采用這種傳統(tǒng)單片機(jī)的設(shè)計(jì)方法,具有以下的缺陷:外圍元件較多,設(shè)計(jì)繁瑣,布線多,占用電路板空間大;而且由于總線的引出,使得電路易受干擾,可靠性降低。 隨著集成電路及相關(guān)電子技術(shù)的發(fā)展,面向不同的應(yīng)用需求,新型單片機(jī)不斷推出,其中一個(gè)突出的特點(diǎn)就是在單片機(jī)內(nèi)部集成了程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、A/D、D/A、各種數(shù)據(jù)接口等功能。根據(jù)設(shè)計(jì)功能的需要,選擇不同的單片機(jī)進(jìn)行設(shè)計(jì),可以減少大量的外圍器件,提高設(shè)計(jì)效率,增強(qiáng)單片機(jī)系統(tǒng)的可靠性;另一方面,由于大大減少了元器件的品種和數(shù)量,也有利于日后產(chǎn)品的生產(chǎn)。 1單片機(jī)選型目前,市場(chǎng)上不同廠家、不同型號(hào)的單片機(jī)種類繁多,各種單片機(jī)產(chǎn)品的資料也可以方便的查到。在常規(guī)氣體分析儀器新產(chǎn)品的設(shè)計(jì)中,通過(guò)對(duì)多種單片機(jī)的綜合比較,作者選擇了ADUC812芯片,選擇該型號(hào)單片機(jī),主要出于以下幾個(gè)方面的考慮:位A/D轉(zhuǎn)換的分辨率為1/4096,對(duì)氫、氧、二氧化艦船防化碳、一氧化碳等傳感器信號(hào)檢測(cè)來(lái)說(shuō)是既足夠用又不換的精度過(guò)高,一是沒(méi)有必要,二是采集的數(shù)據(jù)較大,對(duì)單片機(jī)來(lái)說(shuō)硬件資源有限,不利于復(fù)雜的計(jì)算和數(shù)據(jù)處理。 另外,在氣體分析儀器的設(shè)計(jì)中,不僅要對(duì)氣體傳感器的信號(hào)進(jìn)行采集,還需要對(duì)溫度、壓力、流量等檢測(cè)信號(hào)進(jìn)行采集,以實(shí)現(xiàn)補(bǔ)償和其它輔助功能,因此,8路的ADC也符合基本的應(yīng)用需求。 ②通過(guò)對(duì)可以滿足應(yīng)用的多種單片機(jī)進(jìn)行比較,ADUC812基本上是集成擴(kuò)展功能最多的單片機(jī),選用該單片機(jī)就可盡量少的擴(kuò)展外圍器件,減小電路板的尺寸,尤其是需要在探頭中設(shè)計(jì)單片機(jī)數(shù)據(jù)采集處理系統(tǒng)的情況下,探頭的大小限制了電路部分的大小,采用多功能集成的單片機(jī)有利于探頭設(shè)計(jì)的實(shí)現(xiàn)。 8051的內(nèi)核,對(duì)于熟悉51系列單片機(jī)指令系統(tǒng)的設(shè)計(jì)者來(lái)說(shuō)可以快速的上手進(jìn)行設(shè)計(jì)。對(duì)以INTEL8031單片機(jī)設(shè)計(jì)的大部分軟件子程序,經(jīng)過(guò)部分修改后可加以利用,可以提高設(shè)計(jì)效率,也方便對(duì)用INTEL8031單片機(jī)設(shè)計(jì)的氣體分析儀器老產(chǎn)品進(jìn)行改型設(shè)計(jì),這一點(diǎn)也很重要。 8051的內(nèi)核,ADUC812具有較強(qiáng)的系統(tǒng)擴(kuò)展能力,隨著氣體分析儀器在系統(tǒng)化、網(wǎng)絡(luò)化方面的應(yīng)用,采用ADUC812外接不同的總線接口器件的設(shè)計(jì),也是很好的解決方案,可以使分析儀器能滿足不同的網(wǎng)絡(luò)接口要求。 2ADUC812的性能參數(shù)ADUC812是美國(guó)ADI(AnalogDeviceInc)公司推出的高集成度FLASH型單片機(jī),是全集成的12位數(shù)據(jù)采集系統(tǒng),在約1cm2的芯片中,具有與8051兼容的內(nèi)核,其內(nèi)部還集成了高精度8路12位模數(shù)轉(zhuǎn)換器(ADC)、2路12位、8kB閃速/電擦除程序存儲(chǔ)器、640字節(jié)閃速/電擦除數(shù)據(jù)存儲(chǔ)器,基本上是一個(gè)完整的12位數(shù)據(jù)采集處理系統(tǒng),除此之外,還包括了看門狗定時(shí)器、電源監(jiān)視器等功能,提供32條可編程I/O線、I2C接口、SPI接口和標(biāo)準(zhǔn)UART串行接口。 ADUC812可直流3V或5V供電,具有正常、空閑、掉電工作模式,當(dāng)采用5V供電正常工作模式時(shí),功耗為幾十mW,當(dāng)采用3V供電,并通過(guò)軟件使系統(tǒng)處于空閑或掉電模式時(shí),功耗不超過(guò)1mW. ADUC812為52個(gè)引腳,采用PQTP封裝形式,引腳排列如所示。 ADUC812引腳排列ADUC812的開(kāi)發(fā)調(diào)試也很方便,具有在線調(diào)試和下載功能。對(duì)ADUC812進(jìn)行設(shè)計(jì)開(kāi)發(fā)需要兩個(gè)條件:一是工具軟件,所需的工具軟件為QuickStart,是ADI公司提供的與ADUC812配套的開(kāi)發(fā)工具軟件,可以從ADI公司網(wǎng)站上下載;二是硬件連接,ADUC812的UART串行接口與PC機(jī)的串行COM端口進(jìn)行連接,即可利用QuickStart工具軟件實(shí)現(xiàn)程序的下載和在線調(diào)試。因此,用戶需要在電路設(shè)計(jì)中實(shí)現(xiàn)PC機(jī)與ADUC812的串行通信功能,按《ADUC812數(shù)據(jù)手冊(cè)》中的應(yīng)用說(shuō)明,通過(guò)一個(gè)RS232轉(zhuǎn)換電路即可實(shí)現(xiàn),如所示。 當(dāng)在線調(diào)試或下載程序時(shí),只需通過(guò)一個(gè)與地相連的1kfi電阻將ADUC812的PSEN引腳拉至低電平即可,下載程序后,斷開(kāi)PSEN引腳上的下拉電阻,系統(tǒng)即可正常運(yùn)行。 下載接口電路3應(yīng)用設(shè)計(jì)3.1數(shù)據(jù)采集數(shù)據(jù)采集是將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)的過(guò)程,是進(jìn)行數(shù)據(jù)處理的前提,ADUC812具有8路12位模數(shù)轉(zhuǎn)換器(ADC),12位A/D轉(zhuǎn)換器對(duì)常用的氣體分析儀設(shè)計(jì)來(lái)說(shuō)足以保證轉(zhuǎn)換精度,而且也不會(huì)因?yàn)榫冗^(guò)高而帶來(lái)運(yùn)算處理的麻煩。在氣體分析儀的設(shè)計(jì)中,除了需檢測(cè)的氣體濃度信號(hào)外,往往還要檢測(cè)溫度、壓力、濕度等環(huán)境模擬量信號(hào),以便進(jìn)行各種補(bǔ)償功能,提高檢測(cè)精度,ADUC812中的8路ADC通道可以滿足絕大多數(shù)的設(shè)計(jì)應(yīng)用。 具有啟動(dòng)單步轉(zhuǎn)換、定時(shí)轉(zhuǎn)換、DMA轉(zhuǎn)換三種工作模式,通過(guò)寫入功能寄存器指令來(lái)對(duì)轉(zhuǎn)換模式、通道選擇、轉(zhuǎn)換時(shí)間等進(jìn)行設(shè)置,利用中斷接收轉(zhuǎn)換結(jié)果,下面給出的是單步A/D轉(zhuǎn)換的匯編語(yǔ)言程序部分:;主程序,打開(kāi)ADC中斷功能MOVADCCON1,60H;ADC工作模式設(shè)置MOVADCCON2,01H;打開(kāi)第1路ADC通道SETBSCONV;啟動(dòng)單次A/D轉(zhuǎn)換3.2數(shù)據(jù)存儲(chǔ)ADUC812提供了640字節(jié)閃速/電擦除數(shù)據(jù)存儲(chǔ)器,可以由用戶進(jìn)行操作改寫,具有可在線改寫和斷電不丟失數(shù)據(jù)的特點(diǎn)。在氣體分析儀器的設(shè)計(jì)中,溫度等校正系數(shù)、零點(diǎn)/量程校準(zhǔn)系數(shù)、定時(shí)檢測(cè)的歷史數(shù)據(jù)等都可存于此存儲(chǔ)器中。比如,進(jìn)行零點(diǎn)校準(zhǔn)時(shí),對(duì)儀器通入零點(diǎn)標(biāo)準(zhǔn)氣,并按下儀器的零點(diǎn)校準(zhǔn)按鍵,此時(shí)ADUC812將零點(diǎn)校準(zhǔn)的數(shù)據(jù)存入閃速數(shù)據(jù)存儲(chǔ)器中,當(dāng)儀器正常檢測(cè)時(shí)利用該校準(zhǔn)數(shù)據(jù)實(shí)現(xiàn)對(duì)檢測(cè)信號(hào)的零點(diǎn)校正功能。 ADUC812中的閃速/電擦除數(shù)據(jù)存儲(chǔ)器的特點(diǎn)是按頁(yè)進(jìn)行存儲(chǔ),共160(0H9FH)頁(yè),每頁(yè)4個(gè)字節(jié),如同其它外圍設(shè)備一樣,通過(guò)映射到特殊功能寄存器空間的一組寄存器與此數(shù)據(jù)存儲(chǔ)器空間相接,4個(gè)數(shù)據(jù)寄存器組(EDATA1EDATA4)用于保存剛訪問(wèn)的4字節(jié)頁(yè)數(shù)據(jù),EADRL寄存器用于指定被訪問(wèn)頁(yè)的地址,ECON是8位控制寄存器,通過(guò)對(duì)ECON寫入指令來(lái)實(shí)現(xiàn)讀、寫、擦除和校驗(yàn)等功能。例如要在第3頁(yè)中保存01、02、03、04四個(gè)數(shù)據(jù),所需的匯編代碼如下:MOVEADRL,03H;設(shè)置存儲(chǔ)指針,指向第3頁(yè)3.3數(shù)模轉(zhuǎn)換對(duì)于泵抽采樣的氣體分析儀來(lái)說(shuō),氣樣的流量都有一個(gè)標(biāo)準(zhǔn)要求,有的儀器是采用閥的開(kāi)閉改變氣路中的氣阻來(lái)控制氣樣流量大小,如果氣阻過(guò)大則容易損壞抽氣泵。利用ADUC812中的數(shù)模轉(zhuǎn)器(DAC)則可以很好的解決這一問(wèn)題,用數(shù)模轉(zhuǎn)器輸出的模擬信號(hào)經(jīng)驅(qū)動(dòng)后控制抽氣泵的供電電壓,電壓大則流量大,反之則流量小,輸出電壓信號(hào)為零則抽氣泵停止工作,用戶可以通過(guò)儀器面板上的按鍵進(jìn)行調(diào)節(jié)。另一方面,在需要流量穩(wěn)定的場(chǎng)合下,可以在氣路中設(shè)計(jì)流量檢測(cè)器,檢測(cè)到的流量信號(hào)經(jīng)A/D轉(zhuǎn)換后與設(shè)定值進(jìn)行比較判斷,再通過(guò)數(shù)模轉(zhuǎn)器輸出模擬信號(hào)控制抽氣泵的流量,通過(guò)這樣的反饋,可以使采樣氣體的流量穩(wěn)定地保持為所需的流量。對(duì)于需要采用加熱設(shè)計(jì)的場(chǎng)合,對(duì)加熱溫度的調(diào)節(jié)和溫度恒定也可以采艦船防化用類似的方法。 ADUC812內(nèi)有兩個(gè)12位的DAC,由1個(gè)控制寄存器(DACC0N)和4個(gè)數(shù)據(jù)寄存控制器進(jìn)行控制,即:DAC0L/DAC1L包含低8位DAC字節(jié)需的通用控制位DAC的編程比較簡(jiǎn)單,只要設(shè)置好控制寄存器DACC0N,然后將所需D/A轉(zhuǎn)換的數(shù)據(jù)寫入DAC0L/DAC1L、DAC0H/DAC1H中即可啟動(dòng)DAC工作。例如,要使DAC0輸出4V電壓,以下幾條指令即可實(shí)現(xiàn):輸出范圍為05V引腳電壓對(duì)于氣體分析儀器的設(shè)計(jì),除了模擬信號(hào)放大整理、采集、運(yùn)算處理等功能外,顯示單元的設(shè)計(jì)也是必不可少的一部分,通過(guò)顯示才可以獲知檢測(cè)的結(jié)果,ADUC812所帶的SPI接口為設(shè)計(jì)顯示單元提供了很大的便利。 SPI(SerialPeriphralInterface)是工業(yè)標(biāo)準(zhǔn)的同步串行接口,SPI接口是一種全雙工、三線通信的系統(tǒng),它允許單片機(jī)與各種外圍設(shè)備以串行方式進(jìn)行通信。采用SPI接口的顯示驅(qū)動(dòng)芯片或顯示模塊有很多種,可以根據(jù)需要進(jìn)行選擇,例如當(dāng)需要設(shè)計(jì)LED數(shù)碼管顯示時(shí),可以采用帶顯示驅(qū)動(dòng)芯片MAX7219,外圍電路僅需一個(gè)電阻設(shè)定峰值段電流,使用SPI口的2根線和1根I/O口線即可完成對(duì)8位LED數(shù)碼管或64個(gè)LED燈的控制和驅(qū)動(dòng),并可通過(guò)對(duì)多個(gè)MAX7219簡(jiǎn)單的級(jí)連,實(shí)現(xiàn)對(duì)更多的LED數(shù)碼管的驅(qū)動(dòng)控制,是利用MAX7219驅(qū)動(dòng)LED數(shù)碼管的連接圖。 當(dāng)需要液晶模塊進(jìn)行顯示檢測(cè)結(jié)果時(shí),可以選用具有SPI口的液晶模塊進(jìn)行設(shè)計(jì),一般液晶模塊的驅(qū)動(dòng)電路和液晶片集合成為一體,因此在設(shè)計(jì)中更加方便,只需按要求與ADUC812的SPI口進(jìn)行連接,在軟件設(shè)計(jì)中按相應(yīng)的控制字對(duì)模塊進(jìn)行設(shè)置并按格LED顯示連接圖式要求傳送數(shù)據(jù)即可。比如OCM4X8C液晶模塊,該模塊自帶漢字庫(kù),采用SPI串口數(shù)據(jù)傳送,可以顯示4行8列漢字,可以方便的顯示漢字和所需的點(diǎn)陣圖形。 對(duì)ADUC812中SPI接口的軟件編程也很簡(jiǎn)單,設(shè)置SPI控制寄存器SPICON為相應(yīng)的工作模式,然后將要發(fā)送的數(shù)據(jù)寫入數(shù)據(jù)寄存器SPIDAT中,即可實(shí)現(xiàn)數(shù)據(jù)傳送。 4結(jié)語(yǔ)正是由于ADUC812具有多功能、低功耗、體積小、設(shè)計(jì)調(diào)試方便等特點(diǎn),迎合了氣體分析儀器設(shè)計(jì)的需要,使得它能在無(wú)論是固定式儀器還是便攜式儀器,無(wú)論是主機(jī)還是探頭信號(hào)數(shù)據(jù)處理中能滿足設(shè)計(jì)需求,因此在多種氣體分析儀器的產(chǎn)品設(shè)計(jì)中得到了很好的應(yīng)用。 電子技術(shù)發(fā)展很快,在氣體分析儀器的設(shè)計(jì)中,多加學(xué)習(xí),選擇適合的信號(hào)處理器件,結(jié)合先進(jìn)的檢測(cè)技術(shù),才能設(shè)計(jì)出具有競(jìng)爭(zhēng)力的產(chǎn)品。 |