《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于PIC的低速率無(wú)線語(yǔ)音通信系統(tǒng)
基于PIC的低速率無(wú)線語(yǔ)音通信系統(tǒng)
來(lái)源:微型機(jī)與應(yīng)用2011年第8期
王 萍1,昂志敏1,朱良學(xué)2
(1.合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥230009; 2.西河電子科技有限公司,安徽 合肥
摘要: 給出了ACELP算法在點(diǎn)對(duì)點(diǎn)通信中的應(yīng)用方案,主要設(shè)計(jì)了基于Microchip公司的PIC系列高端芯片和以射頻收發(fā)芯片CC1100為核心的跳頻語(yǔ)音通信系統(tǒng),為實(shí)現(xiàn)數(shù)字集群通信系統(tǒng)中的數(shù)字終端提供了可行的方案。
Abstract:
Key words :

摘  要: 給出了ACELP算法在點(diǎn)對(duì)點(diǎn)通信中的應(yīng)用方案,主要設(shè)計(jì)了基于Microchip公司的PIC系列高端芯片和以射頻收發(fā)芯片CC1100為核心的跳頻語(yǔ)音通信系統(tǒng),為實(shí)現(xiàn)數(shù)字集群通信系統(tǒng)中的數(shù)字終端提供了可行的方案。
關(guān)鍵詞: ACELP;無(wú)線通信;單片機(jī);CC1100

    在移動(dòng)電話已經(jīng)成為人們生活必需品的今天,一種低成本的點(diǎn)對(duì)點(diǎn)無(wú)線通信系統(tǒng)也在日益發(fā)展中。它是警務(wù)、保安人員和野外工作人員的必選通信設(shè)備,它不同于移動(dòng)電話,不用根據(jù)通話時(shí)間計(jì)費(fèi),不存在網(wǎng)絡(luò)擁堵的問(wèn)題,可以用于重大任務(wù)保障的通信和應(yīng)付各種突發(fā)的緊急事件。在設(shè)計(jì)語(yǔ)音通信系統(tǒng)的過(guò)程中,語(yǔ)音信號(hào)處理[1]的方法關(guān)系到系統(tǒng)的性能,隨著對(duì)通信質(zhì)量要求的提高,人們需要用較少的碼率來(lái)獲得盡可能好的合成語(yǔ)音質(zhì)量[2]。
    TETRA系統(tǒng)采用的低速率ACELP壓縮算法[3],是一種改進(jìn)型的CELP,其碼率被壓縮至4.567 kb/s,仍能保證高質(zhì)量的話音服務(wù)[4]。近幾年對(duì)ACELP算法的研究大部分集中在算法的仿真。本文主要設(shè)計(jì)了ACELP算法應(yīng)用的硬件系統(tǒng)。
1 系統(tǒng)概述
    Microchip公司推出的dsPICXX器件[5]將高性能16位單片機(jī)的控制特點(diǎn)與DSP高速運(yùn)算的優(yōu)點(diǎn)相結(jié)合,為嵌入式系統(tǒng)設(shè)計(jì)提供了適合的單芯片、單指令流的解決方案。其獨(dú)特的RISC結(jié)構(gòu)精簡(jiǎn)指令與傳統(tǒng)的采用CISC結(jié)構(gòu)的單片機(jī)相比,可以達(dá)到2:1的代碼壓縮,速度提高4倍,使其執(zhí)行效率大為提高[6]。
    在用單個(gè)dsPICXX器件實(shí)現(xiàn)復(fù)雜的算法處理和控制操作時(shí),存在通話質(zhì)量差,不易擴(kuò)展等功能,作為改進(jìn)方案設(shè)計(jì)了雙單片機(jī)結(jié)構(gòu),如圖1所示。將計(jì)算量較大的語(yǔ)音壓縮編碼部分單獨(dú)用dsPIC33FJ64GP706實(shí)現(xiàn),用PIC24FJ32GA004作為主控芯片,控制信號(hào)之間的同步并處理按鍵信息,CC1100內(nèi)有快速頻率變動(dòng)合成器,能夠?qū)崿F(xiàn)頻率跳躍,通過(guò)PIC24FJ32GA004不斷改變CC1100的載波頻率,實(shí)現(xiàn)了跳頻通信。

 

 

    系統(tǒng)包括語(yǔ)音模塊、語(yǔ)音編解碼模塊、控制模塊、RF模塊以及各個(gè)模塊的接口。本文設(shè)計(jì)時(shí)將語(yǔ)音編解碼模塊和控制模塊按其功能分別簡(jiǎn)寫(xiě)為DSP模塊和CPU模塊。
