關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于USB主機和ZigBee的無線音響系統(tǒng) (二)

基于USB主機和ZigBee的無線音響系統(tǒng) (二)

作者: 時間:2012-09-14 來源:網(wǎng)絡(luò) 收藏

 4 協(xié)議的實現(xiàn)

本文引用地址:http://butianyuan.cn/article/202180.htm

  4.1 協(xié)議

   設(shè)備就是能夠通過 來發(fā)送和接收數(shù)據(jù),從而實現(xiàn)一定功能的實體。每個USB 設(shè)備都具有表明自身能力和所需資源的描述符。在設(shè)備第一次連接到上之后,首先要接受枚舉,提供描述符。在得到的允許之后,設(shè)備就可以分得的USB 帶寬,進行數(shù)據(jù)傳輸了。

  系統(tǒng)通過簡單的數(shù)據(jù)線上的電平變化檢測到USB設(shè)備的接入與移出,接著主機和外設(shè)就按照事先約定的順序執(zhí)行一系列的信息交換,也就是主機復(fù)位設(shè)備->主機給設(shè)備供電->設(shè)備通過缺省的地址0 與主機通信->主機給設(shè)備分配地址->主機請求設(shè)備的一系列功能和設(shè)備描述符…,因此,在程序中,通過順序的編程和中斷的調(diào)度,就可以完成主機系統(tǒng)的標準的USB 活動。以上是主機軟件的第一部分,主要實現(xiàn)對外設(shè)的配置,讀取外設(shè)的信息,從而判斷該設(shè)備屬于USB 的哪一類,并確定下一步選用哪個特定的程序加以支持。

  單片機系統(tǒng)中,限于系統(tǒng)的性能和要求,只需要支持某幾個特定的類就可以了。本系統(tǒng)是一個在USBFlash 存儲器中的應(yīng)用,這個USB 主機需要支持的就是USB 的Mass Storage 類,那么程序就要實現(xiàn)USB的Mass Storage 類所規(guī)定的各種命令。主機的程序流程如圖4 所示。

圖4 USB 主機的軟件流程。

圖4 USB 主機的軟件流程。

  整個主機協(xié)議的實現(xiàn)主要可以分為以下三點:

 ?、賳纹瑱C與接口芯片通信的實現(xiàn)。②主機最底層數(shù)據(jù)包發(fā)送的實現(xiàn)。③請求命令的實現(xiàn)。1,2,3,層層遞進,一級比一級高級。

