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