1.1 語(yǔ)音模塊
    本模塊的作用是將麥克風(fēng)微弱語(yǔ)音信號(hào)放大給A/D,以及將從D/A出來(lái)的語(yǔ)音播放出去。在語(yǔ)音輸入A/D電路中,利用運(yùn)放芯片 LPV321M5,采用單電源3.3 V供電,將輸出的信號(hào)送到A/D。在語(yǔ)音輸出A/D電路中,采用LM4673音頻放大器進(jìn)行語(yǔ)音放大。圖2是AD73311的外圍電路圖。芯片復(fù)位之后才能工作,復(fù)位時(shí)間至少為4個(gè)DMCLK周期。
    在圖1中,CPU傳出的控制命令(即手持終端機(jī)的旋鈕音量控制命令)將作用于AD73311內(nèi)部集成的可編程增益放大器PGA來(lái)實(shí)現(xiàn)輸出模擬音量的可控調(diào)節(jié)。設(shè)定AD73311工作在混合模式,控制字可以交叉在DAC數(shù)據(jù)流中一起傳送,對(duì)于語(yǔ)音30 ms為一幀的處理速度,交叉?zhèn)鬏斂刂谱植粫?huì)影響語(yǔ)音質(zhì)量。PGA增益由CRD:4~6三位設(shè)定,可實(shí)現(xiàn)+6 dB~-15 dB范圍的音量調(diào)節(jié)。
1.2 時(shí)序分配
    圖2中AUDIO_MCLK是主時(shí)鐘輸入,由外部時(shí)鐘信號(hào)驅(qū)動(dòng),DSP中的輸出比較OC模塊將產(chǎn)生供AD73311工作所需的2.048 MHz時(shí)序波形,因AD73311是可編程的,通過(guò)設(shè)置CRB:4-6=000、CRB:2-3=00、CRB:0-1=11,分別得到內(nèi)部主時(shí)鐘頻率DMCLK為2.048 MHz,串行時(shí)鐘頻率SCLK為256 kHz,串行口的幀同步頻率即采樣頻率FS為8 kHz。4個(gè)I/O引腳AUDIO-SDI、AUDIO-SDO、AUDIO-SDFS、AUDIO-SCLK與DCI有關(guān),采用基于DMA控制器的DCI設(shè)計(jì),在不需要CPU干預(yù)下可完成數(shù)據(jù)傳輸,DCI接口負(fù)責(zé)傳輸16 bit的A/D、D/A數(shù)據(jù)和音量控制命令。
    DSPIC33工作頻率支持最高40 MHz的工作速度(指令時(shí)鐘),為實(shí)現(xiàn)實(shí)時(shí)傳輸信號(hào),要盡可能達(dá)到最高工作速度,設(shè)計(jì)時(shí)充分利用了芯片的內(nèi)部資源——由PIC24的輸出比較模塊OC產(chǎn)生2.048 MHz給DSPIC33,DSPIC33再經(jīng)內(nèi)部PLL鎖相環(huán)產(chǎn)生38.912 MHz的指令時(shí)鐘。PIC24外接7.168 MHz晶振獲得工作時(shí)鐘。
1.3 SPI串行接口模塊
    SDI、SDO、SCK、SS是SPI串行接口的4個(gè)引腳,CPU內(nèi)部集成著兩塊SPI模塊,其中與DSP相連的SPI1模塊工作在SPI主/幀主模式,相應(yīng)的DSP中的SPIx模塊工作在SPI從/幀從模式。配置為主模塊的CPU為從器件DSP提供SPI串行時(shí)鐘和同步信號(hào)。
    當(dāng)CPU通過(guò)SPI向DSP發(fā)送數(shù)據(jù)時(shí),DSP中的數(shù)據(jù)也會(huì)傳遞過(guò)來(lái),此時(shí)無(wú)論數(shù)據(jù)是否寫(xiě)入SPIBUF,只要接收到幀同步脈沖時(shí)都將啟動(dòng)發(fā)送,所以在接收幀同步脈沖前,必須保證DSP中裝入了正確的發(fā)送數(shù)據(jù)。在DSP的實(shí)現(xiàn)過(guò)程中,當(dāng)語(yǔ)音壓縮完畢后,會(huì)通過(guò)UART發(fā)送握手信號(hào),表明數(shù)據(jù)已經(jīng)準(zhǔn)備好。所以,當(dāng)CPU成功接收到合成語(yǔ)音參數(shù),并且接收到握手信號(hào)后,才可以向DSP發(fā)送數(shù)據(jù)。本系統(tǒng)中UART只進(jìn)行簡(jiǎn)單的數(shù)據(jù)傳輸,兩芯片間的連接較為簡(jiǎn)單,只需將收發(fā)引腳交替連接就可以了。
    射頻收發(fā)CC1100芯片通過(guò)4線SPI兼容接口SI、SO、SCLK、CSn實(shí)現(xiàn)配置,如圖3所示,這個(gè)接口同時(shí)用作寫(xiě)和讀緩存數(shù)據(jù),接口上的數(shù)據(jù)頭字節(jié)包含一個(gè)讀/寫(xiě)位,一個(gè)突發(fā)訪問(wèn)位和一個(gè)6位地址,突發(fā)訪問(wèn)位表明數(shù)據(jù)是否連續(xù),若連續(xù),寄存器的地址將自動(dòng)加1。在CPU發(fā)送數(shù)據(jù)之前,CPU必須先完成對(duì)CC1100的配置,可以設(shè)置調(diào)制方式、信道帶寬、是否進(jìn)行糾錯(cuò)編碼,還可以對(duì)數(shù)據(jù)包結(jié)構(gòu)進(jìn)行設(shè)置。本系統(tǒng)采用的跳頻方式較為簡(jiǎn)單,頻率每30 ms(一幀語(yǔ)音的時(shí)間)改變一次。信道的中心頻率由432 MHz~434 MHz按照遞增的方式進(jìn)行跳變,公差為20 kHz,當(dāng)中心頻率到達(dá)434 MHz后,中心頻率再按照遞減的方式進(jìn)行跳變,公差不變。

