基于ZigBee無(wú)線(xiàn)傳感網(wǎng)絡(luò )的語(yǔ)音會(huì )議系統設計
本方案設計了一種基于ZigBee傳輸的無(wú)線(xiàn)傳感網(wǎng)絡(luò )結構的語(yǔ)音會(huì )議系統。每個(gè)話(huà)筒作為無(wú)線(xiàn)傳感網(wǎng)絡(luò )的一個(gè)節點(diǎn),所有話(huà)筒組成一個(gè)無(wú)線(xiàn)傳感網(wǎng)絡(luò )。話(huà)筒的聲音數據通過(guò)ZigBee傳輸上傳到匯聚節點(diǎn),匯聚節點(diǎn)再轉發(fā)到擴聲系統,此設計有效地解決傳送距離過(guò)遠和部分死角位置無(wú)法傳送的問(wèn)題。
1無(wú)線(xiàn)傳感網(wǎng)絡(luò )簡(jiǎn)介和特點(diǎn)
無(wú)線(xiàn)傳感器網(wǎng)絡(luò )WSN(Wireless Sensor Network)是一種由傳感器節點(diǎn)構成的網(wǎng)絡(luò ),能夠實(shí)時(shí)地監測、感知、采集節點(diǎn)部署區的觀(guān)察者感興趣的感知對象的各種信息,并對這些信息進(jìn)行處理后以無(wú)線(xiàn)的方式發(fā)送出去,通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò )最終發(fā)送給觀(guān)察者。
無(wú)線(xiàn)傳感網(wǎng)絡(luò )有以下幾個(gè)特點(diǎn):
①在無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中不存在嚴格的控制中心,整個(gè)無(wú)線(xiàn)傳感網(wǎng)絡(luò )是一個(gè)對等式網(wǎng)絡(luò ),網(wǎng)絡(luò )中的每個(gè)節點(diǎn)都可以隨時(shí)加入或離開(kāi)網(wǎng)絡(luò )。
②網(wǎng)絡(luò )的布設和展開(kāi)不需要依賴(lài)于其他預設的網(wǎng)絡(luò )設施,節點(diǎn)可以通過(guò)分層協(xié)議和分布式算法協(xié)調各自的行為,節點(diǎn)啟動(dòng)后可以快速、自動(dòng)地組成一個(gè)獨立的無(wú)線(xiàn)網(wǎng)絡(luò )。
③無(wú)線(xiàn)傳感器網(wǎng)絡(luò )中沒(méi)有專(zhuān)門(mén)的路由設備。節點(diǎn)的多跳路由是由普通網(wǎng)絡(luò )節點(diǎn)完成的,每個(gè)節點(diǎn)既可以發(fā)送信息,又可以轉發(fā)信息,可以有效避免部分節點(diǎn)無(wú)法與路由通信的問(wèn)題。
④無(wú)線(xiàn)傳感器網(wǎng)絡(luò )是一個(gè)動(dòng)態(tài)的網(wǎng)絡(luò ),節點(diǎn)可以隨處移動(dòng),既可以因為某種原因退出網(wǎng)絡(luò )運行,也可以由于某種原因新加入到網(wǎng)絡(luò )中。網(wǎng)絡(luò )結構可以動(dòng)態(tài)變化,非常靈活。
2系統結構設計
系統結構圖如圖1所示。每個(gè)與會(huì )者的話(huà)筒作為無(wú)線(xiàn)傳感網(wǎng)絡(luò )的一個(gè)節點(diǎn),如圖1中左邊的圓形示意圖,每個(gè)節點(diǎn)可以直接和匯聚節點(diǎn)通信,部分節點(diǎn)(可能因為距離過(guò)遠或者被障礙物阻擋)無(wú)法直接和匯聚節點(diǎn)通信,可以通過(guò)其他中間節點(diǎn)(圖中黑色節點(diǎn))轉發(fā)而間接與匯聚節點(diǎn)通信,甚至經(jīng)過(guò)多級子節點(diǎn)的路由最后到匯聚節點(diǎn)。
圖1 系統結構圖
匯聚節點(diǎn)將子節點(diǎn)發(fā)送過(guò)來(lái)的聲音信號經(jīng)過(guò)音頻解碼后傳輸到擴聲系統。同時(shí),當部分會(huì )議系統需要同聲傳譯時(shí),系統中還會(huì )存在同聲傳譯的子節點(diǎn),同聲傳譯節點(diǎn)作為一個(gè)特殊的子節點(diǎn),將翻譯數據直接發(fā)送給匯聚節點(diǎn),再由匯聚節點(diǎn)轉發(fā)給各個(gè)子節點(diǎn)。子節點(diǎn)根據用戶(hù)的需求選擇對應的語(yǔ)言,受到ZigBee的帶寬限制,能支持同聲傳譯的通道數目是有限制的。
3子節點(diǎn)的硬件設計
子節點(diǎn)的硬件設計如圖2所示。上行通道中,聲音首先經(jīng)過(guò)麥克風(fēng)轉換為電信號,然后進(jìn)行A/D采樣,上傳給CPU再轉發(fā)給音頻編碼,編碼后回傳給CPU,最后通過(guò)無(wú)線(xiàn)傳輸網(wǎng)絡(luò )ZigBee傳送給匯聚節點(diǎn);下行通道剛好相反,無(wú)線(xiàn)傳感網(wǎng)絡(luò )將匯聚節點(diǎn)下發(fā)的數據經(jīng)過(guò)CPU給音頻解碼部分,完成解碼后CPU再次轉發(fā)給DAC進(jìn)行數模轉換,最后經(jīng)過(guò)信號放大以后輸出到耳麥。各個(gè)系統的節點(diǎn)通過(guò)電池供電,這樣可以方便每個(gè)節點(diǎn)的任意移動(dòng),增加系統的靈活性。
圖2 子節點(diǎn)硬件結構圖
3.1 CPU、無(wú)線(xiàn)接收模塊和音頻編碼模塊的實(shí)現
該部分選用了美國CEL公司的MeshConnectTM系列ZICM2410模塊,其內核芯片ZICM2410是一個(gè)真正的單芯片解決方案,遵從ZigBee規范和IEEE 802.15.4標準,它由一個(gè)含有基帶MODEM的射頻收發(fā)器、硬連線(xiàn)的MAC和內嵌8051內核的微控制器(帶有內部Flash存儲器)組成,包括多個(gè)通用I/O引腳、定時(shí)器、UART,SPI等,以及硬件語(yǔ)音編解碼器。獨有的I2S/SPI/UART音頻輸入/輸出接口,結合其擴展的500 kbps或1 Mbps的無(wú)線(xiàn)傳輸速率,可以滿(mǎn)足廣大的無(wú)線(xiàn)語(yǔ)音應用。該芯片具有集成度高、外設接口豐富、功耗低的特點(diǎn),工作電壓為3.3 V,非常適合無(wú)線(xiàn)模塊的使用,尤其是低功耗的特點(diǎn),非常適合電池場(chǎng)景使用,方便移動(dòng)。
ZICM2410芯片結構如圖3所示。在ZigBee數據速率(250 khps)下所體現出的卓越射頻性能,完全能滿(mǎn)足經(jīng)過(guò)壓縮編碼的語(yǔ)音帶寬要求。C EL向客戶(hù)提供作為部分軟件庫的CEL ZigBee棧,CEL還可提供開(kāi)發(fā)定制的應用程序所需要的硬件和軟件工具。
圖3 ZICM2410內部結構圖
ZICM2410還具有一個(gè)集成的PCB板載天線(xiàn),由于CEL的ZIC2410 IEEE 802.15.4/ZigBee收發(fā)器能提供106 dB的工業(yè)頂級鏈路預算,因此,即使沒(méi)有外部功率放大器,MeshConnect仍可以維持遠距離的無(wú)線(xiàn)連接(3 000ft無(wú)障礙距離),在無(wú)需外置天線(xiàn)的情況下能滿(mǎn)足一般會(huì )場(chǎng)的要求,進(jìn)一步增加集成度,減小終端的復雜度和體積。
ZICM2410還有支持三種語(yǔ)音編碼解碼算法:μ-律、a-律和ADPCM,非常適合語(yǔ)音會(huì )議系統的需求,可以進(jìn)一步提高集成度、降低功耗。此外還對外提供非常豐富的外部接口,包括UART1、UART2、I2S、SPI、22個(gè)GPIO、4路ADC和I2S接口。
3.2上行通道系統的硬件實(shí)現
聲音首先通過(guò)麥克風(fēng)轉為電信號,因為麥克風(fēng)輸出的信號很小,所以要通過(guò)一放大器放大,其電路部分如圖4所示。
圖4 音頻信號放大電路
聲音從麥克風(fēng)輸出經(jīng)過(guò)C1耦合到運算放大器的負向輸入端,經(jīng)過(guò)第一級反向運算放大器放大,再通過(guò)第二級反向放大器放大后通過(guò)一電阻輸出最后給ADC采樣。
其中R7、R6分壓以后向運放提供一個(gè)參考電壓,為了電壓更穩定在R6兩端之間加一濾波電容。R12、R13為麥克風(fēng)提供一偏置電壓,同樣加C13、C16兩濾波電容以提高穩定性。R8、C18組成運算放大器的反饋阻抗,同時(shí)也是一低通濾波器,這樣可以有效地濾除高次諧波的混疊干擾。同樣R17、C17的效果也一樣。C14也是一個(gè)低通濾波器,濾除高次諧波的干擾。
信號經(jīng)過(guò)放大后,輸出給ADC進(jìn)行采樣、ADC選用ADSS8865,它是TI公司的一款低功耗、16位的ADC,在100 ksps下只有0.65 mW的功耗,非常適合電池供電場(chǎng)景使用,其參考電壓和模擬電壓都是3.3 V.通過(guò)SPI接口與CPU連接。其連接示意圖如圖5所示。ADC的模擬電源、數字電源、參考電壓都是電源直接輸入3.3 V.
圖5 ADC采樣電路
ADC將聲音信號采樣回來(lái)以后,首先通過(guò)SPI接口發(fā)送給CPU,CPU在轉發(fā)給音頻壓縮模塊,音頻壓縮模塊編碼以后通過(guò)CPU轉發(fā)給無(wú)線(xiàn)發(fā)送模塊,無(wú)線(xiàn)發(fā)送模塊采用ZigBee協(xié)議轉發(fā)到匯聚節點(diǎn)。
3.3下行通道硬件系統的實(shí)現
子節點(diǎn)通過(guò)ZigBee模塊接收匯聚節點(diǎn)的數據,經(jīng)過(guò)音頻解壓后,CPU通過(guò)I2C總線(xiàn)通道發(fā)送給DAC進(jìn)行數模轉換,最后經(jīng)過(guò)功放輸出給耳機接口。DAC選用TI公司的PCM1774,PCM1774是一塊16位DAC,最高帶寬達到50 kHz,工作電壓在數字和模擬部分均為3.3 V,與CPU系統和ADC保持一個(gè)電壓供電,減小電源設計的復雜度。
PCM1774內部自帶一個(gè)功率放大模塊,可以直接輸出到一般的耳機接口,減少功放模塊的設計,進(jìn)一步降低電路的復雜度。PCM1774支持SPI口和I2C總線(xiàn)口與控制器連接,由于CPU模塊ZICM2410只有一個(gè)SPI口已經(jīng)和ADC連接,此處DAC通過(guò)CPU的I/O口模擬I2C總線(xiàn)與DAC連接。其連接示意圖如圖6所示。同時(shí)PCM1774需要一路系統時(shí)鐘,通過(guò)CPU的I/O口輸出直接給PCM1774.
圖6 下行點(diǎn)硬件示意圖
4子節點(diǎn)的軟件設計
每個(gè)子節點(diǎn)啟動(dòng)后,首先初始化,設置本節點(diǎn)地址,設置默認目標節點(diǎn)地址是匯聚節點(diǎn),然后查找能否與匯聚節點(diǎn)連接。如果能連接則建立鏈接,并設置本節點(diǎn)可以與直接與匯聚節點(diǎn)連接,同時(shí)設置下一站的目標地址為匯聚節點(diǎn),然后準備傳輸數據,如果有數據傳輸則將數據傳輸到匯聚節點(diǎn)。由于每個(gè)子節點(diǎn)可以是動(dòng)態(tài)移動(dòng)的,或者受外界因素干擾等,導致子節點(diǎn)的通信鏈路受阻,如果沒(méi)有傳輸數據或者傳輸數據結束后,子節點(diǎn)再次掃描能否與匯聚節點(diǎn)連接,如此重復。
在掃描與匯聚節點(diǎn)連接過(guò)程,如果無(wú)法直接與匯聚節點(diǎn)連接,則嘗試與周邊節點(diǎn)建立鏈接,如果無(wú)法找到能到達匯聚節點(diǎn)的子節點(diǎn),則直接返回查找匯聚節點(diǎn),如此反復。
如果能找到周邊可以與匯聚節點(diǎn)連接的子節點(diǎn),則找一個(gè)能最快到達匯聚節點(diǎn)的子節點(diǎn)建立鏈接,然后設置本節點(diǎn)可以到達匯聚節點(diǎn),并設置到達匯聚節點(diǎn)需要跳躍子節點(diǎn)的跳數,然后設置下一節點(diǎn)地址,準備數據傳輸,最后判斷是否有數據傳輸。如果沒(méi)有數據傳輸則子節點(diǎn)是動(dòng)態(tài)的,返回繼續掃描是否可以到達匯聚節點(diǎn),如此循環(huán)下去。
如果有數據傳輸則判斷是上行數據還是下行數據,如果是上行數據則直接轉發(fā)至下一個(gè)站節點(diǎn),如果是下行數據,則判斷是否為傳送給本機數據,如果是則進(jìn)行音頻解碼最后直接輸出至DAC輸出。
由于每個(gè)子節點(diǎn)位置是動(dòng)態(tài)的,所以在轉發(fā)完數據或者解碼輸出給DAC完成后繼續查找匯聚節點(diǎn),如此反復。整個(gè)軟件流程圖如圖7所示。
圖7 子節點(diǎn)軟件流程圖
5匯聚節點(diǎn)和同聲傳譯節點(diǎn)設計
匯聚節點(diǎn)與子節點(diǎn)基本一致,只是硬件上數據轉發(fā)傳輸能力比一般子節點(diǎn)大,軟件上針對數據進(jìn)行轉發(fā)給所有與其連接的子節點(diǎn),如果是子節點(diǎn)上傳過(guò)來(lái)的數據則直接進(jìn)行音頻解碼,最后通過(guò)DAC輸出至音箱輸入線(xiàn)路。同聲傳譯節點(diǎn)和其他子節點(diǎn)硬件設計上是一致的。只是在
使用過(guò)程中,如果設置為同聲傳譯節點(diǎn),軟件處理上也有些細微差異。在此不做詳細展開(kāi)。
結語(yǔ)
本系統以集成CPU、ZigBee收發(fā)模塊和音頻編解碼的ZICM2410為核心,ZICM2410有高集成度和低功耗的特點(diǎn),使得硬件電路設計非常簡(jiǎn)單,非常適合移動(dòng)的電池供電系統。
評論