陳成明, 虞麗娟, 曹守啟
(1. 上海海洋大學(xué) 工程學(xué)院, 上海 200090;(2. 同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院, 上海 201306)
?
短距離多點(diǎn)無線語音傳輸系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
陳成明1,2, 虞麗娟2, 曹守啟1
(1. 上海海洋大學(xué) 工程學(xué)院, 上海 200090;(2. 同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院, 上海 201306)
摘要:結(jié)合STM32單片機(jī),研究短距離多點(diǎn)無線語音通信系統(tǒng)的開發(fā),探討系統(tǒng)軟硬件的可行性設(shè)計(jì).通過配置硬件模塊和功能軟件,構(gòu)建短距離多點(diǎn)無線語音傳輸系統(tǒng)的理論模型.結(jié)果表明:設(shè)計(jì)的系統(tǒng)拓寬了市面上現(xiàn)有對(duì)講機(jī)的內(nèi)嵌功能和使用范圍,既不受信號(hào)網(wǎng)絡(luò)覆蓋局限的影響,又無需信息服務(wù)費(fèi),而且在技術(shù)層面改變傳統(tǒng)對(duì)講機(jī)同頻單工的通信模式,實(shí)現(xiàn)了多點(diǎn)間無線語音廣播、組播和單播功能.
關(guān)鍵詞:無線語音傳輸; 短距離; STM32; 多點(diǎn)通信; 對(duì)講機(jī)
移動(dòng)電話在很多復(fù)雜區(qū)域和特殊場合的功能應(yīng)用并沒有達(dá)到人們的預(yù)期效果.開發(fā)新的短距離多點(diǎn)無線語音傳輸系統(tǒng),有助于解決復(fù)雜區(qū)域和特殊場合的群體活動(dòng)中成員間的通話難題,增加交流效率,提高快速應(yīng)變的能力[1].本文緊扣實(shí)際研究需要,綜合考慮特定單片機(jī)的實(shí)際性能,借助STM32單片機(jī)研究開發(fā)短距離多點(diǎn)無線語音傳輸系統(tǒng).
1STM32芯片
STM32芯片家族是一款基于ARM Cortex-M3內(nèi)核理論開發(fā)的32位處理器.Cortex-M3內(nèi)核采用哈佛結(jié)構(gòu),指令代碼和數(shù)據(jù)之間的各存儲(chǔ)空間相對(duì)獨(dú)立.Cortex-M3內(nèi)核的硬件單元部分大量集成存儲(chǔ)單元的控制器,有效降低了微控制單元(MCU)對(duì)外聯(lián)接的設(shè)計(jì)工藝難度.
1.1STM32F103RBT6芯片特點(diǎn)
STM32F103xx系列最高可控工作頻率達(dá)到72 MHz,內(nèi)嵌存儲(chǔ)器的容量規(guī)格呈動(dòng)態(tài)化.芯片中集成多項(xiàng)功能,還有多種先進(jìn)的通信接口.
STM32F103RBT6芯片引腳數(shù)為64.程序空間存儲(chǔ)器存儲(chǔ)容量達(dá)128 KB,隨機(jī)輸入輸出管理存儲(chǔ)器的設(shè)定存儲(chǔ)容量高達(dá)20 KB.STM32F103RBT6芯片上的2個(gè)串行外設(shè)接口(SPI接口)能提供18 Mbit·s-1的傳輸速率.設(shè)計(jì)時(shí),SPI接口分別對(duì)應(yīng)直連無線通信模塊和語音模塊自身具有的SPI接口.芯片處理器封裝的64個(gè)引腳各具特定功能.因此,選擇STM32F103RBT6芯片作為系統(tǒng)主控制芯片.
1.2STM32F103RBT6芯片啟動(dòng)設(shè)置
STM32F103RBT6芯片中,BOOT0,BOOT1引腳用于設(shè)置STM32的啟動(dòng)方式.設(shè)計(jì)中,芯片的RTS和DTR串口會(huì)發(fā)送可接收的信號(hào)自動(dòng)調(diào)整BOOT0和BOOT1的運(yùn)行值,啟動(dòng)系統(tǒng)將不再是手動(dòng)轉(zhuǎn)換STM32.RTS和DTR串口信號(hào)的傳輸便于串口指令下載和系統(tǒng)的在線調(diào)試.
2整體設(shè)計(jì)方案
系統(tǒng)設(shè)計(jì)主要由3部分組成:通信技術(shù)、硬件和軟件[2].通過設(shè)計(jì)開發(fā)出的短距離多點(diǎn)無線語音傳輸系統(tǒng),能快速實(shí)現(xiàn)廣播組播等功能優(yōu)勢(shì),降低研發(fā)成本,增加工業(yè)生產(chǎn)線量產(chǎn)收益[3].
2.1通信技術(shù)
移動(dòng)通信網(wǎng)絡(luò)的發(fā)展歷程經(jīng)歷了幾個(gè)階段.2G 移動(dòng)通信網(wǎng)絡(luò)實(shí)現(xiàn)了遠(yuǎn)距離的語音通信,以CDMA,GSM等技術(shù)為代表.3G移動(dòng)通信網(wǎng)絡(luò)實(shí)現(xiàn)了多媒體多樣化業(yè)務(wù)的高速傳輸[4],以TD-SCDMA,WCDMA,CDMA2000等技術(shù)為代表.與此同時(shí),4G 移動(dòng)通信經(jīng)過近幾年的研究開發(fā),積極實(shí)現(xiàn)試點(diǎn)應(yīng)用并廣泛實(shí)施,以TDD-LTE,FDD-LTE,WiMax為代表[5],逐步融入并改變了人們的生活.
目前的通信領(lǐng)域中,已經(jīng)成功研發(fā)了多種短距離無線通信技術(shù).權(quán)衡無線通信技術(shù)的優(yōu)勢(shì)與劣勢(shì),綜合考慮適用性、投入成本、系統(tǒng)能耗、信號(hào)傳輸速率、通信傳輸距離等因素,文中選用2.4G無線技術(shù)作為設(shè)計(jì)系統(tǒng)的無線通信技術(shù).
2.2硬件平臺(tái)設(shè)計(jì)
2.2.1無線模塊設(shè)計(jì)在常見的2.4G無線通信芯片中,通過傳輸速率、多點(diǎn)通信、待機(jī)電流及時(shí)間優(yōu)勢(shì)、適用性等比較,選用nRF24L01芯片作為本系統(tǒng)的無線模塊.nRF24L01芯片的內(nèi)部集成了NORDIC的Enhanced Short Burst協(xié)議,其內(nèi)嵌功能確保了無線通信的點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多點(diǎn)互聯(lián).芯片上的SPI接頭能保障各種功率選擇、頻道分布選擇和執(zhí)行協(xié)議的設(shè)定等傳輸配置.芯片具備125個(gè)通信頻道,能夠明顯提高系統(tǒng)的抗干擾能力[6].芯片的通信信號(hào)傳輸速率峰值可達(dá)2 Mbit·s-1,能夠在70~100 m的通信距離范圍內(nèi)發(fā)揮功效.該芯片的工作電壓基本保持在1.9~3.3 V,是實(shí)現(xiàn)短距離內(nèi)單對(duì)單、單對(duì)多無線語音通信的最優(yōu)化選擇.
無線模塊設(shè)計(jì)的整體地址選擇和數(shù)據(jù)指令均與主控制處理器STM32F103RBT6的通信穩(wěn)定鏈接,同步運(yùn)行靠SPI口完成,確保工作時(shí)無線模塊nRF24L01自身的SPI口直接連入STM32的SPI1口.CSN以低電平的工作模式實(shí)現(xiàn)為SPI口的數(shù)字輸入階段信號(hào)篩選功能.SCK作為SPI時(shí)鐘輸入口,控制整個(gè)無線模塊的工作頻率.STM32作為主處理器,激勵(lì)nRF24L01模塊的MOSI和MISO口,在發(fā)送模式下通過MOSI發(fā)送數(shù)據(jù),在接收模式下通過MISO接收數(shù)據(jù);一旦進(jìn)入nRF24L01的待機(jī)或掉電模式,MOSI和MISO口將自動(dòng)配置nRF24L01模塊的有效工作參數(shù)穩(wěn)定性能.
2.2.2語音編碼模塊設(shè)計(jì)在通信領(lǐng)域內(nèi),實(shí)現(xiàn)語音編碼算法中,應(yīng)用比較突出的技術(shù)包括脈沖編碼調(diào)制(PCM),自適應(yīng)增量調(diào)制(ADM)和自適應(yīng)差分脈沖編碼調(diào)制(ADPCM)[7].設(shè)計(jì)主要通過比特率、延遲時(shí)間、復(fù)雜程度和研發(fā)工藝質(zhì)量4個(gè)性能參數(shù)作為評(píng)價(jià)標(biāo)準(zhǔn)選擇編碼技術(shù).綜合比較,選擇ADPCM作為語音編碼方案.
VS1003B語音芯片基于ADPCM編碼技術(shù)開發(fā),功能明確,采用數(shù)字化處理方式調(diào)整模擬態(tài)的語音信號(hào).數(shù)字化的語音數(shù)據(jù)由主控制器STM32處理后集中被還原成聲音,驅(qū)動(dòng)耳機(jī)或音響發(fā)送.VS1003B模塊使用SPI口與STM32的SPI口相連進(jìn)行通信.語音模塊使用的系統(tǒng)時(shí)鐘頻率達(dá)到一定值時(shí),STM32系統(tǒng)時(shí)鐘會(huì)調(diào)整至語音模塊使用的系統(tǒng)時(shí)鐘頻率的兩倍,應(yīng)該積極運(yùn)用相關(guān)軟件配置VS1003B連入STM32的SPI口,迅速匹配工作速率值,確保兩者間的實(shí)時(shí)通信成功率.
2.3軟件設(shè)計(jì)
軟件設(shè)計(jì)的核心技術(shù)要求實(shí)現(xiàn)系統(tǒng)以及各選用硬件模塊的初始化、建立有效的通信鏈路、建立正確的無線收發(fā)信道,確保防干擾,降低掉包率.文中采用先形成通信鏈路再實(shí)現(xiàn)語音傳輸?shù)牟呗?,發(fā)送端口將數(shù)字化控制信令發(fā)出,脫離語音數(shù)據(jù)后獨(dú)立傳輸,在尋求到合適的目標(biāo)后,建立可行的通信握手機(jī)制[8],搭建通信鏈路,確保語音數(shù)據(jù)的傳輸.
2.3.1系統(tǒng)整體初始化nRF24L01無線模塊的數(shù)據(jù)操作,由STM32主控制單元的SPI 接口完成.nRF24L01模塊初始化流程,如圖1所示.VS1003B模塊初始化流程,如圖2所示.
圖1 無線模塊初始化流程圖 圖2 語音模塊初始化流程圖Fig.1 Flow chart of wireless module initialization Fig.2 Flow chart of voice module initialization
STM32將分離出7個(gè)專用的通用輸入輸出I/O口,與VS1003B模塊各引腳端口互連.STM32的SPI2口中有3個(gè)接口,分別對(duì)應(yīng)VS1003B模塊的3個(gè)接口,即STM32的PB14與VS1003B的MISO相接、STM32的B15與VS1003B的MOSI相接、 STM32的PB13與VS1003B的SCLK腳對(duì)接.而STM32剩余4個(gè)通用 I/O則全部接入VS1003B剩余4根接線.模塊的通用普通 I/O口應(yīng)在語音模塊初始化之前進(jìn)行初始化;然后,進(jìn)一步初始化已經(jīng)互聯(lián)的主控器專用SPI口;最后,通過SPI2總線對(duì)VS1003B實(shí)現(xiàn)初始化.
2.3.2建立通信網(wǎng)絡(luò)鏈路使用nRF24L01特有的Enhanced Shock Burst模式實(shí)現(xiàn)通信鏈路的建立.無線模塊在接收模式下的接收端,封裝有自動(dòng)應(yīng)答功能.發(fā)出的應(yīng)答對(duì)應(yīng)指令為ACK信號(hào)[9].在發(fā)送模式下,數(shù)據(jù)在MCU中緩存,啟動(dòng)Shock Burst后完成數(shù)據(jù)發(fā)送.發(fā)送步驟結(jié)束后,模塊自動(dòng)切換到接收模式,重新等待收端不間斷發(fā)出的ACK信號(hào).模塊的0號(hào)數(shù)據(jù)通道具備的40位容量能夠完整接收ACK信號(hào).具體數(shù)據(jù)發(fā)送流程,如圖3所示.通信鏈路建立的數(shù)據(jù)接收流程,如圖4所示.
圖3 數(shù)據(jù)發(fā)送流程圖 圖4 數(shù)據(jù)接收流程圖 Fig.3 Flow chart of a data send Fig.4 Flow chart of a data reception
2.3.3無線語音收發(fā)的主動(dòng)運(yùn)行過程無線語音收發(fā)過程由VS1003B模塊中的SPI口完成數(shù)據(jù)讀寫.無線模塊選擇Shock Burst發(fā)送模式,等待指令開始工作.語音模塊通過智能算法將獲取的語音模擬信號(hào)轉(zhuǎn)換成一定編碼的數(shù)字語音數(shù)據(jù),存放于VS1003B的FIFO緩存中.FIFO緩存積滿32字節(jié)數(shù)據(jù)后發(fā)送,由主控制器STM32通過SPI口讀取緩存中的語音數(shù)據(jù),寫入無線模塊nRF24L01發(fā)送緩存.而nRF24L01也將選擇每次發(fā)送32個(gè)字節(jié)語音數(shù)據(jù)實(shí)現(xiàn)完整通信.整個(gè)無線語音的收發(fā)過程中,系統(tǒng)設(shè)置的LED1燈會(huì)隨著每讀寫8 000字節(jié)的語音數(shù)據(jù)而閃爍一次.正常的閃爍頻率能夠指示系統(tǒng)的當(dāng)前工作狀態(tài).
語音接收過程與發(fā)送過程運(yùn)行機(jī)理相似,但進(jìn)出通道正好相反.nRF24L01進(jìn)入接收模式,一有數(shù)據(jù)便接收存入VS1003B緩存FIFO,STM32的SPI口讀取信息后在語音模塊中進(jìn)行數(shù)據(jù)解碼,同時(shí)通過外放裝置實(shí)現(xiàn)播放.整個(gè)過程簡單有效,具有極高的執(zhí)行效果.同時(shí),系統(tǒng)設(shè)置的LED2燈的周期性閃爍也能夠指示系統(tǒng)的當(dāng)前工作狀態(tài).
2.3.4頻率切換和自動(dòng)掃描功能的實(shí)現(xiàn)系統(tǒng)采用手動(dòng)切換發(fā)送端頻率,自動(dòng)掃描接收端頻率的方法.自動(dòng)切換后的頻率能真正滿足系統(tǒng)語音廣播、組播和單播的功能實(shí)現(xiàn)[10].
系統(tǒng)靠外圍按鍵電路電流手動(dòng)切換發(fā)送端的信號(hào)發(fā)射頻率.在語音發(fā)送階段,系統(tǒng)設(shè)置的發(fā)送鍵KEY1,每手動(dòng)按下一次,終止語音數(shù)據(jù)發(fā)送.接收端將收到8 個(gè)通信中斷數(shù)據(jù)包發(fā)送頻率保持在當(dāng)前頻率.無線模式接收數(shù)據(jù)包后,系統(tǒng)的發(fā)送頻率開始,搜索獲取下一個(gè)頻點(diǎn)后,自動(dòng)調(diào)頻等待通信恢復(fù).
接收端在接收模式下,自動(dòng)掃描頻率后開始工作.接收端輪流在1個(gè)廣播頻率,2個(gè)組播頻率和各個(gè)單播頻率等各個(gè)頻點(diǎn)上依次等待接收數(shù)據(jù).一旦在某個(gè)頻點(diǎn)上發(fā)現(xiàn)數(shù)據(jù)流出,接收端自動(dòng)建立該頻點(diǎn)上的通信點(diǎn),實(shí)現(xiàn)發(fā)送端通信,開始語音傳輸.
圖5 系統(tǒng)總體結(jié)構(gòu)層次圖Fig.5 System overall structure hierarchy chart
2.4硬件運(yùn)行總體方案
系統(tǒng)硬件部分主要包括STM32F103RBT6主控制器、nRF24L01無線模塊、VS1003B語音模塊等幾大板塊.發(fā)送部分,設(shè)計(jì)使用的VS1003B語音芯片,能夠快速實(shí)現(xiàn)模數(shù)轉(zhuǎn)化,將數(shù)字化處理后的模擬聲音信號(hào)傳給STM32主控制器.由STM32主控制器進(jìn)一步封包處理語音數(shù)據(jù),封包后的語音數(shù)據(jù)幀直接發(fā)送至nRF24L01無線收發(fā)模塊.RF24L01再以一定頻率發(fā)送數(shù)據(jù)幀.接收部分,無線模塊實(shí)時(shí)接收語音數(shù)據(jù)幀,主動(dòng)提取語音數(shù)據(jù)幀中的語音數(shù)據(jù),通過主控制器的反饋機(jī)制,積極分析判斷數(shù)據(jù)內(nèi)容,向語音模塊傳輸語音數(shù)據(jù)后進(jìn)行解碼,并通過外放裝置進(jìn)行播放.系統(tǒng)中的各功能板塊之間的通信靠STM32主控制器與nRF24L01無線模塊和VS1003B語音模塊之間的SPI接口完成信息交換.系統(tǒng)總體結(jié)構(gòu)層次,如圖5 所示.
3結(jié)束語
設(shè)計(jì)開發(fā)短距離多點(diǎn)無線語音傳輸系統(tǒng).該系統(tǒng)考慮實(shí)際,追求低成本、突出輕便靈活、具有較豐富的功能特點(diǎn).硬件設(shè)計(jì)系統(tǒng)的處理器單元、無線通信模塊、語音模塊均進(jìn)行合理選材設(shè)計(jì),軟件設(shè)計(jì)也針對(duì)每一個(gè)模塊單位做出嘗試分析,最終實(shí)現(xiàn)了多點(diǎn)間無線語音廣播、組播和單播功能.
參考文獻(xiàn):
[1]方旭明,何蓉.短距離無線與移動(dòng)通信網(wǎng)絡(luò)[M].北京:人民郵電出版社,2004:45.
[2]李現(xiàn)濤,郭達(dá)偉,李楊.一種移動(dòng)無線自組網(wǎng)即時(shí)語音通信系統(tǒng)的實(shí)現(xiàn)[J].微處理機(jī),2011,32(5):38-40.
[3]史邇冬.小型認(rèn)知無線網(wǎng)絡(luò)的設(shè)計(jì)和實(shí)現(xiàn)[D].蘇州:蘇州大學(xué),2012:12.
[4]王燕瓊,李國剛.下行多小區(qū)MIMO系統(tǒng)協(xié)作多點(diǎn)傳輸聯(lián)合調(diào)度機(jī)制[J].華僑大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,33(3):260-264.
[5]趙亮.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開發(fā)[M].北京:人民郵電出版社,2004:68.
[6]葛俊峰,戈華.基于ZigBee無線傳輸技術(shù)的智能倉儲(chǔ)系統(tǒng)設(shè)計(jì)[J].內(nèi)蒙古師范大學(xué)學(xué)報(bào)(自然科學(xué)漢文版),2015,44(1):49-52.
[7]李現(xiàn)濤,郭達(dá)偉,李楊.一種移動(dòng)無線自組網(wǎng)即時(shí)語音通信系統(tǒng)的實(shí)現(xiàn)[J].微處理機(jī),2011,32(5):35-39.
[8]傅民倉,馮立杰,李文波.短距離無線網(wǎng)絡(luò)通信技術(shù)及其應(yīng)用[J].現(xiàn)代電子技術(shù),2006,29(11):15-17,30.
[9]黃華燦,林章省.語言學(xué)習(xí)系統(tǒng)的語音子系統(tǒng)設(shè)計(jì)[J].華僑大學(xué)學(xué)報(bào)(自然科學(xué)版),1992,13(2):265-270.
[10]吳文南,胡愛群,宋宇波.短距離無線語音和數(shù)據(jù)傳輸模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(5):29-31.
(責(zé)任編輯: 黃曉楠英文審校: 吳逢鐵)
Design and Implementation of Short-Range Multi-Point Wireless Voice Transmission System
CHEN Chengming1,2, YU Lijuan2, CAO Shouqi1
(1. College of Engineering Science and Technology, Shanghai Ocean University, Shanghai 201306, China;(2. College of Mechanical and Energy Engineering, Tongji University, Shanghai 200090, China)
Abstract:This paper studied the development of short range multi point wireless voice communication system, combined with STM32 single chip microcomputer and discussed the feasibility of the system hardware and software design. It constructs the theoretical model of short range multi point wireless voice transmission system, by configuring the hardware modules and functional software. Result shows that the system has been designed to expand the inter embed function and using scope of the commercial interphone. It is not affected by the limitation of signal network coverage and doesn′t need information service fee. At the technical level, it has changed the traditional mode of communication with the radio frequency simplex. At the same time, it has realized the multi point wireless voice broadcast, multicast and unicast function.
Keywords:wireless voice communication; short distance; STM32; multi point communication; interphone
中圖分類號(hào):TN 929.5
文獻(xiàn)標(biāo)志碼:A
基金項(xiàng)目:上海市2015科技創(chuàng)新行動(dòng)計(jì)劃項(xiàng)目(15DZ202202)
通信作者:陳成明(1978-),男,講師,博士研究生,主要從事物聯(lián)網(wǎng)工程的研究.E-mail:cmchen@shou.edu.cn.
收稿日期:2016-03-08
doi:10.11830/ISSN.1000-5013.2016.03.0312
文章編號(hào):1000-5013(2016)03-0312-04