基于ARM7的分布式遠(yuǎn)程測(cè)控系統(tǒng)設(shè)計(jì)
遠(yuǎn)程測(cè)控廣泛應(yīng)用于設(shè)備數(shù)量大、分布廣的場(chǎng)合,隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,利用局域網(wǎng)可以很好解決集中管理分散控制的問(wèn)題。但當(dāng)測(cè)控對(duì)象分布大于幾十公 里,采用局域網(wǎng)組網(wǎng)費(fèi)用高、周期長(zhǎng),是不可行的。利用現(xiàn)有電話網(wǎng)、調(diào)制解調(diào)器和計(jì)算機(jī)組成的測(cè)控系統(tǒng),對(duì)通信速率和實(shí)時(shí)性要求不高的場(chǎng)合,基本可以實(shí)現(xiàn)遠(yuǎn) 程測(cè)控管理功能,且成本低廉、投入使用準(zhǔn)備周期短。
2、系統(tǒng)結(jié)構(gòu)
本系統(tǒng)是為監(jiān)控?zé)o人職守電信機(jī)房環(huán)境設(shè)計(jì)的。系統(tǒng)上位機(jī)采用一臺(tái)微機(jī)作為主控室監(jiān)控主機(jī),下位機(jī)為多臺(tái)分布于各機(jī)房的測(cè)控終端。
分布于各個(gè)機(jī)房的下位機(jī)實(shí)時(shí)監(jiān)控機(jī)房環(huán)境參數(shù),采集存儲(chǔ),定時(shí)上傳數(shù)據(jù);當(dāng)點(diǎn)對(duì)點(diǎn)連接時(shí)可以實(shí)時(shí)查詢當(dāng)前狀態(tài)。為了方便對(duì)下位機(jī)的管理,下位機(jī)需要具有在 線控制功能,通過(guò)監(jiān)控中心PC上位機(jī)軟件,修改控制下位機(jī)所有參數(shù)。多臺(tái)下位測(cè)控平臺(tái)通過(guò)PSTN和上位機(jī)進(jìn)行數(shù)據(jù)傳輸,設(shè)備之間的數(shù)據(jù)交互、故障報(bào)警, 都需要可靠的數(shù)據(jù)傳輸,因此下位機(jī)硬件的可靠性、數(shù)據(jù)通信鏈路層的可靠性至關(guān)重要,數(shù)據(jù)的幀結(jié)構(gòu)、Modem控制接口的軟硬件都需要仔細(xì)設(shè)計(jì)。為了及時(shí)有 效的對(duì)監(jiān)控參數(shù)的報(bào)警,每種監(jiān)測(cè)參數(shù)需要設(shè)置三種嚴(yán)重程度不同的告警門(mén)限值,當(dāng)某項(xiàng)實(shí)時(shí)監(jiān)測(cè)參數(shù)超過(guò)告警門(mén)限值時(shí),下位機(jī)自動(dòng)向監(jiān)控中心報(bào)警,同時(shí)可按優(yōu) 先次序撥出三組不同電話號(hào)碼,通知相關(guān)人員。通信的數(shù)據(jù)幀中采用密碼機(jī)制,只有密碼正確,下位機(jī)才響應(yīng)上位機(jī)的控制,保證了系統(tǒng)的安全性。
3、系統(tǒng)硬件設(shè)計(jì)
下位機(jī)硬件原理框圖如圖2。采用飛利浦公司基于ARM7TDMI內(nèi)核32位微處理器LPC2132,內(nèi)部集成了16K SRAM,并帶有128k字節(jié)嵌人高速FLASH存儲(chǔ)器。豐富的片上外圍設(shè)備、非常小的封裝和極低的功耗,無(wú)需外接程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,使其非常適合 小型化的嵌人式領(lǐng)域。系統(tǒng)每次采集的數(shù)據(jù)量較小,采集一次就向上位機(jī)上傳一次是不合適的,為此采用掉電非易失的EEPROM 24C256存儲(chǔ)采集數(shù)據(jù)。模擬信號(hào)采集通過(guò)l0bit串行AID TLC 1543,它的11個(gè)通道可以用來(lái)采集機(jī)房設(shè)備的供電電壓、電流、機(jī)房溫度等參數(shù)。開(kāi)關(guān)量信號(hào)直接從單片機(jī)的GPIO (General purpose I/0)讀人,控制信號(hào)則通過(guò)SPI串行口輸出到74HC595轉(zhuǎn)為并行控制信號(hào)輸出。按鍵音經(jīng)過(guò)DTMF解碼器MT8870得到鍵值,用于報(bào)警電話確認(rèn)。
外置式Modem通過(guò)RS-232C口與處理器連接。LPC2132有兩個(gè)串口,有16字節(jié)收發(fā)FIFO。其中Uart2增加了一個(gè)調(diào)制解調(diào)器 (Modem)接口,具有RTS,CTS,DSR,DCD,DTR,RI標(biāo)準(zhǔn)RS-232C接口的握手信號(hào)。Modem和單片機(jī)實(shí)現(xiàn)雙向通信至少需要三條 信一線:TXD,RXD和SGND。這樣連接由于沒(méi)有握手信號(hào),只能保證單個(gè)字節(jié)傳輸?shù)目煽?,?duì)于大量數(shù)據(jù)的傳輸可能導(dǎo)致數(shù)據(jù)丟失,雖然可以采用軟件處 理,但會(huì)占用CPU的時(shí)間,降低CPU使用效率。所以采用Uart2經(jīng)過(guò)8路電平變換芯片MAX3238與Modem連接,這樣就具有完整的RS- 232C的控制聯(lián)絡(luò)信號(hào)線,保證了大數(shù)據(jù)量傳輸時(shí)的可靠性。
4、數(shù)據(jù)幀編碼方法
數(shù)據(jù)幀編碼的原則是盡量減小數(shù)據(jù)傳輸過(guò)程中的誤碼率,兼顧傳輸效率、加密等其他方面。本系統(tǒng)的數(shù)據(jù)幀結(jié)構(gòu)如圖3。
圖3 數(shù)據(jù)幀結(jié)構(gòu)
數(shù)據(jù)幀的第1,2個(gè)字節(jié)(包頭)和最后一個(gè)字節(jié)(包尾)采用特定的起始碼和結(jié)束碼,如AAH,55H,B5H等,可以有效的抑制各種雜亂信息。數(shù)據(jù)接收方 可以把接受到的數(shù)據(jù)放到一個(gè)FIFO緩沖器中,當(dāng)接收到有效的包頭才開(kāi)始一個(gè)數(shù)據(jù)幀的接收,否則,認(rèn)為是干擾或是誤碼丟棄不處理。數(shù)據(jù)幀開(kāi)始接收后,根據(jù) 數(shù)據(jù)長(zhǎng)度,能正確接收結(jié)束碼,才當(dāng)作一個(gè)有效的數(shù)據(jù)幀,否則,丟棄重新開(kāi)始等待起始碼。起始碼后面是一位或多位的密碼,可以根據(jù)實(shí)際的需要而定,增加數(shù)據(jù) 傳輸?shù)谋C苄浴?
評(píng)論