基于LED冷光源的智能路燈控制系統設計
3 通信的實現
整個系統采用分級通信機制,一級為監控終端和集中控制器的通信,另一級為集中控制器和路燈控制器的通信。
監控終端與集中控制器之間的通信采用GPRS。集中控制器監控和管理所在轄區所有的路燈,其和路燈控制器之間采用電力線載波通信。集中控制器可以獨立工作,根據提前設定的方案開關燈、循環地收集所轄范圍各路燈控制器的相關信息,每當完成所有路燈的一次信息收集時,集中控制器將剛收集到的各路燈控制器監測路燈的信息迅速反饋給監控終端,當集中控制器收到監控終端的命令時,將監控終端下達的命令解析并通過電力線載波通信發送給路燈控制器讓其執行相關的動作。路燈控制器一直處于等待模式,其循環地收集該燈柱所有燈的電流及狀態信息,一旦接收到有與本機地址相符的命令就執行相應的動作并反饋執行結果給集中控制器。通過這兩級通信,整個監控系統的巡檢周期可以大大縮短。
3.1 路燈控制器與集中控制器通信實現
為了便于系統的軟硬件模塊設計、調試,以及后續的系統調試、故障分析和系統升級等,本次設計采用了雙CPU結構,兩個CUP分別是PL3105(負責載波收發的相關控制)和宏晶的STCl2C5404AD(其他控制)。STCl2C5404AD單片機是一款高速、寬電壓、低功耗的增強型8051內核單片機。由于設計中要求的實時性不高,這里直接采用串口通信,PL3105的RXD,TXD直接與STCl2C5404AD的RXD,TXD連接,通過編寫單片機啟動程序,對其初始化設置,根據通信協議完成集中控制器發布的各項動作。電壓、電流采集電路分別通過HCT218及HPT304精密微型電壓互感器感應交流的電壓、電流,再通過I-V互換得出相應電壓值。該路燈控制器是單燈操作,以同一變壓器工作下的路燈為一局域,多個電力線載波模塊連接在同一相線上,在主從通信模式下,模塊分別單獨工作。其硬件框圖如圖2所示。

3.1.1 電力線載波模塊
電力線載波通信(Power Line Communication,PLC)是利用電力線載波實現信息傳遞的通信方式的統稱。它具有諸多優點:如應用范圍廣、實現成本低、永久在線等。
電力線載波模塊使用的PL3105芯片是專為自動抄表、智能信息家電以及遠程監控系統而開發的單片系統芯片(SoC)。采用8051指令兼容的高速微處理器,軟件易于開發;內嵌的載波通信控制單元使其具備了在低壓電力線上組網遠程通信的強大功能;CPU通過配置寄存器來實現對載波通信的控制,接口方便;擴頻通信單元具有較強的抗帶內同頻干擾、靈敏度高的優點。
3.1.2 路由算法的實現
路由器是網絡層的互聯部件,可提供比網橋更豐富、靈活的網絡互連功能,是目前使用最多的網絡互連部件之一。路由算法是用軟件方法實現路由的功能。
由于一般的電力載波芯片的可靠通信距離在500 m左右,在實際應用中遠遠超過最大通信距離,所以在本次設計的路燈控制器中增加了路由協議層,并以其性能優越的物理層設計及完善的網絡通信協議,保證了可靠的網絡通信性能。在同一轄區電力線上的設備只要整合入了此芯片及相關通信模塊就可成為能利用電力線來進行控制的智能控制產品。
路由動作包括兩項基本內容:尋徑和轉發。尋徑即判定到達目的地的最佳路徑,路徑信息根據使用的路由算法不同而不同。路由算法根據許多信息來填充路由表,并通過交換路由信息維護、更新其路由表,路由更新信息通常包含全部或部分路由表,通過分析來自其他路由器的新信息,該路由器就可以建立起新的網絡拓撲圖。在一些環境復雜且大規模的項目中,采用動態路由算法,通過分析收到的路由更新信息來適應網絡環境的改變。如果信息表示網絡發生了變化,路由軟件就重新計算路由并發出新的路由更新信息。這些信息滲入網絡,促使路由器重新計算并對路由表做相應的改變,并且在適當的地方以靜態路由作為補充,以使系統整體穩定運行。鑒于有些項目規模較小,載波網絡的硬件十分固定,而且相對來說傳輸的數據也比較少,所以也可以只使用靜態路由表算法,這使得算法更容易設計,工作效果也很好。轉發即沿尋徑好的最佳路徑傳送信息分組。
路由動作的操作過程主要包括下面幾點:
(1)接收、分解數據包。當路由器接收到數據包之后,首先驗證其合法性,然后把報頭、報文和校驗字節分離開來。再根據報頭的不同,選擇操作。
(2)對數據包進行處理。當接收到有效的報文時,路由器必須決定該數據是本地提交還是向前轉發,當IP廣播或多播時,也可能是一種混合的情況。對這些情況的判斷,主要根據下面三個規則進行處理:
①當IP目的地址中有一個源路由選項時,根據路由表的相應表項將其發送到下一個站點,而不進行本地提交。
②當IP目的地址中的某一個地址與路由器的某個端口地址相符時,將進行本地提交。
③當IP目的地址是一個廣播地址,或者是個既要轉發又要本地提交的多播地址時,將同時進行兩個操作。
(3)轉發尋址。路由器首先在路由表中查找,判明是否知道如何將分組發送到下一個站點(路由器或主機),如果路由器不知道如何發送分組,通常將該分組丟棄;否則就根據路由表的相應表項將分組發送到下一個站點,如果目的網絡直接與路由器相連,路由器就把分組直接送到相應的端口上。
(4)轉發驗證。在轉發之前,路由器應該對數據包進行一些校驗工作,而只有驗證無誤的時候才能進行轉發,否則將數據包拋棄而重新提示數據包的廣播源重發。這里的校驗分為兩個部分:一個是IP的驗證,看是否接受到得數據包目標IP符合要求;二是具體數據的驗證,看校驗得到的數據是否有誤。
3.2 路燈節能控制系統軟件實現
3.2.1 集中控制器
主程序結構分為兩個部分:一是初始化段,另一部分是循環主體。為了便于調試,維護,本設計中采用了多模塊的組織結構。每個任務都是一個子函數,在主程序循環體中,逐一調用任務模塊,這些模塊功能的執行取決于其條件標志是否滿足,主程序流程圖如圖3所示。
為了避免各任務搶占時鐘資源,造成時間沖突,采取以下措施:
(1)根據任務的不同給予不同的時間調度。例如LCD顯示刷屏處理只需要1 s調用一次;按鍵處理為10 ms調用一次;設備巡檢按照設備編號5 min調用一次,定時處理程序流程圖如圖4~圖6所示。

(2)為了避免因某些任務的單次執行過長影響其他任務的及時處理,可以將一個任務分為多個時間片處理。例如:按鍵處理程序中,當首次監測到按鍵閉合時,是需要10 ms的延時時間來消抖,但是如果在程序中用10 ms的延時程序來實現就會影響到其他程序的執行,故應該把這10 ms的等待時間讓給其他任務執行。
評論