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