單片機多機通訊在分布式安防系統(tǒng)中的應(yīng)用
羅文平 王子旭 摘 要:提出了一種在分布式單片機控制系統(tǒng)中,多機間進行高性能串行通信的方案。采用rs485串行接口標(biāo)準(zhǔn)及兩級單片機主從式結(jié)構(gòu),實現(xiàn)了成本低、傳輸距離遠(yuǎn)、抗干擾能力強的通信。此設(shè)計方案在遠(yuǎn)程分布式安全防衛(wèi)系統(tǒng)中得到很好的應(yīng)用。
關(guān)鍵詞:分布控制系統(tǒng);rs485網(wǎng)絡(luò);多機通信;單片機
安全防衛(wèi)系統(tǒng)應(yīng)用在許多場合,他的可靠性直接影響人們的生命財產(chǎn)安全。而不同的場合提出的防衛(wèi)要求又各不相同,故安防系統(tǒng)的組成形式呈現(xiàn)多樣化的趨勢。目前的安防系統(tǒng)大多采用計算機+微控制器的方式,這樣的系統(tǒng)結(jié)構(gòu)復(fù)雜,所需的軟、硬件支持多,成本高。我們針對某倉庫安防提出的以下幾點要求,從可靠性和實用性出發(fā),利用單片機+rs485串口標(biāo)準(zhǔn)組成了一種分布式安防系統(tǒng)。該系統(tǒng)的要求如下:
(1)通信距離遠(yuǎn) 從站多達(dá)16個且距離較分散,各站之間相距都在km以上,最遠(yuǎn)約有5 000 m。
?。?)實時性強 由于從站無人看守,主站必須每個時刻都知道從機是否在線,一旦發(fā)現(xiàn)異常情況,主站立刻做出相應(yīng)的反應(yīng)。
(3)抗干擾能力強 主站和從站都在惡劣環(huán)境下工作,外界的各種干擾對控制系統(tǒng),特別是通信網(wǎng)絡(luò)的影響較大。
?。?)通訊接口簡單、成本低。
1 系統(tǒng)多機通訊的實現(xiàn)方法
1.1 通信標(biāo)準(zhǔn)
串行通訊的通信標(biāo)準(zhǔn)很多,最常用的是rs232c標(biāo)準(zhǔn)。 對于遠(yuǎn)距離通訊來說,rs485串行接口標(biāo)準(zhǔn)是理想的選 擇。rs485的電氣標(biāo)準(zhǔn)實際上是rs422的變型,由于性能優(yōu)異、結(jié)構(gòu)簡單、組網(wǎng)容易而得到廣泛的應(yīng)用。他采用的是平衡發(fā)送和差分接收方式來實現(xiàn)通信,因此有極強的抗共模干擾能力,接收靈敏度也相當(dāng)高。同時傳輸速率和最大傳輸距離也大大提高。如果用100 kb/s時,傳輸距離可達(dá)120 m,而10 kb/s速率傳輸可達(dá)1.2 km。如果降低波特率,傳輸距離還可以進一步提高。另外rs485實現(xiàn)了多點互連,最多可達(dá)32臺驅(qū)動器和32臺接收器,非常便于多器件的連接[2]。
1.2 系統(tǒng)結(jié)構(gòu)
分布式集中控制系統(tǒng)的網(wǎng)絡(luò)拓?fù)洳捎每偩€方式,傳送數(shù)據(jù)采用主從站的方法,中間增加若干個中繼器。各單元通訊接口均采用rs485串口標(biāo)準(zhǔn)。由于采用了單片機多機通信及總線方式,該系統(tǒng)有較高的可靠性,即使某個從站出現(xiàn)故障也不會影響其他站。 整個系統(tǒng)中,各單片機選用mcs-51系列,12mhz晶振。利用單片機自身的半雙工異步串行接口,并外配合適的通訊接口芯片及采用通信總線形式,構(gòu)成半雙工異步串行通信網(wǎng)絡(luò)。
2 系統(tǒng)硬件設(shè)計
2.1 主從站硬件設(shè)計
主站是系統(tǒng)的中心,其功能是不停地按順序查詢每個從站的狀態(tài)并顯示,當(dāng)從站有人請求進入時,給予響應(yīng);當(dāng)有人非正常進入或者從站線路出現(xiàn)故障時,提示報警。他由單片機最小系統(tǒng)、rs485接口和顯示部分組成,單片機采用at89c51,接口芯片采用sn75lbc184,這是具有瞬變高壓抑制功能的芯片,能抗雷擊、靜電放電、避免瞬時交流電故障引起的非正常高壓脈沖沖擊。顯示部分包括鍵盤輸入和led電子顯示屏。結(jié)構(gòu)框圖如圖2所示,根據(jù)需要還可加上光電隔離耦合電路,進一步保證各系統(tǒng)間可靠安全地通訊?! 恼局饕墙邮苤髡景l(fā)來的詢問信號并給予回應(yīng),同時有請求開門時置狀態(tài)標(biāo)志以及非法進入時提示報警。其硬件構(gòu)成也是用單片機最小系統(tǒng)和一個收發(fā)器組成,其硬件結(jié)構(gòu)和主站相似,只是報警和開關(guān)電路不同。
2.2 中繼器硬件設(shè)計
中繼器的設(shè)計方案有很多種,本系統(tǒng)采用的是2片at89c51和2片sn75lbc184。他的一端將接收到的差分信號轉(zhuǎn)換為ttl電平送入單片機,另一端將單片機輸出的ttl電平轉(zhuǎn)換為差分信號輸出。其間包括2個串并轉(zhuǎn)換的過程。其硬件設(shè)計上要注意的一點是單個晶振驅(qū)動不了2片單片機,必須外接一個時鐘驅(qū)動電路。硬件結(jié)構(gòu)如圖3所示。
3 系統(tǒng)軟件設(shè)計
利用單片機的串行口工作方式3來完成通信。方式3的信息幀是11位,即1位起始位、8位數(shù)據(jù)位、1位奇偶校驗位和1位停止位。由于設(shè)計16個從站,故其中數(shù)據(jù)位的最高位未用,便于以后擴展,4~7位表示從站地址,低3位表示從站當(dāng)前狀態(tài)(包括在線、正常請求開門、非法進