單片機(jī)多機(jī)通訊在分布式安防系統(tǒng)中的應(yīng)用
2.2 中繼器硬件設(shè)計(jì)
中繼器的設(shè)計(jì)方案有很多種,本系統(tǒng)采用的是2片AT89C51和2片SN75LBC184。他的一端將接收到的差分信號(hào)轉(zhuǎn)換為TTL電平送入單片機(jī),另一端將單片機(jī)輸出的TTL電平轉(zhuǎn)換為差分信號(hào)輸出。其間包括2個(gè)串并轉(zhuǎn)換的過程。其硬件設(shè)計(jì)上要注意的一點(diǎn)是單個(gè)晶振驅(qū)動(dòng)不了2片單片機(jī),必須外接一個(gè)時(shí)鐘驅(qū)動(dòng)電路。硬件結(jié)構(gòu)如圖3所示。
3 系統(tǒng)軟件設(shè)計(jì)
利用單片機(jī)的串行口工作方式3來完成通信。方式3的信息幀是11位,即1位起始位、8位數(shù)據(jù)位、1位奇偶校驗(yàn)位和1位停止位。由于設(shè)計(jì)16個(gè)從站,故其中數(shù)據(jù)位的最高位未用,便于以后擴(kuò)展,4~7位表示從站地址,低3位表示從站當(dāng)前狀態(tài)(包括在線、正常請求開門、非法進(jìn)入等)。為滿足傳輸距離,主從雙方約定波特率為8 kb/s。
3.1 主從站軟件設(shè)計(jì)
系統(tǒng)采用主從式通信管理方法,由主站管理通信,從機(jī)間不直接通訊,主站既可以按一定的時(shí)間周期定期與每臺(tái)從站依次通信,收集從站回傳的信息,也可以隨時(shí)與某從站通信。如果主站連續(xù)三次呼叫,某個(gè)從站沒有應(yīng)答,則判斷此從站出現(xiàn)故障,發(fā)出警報(bào)。主站的通信程序流程圖如圖4所示。
所有從站開始均復(fù)位,并處于監(jiān)聽狀態(tài)。當(dāng)主站向總線上發(fā)出某一從站的地址和詢問信息時(shí),所有從站接收到該地址,并與自己的地址比較。如果相符,說明主站在呼叫自己,發(fā)應(yīng)答信號(hào),報(bào)告自己當(dāng)前的狀態(tài),或按命令執(zhí)行動(dòng)作;否則不予理睬,繼續(xù)監(jiān)聽呼叫地址。如果從站有人請求開門,則置狀態(tài)標(biāo)志等待主站下一次查尋時(shí)發(fā)往主站。從站的主程序只是查尋有無開門請求,接受數(shù)據(jù)由串口中斷完成,其中斷子程序如圖5所示。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
評(píng)論