采用Realtek公司的以太網接口芯片RTL80l9AS和Philips公司的USB主從控制芯片ISP1161A1,為用戶提供網絡接入和數據存儲功能。
ISPll6lAl是Philips公司生產的一種單片通用串行總線(USB)控制器,遵循USBv2.0規范,為USB HC提供了2個下行端口,為USB DC提供1個上行端口。每一個下行端口都有自己的過流(OC)檢測輸入端和電源轉換控制輸出端;上行端口有自己的VBUS檢測輸入端。內建4 KB的FIFO緩存RAM供HC使用,2 462字節的FIFO緩存RAM供DC使用。在ISP116lAl作為USB主機時,根據硬件資源的分配,其數據地址是0x015000000,命令地址為0x01500002。HC的編程接口時序最小值不超過300ns,在VG2接14.318 MHz晶振、ISP1161外接12 MHz晶振時,可以滿足VG2和ISP1161協調工作的時序要求。
RTL8019AS網絡接口芯片具有16位數據總線和24位地址總線,具有曼徹斯特編碼、沖突檢測和重發的功能;可以與很少的外圍電路一起完成數據的發送和接收,全雙工,收發速率可同時達到10Mbps;內置16KB的SRAM用于數據收發的緩沖,支持跳線和免跳線,即插即用的上作模式。圖4是數據傳輸及數據存儲結構圖。RTL8019AS工作在跳線方式下,IOS3~IOSO為低電平,設置其I/O基地址為Ox300,RTL8019AS只對地址為0x300~0x31F的信號產生響應;IRQS2~IRQS0為低電平,INT0被選中作為中斷請求的輸出,PLl、PLO為低電平.設置具有自動檢測接口類型的功能。
3 軟件設計
本文采用μC/OS-II(v2.51)嵌入式操作系統作為家居控制器的軟件平臺。μC/OS-II是一個占先式多任務操作系統,可固化、可裁剪,易于移植,具有良好的可靠性和穩定性;支持多達64個任務,以及信號量、消息郵箱、消息隊列等多種進程問通信機制。由于沒有TCP/IP和USB協議棧,因此移植了1wIP和USB HOST協議來實現網絡通信和USR數據傳輸。
3.1 μC/OS-II在VG2上的移植
采用Cygwin作為編譯平臺的EISC STUDIO集成開發環境,用戶可以在C程序中插入匯編語言(可擴展指令集),在移植過程中修改了OS_CPU.H和OS_CPU_C.C,4個與處理器相關的函數在OS_CPU_C.C中實現。堆棧的增長方向為向下,入口寬度為32位。初始化后數據結構依次為opt,ptos,pdata,0x0,task,0x3000,0xe,0x7,0x6,Ox5,0x4,0x3,0x2,0xl,0x0。OSStartHighRdy()在OS_CPU_C.C中的實現實例如下(限于篇幅,其他函數不再一一列出):
3.2 1wIP協議在μC/OS-II上的移植
1wIP是一個比較完備的嵌入式TCP/IP協議棧,有與操作系統接口的封裝層。1wIP的移植主要包括4個方面的工作:
◇處理與編譯器和硬件相關的include文件;
◇實現與操作系統相關的結構和函數;
◇實現lib_arch中的庫函數;
◇實現RTL8019As驅動程序。
RTL8019AS與Ne2k芯片兼容,可參照ethernetif.c網絡驅動模板實現網絡設備的驅動。
3.3 USB主機系統的實現
USB主機系統的實現主要是核心驅動程序(USBD)和主控制器驅動程序(HCD)的實現。HCD是協議棧最底層對主機控制器硬件和數據傳輸的抽象,向上為USBD提供一個軟件接口(HCDI),向下管理和檢測主機控制器硬件的行為。USBD是USB體系的中樞,用于檢測和管理USB系統的所有活動,向上接收USB設備驅動程序和用戶程序的各種命令和數據,向下把處理好的各種數據發送給HCD,并最終與設備進行通信。主機要支持設備類,就要建立特定的設備類協議,本設計實現了USB Mass Storage類,移植了ZLG/FS文件系統。
3.4 智能家居控制器的軟件設計
軟件設計采用模塊化、與內核相分離的原則,可保證程序具有良好的可移植性和可重用性,主要有網絡模塊、USB模塊、市話控制模塊、顯示模塊、鍵盤模塊和抄表模塊等。每個模塊都有相應的功能.其中一些模塊還包含一些子模塊,各個模塊相互獨立又相互聯系,它們的有機組合為用戶提供相應的功能。按照軟件所屬層次可劃分為3層:內層是實時操作系統內核;中間件層主要是芯片的驅動和通信協議的移植;外層是應用層,為用戶提供具體的功能應用。系統復位后,主程序首先對進行系統進行初始化,獲取系統狀態信息。VG2自帶看門狗設置,在程序正常執行過程中每隔一段時間觸發看門狗電路,進行喂狗。
4 小結
本文采用ADChips公司的多媒體處理器VG2作為主控芯片,網絡的接入和USB技術的應用保證了大數據量傳輸和存儲的穩定性以及功能的可擴展性,兼顧了傳統電話網絡遠程控制方式。智能家居控制器操作簡單,使用方便,達到了預期的設計目的。
評論