2 軟件設(shè)計(jì)
2.1 DSP模塊的軟件實(shí)現(xiàn)過(guò)程

    程序主要由主程序和中斷程序組成,在初始化時(shí)進(jìn)行如下設(shè)定:DCI接口工作在多通道幀同步模式下,字長(zhǎng)16,緩沖區(qū)接收1個(gè)數(shù)據(jù)后觸發(fā)中斷,DCI數(shù)據(jù)傳輸時(shí)采用DMA通道,且數(shù)據(jù)傳輸?shù)拇袝r(shí)鐘和幀同步都由AD73311提供;SPI工作在從/幀從模式下。在主程序中,設(shè)置好3個(gè)接口,然后不斷檢測(cè)相關(guān)的標(biāo)志位并進(jìn)行相應(yīng)的處理,中斷程序包括DMA、SPI和UART接收緩沖區(qū)滿中斷。主程序的流程圖如圖4所示。

2.2 CPU模塊的軟件實(shí)現(xiàn)過(guò)程
    PIC24是整個(gè)系統(tǒng)的控制芯片,實(shí)現(xiàn)對(duì)輸入按鍵信息的處理、發(fā)送音量調(diào)節(jié)命令、配制CC1100、產(chǎn)生跳頻圖案、控制數(shù)據(jù)發(fā)送時(shí)機(jī)等功能。向CC1100發(fā)送數(shù)據(jù)進(jìn)行同步控制,主要是為了通信終端以時(shí)分復(fù)用的方式占用信道,具體是在一個(gè)語(yǔ)音幀內(nèi)(30 ms),信道被分配給終端A 10 ms,空閑5 ms作為保護(hù)時(shí)隙,再分配給終端B 10 ms,留5 ms的保護(hù)時(shí)隙,這樣在一幀語(yǔ)音的時(shí)間內(nèi),可以完成數(shù)據(jù)的發(fā)送和接收,實(shí)現(xiàn)兩臺(tái)終端的同步對(duì)話。通信終端在發(fā)送數(shù)據(jù)時(shí)分為主叫方和被叫方兩種模式,圖5給出了CPU主叫模式的流程圖。

    本文設(shè)計(jì)的系統(tǒng)中豐富的PIC外設(shè)資源和靈活的外圍接口電路可以為語(yǔ)音信號(hào)處理的其他算法研究和實(shí)時(shí)實(shí)現(xiàn)提供一個(gè)通用平臺(tái),也為進(jìn)一步處理噪聲抑制和回聲控制奠定了硬件基礎(chǔ)??傊?,ACELP算法是一種很有前途的低速率語(yǔ)音壓縮混合編碼技術(shù),隨著對(duì)其研究的不斷深入,將會(huì)帶動(dòng)國(guó)內(nèi)TETRA無(wú)線電數(shù)字集群系統(tǒng)的廣泛應(yīng)用。
參考文獻(xiàn)
[1] 楊行峻.語(yǔ)音信號(hào)數(shù)字處理[M].北京:電子工業(yè)出版社,2007.
[2] 鮑長(zhǎng)春.低比特率數(shù)字語(yǔ)音編碼基礎(chǔ)[M].北京:北京工業(yè)大學(xué)出版社,2001.
[3] ETSI  ETS 300 395-2 Edition2,Terrestrial Trunked Radio(TETRA);Speech Codec for Full-rate Traffic Channel;Part  2:TETRA codec(S).
[4] 李偉,劉魯新,林孝康.TETRA中的ACELP語(yǔ)音壓縮編碼[J].電聲技術(shù),2004(2):46-49.
[5] Microchip Technology Inc. dsPIC33FJXXXGPX06/X08/X10 Data Sheet[EB/OL].http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en024667,2007.
[6] 楊圣.PIC系列單片機(jī)的原理與實(shí)踐[M].合肥:中國(guó)科學(xué)技術(shù)大學(xué)出版社,2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。