隨插即用連結PC與家電 USB輕鬆實現智慧家電

2007-04-18
以通用序列匯流排(USB)為中心的各種創新家電自動化應用已愈來愈多,包括有USB自動化功能的洗衣機、烘衣機、咖啡機、保全系統以及家電控制資訊站 (圖1)。本文除將介紹USB電燈控制範例,帶領讀者認識USB家電自動化的基本知識外,亦將比較並對照USB與ZigBee通訊協定和藍牙 (Bluetooth)無線通訊協定等當今普遍應用於家電自動化的無線技術。  

幾年前,要透過個人電腦(PC)執行家電自動化並不容易,因為這除了須要設定中斷要求(IRQ)、在PC中新增控制卡外,還必須正確地設定跨接器組態。只要每次在家電網路中新增或移除裝置或家電時,都必須進行這個繁雜的程序。  

但近來因為USB的出現,讓家電自動化變得較為簡單。USB採用一種簡單的隨插即用程序,將家電插入PC的USB連接埠時,USB家電的參數就會自動交換,省去設定家電介面的複雜作業。由於家電的描述元會透過USB Host回報給PC,因此就能自動將家電設定成「就緒」狀態。此外,不論是在家電網路中新增或移除家電,都只要透過簡單的插入或拔除動作就能完成。  

USB搭上家電自動化順風車  

近期家電產業面臨一股自動化風潮,各種新推出的半導體裝置以驚人的速度不斷地擴充其功能,且在價格也越來越貼近消費者的前提之下,各項人性化介面同樣隨之而起,而PC上的USB也搭上了這班技術創新的列車。  

PC已經在日常生活的許多方面占有重要地位,許多民眾與環境的互動大部分都是透過PC執行。因此,不難想像PC在未來的家電自動化中,將繼續扮演關鍵角色。  

此外,由於USB也革新了周邊裝置的初始化方式,讓使用者不須要介入或操作PC,讓USB通訊協定能夠智慧地自動偵測裝置並在匯流排中連接多達127個裝置,也難怪有人預測,未來的USB將能夠控制並驅動大多數的家電。  

隨插即用助益大  

USB所帶來的家電自動化並不是只有一般消費者能夠從中受惠,它對於家電製造商在測試新家電設計的過程中也同樣很有幫助。  

USB的演進讓家電能夠實現隨插即用的功能,進一步促使作業系統廠商提供對USB標準驅動程式的支援。  

舉例來說,微軟(Microsoft)便提供對USB驅動程式的支援,例如Windows作業系統版本的人機介面裝置(Human Interface Device, HID)、通訊裝置群組(Communication Device Class, CDC)與大量儲存裝置(Mass Storage Device, MSD)驅動程式等。  

USB同樣也在預付卡設備中扮演著重要角色。舉例來說,自助洗衣店可以發行透過USB介面讀取的洗衣卡給顧客,讓他們操作連接USB匯流排的洗衣機。  

USB匯流排提供了足夠的資料傳輸率,可以記錄設備資料並追蹤家電所耗用的電力。這種大量儲存群組的USB,很適合用於資料記錄與控制有USB匯流排的家電產品上。  

家電保全也是USB可以發揮其效果的另一個領域。例如,家長可以透過USB連接埠來鎖定或解除鎖定家電,避免孩童自行操作某些家電。這樣孩童就無法在沒有家長監護的情況下操作有潛在危險性的家電,讓家長能夠安心。  

USB拓撲具多項優點  

USB是一種由Host控制的架構,在每個匯流排上都可支援一個Host。大多數的PC都擁有多個USB Host。而裝置則使用集線器透過菊鏈(Daisy Chain)方式連接到Host。多個集線器也可以透過菊鏈方式連結,以支援多達127個不同的裝置,但每個區段的距離不應超過5英呎。  

這種菊鏈方式亦稱為多層星狀拓撲,類似10Base T乙太網路。但與乙太網路拓撲相較之下,USB擁有幾項優勢,包括集線器可為連接的裝置提供電力並在電流過載時關閉裝置。USB集線器也可適當過濾 Host與裝置間的資料,流暢地整合低速(LS)、全速(FS)與高速(HS)裝置(表1)。  

USB是一種隨插即用通訊協定,可以動態方式載入或卸載USB驅動程式。而在載入驅動程式時,必須要有USB廠商ID(Vendor ID, VID)與產品ID(Product ID, PID)。  

這兩個ID會登錄在USB設備的裝置描述元中,而VID可識別USB匯流排製造商。  

