孟衛(wèi)剛,馮慶
(西安飛行學(xué)院,西安 710306)
?
以CH563為核心的以太網(wǎng)語音通信終端設(shè)計(jì)
孟衛(wèi)剛,馮慶
(西安飛行學(xué)院,西安 710306)
介紹了以嵌入式處理器CH563為核心,采用VS1053對(duì)語音信號(hào)進(jìn)行壓縮/解壓縮處理,通過以太網(wǎng)進(jìn)行數(shù)據(jù)交換的設(shè)計(jì)方案。在系統(tǒng)硬件設(shè)計(jì)方面,主要介紹了CH563與VS1053的性能參數(shù)及兩者接口電路設(shè)計(jì)。在軟件設(shè)計(jì)方面,主要介紹了以太網(wǎng)協(xié)議程序設(shè)計(jì)以及VS1053的操作方法,并給出具體的操作程序。最后介紹了該方案的優(yōu)勢,給出其在相關(guān)應(yīng)用領(lǐng)域的研究方向。
CH563;VS1053;以太網(wǎng);語音通信
傳統(tǒng)的采用音頻矩陣進(jìn)行語音通信時(shí),由于采用的是模擬信號(hào),因此長距離傳輸易被干擾且衰減嚴(yán)重,話音品質(zhì)變差。隨著通信技術(shù)和網(wǎng)絡(luò)的快速發(fā)展,越來越多的用戶采用IP網(wǎng)絡(luò)進(jìn)行語音通信,由于采用交換機(jī)進(jìn)行數(shù)據(jù)交換,因此可靈活擴(kuò)展且話音品質(zhì)好。
目前實(shí)現(xiàn)網(wǎng)絡(luò)語音通話的方案主要有兩種:
① 基于計(jì)算機(jī)軟件編程實(shí)現(xiàn),缺點(diǎn)是設(shè)備笨重、不便于移動(dòng)、操作繁瑣且成本高。
② 基于語音解壓縮芯片+處理器+以太網(wǎng)芯片硬件編程實(shí)現(xiàn),由于這種方案采用的處理器未集成以太網(wǎng)收發(fā)器(PHY),因此需要外置的以太網(wǎng)收發(fā)芯片,導(dǎo)致電路體積大、不利于小型化,且需要單獨(dú)開發(fā)網(wǎng)絡(luò)協(xié)議部分,因此成本高、實(shí)現(xiàn)難度較大。
基于CH563的以太網(wǎng)語音通信終端采用內(nèi)置以太網(wǎng)收發(fā)器(PHY)的新型嵌入式處理器CH563,通過對(duì)音頻解壓縮芯片VS1053數(shù)據(jù)進(jìn)行收發(fā)、處理,實(shí)現(xiàn)終端的語音通信功能。方案框圖如圖1所示。
圖1 語音通信終端原理框圖
1.1主芯片簡介
CH563 是南京沁恒股份有限公司推出的一款A(yù)RM9內(nèi)核的32位RISC精簡指令集CPU,指令集兼容ARMv5TE,支持16位Thumb指令和增強(qiáng)DSP指令。默認(rèn)系統(tǒng)主頻為100 MHz,最高可達(dá)130 MHz。高度集成的外設(shè)以及高性能,使其可以廣泛地應(yīng)用于各種嵌入式應(yīng)用。
CH563的外設(shè)組件包含480 KB的Flash閃存、128 KB可動(dòng)態(tài)分配的SRAM、28 KB的EEPROM、百兆以太網(wǎng)、高速/全速USB主機(jī)/從機(jī)接口、2個(gè)SPI接口、2個(gè)UART接口、3通道10位ADC、4個(gè)通用定時(shí)器、8位被動(dòng)并行接口、8/16/32位Intel時(shí)序的總線接口、在系統(tǒng)編程ISP接口和多達(dá)74個(gè)通用I/O引腳。
VS1053是荷蘭VLSI公司出品的一款高性能解碼芯片。該芯片可以實(shí)現(xiàn)MP3/OGG/WMA/FLAC/WAV/AAC/MIDI等音頻格式的解碼,同時(shí)還可以支持ADPCM/OGG等格式的編碼。其內(nèi)部主要由一個(gè)高性能的DSP處理器內(nèi)核、16 KB的指令RAM、0.5 KB的數(shù)據(jù)RAM、8個(gè)可用的通用I/O口和一個(gè)串口組成。此外,芯片內(nèi)部還帶有一個(gè)可變采樣率的立體聲ADC(支持咪頭、左右雙聲道)、一個(gè)高性能立體聲DAC及音頻耳機(jī)放大器。
本設(shè)計(jì)方案主要用到了CH563的以太網(wǎng)收發(fā)器(PHY)、1個(gè)SPI接口資源。
1.2CH563與VS1053接口設(shè)計(jì)
CH563與VS1053之間是通過SPI接口進(jìn)行數(shù)據(jù)交互的,具體接口電路如圖2所示。
圖2 CH563與VS1053接口電路
其中VS_RST為VS1053復(fù)位端,低電平觸發(fā);VS_DREQ為狀態(tài)輸出,高電平觸發(fā),表示允許寫入控制指令或音頻數(shù)據(jù);VS_XDCS為VS1053數(shù)據(jù)接口(SPI)開關(guān),高電平關(guān)閉數(shù)據(jù)接口,低電平打開數(shù)據(jù)接口;VS_SCLK為SPI接口時(shí)鐘;VS_MOSI為SPI接口數(shù)據(jù)輸入;VS_MISO為SPI接口數(shù)據(jù)輸出。
2.1以太網(wǎng)協(xié)議
以太網(wǎng)協(xié)議是在CH563官方提供的庫“CH563NET.LIB”基礎(chǔ)上進(jìn)行二次開發(fā)的。該動(dòng)態(tài)庫提供了 TCP/IP 子程序庫,集成了 TCP、UDP、ICMP、ARP、RARP、ICMP、IGMP 等以太網(wǎng)協(xié)議棧,其可以同時(shí)支持 TCP、UDP和IPRAW三種模式,最大支持31個(gè)Socket及時(shí)通信。本設(shè)計(jì)采用UDP模式,這里給出以太網(wǎng)初始化及UDP Socket的創(chuàng)建程序。
UINT8 MACAddr[6] ={0x07,0x06,0x05,0x04,0x03,0x03};/*CH563 MAC*/
UINT8 IPAddr[4]= {192,168,1,23};
/*CH563 IP地址*/
UINT8 GWIPAddr[4]= {192,168,1,1};
/*CH563 網(wǎng)關(guān)*/
UINT8 IPMask[4]= {255,255,255,0};
/*CH563 子網(wǎng)掩碼*/
struct _CH563_CFG cfg;
/*cfg為內(nèi)存分配實(shí)例*/
CH563NETConfig = LIB_CFG_VALUE;
/*將配置信息傳遞給庫變量*/
cfg.RxBufSize = RX_BUF_SIZE;
/*MAC接收緩沖區(qū)大小*/
cfg.TCPMss = CH563NET_TCP_MSS;
/*TCP MSS大小*/
cfg.HeapSize = CH563_MEM_HEAP_SIZE;
/*堆分配內(nèi)存大小 */
cfg.ARPTableNum = CH563NET_NUM_ARP_TABLE;
/*ARP列表個(gè)數(shù)*/
cfg.MiscConfig0 = CH563NET_MISC_CONFIG0;
/*其他雜項(xiàng)配置*/
CH563NET_ConfigLIB(&cfg);
/*配置庫*/
CH563NET_Init(ip,gwip,mask,macaddr);
/*初始化網(wǎng)絡(luò)參數(shù)*/
CH563NET_DHCPStart(CH563NET_DHCPCallBack);
/*啟動(dòng)DHCP*/
CH563NET_CreatUdpSocket();
/*創(chuàng)建UDP socket并啟動(dòng) */
其中CH563NET_DHCPStart(CH563NET_DHCPCallBack)用于支持DHCP(Dynamic Host Configuration Protocol,動(dòng)態(tài)主機(jī)配置協(xié)議),不需要時(shí),可直接屏蔽。
2.2解壓縮芯片VS1053操作程序
在對(duì)VS1053操作前,首先通過VS_1053Init ()方法對(duì)其進(jìn)行初始化,主要完成SPI接口控制字配置。由于VS1053壓縮與解壓縮不能同時(shí)進(jìn)行,因此芯片工作分兩種模式。
(1) 解壓縮模式
該模式用于對(duì)從網(wǎng)絡(luò)接收到的壓縮音頻數(shù)據(jù)流進(jìn)行解壓縮處理,經(jīng)內(nèi)部D/A轉(zhuǎn)換、功率放大后,還原出聲音。這里給出解壓縮模式配置程序:
VS_WR_Cmd(SPI_AICTRL0,48000);
/*設(shè)置采樣率,設(shè)置為48 kHz */
Delay_us( 3000);
VS_WR_Cmd(SPI_AICTRL1,1024);
/*設(shè)置增益, 1024相當(dāng)于1倍*/
Delay_us( 3000 );
VS_WR_Cmd(SPI_AICTRL2,0);
/*設(shè)置增益最大值,0代表最大值*/
Delay_us( 3000 );
VS_WR_Cmd(SPI_AICTRL3,2);
/*聲道設(shè)置,2表示雙聲道*/
Delay_us( 3000 );
VS_WR_Cmd(SPI_CLOCKF,0XF800);
/*設(shè)置VS1053 時(shí)鐘*/
Delay_us( 3000 );
VS_WR_Cmd(SPI_MODE,0x1804);
/*MIC,錄音激活*/
Config_1063_Duplex_Mode();/*配置解碼數(shù)據(jù)頭,只有與配置相同格式的壓縮數(shù)據(jù)流才能正確解碼*/
(2) 壓縮模式
該模式對(duì)輸入的Mic或音頻模擬信號(hào),經(jīng)內(nèi)部低噪聲放大、A/D轉(zhuǎn)換采集后,進(jìn)行壓縮處理,從而形成壓縮過的音頻數(shù)據(jù)流。這里給出壓縮模式配置程序如下:
VS_WR_Cmd(SPI_CLOCKF, 0XF800);
/*設(shè)置VS1053時(shí)鐘*/
Delay_us( 3000 );
VS_WR_Cmd(SPI_AUDATA, 48000);
/*解碼率48 kbps*/
Delay_us( 3000 );
VS_WR_Cmd(SPI_VOL, 0);
/*VS1053音量設(shè)置,0表示最大*/
Delay_us( 3000 );
VS_WR_Cmd( SPI_MODE,0x080c);
/*進(jìn)入VS1053的播放模式*/
Delay_us( 3000 );
Config_1063_Duplex_Mode();/*配置解碼數(shù)據(jù)頭,只有與配置相同格式的壓縮數(shù)據(jù)流才能正確解碼 */
while(DREQ == 0);/*等待DREQ為高,表示能夠接受音樂數(shù)據(jù)輸入*/
其中Config_1063_Duplex_Mode()方法用于配置數(shù)據(jù)流的文件頭格式,包括數(shù)據(jù)流文件格式、長度、模式等信息,因此必須保持配置格式一致,雙方才能正常進(jìn)行語音通信。如果配置不一致,則解壓縮會(huì)出錯(cuò),從而導(dǎo)致噪音或者靜音出現(xiàn)。
上述兩種模式可通過收、發(fā)轉(zhuǎn)換按鍵進(jìn)行相互轉(zhuǎn)換。
通過與模擬語音通信比較,本設(shè)計(jì)方案主要具有以下優(yōu)勢:
① 不易受干擾、衰減小、話音品質(zhì)高。② 能在現(xiàn)有以太網(wǎng)基礎(chǔ)上直接應(yīng)用,減少了布線環(huán)節(jié),節(jié)約成本,便于維護(hù)。③ 硬件采用CH563處理器,內(nèi)部集成以太網(wǎng)收發(fā)器,降低了電路體積和復(fù)雜性,易于小型化。④ 軟件上基于靜態(tài)庫開發(fā),降低了開發(fā)難度,縮短開發(fā)周期,節(jié)約人力成本。
該設(shè)計(jì)方案已產(chǎn)品化,成功應(yīng)用于樓宇語音通信系統(tǒng),圖3為該語音終端內(nèi)部電路板。
圖3 語音終端內(nèi)部電路板
參考方案可對(duì)嵌入式Web、全雙工語音通信及TCP協(xié)議方面的應(yīng)用做進(jìn)一步研究。
[1] 江蘇沁恒股份有限公司.CH563中文手冊V1.02[EB/0L].(2014-07)[2016-03].http://wch.cn.
[2] VLSI.VS1053b Datasheet Version 0.5[EB/OL].(2014-07)[2016-03].http://www.vlsi.fi.
[3] G.赫爾德.以太網(wǎng) [M].3版.戴志濤,鄭巖譯.北京:人民郵電出版社,1999:275-314.
[4] ALIENTEK.ATK-VS1053 MP3模塊用戶手冊V1.00[EB/OL]. (2014-07)[2016-03].http://wenku.baidu.com.
孟衛(wèi)剛(助理工程師),主要從事模擬器硬件電路設(shè)計(jì)、通信設(shè)備研發(fā)工作。
Design of Voice Communication Terminal Based on CH563 Ethernet
Meng Weigang,Feng Qing
(Xi'an Flight Academy,Xi'an 710306,China)
In this paper,the design scheme of data exchange through the ethernet is introduced.The CH563 is used as the core of the embedded processor,the VS1053 is used to compress and extract the speechsignal.In the hardware design,the performance parameters of CH563 and VS1053 and the design of the interface circuits are introduced.the design of ethernet protocol and the operation method of VS1053 are introduced.Finally,the advantages of the proposed scheme are introduced,and the research direction of the proposed scheme is given.
CH563;VS1053;ethernet;voice communication
TN913.24
A
(責(zé)任編輯:楊迪娜2016-03-10)