利用單片機模擬信息家電的通用設計方案
6 模擬系統的設計與實現
6.1 添加外圍硬件電路
本文選擇PC機和SX52作為模擬實現信息家電和家庭網關交互的平臺是非常合適的,因為我們利用其用戶試驗區模塊擴展外圍模塊電路(如電風扇遙控模塊)模擬信息家電,以實現通過遠程終端(Web瀏覽器或者專用控制客戶端)對信息家電的控制,本文只討論利用嵌入式Web服務器,通過Web頁面的方式實現對家電的遠程控制這一方式。在板上添加了電風扇遙控發射電路(主芯片CS5104),由主CPU直接控制,能夠實現對電風扇的遙控功能,同時為了了解開發系統遙控效果,還添加了遙控接收電路(主芯片CS8206),可以響應發射電路的遙控信號。還添加了遙控接收端狀態LED(12只)用于顯示電風扇狀態。硬件構成框圖如圖2所示,本文只給出包含電風扇模塊的框圖,添加其它模塊類似。
6.2 軟件的設計與實現
通過瀏覽器的web頁面控制信息家電,首先要定義控制協議,讓從網關發送過去的信息能夠被家電接收解釋并能執行正確的操作,系統工作流程如下:
(1)開發系統板上電后初始化主芯片及各外圍芯片。
(2)打開PC機瀏覽器,輸入http://10.1.1.20/index.htm,由瀏覽器發出的連接嵌入式Web服務器請求經過開發板上的RTL8019AS,再經SX52解釋后在其控制下把讀取請求發送至存儲網頁的24C256,24C256根據SX52發送過來的命令取出網頁后通過RTL8019AS送至PC的瀏覽器,即打開遠程控制端如圖3所示。
(3)選擇圖3中的“速度”再點擊“確定”,啟動開發板上的電風扇模塊,然后根據需要點擊前面的選項控制風扇,瀏覽器就將控制信息通過網線傳給RTL8019AS,再經SX52解釋轉化為控制命令發送給電風扇遙控發射芯片,該芯片發送遙控信號遙控接收電路通過相應的LED顯示,從而響應控制請求。最后通過觀看控制界面上燈的狀態與開發板上相應LED顯示是否相符,從而檢驗模擬系統運行成功與否。
由于考慮到單片機的處理能力,定義單個字符傳遞控制信息不僅可以節省資源,而且可以縮短響應時間,滿足更高的實時性要求。以對電風扇模塊的模擬為例,通過網頁發送給網關的控制協議具體實現如下:用'e'代表關閉,'f'代表定時,'g'代表風速/啟動,'h'代表工作模式,'i'代表搖頭。每選擇一個選項,按“確定”后,就發送一次上面相應字符給信息家電(SX52),后面相應的燈就按已經定義好的規律變亮或是變暗。
代碼添加和修改,再按以下的步驟完成最后的工作:
(1)制作控制頁面,實現以上協議,并顯示電風扇的控制狀態信息,頁面外觀如圖3所示。然后計算該頁面的大小,利用SX52特有的哈希函數計算出URI。
(2)修改Eth_my3.src源文件中開發板IP地址值,URI值等,裁剪掉DHCP、SMTP等模塊,添加電風扇初始化代碼、中斷代碼和協議轉化模塊。
(3)利用匯編/編程器軟件SXKey52.exe將文件e2file3ttm1.
src下載到開發系統板,然后利用PC上運行的裝載程序E2File.
exe將網頁裝載到EEPROM中,再次利用SXKey52.exe將網頁服務器程序Eth_my3.src下載到開發系統板,最后打開PC上的瀏覽器,在地址欄輸入http://10.1.1.20/index.htm就可以看見如圖3所示的界面,通過該界面可以對開發板上的電風扇硬件電路進行控制。
7 小結
本文從研究信息家電內部結構和家庭網關出發,選擇高性能的8位SX52單片機集成系統并進行軟硬件裁剪,成功地利用外圍硬件電路和虛擬外圍及網絡協議軟件虛擬模塊,搭建了模擬信息家電的平臺,為進一步研究家庭網關和信息家電內部結構以及二者之間的功能分配和通信協議打下了堅實的基礎。
創新點:本文描述了利用SX52為主芯片,通過擴展外圍電路和軟件模塊模擬信息家電的通用方法,并以模擬電風扇做了具體實現,為后續對信息家電和家庭網關的研究提供了基礎實驗平臺。
評論