在現(xiàn)代信號(hào)處理系統(tǒng)中,數(shù)據(jù)采集處理系統(tǒng)越來越廣泛地用于各行各業(yè)?,F(xiàn)代船舶為了實(shí)現(xiàn)安全、經(jīng)濟(jì)的運(yùn)行,自動(dòng)化程度越來越高,需要采集處理各種數(shù)據(jù)。由于船舶本身的特殊性,各設(shè)備運(yùn)行工況非常惡劣,環(huán)境干擾因素多,為了保障船舶安全,對(duì)數(shù)據(jù)采集處理的可高性有很高的要求。本文介紹一種用于船舶監(jiān)測(cè)報(bào)警系統(tǒng)的數(shù)據(jù)采集單元,該單元由采集模塊實(shí)現(xiàn)對(duì)多通道現(xiàn)場(chǎng)各數(shù)據(jù)的實(shí)時(shí)采集,然后由專用的多路冗余處理模塊輸出至本地人機(jī)界面顯示和上位機(jī)進(jìn)行綜合處理,具有很強(qiáng)的實(shí)用性、通用性及可擴(kuò)展性,且冗余度高,穩(wěn)定可靠,已在多個(gè)船舶監(jiān)測(cè)報(bào)警系統(tǒng)實(shí)際工程中應(yīng)用。
1 系統(tǒng)總體設(shè)計(jì)
為滿足對(duì)現(xiàn)場(chǎng)多種數(shù)據(jù)采集和處理、顯示與上傳,采集單元由開關(guān)量采集模塊、4~20 mA采集模塊、Pt100采集模塊、熱電偶采集模塊構(gòu)成集總式采集系統(tǒng),再由雙CPU專用處理模塊實(shí)現(xiàn)多路冗余輸出至本地人機(jī)界面顯示和PC機(jī)。單片機(jī)的運(yùn)算能力強(qiáng),運(yùn)算速度快,I/0接口功能完善,抗干擾能力強(qiáng),可靠性高,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、價(jià)格優(yōu)廉,是現(xiàn)場(chǎng)數(shù)據(jù)采集器的核心元件之一。采集終端采用基于單片機(jī)ATmegal6的各專用采集模塊。RS 485硬件設(shè)計(jì)簡(jiǎn)單,控制方便成本低廉,支持遠(yuǎn)距離多機(jī)通信,故采用RS 485總線進(jìn)行數(shù)據(jù)傳輸。圖1為系統(tǒng)的總體框圖。
2 系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)
本文主要對(duì)數(shù)據(jù)采集單元硬件部份的實(shí)現(xiàn)做介紹,包括單片機(jī)采集模塊、多路冗余輸出處理模塊。開發(fā)工具為Protel 2004 DXP和Keil μVision 2。
2.1 單片機(jī)采集模塊
為滿足工程需要,開發(fā)設(shè)計(jì)了4~20 mA輸入與輸出模塊、PTlOO輸入模塊、熱電偶輸入模塊、開關(guān)量輸入與輸出模塊等系列采集終端,各終端采用模塊化設(shè)計(jì),可以方便靈活地組成不同要求的采集單元。以下以8路4~20 mA輸入模塊為例說明其設(shè)計(jì)與實(shí)現(xiàn)。
2.1.1 單片機(jī)選擇及ATmegal6單片機(jī)主要特征
該系列采集模塊采用功能強(qiáng)大的ATmegal6(TQFP封裝)作為主處理器。ATmegal6是RISC結(jié)構(gòu)的低功耗8位AVR微控制器,其主要特點(diǎn)如下:16 KB的系統(tǒng)內(nèi)可編程FLASH512 B E2PROM,1KBSRAM,32個(gè)通用I/O口線,32個(gè)通用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,3個(gè)具有比較模式的靈活的定時(shí)器/計(jì)數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測(cè)器的通用串行接口,8路10位具有可選差分輸入級(jí)可編程增益的ADC(TQFP封裝),具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,1個(gè)SPI串行端口,以及6個(gè)可以通過軟件進(jìn)行選擇的省電模式。片內(nèi)ISP FLASH允許程序存儲(chǔ)器通過ISP串行接口,或者通用編程器進(jìn)行編程,也可以通過運(yùn)行于AVR內(nèi)核之中的引導(dǎo)程序進(jìn)行編程。引導(dǎo)程序可以使用任意接口將應(yīng)用程序下載到應(yīng)用FLASH存儲(chǔ)區(qū)(ApplicaTIon FLASH Memory)。在更新應(yīng)用FLASH存儲(chǔ)區(qū)時(shí)引導(dǎo)FLASH區(qū)(Boot FLASH Memory)的程序繼續(xù)運(yùn)行,實(shí)現(xiàn)了RWW操作。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmegal6的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz。
2.1.2 電源及電壓基準(zhǔn)源
本模塊外部由直流24 V電源供電,內(nèi)部由3個(gè)鑫飛達(dá)DC/DC隔離電源實(shí)現(xiàn)分開供電,互不干擾,一路經(jīng)DFA5-24S12輸入24 V隔離輸出5 V供通道采樣與A/D轉(zhuǎn)換工作電源;一路經(jīng)DFA5-24S5輸入24 V隔離輸出5 V供CPU工作電源;一路S05HIS05-2W輸入5 V隔離輸出5 V供RS 485通訊工作電源。模塊前向通道的信號(hào)調(diào)理電路和模數(shù)轉(zhuǎn)換芯片都需要一個(gè)高精度的5 V的電壓基準(zhǔn)源,TL431就是基準(zhǔn)源電路的核心器件。其主要特點(diǎn)是:穩(wěn)壓值從2.5~36 V連續(xù)可調(diào);參考電壓源誤差±l%,低動(dòng)態(tài)輸出電阻,典型值O.22 Ω,輸出電流1.O~100 mA,全溫度范偉內(nèi)溫度特性平坦,典型值為50 ppm;低輸出電壓噪聲。TL431適用作12位模數(shù)轉(zhuǎn)換器的基準(zhǔn)電壓參考源。本模塊用TL431構(gòu)建的5 V基準(zhǔn)電路。
2.1.3 工作過程
8路4~20 mA信號(hào)經(jīng)信號(hào)調(diào)理電路(TLC279ID),再經(jīng)數(shù)模轉(zhuǎn)換(TLC2543)、隔離(6N137)送入ATmegal6單片機(jī),它利用內(nèi)部自帶的ADD轉(zhuǎn)換器采集8路數(shù)據(jù),將其經(jīng)由RS 485接口電路傳送給上位機(jī),RS 485通訊模塊采用帶磁隔離的ADM2483。其原理框圖見圖2。
2.1.4 程序設(shè)計(jì)
系統(tǒng)上電后執(zhí)行初始化程序,復(fù)位各個(gè)端口。當(dāng)處于監(jiān)聽狀態(tài)時(shí),各監(jiān)測(cè)點(diǎn)數(shù)據(jù)采集模塊處于自動(dòng)巡回監(jiān)測(cè)狀態(tài),系統(tǒng)開始對(duì)各通道按設(shè)定間隔時(shí)間進(jìn)行采集;當(dāng)接收到上位機(jī)發(fā)送來的指令便選中相應(yīng)的
采集通道執(zhí)行數(shù)據(jù)采集,調(diào)用數(shù)字濾波子程序進(jìn)行濾波得到精確的數(shù)值,再通過數(shù)據(jù)轉(zhuǎn)換和處理后送微處理器的數(shù)據(jù)存儲(chǔ)器,等待上位機(jī)的讀取。單片機(jī)程序采用C語言編寫,系統(tǒng)主程序?yàn)橐粋€(gè)循環(huán),在循環(huán)中完成以下工作:系統(tǒng)初始化,包括初始化I/0端口,外部中斷,計(jì)數(shù)器O,USART等;掃描上位機(jī)采集指令;開中斷;響應(yīng)INTO中斷和計(jì)數(shù)器0溢出中斷;讀取ADC轉(zhuǎn)換結(jié)果;將采集的數(shù)據(jù)調(diào)用通訊子程序由串口通訊模塊輸出;接收上位機(jī)發(fā)出的命令并進(jìn)行相應(yīng)的操作。
2.2 多路冗余輸出處理模塊
為解決對(duì)所采集的數(shù)據(jù)進(jìn)行多路冗余處理輸出,提高可靠性,特設(shè)計(jì)一雙CPU協(xié)同處理的串口擴(kuò)展模塊實(shí)現(xiàn)多路冗余處理輸出。數(shù)據(jù)通過RS 485總線輸入至該模塊,經(jīng)隔離進(jìn)雙CPU處理,擴(kuò)展為三路串口輸出,原理框圖見圖3。模塊采用雙ATmega64芯片作為處理器,雙CPU并口總線通訊,CPU數(shù)據(jù)RAM映射,數(shù)據(jù)交換速度快,實(shí)時(shí)性高。串口通訊RS 485總線,通訊模塊芯片為帶磁隔離的ADM2483,輸出采用標(biāo)準(zhǔn)的MODBUS RTU通訊協(xié)議。電源采用鑫飛達(dá)的5W DC/DC隔離模塊DFA5-24S5。
ATmega64是高性能、低功耗的AVR、8位微處理器,先進(jìn)的RISC結(jié)構(gòu),其特性如下:133條指令大多數(shù)可以在一個(gè)時(shí)鐘周期內(nèi)完成,32×8通用工作寄存器和外設(shè)控制寄存器,全靜態(tài)工作,工作于16 MHz時(shí)性能高達(dá)16 MIPS,只需兩個(gè)時(shí)鐘周期的硬件乘法器;非易失性的程序和數(shù)據(jù)存儲(chǔ)器,128 KB的系統(tǒng)內(nèi)可編程FLASH,具有獨(dú)立鎖定位、可選擇的啟動(dòng)代碼區(qū),通過片內(nèi)的啟動(dòng)程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程,可以對(duì)鎖定位進(jìn)行編程以實(shí)現(xiàn)軟件加密,可以通過SPI實(shí)現(xiàn)系統(tǒng)內(nèi)編程;JTAG接口(與IEEE 1149.1標(biāo)準(zhǔn)兼容),遵循JTAG標(biāo)準(zhǔn)的邊界掃描功能,支持?jǐn)U展的片內(nèi)調(diào)試,通過JTAG接口實(shí)現(xiàn)對(duì)FLASH、E2PROM、熔絲位和鎖定位的編程。
2.3 通訊設(shè)計(jì)
RS 232/422/485都是串行數(shù)據(jù)接口的標(biāo)準(zhǔn)。RS 232是非平衡傳輸,RS 422/485是平衡傳輸。RS 232傳送距離最大僅為15 m,最高速率為20 Kb/s,比較適合近距離的本地設(shè)備之間的通信連接;RS485連接最長(zhǎng)可達(dá)1.2 km,可連接至256個(gè)設(shè)備節(jié)點(diǎn),數(shù)據(jù)傳輸率能高達(dá)10 Mb-/s。為實(shí)現(xiàn)底層多采集模塊和上位機(jī)間遠(yuǎn)距離通訊,在底層采用RS 485總線進(jìn)行數(shù)據(jù)傳輸。因PC機(jī)端的串口是RS 232接口,故需在PC端接專用的RS 232/RS 485轉(zhuǎn)換模塊將RS 232信號(hào)轉(zhuǎn)換成RS 485的信號(hào)。本采集單元使用通訊模塊芯片為帶磁隔離的ADM2483,采用工業(yè)標(biāo)準(zhǔn)協(xié)議——MODBUS RTU通訊協(xié)議。圖4為RS 485通信接口硬件電路。
3 實(shí)現(xiàn)結(jié)果
本文所開發(fā)設(shè)計(jì)的4~20 mA輸入與輸出模塊、Ptl00輸入模塊、熱電偶輸入模塊、開關(guān)量輸入與輸出模塊系列模塊均已定型生產(chǎn),并獲得CCS的型式認(rèn)可。4-20MA輸入模塊實(shí)物如圖5所示,技術(shù)參數(shù)如下:工作電壓:(24土0.48)V;工作溫度:O~60℃;4~20 mA輸入類型:有源、無源;量程:4~20 mA;轉(zhuǎn)換分辨率:12 B;轉(zhuǎn)換時(shí)間小于1 ms;通訊方式:RS 485;協(xié)議:MODBUS RTU;波特率:9 600 b/s;外型尺寸(W×D):108 mmXl45 mm。
多路冗余處理輸出模塊中數(shù)據(jù)采集系統(tǒng)的地址、類型、參數(shù)等通過可從上位機(jī)導(dǎo)入,從而適應(yīng)各種類型采集模塊,具有高的靈活與可擴(kuò)展性。可將采集終端的數(shù)據(jù)處理后同步提拱給觸摸屏獨(dú)立顯示與上位PC機(jī),也可獨(dú)立使用直接驅(qū)動(dòng)本地人機(jī)界面顯示與打印機(jī)。模塊實(shí)物如圖6所示。
4 結(jié)語
本文所介紹的采集單元實(shí)現(xiàn)了對(duì)多通道現(xiàn)場(chǎng)數(shù)據(jù)的實(shí)時(shí)采集,實(shí)現(xiàn)了多路冗余處理模塊輸出,有很強(qiáng)的實(shí)用性、通用性及可擴(kuò)展性,且冗余度高。該數(shù)據(jù)采集單元在工程上具有廣泛的應(yīng)用價(jià)值,經(jīng)在多個(gè)船舶監(jiān)測(cè)報(bào)警系統(tǒng)實(shí)際工程中應(yīng)用表明其性能穩(wěn)定可靠。