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