基于多媒體處理器VG2的智能家居控制器設(shè)計
關(guān)鍵詞 智能家居 VG2 μC/OS-II
現(xiàn)代社會家庭以家居的安全、舒適、便利和多元化信息的生活環(huán)境作為一個理想目標(biāo),20世紀(jì)90年代以后,網(wǎng)絡(luò)化智能家居的出現(xiàn),實現(xiàn)了在家庭范圍內(nèi)信息設(shè)備、通信設(shè)備、娛樂設(shè)備、家用電器、照明設(shè)備、家庭求助報警、家庭安防及水電氣熱表(四表三防)等家居設(shè)備的遠、近程網(wǎng)絡(luò)互連,為用戶提供了服務(wù)和自主管理能力。本文采用多媒體處理器Virgine G2(簡稱“VG2”)作為主控芯片設(shè)計了一款智能家居控制器,以家庭人居習(xí)慣的音視設(shè)備為中心,以電視與遙控器為人機交互界面,實現(xiàn)家庭住宅的自主管理和智能化服務(wù)。
1 智能家居控制器設(shè)計
1.1 智能家居控制器總體結(jié)構(gòu)
智能家居控制器采用家庭電視顯示,由遙控器、面板自帶鍵盤控制,將信息設(shè)備、通信設(shè)備、家用電器、安防系統(tǒng)、門禁系統(tǒng)、四表自動抄表系統(tǒng)等獨立單元的家居設(shè)施跨平臺地有機結(jié)合,利用網(wǎng)絡(luò)和電話實現(xiàn)遠、近程操作控制智能化。圖1是智能家居控制器系統(tǒng)基本結(jié)構(gòu)圖。
1.2 智能家居控制器功能
智能家居控制器的沒計原則以人居習(xí)慣為出發(fā)點,最大限度地方便用戶使用;以控制器為核心,接口電路易于安裝和擴展。
控制器提供4路音視頻輸入切換接口,在主控制芯片VG2的控制下,對輸入信號進行切換,并可對視頻輸入信號進行圖文疊加處理輸出到電視顯示器上。家居控制器以設(shè)置的紅外入侵、門磁窗磁、門鈴門禁和氣體傳感器動作信號為依據(jù),為用戶提供家庭安全防范。用戶可手動設(shè)定,或遠程管理家庭聲光設(shè)備和控制家用電器的運行。
根據(jù)網(wǎng)絡(luò)接入的不同,家居控制器可運行在3種模式(家庭自主系統(tǒng)、小區(qū)服務(wù)器網(wǎng)絡(luò)系統(tǒng)和TCP/IP寬帶網(wǎng)絡(luò)系統(tǒng))下,為用戶提供以下功能。
①家庭理財:家庭水費、電費、煤氣費和供熱費的記錄顯示和傳輸;家庭日常支出的錄入和顯示;家庭月、季、年支出累計。
②家政服務(wù):家庭對小區(qū)物業(yè)公司的鐘點工(清潔、保姆、護理等),醫(yī)護人員,水電氣維修工,送飯、送貨人員的預(yù)約、召喚和呼救。
③家庭安防:門禁(可視對講)控制操作;家庭安防系統(tǒng)(紅外入侵報警、窗玻璃碎報警等)預(yù)警設(shè)置和聲光/遠程報警。
④家庭電子保姆:可預(yù)置(或通過電話遠程控制)電飯煲、微波爐、洗衣機、熱水器等家電的開關(guān)時間。
⑤家庭信息平臺:直接收看電視節(jié)目;轉(zhuǎn)接播放VCD、DVD;完成數(shù)字電視接收、轉(zhuǎn)換和高清晰電視處理播放;實現(xiàn)網(wǎng)絡(luò)接入等。
⑥物業(yè)管理:小區(qū)發(fā)布公共信息;各戶信息通告等。
1.3 接口設(shè)計
根據(jù)系統(tǒng)功能設(shè)計,家居控制器提供了豐富的功能接口。
音視頻輸入接口:接入有線電視、DVD/VCD、攝像頭等信號。在模擬電子開關(guān)的控制下可根據(jù)需要進行切換控制。
音視頻輸出接口:通過視頻利用放大器MAX4310實現(xiàn)4路復(fù)合視頻信號的驅(qū)動功能,為電視機提供聲音和視頻圖像信號。
網(wǎng)絡(luò)輸入/輸出接口:接入網(wǎng)絡(luò),提供網(wǎng)絡(luò)數(shù)據(jù)服務(wù),采用芯片RTL8019AS,全雙工,收發(fā)速率可達10 Mbps。
鍵盤接口:外接面板20鍵鍵盤,用戶通過鍵盤或遙控器操作選擇相應(yīng)功能。
USB接口:接入優(yōu)盤,提供數(shù)據(jù)存儲功能、功能擴展預(yù)留;以ISPll61A1為核心,提供2路下行端口,1路上行端口,遵循USBv2.O規(guī)范。
RS485接口:接入多功能集中/遠傳自動抄表系統(tǒng),可直接與數(shù)據(jù)采集器相連接,實現(xiàn)對4路基表輸出的脈沖信號實時采集、自動處理和數(shù)據(jù)保存。
I/O接口:提供8路輸入和8路輸出,接收來自紅外入侵探測器、門磁窗磁、門鈴門禁和多種傳感器的安防警示系統(tǒng)的信號,為系統(tǒng)報警提供依據(jù);輸出控制信號,實現(xiàn)家電控制、聲光控制和報警控制。
市話接口:串接在外線和普通電話之間,接入市話網(wǎng),接收電話控制指令,可自動撥打預(yù)設(shè)電話報警,亦可直接與110聯(lián)網(wǎng)報警。采用MT8888負責(zé)DTMF信號的收發(fā),使用ISD1420錄入用戶的地址信息。
2 關(guān)鍵技術(shù)及其實現(xiàn)方案
VG2是ADChips公司推出的一款內(nèi)嵌32位微處理器的多媒體處理器,集數(shù)據(jù)、視頻、音頻處理為一身。內(nèi)部包括1個基于3維圖形算法的2維圖形加速器VR0_2D,還嵌有1個32通道的8/16位音頻引擎,以及視頻DAC、DRAM控制器、DMA、定時器、雙串口等多種外設(shè)。
家居控制器的主要功能單元包括:視頻疊加、數(shù)據(jù)傳輸與存儲、市活控制和抄表系統(tǒng)。其中,抄表系統(tǒng)采用“多用途集中遠傳抄表系統(tǒng)”,通過R8485網(wǎng)絡(luò)與主控模塊相連接,硬件上無需另行設(shè)計。
2.1 視頻疊加單元
視頻疊加單元實現(xiàn)圖形文字與視頻信號的疊加(如操作提示信息與電視信號的疊加等)。主控芯片VG2對圖像數(shù)據(jù)進行處理,將圖像數(shù)據(jù)轉(zhuǎn)換成RGB信號輸出;同時帶有行、場等各種同步信號,為視頻疊加電路提供圖像RGB信號,以實現(xiàn)與外部視頻信號的疊加。
視頻疊加單元采用東芝公司的視頻疊加芯片TBl238和三星公司的視頻編碼芯片KA2198實現(xiàn)視頻疊加和編碼。TBl238是基于I2C總線的彩色電視信號處理芯片,可以實現(xiàn)外部視頻信號解碼、同步提取、三基色信號疊加等功能;片內(nèi)含有視頻與色度信號處理以及掃描小信號產(chǎn)生電路,集成基帶延遲線,以及音、視頻開關(guān)電路,可單片實現(xiàn)PAL/NTSC制信號的解碼,輸出R、G、B三基色信號。視頻系統(tǒng)的RGB編碼采用KA2198單片電路,支持PAL制式和NTSC制式。KA2198包含了R-Y/B-Y矩陣、調(diào)節(jié)器、脈沖產(chǎn)生器、標(biāo)準(zhǔn)儀、內(nèi)嵌的色度BPF(帶通濾波器)和亮度延遲線、使用S-VHS系統(tǒng)的Y/X輸出。
視頻疊加采用復(fù)合視頻信號彩色解碼后疊加法。外部視頻信號由TBl238解碼為RGB三基色信號,與VG2輸出的RGB信號分別疊加;得到疊加后的RGB信號,再由KA2198進行視頻編碼,輸出含有疊加圖形的復(fù)合視頻信號。電路組成如圖2所示。
2.2 市話控制單元
市話控制單元利用住宅電話資源,串接在外線和用戶的普通電話機中間,平時不影響電話正常使用。它由外圍摘掛機控制電路、振鈴檢測電路、DTMF收發(fā)電路、語音錄放電路等構(gòu)成。
采用MT8888為核心,接收和發(fā)送DTMF全部16個信號。MT8888發(fā)送部分采用信號失真小、頻率穩(wěn)定性高的開關(guān)電容式D/A變換器,接收部分用于完成DTMF信號的接收、分離和譯碼,并以4位并行二進制碼的方式輸出;可調(diào)整雙音頻模式的占空比,能自動抑制撥號音和調(diào)整信號增益,帶有標(biāo)準(zhǔn)的數(shù)據(jù)總線,與TTL電平兼容。采用VG2微控制器進行編程控制,可實現(xiàn)通過DTMF收發(fā)電路撥出電話號碼進行電話通告和報警,以及接收遠端的用戶指令對家庭設(shè)備進行相應(yīng)的操作。
選用的數(shù)字語音芯片為ISDl420,具有先進的模擬/數(shù)字語音存儲技術(shù),音質(zhì)好,無需A/D轉(zhuǎn)換,可錄制20 s的語音信息,可分段存儲信息,地址總線與單片機接口;零功率信息存儲方式,斷電情況下,信息可保留10年以上;易于使用,可隨意改變錄音內(nèi)容,錄放次數(shù)達10萬以上。
在本系統(tǒng)中,ISD1420用于存儲用戶的地址語音信息(住宅的地理位置),以便與110聯(lián)網(wǎng)。電話在模擬摘機后的系統(tǒng)提示語音和各種警情語音信息由VG2的音頻引擎輸出直接耦合到通話線路中。當(dāng)接收到報警信號時,系統(tǒng)查詢系統(tǒng)參數(shù),決定是否報警,采用何種方式報警(可以自動撥出用戶設(shè)置的報警電話,向用戶提供語音報警和現(xiàn)場聲響;也可通過電話指令啟動警號和其他執(zhí)行機構(gòu)),并決定主機進入布防還是撤防狀態(tài)。
摘掛機電路通過控制一個電流源的通斷來實現(xiàn)。在掛機狀態(tài)下,電路上的電流可以忽略不計;摘機時的電流約為30 mA,同時可以保證電路具有較小的直流阻抗(<300Ω)和較大的交流阻抗(>600Ω)。振鈴時線路上為(90±15)V、(25±3)Hz、ls送、4s斷的蜂音(GB3380-1982),將線路上的電壓與參考電壓比較,以檢測出振鈴信號。
當(dāng)有電話呼入時,在響鈴達到毆定次數(shù)后,家居控制器接管電話,給出語音提示,提供留言或輸入密碼進入家電控制(若3次輸入密碼不正確,則家居控制器將自動掛斷電話)。電話線路上的撥號音、回鈴音、忙音等信號是頻率為(450土25)Hz的交流電源,電平為(-10±3)dBm。置MT8888為呼叫進程處理模式.根據(jù)不同信號的計數(shù)值不同進行區(qū)分,可實現(xiàn)撥號音、忙音、回鈴音的檢測。市話控制單元結(jié)構(gòu)如同3所示。
2.3 數(shù)據(jù)傳輸及數(shù)據(jù)存儲單元
采用Realtek公司的以太網(wǎng)接口芯片RTL80l9AS和Philips公司的USB主從控制芯片ISP1161A1,為用戶提供網(wǎng)絡(luò)接入和數(shù)據(jù)存儲功能。
ISPll6lAl是Philips公司生產(chǎn)的一種單片通用串行總線(USB)控制器,遵循USBv2.0規(guī)范,為USB HC提供了2個下行端口,為USB DC提供1個上行端口。每一個下行端口都有自己的過流(OC)檢測輸入端和電源轉(zhuǎn)換控制輸出端;上行端口有自己的VBUS檢測輸入端。內(nèi)建4 KB的FIFO緩存RAM供HC使用,2 462字節(jié)的FIFO緩存RAM供DC使用。在ISP116lAl作為USB主機時,根據(jù)硬件資源的分配,其數(shù)據(jù)地址是0x015000000,命令地址為0x01500002。HC的編程接口時序最小值不超過300ns,在VG2接14.318 MHz晶振、ISP1161外接12 MHz晶振時,可以滿足VG2和ISP1161協(xié)調(diào)工作的時序要求。
RTL8019AS網(wǎng)絡(luò)接口芯片具有16位數(shù)據(jù)總線和24位地址總線,具有曼徹斯特編碼、沖突檢測和重發(fā)的功能;可以與很少的外圍電路一起完成數(shù)據(jù)的發(fā)送和接收,全雙工,收發(fā)速率可同時達到10Mbps;內(nèi)置16KB的SRAM用于數(shù)據(jù)收發(fā)的緩沖,支持跳線和免跳線,即插即用的上作模式。圖4是數(shù)據(jù)傳輸及數(shù)據(jù)存儲結(jié)構(gòu)圖。RTL8019AS工作在跳線方式下,IOS3~IOSO為低電平,設(shè)置其I/O基地址為Ox300,RTL8019AS只對地址為0x300~0x31F的信號產(chǎn)生響應(yīng);IRQS2~IRQS0為低電平,INT0被選中作為中斷請求的輸出,PLl、PLO為低電平.設(shè)置具有自動檢測接口類型的功能。
3 軟件設(shè)計
本文采用μC/OS-II(v2.51)嵌入式操作系統(tǒng)作為家居控制器的軟件平臺。μC/OS-II是一個占先式多任務(wù)操作系統(tǒng),可固化、可裁剪,易于移植,具有良好的可靠性和穩(wěn)定性;支持多達64個任務(wù),以及信號量、消息郵箱、消息隊列等多種進程問通信機制。由于沒有TCP/IP和USB協(xié)議棧,因此移植了1wIP和USB HOST協(xié)議來實現(xiàn)網(wǎng)絡(luò)通信和USR數(shù)據(jù)傳輸。
3.1 μC/OS-II在VG2上的移植
采用Cygwin作為編譯平臺的EISC STUDIO集成開發(fā)環(huán)境,用戶可以在C程序中插入?yún)R編語言(可擴展指令集),在移植過程中修改了OS_CPU.H和OS_CPU_C.C,4個與處理器相關(guān)的函數(shù)在OS_CPU_C.C中實現(xiàn)。堆棧的增長方向為向下,入口寬度為32位。初始化后數(shù)據(jù)結(jié)構(gòu)依次為opt,ptos,pdata,0x0,task,0x3000,0xe,0x7,0x6,Ox5,0x4,0x3,0x2,0xl,0x0。OSStartHighRdy()在OS_CPU_C.C中的實現(xiàn)實例如下(限于篇幅,其他函數(shù)不再一一列出):
3.2 1wIP協(xié)議在μC/OS-II上的移植
1wIP是一個比較完備的嵌入式TCP/IP協(xié)議棧,有與操作系統(tǒng)接口的封裝層。1wIP的移植主要包括4個方面的工作:
◇處理與編譯器和硬件相關(guān)的include文件;
◇實現(xiàn)與操作系統(tǒng)相關(guān)的結(jié)構(gòu)和函數(shù);
◇實現(xiàn)lib_arch中的庫函數(shù);
◇實現(xiàn)RTL8019As驅(qū)動程序。
RTL8019AS與Ne2k芯片兼容,可參照ethernetif.c網(wǎng)絡(luò)驅(qū)動模板實現(xiàn)網(wǎng)絡(luò)設(shè)備的驅(qū)動。
3.3 USB主機系統(tǒng)的實現(xiàn)
USB主機系統(tǒng)的實現(xiàn)主要是核心驅(qū)動程序(USBD)和主控制器驅(qū)動程序(HCD)的實現(xiàn)。HCD是協(xié)議棧最底層對主機控制器硬件和數(shù)據(jù)傳輸?shù)某橄螅蛏蠟閁SBD提供一個軟件接口(HCDI),向下管理和檢測主機控制器硬件的行為。USBD是USB體系的中樞,用于檢測和管理USB系統(tǒng)的所有活動,向上接收USB設(shè)備驅(qū)動程序和用戶程序的各種命令和數(shù)據(jù),向下把處理好的各種數(shù)據(jù)發(fā)送給HCD,并最終與設(shè)備進行通信。主機要支持設(shè)備類,就要建立特定的設(shè)備類協(xié)議,本設(shè)計實現(xiàn)了USB Mass Storage類,移植了ZLG/FS文件系統(tǒng)。
3.4 智能家居控制器的軟件設(shè)計
軟件設(shè)計采用模塊化、與內(nèi)核相分離的原則,可保證程序具有良好的可移植性和可重用性,主要有網(wǎng)絡(luò)模塊、USB模塊、市話控制模塊、顯示模塊、鍵盤模塊和抄表模塊等。每個模塊都有相應(yīng)的功能.其中一些模塊還包含一些子模塊,各個模塊相互獨立又相互聯(lián)系,它們的有機組合為用戶提供相應(yīng)的功能。按照軟件所屬層次可劃分為3層:內(nèi)層是實時操作系統(tǒng)內(nèi)核;中間件層主要是芯片的驅(qū)動和通信協(xié)議的移植;外層是應(yīng)用層,為用戶提供具體的功能應(yīng)用。系統(tǒng)復(fù)位后,主程序首先對進行系統(tǒng)進行初始化,獲取系統(tǒng)狀態(tài)信息。VG2自帶看門狗設(shè)置,在程序正常執(zhí)行過程中每隔一段時間觸發(fā)看門狗電路,進行喂狗。
4 小結(jié)
智能家居控制器是家庭內(nèi)外信息交換和家電控制平臺。本文采用ADChips公司的多媒體處理器VG2作為主控芯片,網(wǎng)絡(luò)的接入和USB技術(shù)的應(yīng)用保證了大數(shù)據(jù)量傳輸和存儲的穩(wěn)定性以及功能的可擴展性,兼顧了傳統(tǒng)電話網(wǎng)絡(luò)遠程控制方式。智能家居控制器操作簡單,使用方便,達到了預(yù)期的設(shè)計目的。