4.2 協(xié)議

  協(xié)議棧建立在IEEE802.15.4標準之上,該標準制定了物理層(PHY)和媒體接入控制層(MAC)規(guī)范。聯(lián)盟則定義了其上的網(wǎng)絡(luò)層(NWK)、應(yīng)用層(APL)以及安全服務(wù)規(guī)范。

  物理層提供了基本的物理通信能力;MAC層提供設(shè)備間的可靠性授權(quán)和單跳通信連接服務(wù);ZigBee協(xié)議棧的核心部分在網(wǎng)絡(luò)層,主要實現(xiàn)節(jié)點加入或離開網(wǎng)絡(luò)、接收或拋棄其他節(jié)點、路由查找及傳送數(shù)據(jù)等功能;應(yīng)用層包括應(yīng)用支持子層(APS)、ZigBee設(shè)備對象(ZDO)和應(yīng)用對象。APS提供了網(wǎng)絡(luò)層和應(yīng)用層之間的接口;ZDO負責所有設(shè)備的管理,如初始化設(shè)備的發(fā)現(xiàn)和建立安全關(guān)系等功能。

  ZigBee采用自組織方式組網(wǎng),支持星形網(wǎng)、網(wǎng)狀網(wǎng)和簇狀網(wǎng)等多種拓撲結(jié)構(gòu)。由于在智能家居中多采用星型拓撲結(jié)構(gòu), 因而本論文主要對星型拓撲進行組網(wǎng)和測試。

  5 系統(tǒng)軟件設(shè)計

  5.1MSP430控制讀取U盤數(shù)據(jù)

  當設(shè)備連接到USB總線時,固件執(zhí)行USB處理程序,處理程序的流程如下:

 ?。?)FAT文件系統(tǒng)初始化。

  本系統(tǒng)采用的U盤是滿足FAT文件格式的,了解FAT文件系統(tǒng)是系統(tǒng)軟件設(shè)計的基礎(chǔ)。

  FAT文件系統(tǒng)有固定的格式,主要分為主引導扇區(qū)、引導扇區(qū)、文件目錄表和數(shù)據(jù)區(qū)等幾個部分。MP3文件的內(nèi)容存放在數(shù)據(jù)區(qū),但為了得到數(shù)據(jù)區(qū)的地址,首先要得到主引導區(qū)和引導扇區(qū)的內(nèi)容;文件目錄表中記錄著文件的信息,如文件名稱、類型和簇號等,可以通過得到文件目錄表來判斷分區(qū)中MP3格式文件的數(shù)目和每個文件的簇號,這些都為正確地定位MP3文件打基礎(chǔ)。

 ?。?)獲得MP3文件個數(shù),在這個程序中僅僅查詢根目錄下MP3格式的文件個數(shù)。

  FAT文件系統(tǒng)的文件目錄表中包含分區(qū)中所存的文件信息,每個文件的文件目錄表占用32個字節(jié)空間,該空間的第9、10、11位為文件的擴展名,可以把每個文件的擴展名和MP3格式文件的擴展名相比,進而得到總的MP3格式文件個數(shù)。

  (3)通過文件目錄表找到MP3文件所在的簇號之后就可以得到文件的物理地址,進而讀取MP3文件的幀頭并獲得該文件的信息。MP3文件由三部分組成,首先是ID3V2,然后是數(shù)據(jù)幀,最后為ID3V1,數(shù)據(jù)幀的幀頭包含MP3的采樣率信息,將這些信息通過方式傳送到接收端,進而對解碼器和接口模塊進行配置,這樣就可以讀取文件了。

  5.2 ZigBee 網(wǎng)絡(luò)傳輸?shù)能浖O(shè)計

  ZigBee 通信網(wǎng)絡(luò)由三種節(jié)點組成:協(xié)調(diào)器(ZC)、路由器(ZR)和終端設(shè)備(ZD)。協(xié)調(diào)器是網(wǎng)絡(luò)的中心節(jié)點,在本文中即為ZigBee 主節(jié)點;路由器負責網(wǎng)絡(luò)內(nèi)信息幀的路由;終端設(shè)備連接解碼器,實現(xiàn)音頻輸出。

  網(wǎng)絡(luò)組建過程主要包括以下三個過程:

  (1)網(wǎng)絡(luò)初始化過程:節(jié)點初始化后, 掃描信道檢查網(wǎng)絡(luò)是否存在;(2)主節(jié)點配置網(wǎng)絡(luò)過程:產(chǎn)生協(xié)調(diào)器網(wǎng)絡(luò)節(jié)點,開始配置網(wǎng)絡(luò);(3)從節(jié)點入網(wǎng)過程:終端設(shè)備節(jié)點申請加人協(xié)調(diào)器節(jié)點或路由節(jié)點。

  網(wǎng)絡(luò)協(xié)調(diào)器啟動后,其它普通節(jié)點加入網(wǎng)絡(luò)時,只要將自己的信道設(shè)置成與現(xiàn)有的協(xié)調(diào)器使用的信道相同,并提供正確的認證信息,即可請求加入網(wǎng)絡(luò)。一個節(jié)點若成功地接收一個子節(jié)點,或者子節(jié)點成功脫離網(wǎng)絡(luò),都必須向協(xié)調(diào)器匯報[8].圖5 是節(jié)點加入及脫離網(wǎng)絡(luò)握手示意圖。

圖5 節(jié)點及脫離網(wǎng)絡(luò)握手示意圖。

圖5 節(jié)點及脫離網(wǎng)絡(luò)握手示意圖。

  5.3 音頻解碼部分的軟件說明

  (1)MP3播放器初始化處理子函數(shù)。

  初始化程序完成對VS1003的PLL、MP3解碼器和AUDIO接口初始化,設(shè)定控制器的時鐘和采樣率,開啟MP3中斷等工作。

  (2)MP3播放子程序。

  找到MP3文件并且配置完MP3解碼器和AUDIO接口后,就可以播放MP3了。播放MP3的過程就是按照MP3解碼器的請求,把接收到的MP3數(shù)據(jù)傳輸?shù)浇獯a器的輸入緩沖區(qū)的過程。

  6 結(jié)語

  本設(shè)計借助嵌入式USB 主機和ZigBee 無線通信技術(shù),為家用音響系統(tǒng)的設(shè)計提供了一種靈活、方便的無線解決方案,該系統(tǒng)具有良好的可擴展性和實用價值。相信隨著智能家居產(chǎn)業(yè)的發(fā)展和ZigBee 無線通訊技術(shù)的不斷完善,ZigBee 技術(shù)將越來越好地融合在智能家居系統(tǒng)的設(shè)計中。

  本文作者創(chuàng)新點:將嵌入式USB 主機和ZigBee 技術(shù)創(chuàng)新性地應(yīng)用于家用無線音響系統(tǒng),實現(xiàn)了音頻數(shù)據(jù)通過ZigBee 網(wǎng)絡(luò)的無線傳輸,實驗證明,系統(tǒng)設(shè)計合理,方便擴展,價格低廉,是一種有效的解決方案。



關(guān)鍵詞: ZigBee USB 主機 無線

評論


相關(guān)推薦

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

關(guān)閉