VID一般是由USB應用廠商論壇(USB Implementers Forum, USB-IF)所指定,並且申請人在登錄時必須付費;PID與VID類似,是一組16位數的數字,但與VID不同的是,PID並不會受到USB-IF的管理限制。簡單的說,PID就是產品的標記,PID號碼是由裝置製造商指定。  

支援多元傳輸模式  

另一個關於USB的重要特色,就是它可以支援不同的資料傳輸模式。USB V2.0支援以下四種資料傳輸型態:  

‧控制型  

控制型(Control)傳輸會在裝置插入時進行設定,而且可用於控制其他裝置的用途,例如控制裝置上的其他管線。  

‧巨量型  

巨量型(Bulk)傳輸的使用條件為,當產生或使用的資料量相對較大時。  

‧中斷型  

中斷型(Interrupt)傳輸可提供即時、可靠的資料傳輸。例如,具有人類可察覺回音或反饋回應特性的符號或座標。  

‧等時型  

等時型(Isochronous)傳輸會維持預先協議的傳輸耗時,並佔用預先協議的USB頻寬,亦稱為即時串流傳輸。  

「Type A」USB接頭專門用於資料傳輸的下載(Downstream),也就是從裝置傳輸資料到Host。因此,Type A接頭是在裝置上。而「Type B」接頭專門用於資料傳輸的上傳(Upstream),也就是從USB Host傳輸到裝置或是從「集線器」傳輸到裝置。Type B接頭可見於Host與集線器(圖2)。除此之外,還有一種體積較小的mini USB接頭。  

USB裝置的速度可由推動D+或D-來指出(最高3.3伏特)。全速裝置會在D+接上上拉電阻,以表示其為全速裝置(圖3)。  

如果沒有上拉電阻,USB會以為匯流排沒有連接任何裝置。某些裝置有內建上拉電阻,且可以透過韌體予以開關。其他裝置則須要使用外部電阻,這些裝置無法透過韌體來控制速度,而且必須為外部繼電器另外進行實作和解讀。低速裝置會在D-接上上拉電阻,以表示其為低速裝置(圖4)。  

高速裝置一開始會先連接成全速裝置(D+1.5k~3.3V)。完成初始連接後,裝置會在重設時發出高速的高音(Chirp),然後建立與Host的高速連接。當裝置初始連接為高速模式時,上拉電阻便會停用。  

列舉動作為第一優先  

在應用程式能夠與裝置通訊之前,USB Host必須先識別裝置並指定裝置驅動程式。伴隨而來的初始資訊交換動作便稱為「列舉」(Enumeration)。在列舉期間,裝置會依序由 Powered、Default、Address、Configured進入由USB V2.0規格所定義的裝置狀態。  

另外還有兩種USB裝置狀態分別為Attached和Suspended。列舉程序的明確細節不在本文的討論範圍,但仍將討論裝置組態中所使用的相關指令與結構。描述元就是一種資料結構,可讓USB Host識別裝置。在列舉期間,Host會要求提供描述元,從高階的裝置描述元到低階的端點描述元(圖5)。  

表2說明USB裝置列舉的相關步驟,並說明裝置如何在列舉程序中從Powered進入Default、Address和Configured狀態。  

控制型傳輸階段有頻寬差異  

控制型傳輸可讓Host與裝置交換關於裝置組態以及其他控制訊息的資訊。控制型傳輸在低速與全速作業下會有10%的頻寬,而在高速作業下則有20%的頻寬。控制型傳輸包含:設定階段、資料階段(選擇性)與狀態階段,各階段封包的詳細資訊如下:  

‧記號封包(Token Packet)  

所有USB中的交易(Transaction)都是向Host(PC)執行的。「IN」表示資料是從裝置讀入PC,「OUT」則表示資料是從PC送出到裝置(圖6)。  

‧選擇性資料封包(Data Packet)  

USB Host有兩種資料封包,分別是DATA0和DATA1。而每個封包都有1,024位元組的容量。  

‧狀態封包(Status Packet)  

狀態封包是用於追蹤如Acknowledge(ACK)、Negative Acknowledgement(NACK)和Stall等交易期間的USB狀態。  

‧訊框開始(Start of Frame, SOF)封包  

每隔一毫秒,USB Host就會送出具有11位元訊框號碼的SOF。  

USB在家電網路上之應用  

