CAN總線在停車場燈光智能控制系統中的應用
3.2 控制節點的軟件設計
3.2.1 控制節點軟件實現功能
控制節點軟件實現的主要功能如下:
1)系統的初始化:包括串口的初始化、CAN控制器的初始化、定時器的初始化以及系統主要變量的初始化。
2)外部存儲器資源的分配、管理:包括對FM25640讀寫的基本操作,以及建立在這些操作上的對節點控制方案的管理。
3)CAN命令的發送、接收及解釋:包括對其它節點發送的CAN命令的接收、識別、解釋,以及相應的應答命令的發送。
4)串口命令的發送、接收及解釋:包括串口命令的接收、識別、解釋,以及相應的應答命令的發送。
5)傳感器信號的檢測:包括傳感器組的連續檢測,以及檢測到信號時所進行的相應處理。
6)照明回路的控制。
7)定時器的管理。
3.2.2控制節點軟件工作流程
控制節點的程序采用C51設計,這樣可以大大簡化程序設計的復雜度。控制節點的主程序框圖如圖3所示。 本文引用地址:http://www.104case.com/article/163639.htm
在系統初始化后,程序循環查詢傳感器接口、串口和CAN接口。當檢測到傳感器有信號輸出時,程序在打開附近的照明回路的同時也通過CAN總線向其他節點發送該傳感器的信息。其余的控制節點一旦接收到該信息,便會查詢存儲在外部存儲器中的控制方案信息,然后打開與該傳感器相關聯的照明回路,從而實現控制方案指定的照明方式。
控制節點的CAN中斷程序的框圖如圖4所示。當節點接收到一條CAN幀,中斷處理程序讀出該命令,并置CAN命令接收標志,等待命令處理子程序的處理。
為了方便控制節點的安裝與調試,在主程序中特別加入了串口處理程序。使用者可以通過發送串口命令測試控制節點的各項功能,也可以通過串口上傳、下載控制方案。
3.2.3 現場可編程功能的實現
為了實現該系統的現場可編程功能,每一個控制節點都應該存儲本節點的照明回路與網絡中其他節點的傳感器的邏輯關系表。邏輯關系表的結構如下:
照明回路 | ||||||||
傳感器 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |
2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | |
3 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
上表表示節點的各個照明回路與系統中某一節點的的傳感器(包括本節點)的互連關系。如果表項中對應值為1,則表示對應的照明回路與傳感器相關聯,一旦傳感器有信號,相關的照明回路就會被打開。關系表中的各項的值可以隨時改變,并通過上位機或串口重新下載到存儲器中。
假設網絡中有N個控制節點,每一個節點中將會存儲N-1張關系表,對應于網絡中的其余N-1個節點。一旦某一節點在CAN上發送傳感器消息,其余的節點接收到該消息后就會從對應于發出消息的節點的關系表中查找與該傳感器關聯的照明回路并打開這些回路。這樣一旦有車輛進入停車場,該控制系統就會打開控制方案規定的所有的照明回路,實現照明的智能化。
4 結束語
通過對系統軟件、硬件的反復調試,該分布式燈光智能控制系統顯示出了傳統的停車場燈光控制系統無法比擬的優越性,可以有效減少小區地下停車場照明系統的安裝和維護費用,具有良好的應用前景和推廣價值。
評論