基于ARM-Linux與GPRS技術的家庭智能控制終端

2012年02月02日 17:05 來源:本站整理 作者:秩名 我要評論(0)

  家庭智能控制系統通過家庭總線技術,把家庭中各種家用電器、家庭保安裝置和各種計量設備連接到一起組成一個家庭內部網絡,由家庭智能控制器進行統一管理[1]。遠程控制就是通過某種通訊方式將智能家庭控制器與外界相連,使人們能夠在本地或異地對家庭系統進行集中的監視、控制。

        本文中介紹的方案,結合了GPRS(General Packet Radio Service)技術永遠在線,速度快,接入范圍廣,體積小,功耗低等優點[2],采用RS485工業總線,設計實現了一種基于嵌入式系統的家庭智能控制器。用戶可以通過短信及互聯網等方式現遠程無線監控,在手機和互聯網相當普及的今天,為用戶提供了更簡單、方便的選擇。同時由于該控制器RS485接口的特殊設計,外掛節點可以由原來的32個擴展到64個,解決了家用設備的布線組網以及控制等問題。

  1 系統設計

  從結構上看主要分為用戶,控制器,和RS485總線的家用設備控制三個部分。用戶通過手機短信或網絡方式向控制器的GPRS模塊發送命令,而控制器也通過GPRS模塊向用戶反饋信息或發出報警通知。從而實現了用戶和控制器無線互聯,實現遠程控制。

  2 硬件設計

  硬件部分的結構框圖如圖1所示,控制器是整個系統的核心部分,經過串口擴展與GPRS模塊相連;通過電平轉換芯片提供RS485總線接口與家用設備相連接;同時還提供LCD,鍵盤等交互接口。控制器的主控芯片采用三星S3C44B0,使用ARM7TDMI核,工作頻率在66MHz[1]。處理器外接 4MFlash(用于存儲控制器的啟動代碼和系統代碼以及當天事件的文本日志)分配到存儲器Bank0空間和4M×16的SDRAM,分配到存儲器的 Bank6空間。

  

 

  GPRS 模塊外圍電路:GPRS模塊采用西門子公司的MC35模塊,支持數據、語音、短消息和傳真等多種通信方式可以通過AT命令對其實現控制。串行線通過 MAX3238電平轉換后可直接和RS232串口相連。串口擴展:44B0通過外接雙通道的通用異步收發器ST16C2550為GPRS modem撥號上網提供完整的9線串口。其主要特點是接收﹑發送各有16字節的FIFO(先入先出) 緩沖區,獨立的波特率產生器可提供50bps到4Mbps的收發時鐘。用戶可方便地通過芯片的狀態寄存器來進行錯誤定位和對操作狀態進行判斷。該芯片內存空間使用保留的存儲空間bank4。采用總線方式控制。RS485接口設計:采用TI公司的RS485接口芯片75L BC184,可實現了44B0串行口的TTL電平與RS485電平之間的轉換,該芯片的輸入阻抗為RS485標準輸入阻抗的2倍(≥24KΩ),故可以在總線上連接64個節點(相當于原來的兩倍)。且它有一個獨特的設計,當輸入端開路時,其輸出為高電平,這樣可保證接收器輸入端電纜有開路故障時,不影響系統的正常工作。

  3 RS485總線協議設計

  用RS-485總線進行系統通訊需要對其傳輸協議做規定,最重要的就是幀結構的設計。本系統數據幀的構造包括:起始,地址,類型,數據長度,數據,校驗和及結束幀七個部分,除數據幀為N字節外(根據從機傳送的數據而定),其余均占1個字節。類型字定義如表1所示, 類型幀中的“SEN DDATA”幀為數據幀,用于存放從機設備的狀態信息,其它4種為指令幀,用于存放主機發送給從機的命令字。

  

 

  主機發查詢請求 主機發讀請求 從機準備好接收 從機處于忙碌 主/從機發送數據

  本系統采用LRC幀校驗的方法。LRC值由傳輸設備來計算并放到消息幀中,接收設備在接收消息的過程中計算LRC,并將它和接收到消息中LRC域中的值比較,如果兩值不等,說明有傳輸錯誤。除了幀結構的定義以外,整個系統的通信還需要遵守下面的規則:(a)主機查詢方式:由主機輪詢各從機,并要求從機提交狀態信息,從機不能主動發出請求。(b)當主機發出“ASK”命令后,若從機反饋“BUSY”幀,則主機啟動計時和計數,超時3次,則任務執行失敗。(c)主機接收到從機發回的“READY”信號后,向從機發送“GETDATA”指令,進入接收狀態,同時開啟超時控制。若在規定時間未接收到從機發回的數據,則計數器加1,并繼續發出“GETDATA”信號。如果超時3次,則取消這次查詢。(d)從機等待主機發送指令,并根據具體指令作相應操作。如果接受到的指令幀錯誤,則會直接丟棄該幀。

  4 軟件設計

  軟件部分的設計主要是基于ARM-Linux,因為該操作系統具有完整的 TCP/IP協議,同時還支持許多其他網絡協議,可以為GPRS modem連接互聯網提供完整的協議支持,并且該操作系統具有良好的穩定性和實時性可以滿足家庭智能控制器對系統可靠性的要求,另外Linux的源代碼開放,可移植性強,為系統開發中的問題提供了良好的技術支持。本系統的軟件設計主要是應用程序的兩個部分: GPRS的無線數傳;RS485總線控制控制。

  4.1 RS485總線控制

  基于上一部分RS485的總線協議,主從控制主要分為:輪詢、查詢、控制三部分。(1)輪詢:主機定時對各從機進行查詢,如果發現報警信息,保存后及時觸發報警并反饋給用戶。如果出現超時或幀錯誤等狀態時主機放棄此次查詢,并將該事件存儲在主機中。(2)查詢:查詢的工作流程和輪詢大致相同,但是只對指定的從機和指定狀態進行查詢。(3)控制:把控制指令發到指定從機,并要求從機反饋執行結果。

  

12下一頁

本文導航

標簽:ARM(835)Linux(586)GPRS技術(6)