近年來,,通用串行總線(Universal Serial Bus,,USB)的使用為家電自動化引入了一種更為簡單的實現(xiàn)途徑。本文介紹了建立在USB基礎(chǔ)之上的,、創(chuàng)新的家電自動化應(yīng)用,,并以基于USB的照明控制為例,講解了基于USB的家電自動化的基礎(chǔ)知識,。最后,,本文比較了USB和其他用于家電自動化的主流無線技術(shù)(如ZigBee通信協(xié)議和Bluetooth無線通信協(xié)議等)的異同。
即插即用(Plug-n-play) 的簡單操作就是當(dāng)家電插入PC上的USB端口,,就會與PC交換USB家電參數(shù),,從而消除了對家電接口進行設(shè)置的繁瑣工作。根據(jù)經(jīng)由USB端口傳送至PC的家電描述符,,自動把家電配置為“就緒”狀態(tài),。此外,在家電網(wǎng)絡(luò)上添加或刪除新家電,,只要將它們簡單地插拔即可,。
隨著功能豐富的新型半導(dǎo)體器件的高速發(fā)展,同時其價格也隨之達到消費者可以承受的水平,,我們正在見證一場家電行業(yè)中的自動化風(fēng)暴,。在這些技術(shù)進步中就包括了PC上USB的演化。現(xiàn)在,,我們的日常生活中方方面面都會用到PC機,。我們與周圍環(huán)境的互動,很大程度上是通過PC機進行控制的,。
此外,,從PC的角度看,USB使外圍設(shè)備初始化方面發(fā)生了巨大的變化,,不再需要用戶與PC機進行交互或關(guān)注PC機,。USB協(xié)議非常智能,它能自動檢測并驅(qū)動多達127個連接在其總線上的設(shè)備,??梢灶A(yù)見,USB將能夠最終控制和驅(qū)動絕大部分家電,。
由于USB能實現(xiàn)家電自動化,,它對于最終用戶是有用的,包括USB自動洗衣機,、烘干機,、咖啡機、安保系統(tǒng)以及家電控制臺,如圖1所示,。不僅如此,,對于家電制造商而言,在新產(chǎn)品測試方面,,USB也非常有用,。
USB的演化發(fā)展,使得家電的即插即用成為現(xiàn)實,,而這促使了操作系統(tǒng)供應(yīng)商對標(biāo)準(zhǔn)USB驅(qū)動程序提供支持,。比如說,Microsoft在其Windows操作系統(tǒng)(OS)的各版本中,,提供了USB驅(qū)動程序支持,,支持諸如人機接口設(shè)備(Human Interface Device,HID),、通信設(shè)備類(Communication Device Class,,CDC)和大容量存儲設(shè)備(Mass Storage Device,MSD)驅(qū)動程序,。
USB的另一項重要用途與預(yù)付費設(shè)施有關(guān),。比如說,自動洗衣店可以向客戶發(fā)行洗衣卡,,洗衣卡可以通過USB端口進行讀取,,從而通過USB總線對洗衣機進行控制。USB總線提供了充足的數(shù)據(jù)率,,用于記錄設(shè)施數(shù)據(jù)和記錄家電用電量明細,。對于具有USB總線的家電而言,這類大容量存儲USB特別適用于數(shù)據(jù)記錄與控制,。
USB還可以用在家電的安全使用上,。例如,父母能夠通過USB端口對家電鎖定和解鎖,,防止孩子自己開啟某些家電,。這樣能讓人放心許多,在沒有監(jiān)護人的情況下,,孩子無法去操作有潛在危險的家電,。
USB總線架構(gòu)
USB是每條總線支持一個主機的一種主機控制架構(gòu)。大部分的PC上都有多個USB主機,。設(shè)備能用集線器以菊花鏈方式連接到主機上,。多個集線器能夠以菊花鏈方式連接起來,,支持多達127個不同設(shè)備,,每個菊花鏈段長度不能超過五英尺。
這種菊花鏈?zhǔn)竭B接,形成了稱為層式星狀(Tiered Star)的拓撲結(jié)構(gòu),它與10-Base T以太網(wǎng)類似,。與以太網(wǎng)拓撲結(jié)構(gòu)相比,,USB有一些優(yōu)點,因為USB集線器能為連接在其上的設(shè)備供電,,并在發(fā)生過流現(xiàn)象時關(guān)閉設(shè)備,。USB集線器還能適當(dāng)過濾主機和設(shè)備間的數(shù)據(jù),實現(xiàn)低速(LS),、全速(FS)和高速(HS)設(shè)備的無縫集成,。
USB是即插即用型協(xié)議,能動態(tài)加載和卸載USB驅(qū)動程序,。要加載USB驅(qū)動程序,,必須有USB提供商標(biāo)識符(VID)和產(chǎn)品標(biāo)識符(PID)。
VID用來識別USB總線的制造商,。通常,,VID由名為“通用串行總線開發(fā)者論壇”(USB Implementers’ Forum,USB-IF,,www.usb.org)組織分配,,申請者需要支付注冊VID費用。與VID類似,,PID是一個16位數(shù)字,,PID標(biāo)識的是產(chǎn)品,設(shè)備制造商提供PID號,。不同于VID,,對于PID來說,USB-IF對其沒有任何管理上的限制,。
USB的另一個重要特性是它支持不同類型的數(shù)據(jù)傳輸方式,。例如,USB V2.0支持四種不同類型的數(shù)據(jù)傳輸:
◆ 控制傳輸方式,??刂苽鬏斣谠O(shè)備插入時對其進行配置,并能用于其他的設(shè)備特定用途,,諸如對設(shè)備上的其他通道進行控制等,。
◆ 批量傳輸方式。在數(shù)據(jù)的產(chǎn)生和使用量相對較大時采用批量傳輸方式,。
◆ 中斷傳輸方式,。中斷傳輸用于及時且可靠的數(shù)據(jù)傳送。例如,,具有人類可感知反應(yīng)或反饋響應(yīng)特征的字符或坐標(biāo)等,。
◆ 同步傳輸方式,。同步傳輸方式在預(yù)先約定的傳輸延遲時間占用預(yù)定的USB帶寬,同步傳輸也稱為“流實時傳輸”,。
A型USB連接器專用于數(shù)據(jù)下行傳輸,,即數(shù)據(jù)從設(shè)備傳輸?shù)街鳈C,所以,,A型連接器位于設(shè)備上,。
B型USB連接器專用于數(shù)據(jù)上行傳輸,即數(shù)據(jù)從USB主機傳輸?shù)皆O(shè)備或從集線器傳輸?shù)皆O(shè)備,,B型連接器位于主機和集線器上,,如圖2所示。有時為了使占用空間更小,,可以使用微型USB連接器,。
USB設(shè)備通過拉高D+或D-端線電平來指示其速度,最高為3.3伏,。全速設(shè)備在D+端接一個上拉電阻表明它是全速設(shè)備,,如圖3所示。
如果沒有上拉電阻,,USB就假定總線上沒有連接任何東西,。有些設(shè)備中,上拉電阻是內(nèi)置的,,能通過固件開啟和關(guān)閉,。另一些設(shè)備則需要外部上拉電阻。在這種情況下,,通過固件進行速度控制會受到限制,,并且要求另外對外部中繼服務(wù)進行實現(xiàn)與編碼。
低速設(shè)備在D-端連接上拉電阻,,表明其為低速設(shè)備,,如圖4所示。最開始,,高速設(shè)備被當(dāng)作全速設(shè)備進行連接(D+→1.5k至3.3V),。初始連接之后,設(shè)備在復(fù)位時將發(fā)出高速的啁啾聲,,然后與主機建立高速連接,。一旦設(shè)備經(jīng)初始化進入高速模式,上拉電阻就被禁用,。
USB數(shù)據(jù)流模式
在設(shè)備可以與應(yīng)用進行通信前,,USB主機需要了解設(shè)備狀態(tài)并給它分配設(shè)備驅(qū)動程序,實現(xiàn)這一初始信息交換的過程就叫作枚舉,。在枚舉過程中,,根據(jù)USB V2.0規(guī)范的定義,,設(shè)備將經(jīng)歷以下設(shè)備狀態(tài):
◆ 上電狀態(tài)(Powered)
◆ 缺省狀態(tài)(Default)
◆ 地址狀態(tài)(Address)
◆ 配置狀態(tài)(Configured)
另外還有兩個USB設(shè)備狀態(tài),“連接狀態(tài)”(Attached)和“掛起狀態(tài)”(Suspended)枚舉過程的具體細節(jié)超出了本文的范圍,;不過,在設(shè)備配置中使用的命令與結(jié)構(gòu)是相關(guān)的,。描述符是讓USB主機能獲取設(shè)備信息的數(shù)據(jù)結(jié)構(gòu),。在枚舉過程中,主機請求描述符,,從最上層設(shè)備描述符開始,,一直到最低層端點描述符,順序如圖5所示,。
枚舉過程
下面概述一下USB設(shè)備的枚舉過程所包含的步驟,,并講解設(shè)備在枚舉過程如何經(jīng)歷從上電到缺省、地址以及配置這幾個狀態(tài),。
◆ 用戶將一個USB設(shè)備插入USB端口,,主機為端口供電,設(shè)備此時處于上電狀態(tài),。
◆ 主機檢測設(shè)備,。
◆ 集線器使用中斷通道將事件報告給主機。
◆ 主機發(fā)送Get_Port_Status(讀端口狀態(tài))請求,,以獲取更多的設(shè)備信息,。
◆ 集線器檢測設(shè)備是低速運行還是高速運行,并將此信息送給主機,,這是對Get_Port_Status請求的響應(yīng),。
◆ 主機發(fā)送Set_Port_Feature(寫端口狀態(tài))請求給集線器,要求它復(fù)位端口,。
◆ 集線器對設(shè)備復(fù)位,。
◆ 主機使用Chirp K信號來了解全速設(shè)備是否支持高速運行。
◆ 主機發(fā)送另一個Get_Port_Status請求,,確定設(shè)備是否已經(jīng)從復(fù)位狀態(tài)退出,。
◆ 設(shè)備此時處于缺省狀態(tài),且已準(zhǔn)備好在零端點通過缺省通道響應(yīng)主機控制傳輸,。缺省地址為00h,,設(shè)備能從總線獲取高達100mA的電流。
◆ 主機發(fā)送Get_Descriptor(讀設(shè)備描述符)報文,,以便確定最大數(shù)據(jù)包大小,。設(shè)備描述符的八個字節(jié)是bMaxPacketSize。
◆ 通過發(fā)送Set_Address(寫地址)請求,,主機分配地址,,設(shè)備此時處于地址狀態(tài),。
◆ 主機發(fā)送Get_Descriptor報文,以獲取更多的設(shè)備信息,。主機通過發(fā)送描述符響應(yīng)設(shè)備請求,,隨后發(fā)送全部的次級描述符。
◆ 主機分配并加載設(shè)備驅(qū)動程序,。
◆ 通過發(fā)送Set_Configuration(寫配置)請求,,主機的設(shè)備驅(qū)動程序選擇一個有效配置,設(shè)備此時處于配置狀態(tài)
◆ 主機為復(fù)合設(shè)備接口分配驅(qū)動程序,。
◆ 如果集線器檢測到有過流現(xiàn)象,,或者主機要求集線器關(guān)閉電源,則USB總線切斷設(shè)備供電電源,。在這種情況下,,設(shè)備與主機無法通信,但設(shè)備處于連接狀態(tài),。
◆ 如果在3毫秒內(nèi)設(shè)備在總線上未見任何動作,,則它將進入掛起狀態(tài),在掛起狀態(tài)設(shè)備消耗的總線電能最少,。
USB協(xié)議層
控制傳輸使主機和設(shè)備之間可以交換設(shè)備配置信息和其他控制信息,。控制傳輸在低速和全速傳輸運行時占用10%的帶寬,,在高速運行時占用20%的帶寬,。控制傳輸由設(shè)置階段,、可選的數(shù)據(jù)階段和狀態(tài)階段組成,,下面詳細描述每個階段的包。
◆ 標(biāo)記包,。USB中所有事務(wù)都是由主機(PC)來完成的,。IN表示數(shù)據(jù)被讀入PC,OUT表示數(shù)據(jù)由主機送出至設(shè)備,,如圖6所示,。
◆ 數(shù)據(jù)包(可選)。USB主機有兩個數(shù)據(jù)包——DATA0和DATA1,。每一個包的容量為1024字節(jié),。
◆ 狀態(tài)包。在諸如應(yīng)答(ACK),、否定應(yīng)答(NACK)以及停止(Stall)等事務(wù)中,,狀態(tài)包用來跟蹤USB狀態(tài)。
◆ 幀起始包(SOF),。每一毫秒,,USB主機都將發(fā)送一幀SOF,,每幀有11位數(shù)據(jù)。
基于USB的家電網(wǎng)絡(luò)
在基于USB的家電網(wǎng)絡(luò)中,,可以以菊花鏈?zhǔn)竭B接6個USB集線器,,為多達127臺家電設(shè)備提供接口。所有的集線器能安放在一個集線盒中,,集線盒則通過控制電纜連接到設(shè)備上,。這也可以由帶USB端口、運行Windows OS的單板機進行控制,,最終將為家中每個房間配備一個家電控制臺,。
通過USB自動化,,您在與朋友聊天的同時,,可以通過PC控制洗衣機的運行時間、衣服類型,、清洗劑類型以及水溫等,。您也可以為每項任務(wù)添加音頻特征,這樣當(dāng)每項任務(wù)完成時,,您可以在某個特定的地方(臥室,、客廳、游泳池或廚房等)收到音頻提示,。此外,,烘干機可以通過USB自動接收指令,從洗衣機處裝入衣服,,設(shè)置烘干時間,,然后自動計時烘干,在每項任務(wù)成功完成后均有音頻提示,。
通過USB自動化,,您可以在辦公桌上控制咖啡機,不僅僅是煮咖啡,,還能檢測咖啡壺中還剩多少咖啡,,USB自動化甚至可以使您能煮出符合自己口味的咖啡。USB還可以使您看到冰箱內(nèi)部的情況,,設(shè)置特定的觸發(fā)開關(guān)來檢測剩余的牛奶,、飲料、奶酪以及蔬菜量,。根據(jù)這些信息,,當(dāng)您計劃去商場時,可以從PC中快速匯總食品采購清單,。照明自動化是居家的基本需求,。通過USB自動化,,能夠檢查全屋的照明情況,并通過PC對其進行控制,。
USB與溫度傳感器配合使用,,能夠自動控制房屋某處電風(fēng)扇和空調(diào)的運行。這樣,,可以使不同的房間或“區(qū)域”保持不同的溫度,,以便節(jié)能。此外,,電風(fēng)扇和空調(diào)可以自動地分擔(dān)制冷負荷,。而在家庭安保方面,使用USB自動化,,可以通過PC控制門鎖,、查看門鎖狀態(tài),在臥室就可以關(guān)閉或打開房門,。
此外,,USB自動可視門鈴能用于防止入侵者進入房屋。USB自動化也使您能通過PC打開和關(guān)閉窗戶及窗簾,。家電USB自動化的潛力是無窮的,,采用現(xiàn)代技術(shù),USB自動化就是把家電或設(shè)備與PC上USB端口連接,,如圖7所示,。
超寬帶USB的優(yōu)點
超寬帶(Ultra Wide Band,UWB)USB也稱為“無線USB”,,它是一種短距離無線通信的推薦標(biāo)準(zhǔn),,有望在不久的將來取代藍牙技術(shù)。藍牙是目前短距離無線連接的行業(yè)標(biāo)準(zhǔn),,但由于藍牙與Wi-Fi(802.11g標(biāo)準(zhǔn))使用相同的頻段,,因此可能存在干擾問題。
另外,,UWB使用3.1~10.6GHz的頻段,,它的每個無線電信道均超過500MHz,美國聯(lián)邦通信委員會(Federal Communications Commission,,F(xiàn)CC)對其有嚴(yán)格的傳送功率限制,。UWB使用了極寬的頻段,同時發(fā)射功率較小,,以便窄帶設(shè)備能夠檢測到信號,,因此,UWB能與其他的無線通信協(xié)議(如Wi-Fi)共存。
本文討論了基于USB的家電自動化,,文中說明了來自Microchip的8位PIC單片機不僅能用于交流家電的控制,,也完全可以用于解決數(shù)據(jù)記錄、用于需要類似音頻視流那樣的實時應(yīng)用,?;赨SB的家電自動化具有無限的空間,預(yù)計采用USB控制的家電產(chǎn)品將迅速發(fā)展,。無線USB的標(biāo)準(zhǔn)化,,將促進基于USB的家電自動化,實現(xiàn)高帶寬,、低干擾的無線連接,。