在USB家電網路中,可以將6個USB集線器以菊鏈方式連接,與多達127個家電進行互動。所有的集線器都可以放在同一個盒子中,然後用控制纜線連接到各個裝置。也可以透過使用具有USB連接埠、執行Windows作業系統的平板電腦來控制這些裝置,甚至是在家中的每個房間都放一個家電資訊站。  

有了USB自動化功能,消費者就可以用電腦一邊跟朋友聊天,一邊監視和控制洗衣機的洗衣時間、衣料類型、洗衣精類型與水溫等控制項。我們還可以為各項工作加上音效,這樣當工作完成時就可以在臥室、客廳、泳池邊、廚房等指定的位置收到音效提示。  

此外,消費者也可以利用USB自動化指令,命令烘衣機在洗衣機結束洗衣任務之後,自動執行烘衣工作,並在成功完成後發出語音或是音效提示。  

USB自動化還可以用來控制辦公桌上的咖啡機,不僅能讓它烹煮咖啡,還可以偵測咖啡壺內剩下的咖啡量。甚至,USB自動化還可以用來進行咖啡濃度調整。  

其他應用上,還包括利用USB自動化來檢視冰箱裡的食物,並設定特定的觸發條件來偵測剩下多少的食材。有了這項資訊,家庭主婦或是煮夫們,就可以在出門採買前從PC印出購物清單,簡單完成採購工作。  

電燈開關自動化也是家庭中的基本需求。透過USB自動化,可以檢查整個家中電燈的狀態,以及從PC進行控制。其他家電方面,如電風扇和冷氣機同樣可以利用 USB予以自動化,透過整合溫度感應器,可在家中某些地方進行溫度調節。家中的各個房間或區域都可以保持不同的溫度,以達到省電的效果。此外,自動化後的電風扇與冷氣機還可以分擔降溫的工作。  

至於家庭保全方面,USB自動化可以透過PC來控制門鎖、檢查門鎖狀況,或是直接從臥房控制將門鎖鎖上或打開。除此之外,USB自動化的門禁視訊電話可以用來避免外人入侵,還可以透過PC使用USB自動化來打開或關上窗戶與窗簾。  

可以應用USB自動化的家電不勝枚舉,當今的科技讓USB自動化變得十分簡單,只要將家電或裝置連接到PC上的USB連接埠即可(圖7)。  

USB電燈自動化  

以下將說明如何透過USB驅動程式將USB自動化應用在交流電(AC)的電燈上。不只如此,該驅動程式還可以在PC上提供圖形化使用者介面(GUI)來檢視電燈狀態。  

在USB電燈的應用中,可透過資料記錄功能,讓家電製造商用來驗證新家電的設計,並在出貨給客戶前先測試自動化家電,具有相當的重要性。  

就消費者的觀點來看,資料記錄這項功能也同樣很有用,因為未來有很多家電都會附有預付卡啟動系統,這些家電會要求消費者先行登入才能使用,而資料記錄功能可讓預付卡在預付餘額用盡時將家電鎖住。  

除了電燈之外,相關的微控制器也可在播放即時串流影音方面有所助益,這證明了微控制器裝置不只適合用於內嵌控制,也適合用於串流影音,像是門禁視訊電話等應用。  

無線USB問世  

又被稱為無線USB的超寬頻(Ultra Wide Band, UWB),是專門用於短距離無線通訊的一種標準,預期可在近期內取代藍牙技術的地位。  

藍牙是目前業界所採用的短距離無線傳輸標準。不過,由於藍牙所使用的操作頻率與Wi-Fi(802.11g)相同,因而須要先解決干擾問題。  

另一方面,UWB的操作頻率介於3.1G~10.6 GHz,各無線電通道都在500MHz以上,符合美國聯邦通訊委員會(Federal Communications Commission, FCC)的廣播功率限制,讓UWB較有發展潛力。  

UWB除了使用的頻率範圍極廣以外,發射功率也較低,這樣才方便窄頻裝置進行偵測。因此,UWB可以與其他的無線通訊協定並存(表3)。  

USB家電自動化發展可期  

本文針對多種USB自動化家電進行討論與示範。示範的成果顯示,相關的8位元微控制器不只能控制使用交流電的家電,在資料記錄即時串流影音應用方面更擁有完整的處理能力。  

USB自動化的家電擁有無限的商機,可以預期USB家電未來的發展無可限量。只要將無線USB予以標準化,將能改善USB家電的自動化功能,並提高無線連線的頻寬、降低干擾。  

(本文作者任職於Microchip Technology)  

(詳細圖表請見新通訊元件雜誌74期4月號)  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!