電力線載波通信系統(tǒng)中的單片機程序設計
摘要: 簡述電力線載波系統(tǒng)中的單片機程序設計。
關鍵詞: DTMF;電力線載波;USB;單片機遠距離通信
2008年5月20日收到本文修改稿。宋真君:副教授,研究方向為系統(tǒng)仿真與嵌入式系統(tǒng)。
引言
近距離的單片機通信采用總線方式即可實現(xiàn),遠距離的單片機通信不能采用這種方式,尋找一種即可遠距離傳輸,又保證安全可靠的通信方式很重要。電力線載波通信技術(PLC),是指利用已有的配電網(wǎng)作為傳輸媒介,實現(xiàn)數(shù)據(jù)傳遞和信息交換的一種技術。它能夠充分利用最為普及的電力線網(wǎng)絡資源,具有覆蓋范圍廣、建設速度快、投資少、用電器可以直接作為網(wǎng)絡終端等特點。低壓配電網(wǎng)PLC技術根據(jù)數(shù)據(jù)傳輸速率可以分為低速和高速兩種,低速PLC的數(shù)據(jù)傳輸速率小于1Mbit/s,目前技術比較成熟,而且已經(jīng)有相應標準對其載波頻進行了規(guī)定,中國電力線載波通信頻帶規(guī)定為3-500KHz。窄帶電力線載波技術由于數(shù)據(jù)傳輸速率較低,目前用于工業(yè)控制、配電自動化、樓宇自動化等。雙音頻(DTMF)技術以其較強的抗干擾能力和較低的誤碼率低等優(yōu)點,是一種較為常用的通信方式。因此以電力線為傳輸介質,使用雙音頻通信方式實現(xiàn)單片機遠距離通信是很有價值的。雙音頻收發(fā)電路的設計和應用、通信傳輸協(xié)議的制定以及單片機的軟件設計是本系統(tǒng)設計的關鍵。本文著重介紹單片機的軟件設計。本文引用地址:http://www.ex-cimer.com/article/85411.htm
系統(tǒng)結構
系統(tǒng)的基本結構如圖1所示,本系統(tǒng)采用巡回檢測的方式實現(xiàn)多路檢測報警,并通過USB接口連接到PC機,用VB報警界面集中監(jiān)控顯示。首先,可以根據(jù)防盜區(qū)的需求有規(guī)律地設置多路報警檢測點(本系統(tǒng)可設置多達256個),即前端檢測電路。其次,由中心控制系統(tǒng)的單片機有順序地向前端發(fā)送檢測信號,當某個前端被檢測到時,會通過前端單片機向中心控制系統(tǒng)發(fā)回自己的代碼并附上有無報警信息,如果有報警,中心控制系統(tǒng)就通過USB接口將數(shù)據(jù)傳送給PC機,VB界面上會顯示相應報警點,并把報警時間和報警點編號記錄下來,接著就繼續(xù)檢測下一個檢測點,否則就直接轉去檢測下一個檢測點。但當中心控制系統(tǒng)向前端發(fā)送檢測信號時,如果等待某一段時間后前端無應答時,就報出錯信息。如此周而復始,以達到對防盜區(qū)域內的有效監(jiān)控。
圖1 系統(tǒng)結構
本系統(tǒng)用軟件設置發(fā)送與接收是分時的,可以避免控制信號和檢測信號相互干擾,影響系統(tǒng)工作的正確性,又可減少硬件開銷,順利實現(xiàn)雙音頻信號的雙向傳輸。還利用全速USB設備接口連接到PC機,既插即用,使用方便。用PC機的VB界面進行報警,直觀明了,還可利用PC機的存儲記憶功能,使本系統(tǒng)更完善可靠。
本系統(tǒng)的功能指標為:
·256個點巡回檢測。
·用220V低壓電力線傳輸信息。
·巡回檢測一次所有的前端的時間不超過1分鐘。
·前端檢測部分熱釋電人體紅外傳感器電路的感應距離在10米,感應持續(xù)時間為10s。
·PC監(jiān)視界面能給出無報警、報警、故障三種狀態(tài)的指標,并能以文本的格式存儲報警信息。
通信傳輸協(xié)議
為實現(xiàn)電力線載波通信的順利進行,特制定如下傳輸協(xié)議:中心單片機控制信息的數(shù)據(jù)格式為:“#+目標地址+*”,前端單片機返回檢測信息的數(shù)據(jù)格式為:“本機地址+?;虮緳C地址+*”。由于本系統(tǒng)采用巡回檢測的方式,所以中心發(fā)送命令時要附上目標地址,前端接受信息時要與本機地址進行核對,以備前端判別是否要回送數(shù)據(jù),中心接收前端返回的檢測信息時,也要與發(fā)送出去的目標地址進行核對,以備中心判別是否其正在等待的信息。
單片機軟件設計
前端單片機軟件
前端檢測系統(tǒng)的程序流程圖如圖2所示。本機地址設為*000#,分別存放到內存單元30H、31H、32H、33H、34H。單片機AT89C2051從P3口讀入五組8421代碼。經(jīng)過密碼校驗,如果密碼正確,則檢測P3.7口是否為低電平,如果是低電平就向中心發(fā)送報警信號“000#”,否則就發(fā)送“000*”。如果密碼不正確,前端就等待中心發(fā)送下一個檢測信號的命令。每發(fā)送一個代碼,都要調用一次延時子程序,這是為了有足夠的時間進行編碼和有足夠的時間進行譯碼,實驗測得25ms的延時是比較可靠的。
圖2 前端檢測系統(tǒng)的程序流程圖
中心單片機軟件
中心控制系統(tǒng)的程序流程圖如圖3所示。由主程序、檢測命令發(fā)送子程序、密碼校對子程序、25ms延時子程序、USB中斷處理子程序組成。中心單片機發(fā)出五位檢測命令代碼后,啟動100ms的TO中斷,如果在這段時間內沒接收到前端的返回信息,中心就認定該前端出現(xiàn)故障,如果接收到信息,中心單片機先對前三位代碼與內存單元中的目標地址進行一一校對,一致的話則繼續(xù)判斷下一位,最后判斷地4位的報警狀態(tài),并通過USB接口發(fā)送數(shù)據(jù)給PC幾的應用程序進行處理。接著中心繼續(xù)發(fā)送檢測下一個前端的命令。在程序中設置了大循環(huán)和小循環(huán),目的是小循環(huán)完成以后裝入下一個檢測前端設定值,以保證有異常輸入時,系統(tǒng)延遲一定的時間后自動恢復正常工作,當中心控制需要通過USB接口向PC發(fā)送數(shù)據(jù)時,只要調用中斷數(shù)據(jù)發(fā)送子程序,執(zhí)行三條語句就可以了。
圖3 中心控制系統(tǒng)的程序流程圖
結語
本系統(tǒng)設計的電路,性能穩(wěn)定、工作可靠、運轉正常,能成功實現(xiàn)了單片機的雙向通信?;陔p音頻信號傳輸?shù)碾娏€載波通信系統(tǒng)為單片機遠距離通信提供了一種方法。
參考文獻:
1. 孫海翠、張金波,低壓電力線載波通信技術研究與應用,電測與儀表,2006,第八期,54
2. 齊淑清,電力線通信技術與應用,北京高等教育出版社,2005,66
3. 陳永甫,紅外探測與控制電路,人民郵電出版社,2004,178
通信相關文章:通信原理
評論