基于GPRS的嵌入式智能家居終端的設計與實(shí)現
1引言
隨著(zhù)網(wǎng)絡(luò )技術(shù)和通信技術(shù)的不斷發(fā)展,人們希望即使在工作或外出時(shí)也能通過(guò)某種方式及時(shí)了解和控制家中的情況,同時(shí)伴隨著(zhù)數字化家庭的普及,實(shí)現智能家居的遠程控制已經(jīng)成為一種趨勢。家庭智能控制系統通過(guò)家庭總線(xiàn)技術(shù),把家庭中各種家用電器、家庭保安裝置和各種計量設備連接到一起組成一個(gè)家庭內部網(wǎng)絡(luò ),由家庭智能控制器進(jìn)行統一管理[1]。遠程控制就是通過(guò)某種通訊方式將智能家庭控制器與外界相連,使人們能夠在本地或異地對家庭系統進(jìn)行集中的監視、控制。本文中介紹的方案,結合了GPRS(GeneralPacketRadioService) 技術(shù)永遠在線(xiàn),速度快,接入范圍廣,體積小,功耗低等優(yōu)點(diǎn)[2],采用RS485工業(yè)總線(xiàn),設計實(shí)現了一種基于嵌入式系統的家庭智能控制器。用戶(hù)可以通過(guò)短信及互聯(lián)網(wǎng)等方式現遠程無(wú)線(xiàn)監控,在手機和互聯(lián)網(wǎng)相當普及的今天,為用戶(hù)提供了更簡(jiǎn)單、方便的選擇。同時(shí)由于該控制器RS485接口的特殊設計,外掛節點(diǎn)可以由原來(lái)的32個(gè)擴展到64個(gè),解決了家用設備的布線(xiàn)組網(wǎng)以及控制等問(wèn)題。
2系統設計
從結構上看主要分為用戶(hù),控制器,和RS485總線(xiàn)的家用設備控制三個(gè)部分。用戶(hù)通過(guò)手機短信或網(wǎng)絡(luò )方式向控制器的GPRS模塊發(fā)送命令,而控制器也通過(guò)GPRS模塊向用戶(hù)反饋信息或發(fā)出報警通知。從而實(shí)現了用戶(hù)和控制器無(wú)線(xiàn)互聯(lián),實(shí)現遠程控制。
3硬件設計
硬件部分的結構框圖如圖1所示,控制器是整個(gè)系統的核心部分,經(jīng)過(guò)串口擴展與GPRS模塊相連;通過(guò)電平轉換芯片提供RS485總線(xiàn)接口與家用設備相連接;同時(shí)還提供LCD,鍵盤(pán)等交互接口??刂破鞯闹骺匦酒捎萌荢3C44B0,使用ARM7TDMI核,工作頻率在66MHz[1]。處理器外接 4MFlash(用于存儲控制器的啟動(dòng)代碼和系統代碼以及當天事件的文本日志)分配到存儲器Bank0空間和4M×16的SDRAM,分配到存儲器的 Bank6空間。
硬件部分的結構框圖
GPRS模塊外圍電路:GPRS模塊采用西門(mén)子公司的MC35模塊,支持數據、語(yǔ)音、短消息和傳真等多種通信方式可以通過(guò)AT命令對其實(shí)現控制。串行線(xiàn)通過(guò)MAX3238電平轉換后可直接和RS232串口相連。串口擴展:44B0通過(guò)外接雙通道的通用異步收發(fā)器ST16C2550為GPRSmodem 撥號上網(wǎng)提供完整的9線(xiàn)串口。其主要特點(diǎn)是接收p發(fā)送各有16字節的FIFO(先入先出)緩沖區,獨立的波特率產(chǎn)生器可提供50bps到4Mbps的收發(fā)時(shí)鐘。用戶(hù)可方便地通過(guò)芯片的狀態(tài)寄存器來(lái)進(jìn)行錯誤定位和對操作狀態(tài)進(jìn)行判斷。該芯片內存空間使用保留的存儲空間bank4。采用總線(xiàn)方式控制。 RS485接口設計:采用TI公司的RS485接口芯片75LBC184,可實(shí)現了44B0串行口的TTL電平與RS485電平之間的轉換,該芯片的輸入阻抗為RS485標準輸入阻抗的2倍(≥24KΩ),故可以在總線(xiàn)上連接64個(gè)節點(diǎn)(相當于原來(lái)的兩倍)。且它有一個(gè)獨特的設計,當輸入端開(kāi)路時(shí),其輸出為高電平,這樣可保證接收器輸入端電纜有開(kāi)路故障時(shí),不影響系統的正常工作。
4RS485總線(xiàn)協(xié)議設計
用RS-485總線(xiàn)進(jìn)行系統通訊需要對其傳輸協(xié)議做規定,最重要的就是幀結構的設計。本系統數據幀的構造包括:起始,地址,類(lèi)型,數據長(cháng)度,數據,校驗和及結束幀七個(gè)部分,除數據幀為N字節外(根據從機傳送的數據而定),其余均占1個(gè)字節。類(lèi)型字定義如表1所示,類(lèi)型幀中的“SENDDATA”幀為數據幀,用于存放從機設備的狀態(tài)信息,其它4種為指令幀,用于存放主機發(fā)送給從機的命令字[3]。
類(lèi)型字定義
主機發(fā)查詢(xún)請求主機發(fā)讀請求從機準備好接收從機處于忙碌主/從機發(fā)送數據
本系統采用LRC幀校驗的方法。LRC值由傳輸設備來(lái)計算并放到消息幀中,接收設備在接收消息的過(guò)程中計算LRC,并將它和接收到消息中LRC域中的值比較,如果兩值不等,說(shuō)明有傳輸錯誤。除了幀結構的定義以外,整個(gè)系統的通信還需要遵守下面的規則:(a)主機查詢(xún)方式:由主機輪詢(xún)各從機,并要求從機提交狀態(tài)信息,從機不能主動(dòng)發(fā)出請求。(b)當主機發(fā)出“ASK”命令后,若從機反饋“BUSY”幀,則主機啟動(dòng)計時(shí)和計數,超時(shí)3次,則任務(wù)執行失敗。(c)主機接收到從機發(fā)回的“READY”信號后,向從機發(fā)送“GETDATA”指令,進(jìn)入接收狀態(tài),同時(shí)開(kāi)啟超時(shí)控制。若在規定時(shí)間未接收到從機發(fā)回的數據,則計數器加1,并繼續發(fā)出“GETDATA”信號。如果超時(shí)3次,則取消這次查詢(xún)。(d)從機等待主機發(fā)送指令,并根據具體指令作相應操作。如果接受到的指令幀錯誤,則會(huì )直接丟棄該幀。
5軟件設計
軟件部分的設計主要是基于A(yíng)RM-Linux,因為該操作系統具有完整的TCP/IP協(xié)議,同時(shí)還支持許多其他網(wǎng)絡(luò )協(xié)議,可以為GPRSmodem連接互聯(lián)網(wǎng)提供完整的協(xié)議支持,并且該操作系統具有良好的穩定性和實(shí)時(shí)性可以滿(mǎn)足家庭智能控制器對系統可靠性的要求,另外Linux的源代碼開(kāi)放,可移植性強,為系統開(kāi)發(fā)中的問(wèn)題提供了良好的技術(shù)支持。本系統的軟件設計主要是應用程序的兩個(gè)部分:GPRS的無(wú)線(xiàn)數傳;RS485總線(xiàn)控制控制。
評論