基于PXA270-Linux的智能家居系統(tǒng)研究
2.2 嵌入式開發(fā)軟件平臺
嵌入式硬件資源日益豐富,成本也較低廉,資源的增強使軟件有更多的資源可以利用。該設(shè)計中主控模塊的硬件資源非常豐富,軟件系統(tǒng)也很龐大,軟件系統(tǒng)無法避免在訪問資源時遇到?jīng)_突、數(shù)據(jù)同步、數(shù)據(jù)交換的問題,所以需要一個嵌入式操作系統(tǒng)統(tǒng)一管理硬件資源,并對軟件開發(fā)提供良好的基礎(chǔ)環(huán)境,此系統(tǒng)采用在源代碼開放、可移植性強的Linux操作系統(tǒng)上進行開發(fā)。
2.2.1 引導(dǎo)程序
引導(dǎo)加載程序Bootloader是嵌入式系統(tǒng)軟件開發(fā)的第一個環(huán)節(jié),是目標板系統(tǒng)加電后運行的第一段代碼,通過初始化硬件設(shè)備,建立內(nèi)存空間的映射表,為最終加載操作系統(tǒng)內(nèi)核建立適當?shù)南到y(tǒng)軟硬件環(huán)境。Bootloader是嚴格地依賴于硬件而實現(xiàn)的,通用的Bootloader幾乎是不可能的。在此,由于U-boot是遵循GPL條款的開放源碼項目,能支持盡可能多的嵌入式處理器和嵌入式操作系統(tǒng)。此系統(tǒng)在PXA270開發(fā)
板上成功移植了U-boot。
2.2.2 Linux內(nèi)核移植和編譯
所謂Linux移植就是把Linux操作系統(tǒng)針對具體的目標平臺做必要改寫之后,安裝到該目標平臺使其正確地運行起來。這個概念目前在嵌入式開發(fā)領(lǐng)域講的比較多。其基本內(nèi)容是:獲取某一版本的Linux內(nèi)核源碼,根據(jù)具體目標平臺對這個源碼進行必要的改寫,然后添加一些外設(shè)驅(qū)動,打造一款適合于目標平臺的新操作系統(tǒng),對該系統(tǒng)進行針對目標平臺的交叉編譯,生成一個內(nèi)核映象文件,最后把該映象文件燒寫(安裝)到目標平臺中。而通常對Linux源碼的改寫工作難度較大,這里采用的是目標平臺提供商所給的文件。如果系統(tǒng)中有些硬件沒有驅(qū)動起來,就需要自己開發(fā)驅(qū)動程序。
3 軟件設(shè)計
3.1 主控模塊軟件設(shè)計
智能家居主控模塊上硬件資源豐富,軟件上有Linux操作系統(tǒng)的支持,各個子模塊在主控模塊的控制下協(xié)同工作。主控模塊和子模塊之間主要傳輸信息流和控制流。主控模塊到子模塊傳輸?shù)闹饕强刂屏?,這些控制流完成子模塊的配置或者命令子模塊系統(tǒng)完成特定的任務(wù)。子模塊到主機傳輸?shù)闹饕菙?shù)據(jù)流,數(shù)據(jù)流主要包含子模塊系統(tǒng)中各設(shè)備的運行狀態(tài)或傳感器數(shù)據(jù)等。
主控平臺軟件的主要功能是系統(tǒng)初始化,建立人機交互界面,實現(xiàn)與GSM通訊,與各監(jiān)測、控制模塊通訊。
在初次使用時,由用戶設(shè)置手機號碼,號碼將保存在主控平臺配置的FLASH中,主控平臺等待用戶命令,此命令可能來自GSM模塊或當前主控人機界面,當用戶通過短消息向系統(tǒng)發(fā)送控制消息時,GSM模塊將接收的短消息通過串口發(fā)送給主控平臺,由主控平臺對短消息解析,并將消息組裝成命令幀,通過RS 485總線發(fā)送給被控模塊;如果命令來自當前主控平臺,則主控平臺直接解析命令,組裝命令幀發(fā)送到對應(yīng)控制模塊。
3.2 子模塊軟件設(shè)計
子模塊初始化后,定時查詢RS 485總線接口,檢測是否有命令幀,如果有就接收幀,取幀中的機器號和此模塊的機器號比較是否相同,如果相同就解析此幀,執(zhí)行相應(yīng)的命令,否則繼續(xù)檢測總線接口。
4 結(jié)語
分析了家庭控制網(wǎng)絡(luò)的結(jié)構(gòu),提出了一種基于PXA270處理器和Linux操作系統(tǒng)的智能家居控制系統(tǒng),分析了系統(tǒng)軟硬件平臺設(shè)計。最后介紹了主控模塊和子模塊系統(tǒng)的軟件設(shè)計及主控模塊和其他功能子系統(tǒng)之間的RS 485總線通訊協(xié)議。該方案具有設(shè)計靈活,可裁剪性強,集成度高,易于升級等優(yōu)點,后續(xù)工作應(yīng)該是在此基礎(chǔ)上進一步完善和改進,以提高效率和實用性。本文引用地址:http://m.butianyuan.cn/article/166514.htm linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論