基于LED冷光源的智能路燈控制系統(tǒng)設計
3 通信的實現(xiàn)
整個系統(tǒng)采用分級通信機制,一級為監(jiān)控終端和集中控制器的通信,另一級為集中控制器和路燈控制器的通信。
監(jiān)控終端與集中控制器之間的通信采用GPRS。集中控制器監(jiān)控和管理所在轄區(qū)所有的路燈,其和路燈控制器之間采用電力線載波通信。集中控制器可以獨立工作,根據(jù)提前設定的方案開關燈、循環(huán)地收集所轄范圍各路燈控制器的相關信息,每當完成所有路燈的一次信息收集時,集中控制器將剛收集到的各路燈控制器監(jiān)測路燈的信息迅速反饋給監(jiān)控終端,當集中控制器收到監(jiān)控終端的命令時,將監(jiān)控終端下達的命令解析并通過電力線載波通信發(fā)送給路燈控制器讓其執(zhí)行相關的動作。路燈控制器一直處于等待模式,其循環(huán)地收集該燈柱所有燈的電流及狀態(tài)信息,一旦接收到有與本機地址相符的命令就執(zhí)行相應的動作并反饋執(zhí)行結果給集中控制器。通過這兩級通信,整個監(jiān)控系統(tǒng)的巡檢周期可以大大縮短。
3.1 路燈控制器與集中控制器通信實現(xiàn)
為了便于系統(tǒng)的軟硬件模塊設計、調試,以及后續(xù)的系統(tǒng)調試、故障分析和系統(tǒng)升級等,本次設計采用了雙CPU結構,兩個CUP分別是PL3105(負責載波收發(fā)的相關控制)和宏晶的STCl2C5404AD(其他控制)。STCl2C5404AD單片機是一款高速、寬電壓、低功耗的增強型8051內核單片機。由于設計中要求的實時性不高,這里直接采用串口通信,PL3105的RXD,TXD直接與STCl2C5404AD的RXD,TXD連接,通過編寫單片機啟動程序,對其初始化設置,根據(jù)通信協(xié)議完成集中控制器發(fā)布的各項動作。電壓、電流采集電路分別通過HCT218及HPT304精密微型電壓互感器感應交流的電壓、電流,再通過I-V互換得出相應電壓值。該路燈控制器是單燈操作,以同一變壓器工作下的路燈為一局域,多個電力線載波模塊連接在同一相線上,在主從通信模式下,模塊分別單獨工作。其硬件框圖如圖2所示。
3.1.1 電力線載波模塊
電力線載波通信(Power Line Communication,PLC)是利用電力線載波實現(xiàn)信息傳遞的通信方式的統(tǒng)稱。它具有諸多優(yōu)點:如應用范圍廣、實現(xiàn)成本低、永久在線等。
電力線載波模塊使用的PL3105芯片是專為自動抄表、智能信息家電以及遠程監(jiān)控系統(tǒng)而開發(fā)的單片系統(tǒng)芯片(SoC)。采用8051指令兼容的高速微處理器,軟件易于開發(fā);內嵌的載波通信控制單元使其具備了在低壓電力線上組網(wǎng)遠程通信的強大功能;CPU通過配置寄存器來實現(xiàn)對載波通信的控制,接口方便;擴頻通信單元具有較強的抗帶內同頻干擾、靈敏度高的優(yōu)點。
3.1.2 路由算法的實現(xiàn)
路由器是網(wǎng)絡層的互聯(lián)部件,可提供比網(wǎng)橋更豐富、靈活的網(wǎng)絡互連功能,是目前使用最多的網(wǎng)絡互連部件之一。路由算法是用軟件方法實現(xiàn)路由的功能。
由于一般的電力載波芯片的可靠通信距離在500 m左右,在實際應用中遠遠超過最大通信距離,所以在本次設計的路燈控制器中增加了路由協(xié)議層,并以其性能優(yōu)越的物理層設計及完善的網(wǎng)絡通信協(xié)議,保證了可靠的網(wǎng)絡通信性能。在同一轄區(qū)電力線上的設備只要整合入了此芯片及相關通信模塊就可成為能利用電力線來進行控制的智能控制產(chǎn)品。
路由動作包括兩項基本內容:尋徑和轉發(fā)。尋徑即判定到達目的地的最佳路徑,路徑信息根據(jù)使用的路由算法不同而不同。路由算法根據(jù)許多信息來填充路由表,并通過交換路由信息維護、更新其路由表,路由更新信息通常包含全部或部分路由表,通過分析來自其他路由器的新信息,該路由器就可以建立起新的網(wǎng)絡拓撲圖。在一些環(huán)境復雜且大規(guī)模的項目中,采用動態(tài)路由算法,通過分析收到的路由更新信息來適應網(wǎng)絡環(huán)境的改變。如果信息表示網(wǎng)絡發(fā)生了變化,路由軟件就重新計算路由并發(fā)出新的路由更新信息。這些信息滲入網(wǎng)絡,促使路由器重新計算并對路由表做相應的改變,并且在適當?shù)牡胤揭造o態(tài)路由作為補充,以使系統(tǒng)整體穩(wěn)定運行。鑒于有些項目規(guī)模較小,載波網(wǎng)絡的硬件十分固定,而且相對來說傳輸?shù)臄?shù)據(jù)也比較少,所以也可以只使用靜態(tài)路由表算法,這使得算法更容易設計,工作效果也很好。轉發(fā)即沿尋徑好的最佳路徑傳送信息分組。
路由動作的操作過程主要包括下面幾點:
(1)接收、分解數(shù)據(jù)包。當路由器接收到數(shù)據(jù)包之后,首先驗證其合法性,然后把報頭、報文和校驗字節(jié)分離開來。再根據(jù)報頭的不同,選擇操作。
(2)對數(shù)據(jù)包進行處理。當接收到有效的報文時,路由器必須決定該數(shù)據(jù)是本地提交還是向前轉發(fā),當IP廣播或多播時,也可能是一種混合的情況。對這些情況的判斷,主要根據(jù)下面三個規(guī)則進行處理:
①當IP目的地址中有一個源路由選項時,根據(jù)路由表的相應表項將其發(fā)送到下一個站點,而不進行本地提交。
②當IP目的地址中的某一個地址與路由器的某個端口地址相符時,將進行本地提交。
③當IP目的地址是一個廣播地址,或者是個既要轉發(fā)又要本地提交的多播地址時,將同時進行兩個操作。
(3)轉發(fā)尋址。路由器首先在路由表中查找,判明是否知道如何將分組發(fā)送到下一個站點(路由器或主機),如果路由器不知道如何發(fā)送分組,通常將該分組丟棄;否則就根據(jù)路由表的相應表項將分組發(fā)送到下一個站點,如果目的網(wǎng)絡直接與路由器相連,路由器就把分組直接送到相應的端口上。
(4)轉發(fā)驗證。在轉發(fā)之前,路由器應該對數(shù)據(jù)包進行一些校驗工作,而只有驗證無誤的時候才能進行轉發(fā),否則將數(shù)據(jù)包拋棄而重新提示數(shù)據(jù)包的廣播源重發(fā)。這里的校驗分為兩個部分:一個是IP的驗證,看是否接受到得數(shù)據(jù)包目標IP符合要求;二是具體數(shù)據(jù)的驗證,看校驗得到的數(shù)據(jù)是否有誤。
3.2 路燈節(jié)能控制系統(tǒng)軟件實現(xiàn)
3.2.1 集中控制器
主程序結構分為兩個部分:一是初始化段,另一部分是循環(huán)主體。為了便于調試,維護,本設計中采用了多模塊的組織結構。每個任務都是一個子函數(shù),在主程序循環(huán)體中,逐一調用任務模塊,這些模塊功能的執(zhí)行取決于其條件標志是否滿足,主程序流程圖如圖3所示。
為了避免各任務搶占時鐘資源,造成時間沖突,采取以下措施:
(1)根據(jù)任務的不同給予不同的時間調度。例如LCD顯示刷屏處理只需要1 s調用一次;按鍵處理為10 ms調用一次;設備巡檢按照設備編號5 min調用一次,定時處理程序流程圖如圖4~圖6所示。
(2)為了避免因某些任務的單次執(zhí)行過長影響其他任務的及時處理,可以將一個任務分為多個時間片處理。例如:按鍵處理程序中,當首次監(jiān)測到按鍵閉合時,是需要10 ms的延時時間來消抖,但是如果在程序中用10 ms的延時程序來實現(xiàn)就會影響到其他程序的執(zhí)行,故應該把這10 ms的等待時間讓給其他任務執(zhí)行。
評論