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