鐘斌 黃玉水 周明建
關(guān)鍵詞: W7500P; VS1063; CAN總線; TCP/IP協(xié)議; 語(yǔ)音編解碼; 以太網(wǎng)
中圖分類(lèi)號(hào): TN915?34; TP399 ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2019)03?0028?03
Abstract: Since the available broadcast intercom system has the problems of limited communication bandwidth, poor tone quality and scalability, a serial digital voice communication system based on Ethernet is designed on the basis of analysis and comparison of available broadcast intercom systems. The structure, software and hardware design of the system are described. The Ethernet controller W7500P embedded in ARM core is taken as the main control chip of the system. The dual?network interface structure is composed of W5500 and main control chip of the system. The voice codec chip VS1063 is used to realize the conversion of analog voice signal to digital audio signal, and codec function of MP3 digital audio signal, so as to reduce the requirements of voice signal on communication bandwidth while ensuring the voice quality, and realize the efficient transmission of voice signal. The system has the advantages of simple connection, convenient wiring and low cost. The experimental results show that the voice quality, real?time performance and reliability of the system can meet the requirements of the field use.
Keywords: W7500P; VS1063; CAN bus; TCP/IP protocol; speech coding and decoding; Ethernet
近年來(lái),數(shù)字語(yǔ)音通信系統(tǒng)開(kāi)始被應(yīng)用到煤炭、電力、化工及安防等行業(yè)。在文獻(xiàn)[1]中提出一種用排隊(duì)論指導(dǎo)的適用于工業(yè)現(xiàn)場(chǎng)的CAN總線語(yǔ)音通信系統(tǒng)。文獻(xiàn)[2]將CAN總線和以太網(wǎng)結(jié)合起來(lái)設(shè)計(jì)了一種煤礦語(yǔ)音廣播系統(tǒng)?;贑AN總線的數(shù)字語(yǔ)音系統(tǒng)具有成本低、易于擴(kuò)展的優(yōu)點(diǎn)[3]。但CAN總線的實(shí)際傳輸速率有限,盡管采用適合低波特率下傳輸?shù)恼Z(yǔ)音編碼算法,其語(yǔ)音音質(zhì)依然不是很理想,這是文獻(xiàn)[1?2]提出的數(shù)字語(yǔ)音系統(tǒng)的共性。因以太網(wǎng)的傳輸速率遠(yuǎn)高于CAN總線,具有良好的互通性,傳輸穩(wěn)定可靠,在通信領(lǐng)域得到廣泛應(yīng)用[4]。文獻(xiàn)[5]提出一種完全基于以太網(wǎng)的煤礦數(shù)字語(yǔ)音系統(tǒng),該系統(tǒng)可以采用MP3編碼,其音質(zhì)遠(yuǎn)好于前者,但它的可擴(kuò)展性遠(yuǎn)不如CAN總線系統(tǒng)。本文提出一種基于以太網(wǎng)的串行數(shù)字語(yǔ)音通信系統(tǒng)。該系統(tǒng)除了可以構(gòu)建常見(jiàn)的樹(shù)型和星型結(jié)構(gòu)網(wǎng)絡(luò),還可以根據(jù)實(shí)際應(yīng)用情況靈活地組成鏈型、環(huán)型網(wǎng)絡(luò)及多種結(jié)構(gòu)混合的網(wǎng)絡(luò)。該系統(tǒng)克服了CAN總線帶寬窄導(dǎo)致音質(zhì)不高的缺點(diǎn),又具有CAN總線系統(tǒng)成本低,易于擴(kuò)展的優(yōu)點(diǎn),支持調(diào)度通信、多路對(duì)講以及語(yǔ)音廣播等業(yè)務(wù)功能。
基于以太網(wǎng)的串行數(shù)字語(yǔ)音通信系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
由圖1可知,基于以太網(wǎng)的串行數(shù)字語(yǔ)音系統(tǒng)每個(gè)節(jié)點(diǎn)機(jī)具備兩個(gè)網(wǎng)絡(luò)接口,節(jié)點(diǎn)機(jī)上的兩個(gè)網(wǎng)絡(luò)接口通過(guò)標(biāo)準(zhǔn)網(wǎng)線分別與前后端節(jié)點(diǎn)機(jī)或者路由器連接[6]。由于兩個(gè)網(wǎng)絡(luò)接口的特殊設(shè)計(jì),該系統(tǒng)具有組網(wǎng)靈活的特點(diǎn)。擴(kuò)展時(shí)只要用一條網(wǎng)線順序連接新的節(jié)點(diǎn)機(jī)即可,操作極為方便。
當(dāng)以太網(wǎng)處于全雙工傳輸模式下,使用雙絞線中兩對(duì)獨(dú)立線路,發(fā)送數(shù)據(jù)和接收數(shù)據(jù)在不同的電纜上完成。環(huán)型的網(wǎng)絡(luò)結(jié)構(gòu)更大大增強(qiáng)了串行結(jié)構(gòu)網(wǎng)絡(luò)的可靠性,同時(shí)有利于提高傳輸速率。
節(jié)點(diǎn)機(jī)是構(gòu)建整個(gè)系統(tǒng)的核心部分。節(jié)點(diǎn)機(jī)主要由以太網(wǎng)控制器W7500P,W5500以及音頻編解碼芯片VS1063構(gòu)成。硬件連接原理如圖2所示。
VS1063包含一個(gè)高性能、專(zhuān)用的低功耗DSP核VS_DSP4。VS1063可以同時(shí)作為“MP3解碼芯片”和“MP3編碼芯片”,在一個(gè)從動(dòng)系統(tǒng)上與微控制器一起工作,或作為一個(gè)獨(dú)立的電路,由外部SPI存儲(chǔ)器啟動(dòng)。MP3格式的語(yǔ)音文件具有音質(zhì)高、壓縮比高、占用存儲(chǔ)容量小等特點(diǎn),有利于在網(wǎng)絡(luò)上傳輸,同時(shí)有廣泛的用戶(hù)端軟件和硬件支持。
W5500集成了全硬件TCP/IP協(xié)議棧,10/100M以太網(wǎng)數(shù)據(jù)鏈路層(MAC)及物理層(PHY)[7]。
W7500P不僅包含全硬件TCP/IP協(xié)議棧內(nèi)核,還內(nèi)嵌128 KB FLASH的ARM Coretex?M0內(nèi)核,實(shí)現(xiàn)了“MCU+全硬件TCP/IP協(xié)議棧+MAC+PHY”,支持TCP,UDP,IPv4,ICMP以及PPPoE協(xié)議,除用作以太網(wǎng)控制器外,還作為主控芯片。
兩款以太網(wǎng)控制芯片都使用了新的高效SPI協(xié)議支持80 MHz速率,從而能夠更好地實(shí)現(xiàn)高速網(wǎng)絡(luò)通信。W7500P有兩個(gè)SPI接口(SPI0和SPI1),通過(guò)SPI1接口和VS1063語(yǔ)音芯片連接,實(shí)現(xiàn)語(yǔ)音數(shù)據(jù)的傳輸。W7500P和W5500的數(shù)據(jù)交互通過(guò)SPI0完成[8]。
當(dāng)VS1063接收到來(lái)自麥克風(fēng)的信號(hào)后,先通過(guò)一個(gè)10 Hz的亞音速高通濾波器對(duì)語(yǔ)音信號(hào)進(jìn)行濾波處理。根據(jù)用戶(hù)要求的采樣率,再?gòu)哪M?數(shù)字轉(zhuǎn)換器讀出12 kHz,24 kHz或48 kHz采樣率的數(shù)據(jù)。這里的音頻數(shù)據(jù)被分成兩條路徑:一條到監(jiān)測(cè),另一條到編碼器。 進(jìn)到編碼器的一路根據(jù)該信號(hào)是否需要被重新采樣,它可以被饋送到一個(gè)重采樣的采樣率轉(zhuǎn)換器進(jìn)行微調(diào),或者直接被饋送到軟件抽取器。抽取階段結(jié)束以后,音頻被傳送到FIFO單元,編碼器從中讀出樣品并進(jìn)行編碼,產(chǎn)生的比特流被饋送到比特流輸出FIFO。最后,完成編碼的數(shù)據(jù)通過(guò)SPI1傳輸給以太網(wǎng)控制芯片W7500P。
節(jié)點(diǎn)機(jī)的數(shù)據(jù)流向有兩個(gè)方向,W7500P通過(guò)IP判斷數(shù)據(jù)傳遞方向,分別通過(guò)RJ45接口1和RJ45接口2完成[9]。與W7500P直接連接的RJ45接口1執(zhí)行其中一個(gè)方向的數(shù)據(jù)接收和發(fā)送。當(dāng)接收到數(shù)據(jù)時(shí),如果檢測(cè)到目的節(jié)點(diǎn)是本節(jié)點(diǎn),則由VS1063解碼播放,否則由W5500轉(zhuǎn)發(fā)給下一節(jié)點(diǎn)。向另一個(gè)方向發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)先通過(guò)SPI0接口發(fā)送給W5500,然后由W5500執(zhí)行發(fā)送;同時(shí),W5500接收到的數(shù)據(jù)也通過(guò)SPI0傳遞給W7500P進(jìn)行處理,如果目的節(jié)點(diǎn)是本節(jié)點(diǎn)則由VS1063解碼播放,否則通過(guò)RJ45接口1轉(zhuǎn)發(fā)。
系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)有星型、樹(shù)型、鏈型和環(huán)型。樹(shù)型和星型結(jié)構(gòu)使用標(biāo)準(zhǔn)的TCP/IP協(xié)議。鏈型結(jié)構(gòu)是環(huán)型結(jié)構(gòu)未閉合的特例,在此著重介紹環(huán)型結(jié)構(gòu)的軟件設(shè)計(jì)。環(huán)型結(jié)構(gòu)系統(tǒng)通過(guò)令牌實(shí)現(xiàn)信息的調(diào)度,使用令牌作為站點(diǎn)是否有發(fā)送信息包的權(quán)限標(biāo)志[10]。令牌分左令牌、右令牌、雙向令牌三種。獲得左令牌的節(jié)點(diǎn)只能使用節(jié)點(diǎn)左側(cè)的網(wǎng)口向上游傳輸信息。獲得右令牌的節(jié)點(diǎn)只能使用節(jié)點(diǎn)右側(cè)的網(wǎng)口向下游傳輸信息。如果節(jié)點(diǎn)獲得雙向令牌則需要交替地從兩個(gè)方向向目的節(jié)點(diǎn)傳輸數(shù)據(jù),提高網(wǎng)絡(luò)的利用效率。環(huán)上有一個(gè)節(jié)點(diǎn)作為控制節(jié)點(diǎn),負(fù)責(zé)令牌的調(diào)度。環(huán)路中的節(jié)點(diǎn)機(jī)IP地址是連續(xù)的,并且按順序連接,當(dāng)控制節(jié)點(diǎn)收到從節(jié)點(diǎn)的請(qǐng)求幀后,根據(jù)請(qǐng)求幀的源地址和目的地址信息確定數(shù)據(jù)傳輸方向(向左或向右)。例如,環(huán)路上有[M]個(gè)節(jié)點(diǎn),假設(shè)[i]節(jié)點(diǎn)向[j]節(jié)點(diǎn)傳送數(shù)據(jù)幀,順時(shí)針?lè)较蛏蟼鬏斝枰?jīng)過(guò)的節(jié)點(diǎn)數(shù)為[j-i],逆時(shí)針?lè)较蛏闲枰?jīng)過(guò)的節(jié)點(diǎn)數(shù)為[M-j+i](假設(shè)[j>i]),根據(jù)最短路徑選擇原則,就會(huì)很容易判斷出最佳通道。各節(jié)點(diǎn)既可以請(qǐng)求與控制節(jié)點(diǎn)通信,也可以請(qǐng)求與其他節(jié)點(diǎn)通信。針對(duì)此環(huán)型結(jié)構(gòu)設(shè)計(jì)了三種幀類(lèi)型,分別是令牌幀(主控幀)、請(qǐng)求幀、數(shù)據(jù)幀(信息幀),這些幀的格式如圖3所示。
在上述三種幀類(lèi)型中,令牌幀只由控制節(jié)點(diǎn)產(chǎn)生,用于控制各節(jié)點(diǎn)間的通信調(diào)度。請(qǐng)求幀是各節(jié)點(diǎn)需要與其他節(jié)點(diǎn)建立通信連接時(shí)由各節(jié)點(diǎn)發(fā)送給控制節(jié)點(diǎn)的,需要連接的節(jié)點(diǎn)IP被填充到該環(huán)網(wǎng)幀的數(shù)據(jù)部分。數(shù)據(jù)幀是各節(jié)點(diǎn)建立連接之后進(jìn)行數(shù)據(jù)交換的載運(yùn)工具。三種幀類(lèi)型封裝完成后再填充到TCP報(bào)文的應(yīng)用數(shù)據(jù)部分,封裝成以太網(wǎng)數(shù)據(jù)幀發(fā)送到環(huán)上。完成封裝在環(huán)網(wǎng)中傳輸?shù)膸Y(jié)構(gòu)如圖4所示。特定的環(huán)型結(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)的上下游節(jié)點(diǎn)固定,因此以太網(wǎng)首部的目的地址固定,即為與其相連的節(jié)點(diǎn)的IP地址。
在初始化完成后,節(jié)點(diǎn)機(jī)如果需要與某節(jié)點(diǎn)通信則向控制節(jié)點(diǎn)發(fā)送請(qǐng)求。主節(jié)點(diǎn)接收到請(qǐng)求后根據(jù)兩通信節(jié)點(diǎn)的關(guān)系為其規(guī)劃通信路徑,并分別向兩節(jié)點(diǎn)發(fā)送令牌幀。令牌指定節(jié)點(diǎn)數(shù)據(jù)傳送的方向和接收數(shù)據(jù)的地址信息。收到令牌幀的兩節(jié)點(diǎn)依據(jù)令牌幀確定的路徑分別向左或向右節(jié)點(diǎn)機(jī)發(fā)送數(shù)據(jù),同時(shí)對(duì)令牌幀指定節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行處理,對(duì)非令牌指定節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行傳遞轉(zhuǎn)發(fā)。節(jié)點(diǎn)軟件程序流程圖如圖5所示。
通信過(guò)程中通信雙方任何一方需要結(jié)束通信都要向控制節(jié)點(diǎn)發(fā)送結(jié)束請(qǐng)求。主節(jié)點(diǎn)收到結(jié)束請(qǐng)求后置位相應(yīng)的標(biāo)志位以釋放相關(guān)節(jié)點(diǎn)。兩節(jié)點(diǎn)通信過(guò)程中如果收到主節(jié)點(diǎn)的強(qiáng)制終止命令,則立刻結(jié)束通信。
本文利用以太網(wǎng)控制器W7500P,W5500與語(yǔ)音編解碼芯片VS1063設(shè)計(jì)了基于以太網(wǎng)的串行數(shù)字語(yǔ)音系統(tǒng)。該系統(tǒng)組網(wǎng)靈活,而且成本低,布線方便。通過(guò)實(shí)驗(yàn)測(cè)試證明系統(tǒng)能夠提供高質(zhì)量的語(yǔ)音效果,傳輸距離遠(yuǎn),可靠性強(qiáng),符合現(xiàn)場(chǎng)使用的要求。
參考文獻(xiàn)
[1] 但成福,劉曉明.一種用排隊(duì)論指導(dǎo)的CAN總線語(yǔ)音通信系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2013,39(2):22?25.
DAN Chengfu, LIU Xiaoming. Design of voice communication system on CAN bus based on queuing theory [J]. Application of electronic technique, 2013, 39(2): 22?25.
[2] 衛(wèi)文慧,魏免.基于以太網(wǎng)和CAN總線的煤礦語(yǔ)音廣播系統(tǒng)設(shè)計(jì)[J].工礦自動(dòng)化,2015,41(2):103?106.
WEI Wenhui, WEI Mian. Design of voice broadcasting system of coal mine based on Ethernet and CAN bus [J]. Industry and mine automation, 2015, 41(2): 103?106.
[3] ZUBERI K M, KANG G S. Design and implementation of efficient message scheduling for controller area network [J]. IEEE transactions on computers, 2000, 49(2): 182?188.
[4] WALKER G K, STOCKHAMMER T, MANDYAM G, et al. OUTE/DASH IP streaming? based system for delivery of broadcast, broadband, and hybrid services [J]. IEEE transactions on broadcasting, 2016, 62(1): 328?337.
[5] 王樹(shù)強(qiáng),江云,徐煒,等.礦用IP廣播對(duì)講系統(tǒng)的設(shè)計(jì)[J].工礦自動(dòng)化,2011,37(11):4?6.
WANG Shuqiang, JIANG Yun, XU Wei, et al. Design of mine?used IP broadcast and talkback system [J]. Industry and mine automation, 2011, 37(11): 4?6.
[6] 付良瑞,陳耀宏,胡祥超,等.基于嵌入式以太網(wǎng)的分布式數(shù)據(jù)采集系統(tǒng)[J].電子技術(shù)應(yīng)用,2017,43(8):58?61.
FU Liangrui, CHEN Yaohong, HU Xiangchao, et al. A distri?buted data acquisition system based on embedded Ethernet [J]. Application of electronic technique, 2017, 43(8): 58?61.
[7] 朱靜,韓云飛,龔紅琴,等.基于以太網(wǎng)維吾爾語(yǔ)家電控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(18):141?143.
ZHU Jing, HAN Yunfei, GONG Hongqin, et al. Design of Ethernet?based Uyghur control system for household appliances [J]. Modern electronics technique, 2015, 38(18): 141?143.
[8] 孫繼平.現(xiàn)代化礦井通信技術(shù)與系統(tǒng)[J].工礦自動(dòng)化,2013,39(3):1?5.
SUN Jiping. Modern mine communication technology and system [J]. Industry and mine automation, 2013, 39(3): 1?5.
[9] 徐煒.礦用IP網(wǎng)絡(luò)廣播終端硬件設(shè)計(jì)[J].工礦自動(dòng)化,2014,40(7):16?18.
XU Wei. Design of hardware of terminal of mine?used IP network broadcast [J]. Industry and mine automation, 2014, 40(7): 16?18.
[10] 賀驍,李曼,白翔,等.短波令牌環(huán)協(xié)議的研究現(xiàn)狀與發(fā)展[J].通信技術(shù),2014,47(10):1167?1172.
HE Xiao, LI Man, BAI Xiang, et al. Status quo and development of HF token ring protocol [J]. Communications technology, 2014, 47(10): 1167?1172.