適于語(yǔ)音處理的SDA80D51芯片及其數(shù)字錄放音系統(tǒng)
來(lái)源:電子技術(shù)應(yīng)用 作者:清華大學(xué) 柳 遠(yuǎn) 劉 加 劉潤(rùn)生 摘要:sda80d51 unispeech是infineon公司新推出的具有dsp和單片機(jī)雙核的芯片。介紹了該芯片的組成框圖及各功能模塊,并且用該芯片完成一個(gè)硬件系統(tǒng),實(shí)現(xiàn)了語(yǔ)音的g.723.1編碼存儲(chǔ)和解碼放音。 關(guān)鍵詞:g.723.1 sigma-delta調(diào)制 前后臺(tái) 目前市場(chǎng)上有很多語(yǔ)音錄放系統(tǒng),如錄放音玩具、錄音筆等,大多采用了單片機(jī)控制一個(gè)語(yǔ)音芯片,再接一個(gè)flash存儲(chǔ)器的結(jié)構(gòu)。由于語(yǔ)音芯片都是固定的編碼算法,使得系統(tǒng)用途單一,不利于進(jìn)一步改進(jìn),缺乏靈活性,如日本oki公司的msm6588只能完成adpcm編碼。 用sda80d51芯片實(shí)現(xiàn)的語(yǔ)音錄放音系統(tǒng),系統(tǒng)硬件簡(jiǎn)單、工作可靠。所有的編解碼算法都由軟件來(lái)完成,設(shè)計(jì)者可以編制自己的軟件,完成不同的功能。它既可以作為簡(jiǎn)單的數(shù)字錄放音系統(tǒng),也可以通過改變程序做語(yǔ)音識(shí)別、語(yǔ)音合成等多種系統(tǒng)。用途靈活、功能強(qiáng)大。該系統(tǒng)選用g.723.1語(yǔ)音編解碼算法來(lái)完成語(yǔ)音的錄放。 1 sda80d51芯片介紹sda80d51芯片是德國(guó)infineon公司生產(chǎn)的適合語(yǔ)音處理的芯片,它采用0.18μm工藝,核的工作電壓為1.8v,i/o電壓為3.3v,模擬codec部分電壓2.5v,功耗是150mw。該芯片相當(dāng)于一個(gè)片上系統(tǒng)(soc),內(nèi)部集成了許多功能模塊,如圖1所示。由于它集成了許多功能模塊,如圖1所示。由于它集成了許多功能塊,幾乎只需要一片芯片就能完成語(yǔ)音處理和系統(tǒng)控制。 該芯片含有兩個(gè)處理器,分別是16位dsp(oak)和8位mcu(m8051 e-warp)。m8051 e-warp核由美國(guó)mentor graphics公司設(shè)計(jì),它是與一般8051兼容的mcu,具有很多的增強(qiáng)功能,最高工作速度可達(dá)50mips(million instruction per second),是目前為止最快的增強(qiáng)8051。傳統(tǒng)8051的一個(gè)機(jī)器周期是12個(gè)時(shí)鐘周期,而這個(gè)核心只需2個(gè)時(shí)鐘周期,速度傳統(tǒng)8051的6倍。許多指令都能在一個(gè)機(jī)器周期內(nèi)完成。由于指令與8051兼容,使得程序員不用花許多時(shí)間學(xué)習(xí)新指令,而直接采用傳統(tǒng)的8051編程方式就行。芯片集成有jtag口,用mentor graphics公司的fs2(first silicon solutions)仿真器就可以實(shí)現(xiàn)在線仿真。oak核是美國(guó)dsp group公司設(shè)計(jì)的16位低功耗、低電壓和高速定點(diǎn)dsp。采用雙金屬cmos,在0.6μm或0.5μm以下工藝生產(chǎn)。工作電壓范圍在2.7v~5.5v。在5v 80mhz工作條件下,消耗電流38ma;在3.3v 80mhz條件下,消耗電流25ma。該核采用harvard總線結(jié)構(gòu),工作速度可達(dá)100mips。 codec部分由i2s、adc和dac組成。i2s口可用來(lái)外接一些通用的模/數(shù)芯片。兩路的12位8khz采樣率的adc,可接峰峰值為1.03v的差分電壓。片內(nèi)有數(shù)字agc,可放大0到42db(8檔,6db步長(zhǎng));模/數(shù)轉(zhuǎn)換采用sigma-delta調(diào)制技術(shù)并經(jīng)過一度的換算,得到16bit的pcm碼流,送往處理器。兩路11位8khz采樣率的dac可軟件調(diào)節(jié)增益,可放大0到-18db(-6db步長(zhǎng))。所有codec部分可通過asi接口連到oak或m8051上。 sda80d51芯片還有i2c、spi和pwm接口模塊,可以通過m8051來(lái)控制。另外在不同版本的芯片上還有多達(dá)50到250之間的gpio(通用的輸入輸出口),這可以保證系統(tǒng)控制的靈活性。 該芯片最有特點(diǎn)的功能模塊是存儲(chǔ)器管理單元mmu(memory manage unit),它可以管理兩個(gè)核的存儲(chǔ)區(qū)映射。物理存儲(chǔ)器(ram或rom)被看成由多個(gè)塊組成,每個(gè)塊的大小在不同版本的芯片上定義是不同的,本系統(tǒng)中,塊的大小是16k字節(jié)(或8k節(jié))。mmu既可以把塊(8k字)映射給oak的程序區(qū)或數(shù)據(jù)區(qū),也可以把塊(16k字節(jié))映射給m8051的程序區(qū)或數(shù)據(jù)區(qū)。這些完全由寫m8051的特殊功能寄存器來(lái)完成。存儲(chǔ)空間的自由掛接使得完成兩個(gè)核之間的數(shù)據(jù)轉(zhuǎn)換變得非常容易。此外,程序裝載和啟動(dòng)也需要mmu的控制。 整個(gè)芯片的工作方式是m8051作為主控制芯片,完成對(duì)各種接口的控制和系統(tǒng)的配置。oak作為協(xié)處理器,完成語(yǔ)音編解碼算法等計(jì)算。兩個(gè)核之間還有兩個(gè)64字深的fifo。它們用于雙核通信。 2 g.723.1語(yǔ)音編解碼語(yǔ)音編解碼算法一般分為三類:波形編碼、參數(shù)編碼(聲碼器)和混合編碼。波形編碼技術(shù)是在不建立語(yǔ)音模型的情況下,直接對(duì)語(yǔ)音波形用編碼方式逼近,可有時(shí)域的脈沖編碼調(diào)制和變換域編碼;參數(shù)編碼是在一定的語(yǔ)音模型基礎(chǔ)上,在編碼端分析出該模型參數(shù),并選擇適當(dāng)?shù)姆绞綄?duì)其進(jìn)行高效率的編碼,而在解碼端利用這些參數(shù)和語(yǔ)音模型,用合適的激勵(lì)源(excitation)重新合成語(yǔ)音;混合編碼則保留了參數(shù)編碼的語(yǔ)音模型的假定,又利用了波形編碼的準(zhǔn)則優(yōu)化激勵(lì)信號(hào)。 g.723.1算法屬于混合編碼。語(yǔ)音模型是基于線性預(yù)測(cè)理論的全極點(diǎn)模型。輸入是16bit的pcm碼流,然后采用