<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于USB的家電自動(dòng)化

          基于USB的家電自動(dòng)化

          作者: 時(shí)間:2013-05-26 來源:網(wǎng)絡(luò) 收藏
          幾年前,用個(gè)人電腦(Personal computer,PC)實(shí)現(xiàn)是一件令人望而卻步的事——它要求配置中斷請求(Interrupt Request,IRQ)、向PC 機(jī)添加額外的控制卡,以及對跳線組態(tài)進(jìn)行恰當(dāng)?shù)脑O(shè)置。每當(dāng)在網(wǎng)絡(luò)上添加/ 刪除某個(gè)設(shè)備或時(shí),都需要重復(fù)這種冗長乏味的過程。

            近來,通用串行總線(Universal Serial Bus,)的使用,為家電引入了一種更為簡單的實(shí)現(xiàn)途徑。采用稱為“即插即用”(plug-n-play)的簡單操作,當(dāng)家電插入PC 上的 端口,就會與PC 交換 家電參數(shù),從而消除了對家電接口進(jìn)行設(shè)置的繁瑣工作。根據(jù)經(jīng)由USB 端口傳送至PC 的家電描述符,自動(dòng)把家電配置為“就緒”狀態(tài)。此外,在家電網(wǎng)絡(luò)上添加或刪除新家電,只要將它們簡單地插拔即可。

            本文介紹了建立在USB 基礎(chǔ)之上的、創(chuàng)新的家電應(yīng)用,包括USB 自動(dòng)洗衣機(jī)、烘干機(jī)、咖啡機(jī)、安保系統(tǒng)以及家電控制臺,如圖1 所示。此外,本文還以基于USB 的照明控制為例,講解了基于USB 的家電自動(dòng)化的基礎(chǔ)知識。最后,本文比較了USB 和其他用于家電自動(dòng)化的主流無線技術(shù)(如,ZigBee. 通信協(xié)議和Bluetooth. 無線通信協(xié)議等)的異同。

            家電控制臺

            背景

            隨著功能豐富的新型半導(dǎo)體器件的高速發(fā)展,同時(shí)其價(jià)格也隨之達(dá)到消費(fèi)者可以承受的水平,我們正在見證一場家電行業(yè)中的自動(dòng)化風(fēng)暴。在這些技術(shù)進(jìn)步中就包括了PC 上USB 的演化。

            現(xiàn)在,我們的日常生活中方方面面都會用到PC 機(jī)。我們與周圍環(huán)境的互動(dòng),很大程度上是通過PC 機(jī)進(jìn)行控制的。類似地,如果沒有PC 機(jī)作為其中心,未來的家電自動(dòng)化根本無法想象。

            此外,從PC 的角度看,USB 使外圍設(shè)備初始化方面發(fā)生了巨大的變化,不再需要用戶與PC 機(jī)進(jìn)行交互或關(guān)注PC 機(jī)。USB 協(xié)議非常智能,它能自動(dòng)檢測并驅(qū)動(dòng)多達(dá)127 個(gè)連接在其總線上的設(shè)備??梢灶A(yù)見,USB 將能夠最終控制和驅(qū)動(dòng)絕大部分家電。

            由于USB 能實(shí)現(xiàn)家電自動(dòng)化,它對于最終用戶是有用的。不僅如此,對于家電制造商而言,在新產(chǎn)品測試方面,USB 也非常有用。

            USB 的演化發(fā)展,使得家電的即插即用成為現(xiàn)實(shí),而這促使了操作系統(tǒng)供應(yīng)商對標(biāo)準(zhǔn)USB 驅(qū)動(dòng)程序提供支持。

            比如說,Microsoft. 在其Windows. 操作系統(tǒng)(OS)的各版本中,提供了USB 驅(qū)動(dòng)程序支持,支持諸如人機(jī)接口設(shè)備(Human Interface Device,HID)、通信設(shè)備類(Communication Device Class,CDC)和大容量存儲設(shè)備(Mass Storage Device,MSD)驅(qū)動(dòng)程序。

            USB 的另一項(xiàng)重要用途與預(yù)付費(fèi)設(shè)施有關(guān)。比如說,

            自動(dòng)洗衣店可以向客戶發(fā)行洗衣卡,洗衣卡可以通過USB端口進(jìn)行讀取,從而通過USB 總線對洗衣機(jī)進(jìn)行控制。USB 總線提供了充足的數(shù)據(jù)率,用于記錄設(shè)施數(shù)據(jù)和記錄家電用電量明細(xì)。對于具有USB 總線的家電而言,這類大容量存儲USB 特別適用于數(shù)據(jù)記錄與控制。

            USB 還可以用在家電的安全使用上。例如,父母能夠通過USB 端口對家電鎖定和解鎖,防止孩子自己開啟某些家電。這樣能讓人放心許多,在沒有監(jiān)護(hù)人的情況下,孩子無法去操作有潛在危險(xiǎn)的家電。

            現(xiàn)在已經(jīng)為您介紹了USB 及其可能的應(yīng)用,下面讓我們來探索一下USB 協(xié)議的細(xì)節(jié)。
          USB總線架構(gòu)

            USB 是每條總線支持一個(gè)主機(jī)的一種主機(jī)控制架構(gòu)。大部分的PC 上都有多個(gè)USB 主機(jī)。設(shè)備能用集線器以菊花鏈方式連接到主機(jī)上。多個(gè)集線器能夠以菊花鏈方式連接起來,支持多達(dá)127 個(gè)不同設(shè)備,每個(gè)菊花鏈段長度不能超過五英尺。

            這種菊花鏈?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ā)生過流現(xiàn)象時(shí)關(guān)閉設(shè)備。USB 集線器還能適當(dāng)過濾主機(jī)和設(shè)備間的數(shù)據(jù),實(shí)現(xiàn)低速(LS)、全速(FS)和高速(HS)設(shè)備的無縫集成。

            低速

            USB 是即插即用型協(xié)議,能動(dòng)態(tài)加載和卸載USB 驅(qū)動(dòng)程序。要加載USB 驅(qū)動(dòng)程序,必須有USB 提供商標(biāo)識符(VID)和產(chǎn)品標(biāo)識符(PID)。這兩個(gè)標(biāo)識信息記錄在USB 設(shè)備的設(shè)備描述符中。

            VID 用來識別USB 總線的制造商。通常,VID 由名為“通用串行總線開發(fā)者論壇”(USB Implementers’ Forum,USB-IF,www.usb.org)組織分配。申請者需要支付注冊VID 費(fèi)用。

            與VID 類似, PID 是一個(gè)16 位數(shù)字。PID 標(biāo)識的是產(chǎn)品。設(shè)備制造商提供PID 號。不同于VID,對于PID 來說,USB-IF 對其沒有任何管理上的限制。

            USB 的另一個(gè)重要特性是它支持不同類型的數(shù)據(jù)傳輸方式。例如,USB V2.0 支持四種不同類型的數(shù)據(jù)傳輸:

            1. 控制傳輸方式。控制傳輸在設(shè)備插入時(shí)對其進(jìn)行配置,并能用于其他的設(shè)備特定用途,諸如對設(shè)備上的其他通道進(jìn)行控制等。

            2. 批量傳輸方式。在數(shù)據(jù)的產(chǎn)生和使用量相對較大時(shí)采用批量傳輸方式。

            3. 中斷傳輸方式。中斷傳輸用于及時(shí)且可靠的數(shù)據(jù)傳送。例如,具有人類可感知反應(yīng)或反饋響應(yīng)特征的字符或坐標(biāo),等等。

            4. 同步傳輸方式。同步傳輸方式在預(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的家電自動(dòng)化

            USB 設(shè)備通過拉高D+ 或D-端線電平來指示其速度,最高為3.3 伏。全速設(shè)備在D+ 端接一個(gè)上拉電阻表明它是全速設(shè)備,如圖3 所示。

            全速設(shè)備

            如果沒有上拉電阻, USB 就假定總線上沒有連接任何東西。有些設(shè)備中,上拉電阻是內(nèi)置的,能通過固件開啟和關(guān)閉。另一些設(shè)備則需要外部上拉電阻。在這種情況下,通過固件進(jìn)行速度控制會受到限制,并且要求另外對外部中繼服務(wù)進(jìn)行實(shí)現(xiàn)與編碼。

            低速設(shè)備在D-端連接上拉電阻,表明其為低速設(shè)備,如圖4 所示。

            最開始,高速設(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)這一初始信息交換的過程就叫作枚舉。在枚舉過程中,根據(jù)USB V2.0 規(guī)范的定義,設(shè)備將經(jīng)歷以下設(shè)備狀態(tài):

            1. 上電狀態(tài)(Powered)

            2. 缺省狀態(tài)(Default)

            3. 地址狀態(tài)(Address)

            4. 配置狀態(tài)(Configured)

            另外還有兩個(gè)USB 設(shè)備狀態(tài),“連接狀態(tài)”(attached)和“掛起狀態(tài)”(suspended)。枚舉過程的具體細(xì)節(jié)超出了本文的范圍;不過,在設(shè)備配置中使用的命令與結(jié)構(gòu)是相關(guān)的。

            描述符是讓USB 主機(jī)能獲取設(shè)備信息的數(shù)據(jù)結(jié)構(gòu)。在枚舉過程中,主機(jī)請求描述符,從最上層設(shè)備描述符開始,一直到最低層端點(diǎn)描述符,順序如圖5 所示。

            描述符

            枚舉過程

            下面概述一下USB 設(shè)備的枚舉過程所包含的步驟,并講解設(shè)備在枚舉過程如何經(jīng)歷從上電到缺省、地址以及配置這幾個(gè)狀態(tài)。

            1. 用戶將一個(gè)USB 設(shè)備插入U(xiǎn)SB 端口。主機(jī)為端口供電,設(shè)備此時(shí)處于上電狀態(tài)。

            2. 主機(jī)檢測設(shè)備。

            3. 集線器使用中斷通道將事件報(bào)告給主機(jī)。

            4. 主機(jī)發(fā)送Get_Port_Status(讀端口狀態(tài))請求,以獲取更多的設(shè)備信息。

            5. 集線器檢測設(shè)備是低速運(yùn)行還是高速運(yùn)行,并將此信息送給主機(jī)


          上一頁 1 2 下一頁

          關(guān)鍵詞: USB 家電 自動(dòng)化

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();