基于ARM與電力線載波技術(shù)的廣場(chǎng)照明系統(tǒng)設(shè)計(jì)
2 主機(jī)系統(tǒng)軟件設(shè)計(jì)
在整個(gè)廣場(chǎng)照明控制系統(tǒng)中,S3C2410作為主機(jī)核心完成接收控制信息、接收從機(jī)信息、參數(shù)輸入與顯示、遠(yuǎn)傳控制指令等功能。整個(gè)主機(jī)系統(tǒng)軟件部分包括主程序、人機(jī)接口程序、電力線載波通信程序、SD卡讀寫(xiě)程序、照明控制程序、自診斷等功能模塊。由于軟件較復(fù)雜,所以實(shí)際編程中嵌入了uC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)。
2.1 μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)
μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)是真正源碼公開(kāi)的,采用占先式的實(shí)時(shí)內(nèi)核,支持多達(dá)56個(gè)用戶任務(wù),穩(wěn)定性和可靠性高,而且移植方便,占
用內(nèi)存小。μC/OS-Ⅱ?qū)崟r(shí)操作系統(tǒng)中各任務(wù)要分配不同的優(yōu)先級(jí),優(yōu)先級(jí)用數(shù)字表示,數(shù)字越小其優(yōu)先級(jí)越高。針對(duì)本系統(tǒng)中各任務(wù)的重要性,為各任務(wù)分配了表1所示的優(yōu)先級(jí)。本文引用地址:http://www.ex-cimer.com/article/151392.htm
2.2 主程序
主程序完成S32410 GPIO初始化、中斷初始化、SD卡初始化、SPI接口初始化、MI200E初始化、操作系統(tǒng)初始化、任務(wù)創(chuàng)建與操作系統(tǒng)的啟動(dòng)等。
2.3 電力線載波通信程序
電力線載波通信程序主要完成基于MI200E的數(shù)據(jù)發(fā)送和接收,要嚴(yán)格遵守其發(fā)送及接收時(shí)序。
MI200E在發(fā)送時(shí)的數(shù)據(jù)包由8個(gè)字節(jié)組成,其中前4個(gè)字節(jié)中包含引導(dǎo)碼、后續(xù)發(fā)送采用的波特率以及數(shù)據(jù)長(zhǎng)度;第5、6個(gè)字節(jié)為從機(jī)地址和控制信息;第7、8個(gè)字節(jié)為CRC校驗(yàn)信息。每次發(fā)送數(shù)據(jù)前都需要對(duì)MI200E狀態(tài)寄存器的最高位(TI)進(jìn)行查詢,只有在TI為‘1’時(shí),才能將數(shù)據(jù)配置進(jìn)MI200E。
MI200E處在接收狀態(tài)時(shí),需要反復(fù)查詢狀態(tài)寄存器的RI/Carr/Frame標(biāo)志。當(dāng)Carr/Frame被硬件置‘1’后,先讀取接收模式寄存器,取出Package信息,將接收到的波特率信息寫(xiě)入模式寄存器,然后按照取得的數(shù)據(jù)長(zhǎng)度進(jìn)行接收。注意,每讀取一個(gè)字的數(shù)據(jù)前都需要查詢RI/Carr/Frame標(biāo)志,只有在RI/Carr/Frame都被硬件置‘1’的情況下,再讀取MI200E中的接收數(shù)據(jù)。在讀取完所有的數(shù)據(jù),包括CRC校驗(yàn)結(jié)果后,查詢狀態(tài)寄存器中的CRC標(biāo)志,判斷是否已正確接收到了數(shù)據(jù)。
3 結(jié)語(yǔ)
本文所設(shè)計(jì)的廣場(chǎng)分區(qū)照明系統(tǒng)具有成本低、響應(yīng)快、可靠性高、通信距離遠(yuǎn)、無(wú)需鋪設(shè)通信線纜等優(yōu)點(diǎn),對(duì)于信號(hào)的處理及照明控制方式可以通過(guò)修改程序來(lái)靈活改變,因此特別適用于空間較大的廣場(chǎng)、地下停車場(chǎng)、教室等場(chǎng)所。本系統(tǒng)在西安外事學(xué)院3#教學(xué)樓安裝試驗(yàn)后,工作穩(wěn)定,可及時(shí)將無(wú)人的教室燈光關(guān)閉,經(jīng)改動(dòng)還可關(guān)閉電風(fēng)扇等電氣設(shè)備,因此大幅度地節(jié)約了電能,有著良好的推廣前景。
評(píng)論