前端數(shù)據(jù)采集能夠及時(shí)獲取被控對象和生產(chǎn)過程的有效信息,在某些實(shí)時(shí)性要求高的場合尤為重要。工業(yè)生產(chǎn)過程中,為了清晰地反映出生產(chǎn)過程的詳細(xì)信息,往往需要獲得多個(gè)參量的動(dòng)態(tài)數(shù)據(jù),這就有必要對被控對象和生產(chǎn)過程進(jìn)行多路數(shù)據(jù)采集。COP8CDR9系列微控制器是美國國家半導(dǎo)體公司(National Semicondutor)近期推出的CMOS型8位FLASH微控制器產(chǎn)品。該系列產(chǎn)品集成度高,如:它集成了多達(dá)16路的10位A/D轉(zhuǎn)換器、32KB可加密的FLASH程序存儲(chǔ)器、1KB的數(shù)據(jù)存儲(chǔ)器、1個(gè)全雙工串行通信口、為節(jié)能設(shè)計(jì)的雙時(shí)鐘運(yùn)行模式以及支持在紅編程功能等。它能夠以優(yōu)越的性價(jià)比運(yùn)用在多數(shù)工業(yè)生產(chǎn)中。該系列產(chǎn)品,采用44腳或68腳PLCC封裝,以下是其主要的結(jié)構(gòu)特點(diǎn),如圖1所示。 本文結(jié)合COP8CDR9微控制器的功能特點(diǎn),重點(diǎn)介紹該型號(hào)芯片在多路數(shù)據(jù)采集系統(tǒng)中的應(yīng)用。 1 COP8CDR9的A/D轉(zhuǎn)換特性 以采用68腳PLCC的COP8CDR9為例。其PORTA和PORTB口為雙功能口,既可用作一般的I/O口,也是A/D轉(zhuǎn)換時(shí)模擬信號(hào)的輸入端口。當(dāng)用作A/D轉(zhuǎn)換口時(shí),PORTA、PORTB口支持兩種信號(hào)的輸入模式:一種是單端模擬信號(hào)輸入模式,另一種是差分輸入模式。因而可根據(jù)檢測對象的特點(diǎn)靈活也選擇信號(hào)輸入模式進(jìn)行A/D轉(zhuǎn)換。 為配合A/D轉(zhuǎn)換功能,COP8CDR9微控制器在其內(nèi)部RAM映射表中有3個(gè)可直接操作的寄存器與之相關(guān)。其中,2個(gè)是轉(zhuǎn)換結(jié)果寄存器和1個(gè)A/D轉(zhuǎn)換控制寄存器,它們使得A/D轉(zhuǎn)換的軟件編程工作可以輕松完成。由于該微控制器提供了10位精度的轉(zhuǎn)換,而該微處理器為8位系統(tǒng),因而需要2個(gè)寄存器來暫存轉(zhuǎn)換結(jié)果。這2個(gè)寄存器是高位轉(zhuǎn)換結(jié)果寄存器(ADRSTH)和低位轉(zhuǎn)換結(jié)果寄存器(ADRSTL),在RAM中的映射地址分別是0CCH和0CDH。轉(zhuǎn)換結(jié)果寄存器的數(shù)據(jù)存放格式如表1所列。轉(zhuǎn)換控制寄存器(ENAD)用來選擇A/D轉(zhuǎn)換通道、A/D轉(zhuǎn)換模式、多通道輸出以及啟動(dòng)A/D轉(zhuǎn)換。ENAD寄存器中各位的設(shè)置決定了微控制器A/D轉(zhuǎn)換工作方式。其中,CHANNEL SELECT中的四位采用BCD碼來選擇轉(zhuǎn)換通道。當(dāng)MOD=0時(shí),PORTA、PORTB口中的每位用作單端輸入模式;當(dāng)MOD=1時(shí),PORTA、PORTB口中的每相鄰兩位用作差分信號(hào)輸入模式;當(dāng)X=1時(shí),芯片還具有多通道輸出的功能;Prescale位可用來選擇A/D轉(zhuǎn)換的時(shí)鐘頻率,當(dāng)該位置位時(shí),A/D轉(zhuǎn)換的工作頻率為主時(shí)鐘的16分頻,否則,轉(zhuǎn)換頻率和主時(shí)鐘頻率相同;當(dāng)Busy位置位時(shí),片內(nèi)A/D轉(zhuǎn)換模塊啟動(dòng)A/D轉(zhuǎn)換。完成一次A/D轉(zhuǎn)換所需要的典型時(shí)間為15個(gè)A/D轉(zhuǎn)換周期。A/D轉(zhuǎn)換完畢,EAND寄存器的Busy位被機(jī)器內(nèi)部硬件自動(dòng)復(fù)位,并將轉(zhuǎn)換結(jié)果存入ADRSTH和ADRSTL寄存器中,供總線讀取。另外,該芯片內(nèi)部提供A/D轉(zhuǎn)換的參考電壓,用作A/D轉(zhuǎn)換時(shí)只需將V+和Vcc連接,V-和GND連接。ENAD寄存器中各位的定義詳見參考文獻(xiàn)[1]。 Channel select:A/D轉(zhuǎn)換通道選擇位,它由4位組成; Mode select:A/D轉(zhuǎn)換模式選擇位; Mux/Out:多路轉(zhuǎn)換器/輸出選擇位; Prescale:預(yù)定標(biāo)功能選擇位; Busy:A/D轉(zhuǎn)換狀態(tài)位。 2 COP8CDR9構(gòu)成的前端多路數(shù)據(jù)采集系統(tǒng) 由于COP8CDR9微控制器有著豐富的I/O資源以及多達(dá)32KB的片內(nèi)FLASH程序存儲(chǔ)器,因而可以在不外擴(kuò)I/O(PLCC68封裝)或外擴(kuò)I/O口(PLCC44封裝)的情況下,組成圖2所示的前端多路數(shù)據(jù)采集系統(tǒng)。 如圖2所示,該數(shù)據(jù)采集系統(tǒng)主要包括6個(gè)功能子模塊,能夠運(yùn)用在大多數(shù)工業(yè)數(shù)據(jù)采集、記錄場合。下面逐一介紹各個(gè)功能子模塊。 (1)A/D轉(zhuǎn)換子模塊 該模式主要完成從模擬信號(hào)輸入到量程轉(zhuǎn)換(0~5V電壓),輸入方式轉(zhuǎn)換,再到芯片內(nèi)部完成模擬量的數(shù)字量化。一次典型A/D轉(zhuǎn)換子程序如下: …… ;初始化(略) LD PORTAC,#X'00H LD PORTAD,#X'00H LD PORTBC,#X'00H ;設(shè)置A、B口為輸入口 LD PBD,#X'00H A/D:LD ENAD,#X'00H;對0通道單端輸入信號(hào)進(jìn)行轉(zhuǎn)換 SBIT O,ENAD ;啟動(dòng)A/D轉(zhuǎn)換 LD REG1,#X'20H WAIT:DRSZ REG1 ;延時(shí),等待A/D轉(zhuǎn)換結(jié)果 …… ;相應(yīng)處理程序 對于信號(hào)單端直接輸入而言,其線路簡單、易于實(shí)現(xiàn),但可能信號(hào)干擾嚴(yán)重。信號(hào)差分輸入具有抗干擾能力強(qiáng)的特點(diǎn),圖3為多路數(shù)據(jù)采集中采用的抗干擾差分輸入轉(zhuǎn)換電路。差分轉(zhuǎn)換后電流為10~20mA。 (2)鍵盤顯示模塊 該模塊為實(shí)現(xiàn)人機(jī)接口而設(shè)計(jì)。這可用來設(shè)定A/D轉(zhuǎn)換的工作方式,比如,是多路巡回檢測轉(zhuǎn)換還是對特定的某位進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果通過顯示子模塊顯示出來,可采用常用的8279芯片來實(shí)現(xiàn)。 (3)FLASH數(shù)據(jù)存儲(chǔ)器模塊 在某些需要記錄重要數(shù)據(jù)的場合,比如數(shù)據(jù)黑匣子,就需要對采集到的實(shí)時(shí)數(shù)據(jù)立即保存,并且在系統(tǒng)掉電后,這些重要數(shù)據(jù)不被丟失。串行或并行FLASH數(shù)據(jù)存儲(chǔ)器能夠較好地解決這個(gè)問題。由于COP8CDR9微控制器自帶32KB FLASH閃速程序存儲(chǔ)器,并且其支持Virtual EEPROM(虛擬電寫電擦除只讀程序存儲(chǔ)),即在一起記錄數(shù)據(jù)不大(小于32KB減去片內(nèi)程序所占用的存儲(chǔ)空間)的情況下,可以直接把采集到的數(shù)據(jù)寫入片內(nèi)FLASH中。這樣,可以充分利用系統(tǒng)資源降低成本,并且提高系統(tǒng)工作的可靠性。 (4)實(shí)時(shí)時(shí)鐘模塊 該模塊為多路實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)提供一個(gè)統(tǒng)一的時(shí)間標(biāo)準(zhǔn),方便后續(xù)的數(shù)據(jù)分析。可選用自帶鋰電池的實(shí)時(shí)時(shí)鐘芯片DS12C887來實(shí)現(xiàn)。 (5)ISP接口模塊 在系統(tǒng)編程ISP(In System Programming)接口模塊,使技術(shù)人員不需要拆卸已經(jīng)安裝好垢前端采集系統(tǒng),就能夠很方便地對前端采集系統(tǒng)進(jìn)行程序更新升級(jí)。該接口可以利用美國國家半導(dǎo)體公司推出的微控制器微總線方式SI(Serial In)、SO(Serial Out)和SK(Serial Clock)來實(shí)現(xiàn),也可以選擇任意3根I/O通過軟件編程實(shí)現(xiàn)ISP功能。 (6)RS485串行通信模塊 COP8CDR9集成了一個(gè)全雙工可軟件編程的USART口,可以方便進(jìn)行串行數(shù)據(jù)通信。該微控制器構(gòu)成的數(shù)據(jù)采集系統(tǒng)采用RS485總線進(jìn)行信號(hào)差分傳輸,克服了RS232總線傳輸距離有限的缺陷,并且通過上位機(jī)編碼。RS485總線可以方便地把多個(gè)前端數(shù)據(jù)采集系統(tǒng)組合成一個(gè)分布式數(shù)據(jù)采集系統(tǒng)。 3 多路數(shù)據(jù)采集系統(tǒng)在列車實(shí)時(shí)監(jiān)控中的應(yīng)用 列車運(yùn)行狀況監(jiān)控系統(tǒng)主要用來記錄列車在運(yùn)行過程中的諸如發(fā)電機(jī)組電流、電壓、線座溫度以及制動(dòng)系統(tǒng)壓力值等參量的變化情況。其中,列車空氣制動(dòng)系統(tǒng)主要由每節(jié)車廂底部的主風(fēng)缸、儲(chǔ)風(fēng)缸、副風(fēng)缸、制動(dòng)缸及管道組成。這些參數(shù)直接關(guān)系到列車運(yùn)行過程的安全性,而現(xiàn)有列車在運(yùn)行時(shí)缺乏對前端實(shí)時(shí)數(shù)據(jù)進(jìn)行采集的有效手段。列車運(yùn)行狀況主要依靠列車值班員的感官和工作經(jīng)驗(yàn)來判斷,盡管列車經(jīng)過一定年限要進(jìn)行全面檢修,但由于不能及時(shí)發(fā)現(xiàn)安全隱患,所以制約了進(jìn)一步提高列車運(yùn)行的可靠性。采用由COP8CDR9組成的多路數(shù)據(jù)采集系統(tǒng),可以對諸如溫度、壓力等傳感器轉(zhuǎn)換成的電量信息進(jìn)行采集、存儲(chǔ)、并上傳給上位車載計(jì)算機(jī),起到實(shí)時(shí)獲取列車運(yùn)行狀況的作用,以提高列車運(yùn)行安全性。圖4給出了運(yùn)行列車綜合數(shù)據(jù)采集系統(tǒng)構(gòu)成的實(shí)時(shí)監(jiān)控系統(tǒng)。其中上位機(jī)是新型列車上的計(jì)算機(jī),該新型的列車每節(jié)車廂配備有RS485總線接口;下位機(jī)為安裝在每節(jié)車廂同的以COP8CDR9微控制器為核心的前端多路數(shù)據(jù)采集系統(tǒng)。圖4中的可移動(dòng)硬盤可將采集到的數(shù)據(jù)在列車到站后導(dǎo)入鐵路局地面上型數(shù)據(jù)庫系統(tǒng)。該數(shù)據(jù)庫系統(tǒng)用來分析和記錄列車的運(yùn)行狀況。 結(jié)束語 COP8CDR9微控制器具有豐富的I/O資源,強(qiáng)大的多路A/D轉(zhuǎn)換能力,可以在外圍擴(kuò)展電路不太復(fù)雜的條件下實(shí)現(xiàn)多路數(shù)據(jù)采集的功能。該系統(tǒng)系統(tǒng)具有較高的性價(jià)比,可以適用于多數(shù)具有一定精度要求的現(xiàn)場數(shù)據(jù)采集場 |