《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 按G.723標(biāo)準(zhǔn)設(shè)計(jì)的數(shù)字錄音系統(tǒng)
按G.723標(biāo)準(zhǔn)設(shè)計(jì)的數(shù)字錄音系統(tǒng)
江太輝 戴俊華
摘要: 隨著數(shù)字化技術(shù)的迅速發(fā)展,語(yǔ)音信號(hào)數(shù)字處理技術(shù)的不斷成熟[1],可編程器件和功能強(qiáng)大的數(shù)字信號(hào)處理器(DSP)的廣泛應(yīng)用,傳統(tǒng)的模擬音像設(shè)備大量地被各種數(shù)字設(shè)備所代替。然而,便攜式的錄音設(shè)備仍以各種模擬媒質(zhì)為主,如常用的磁帶錄音機(jī)。如果要將其錄音以數(shù)字形式的數(shù)據(jù)保存,則應(yīng)將其模擬錄音信號(hào)變換成數(shù)字形式的數(shù)據(jù),這就給原始數(shù)據(jù)的保存帶來(lái)諸多不便。因此,筆者按G.723標(biāo)準(zhǔn)設(shè)計(jì)了一種數(shù)字錄音機(jī),它以ADSP-2181作為語(yǔ)音處理器和系統(tǒng)控制器,取消了普通錄音機(jī)的機(jī)械部分和磁帶,以大容量的閃速存儲(chǔ)器(Flash RAM)作為數(shù)字語(yǔ)音數(shù)據(jù)存儲(chǔ)器。該樣機(jī)體積很小,錄音時(shí)間長(zhǎng),沒(méi)有機(jī)械噪音及機(jī)械故障,很有實(shí)用價(jià)值。
Abstract:
Key words :

  摘  要: 介紹了一個(gè)按G.723標(biāo)準(zhǔn)設(shè)計(jì)的數(shù)字錄音" title="數(shù)字錄音">數(shù)字錄音系統(tǒng),該系統(tǒng)以ADSP-2181數(shù)字信號(hào)處理器為核心,采用大容量的閃速存儲(chǔ)器(Flash RAM)作為數(shù)字語(yǔ)音數(shù)據(jù)存儲(chǔ)器。試驗(yàn)表明,該系統(tǒng)具有良好的實(shí)用價(jià)值。

  關(guān)鍵詞: G.723標(biāo)準(zhǔn)  數(shù)字錄音機(jī)  ADSP-2181  語(yǔ)音數(shù)字處理

  隨著數(shù)字化技術(shù)的迅速發(fā)展,語(yǔ)音信號(hào)數(shù)字處理技術(shù)的不斷成熟[1],可編程器件和功能強(qiáng)大的數(shù)字信號(hào)處理器(DSP)的廣泛應(yīng)用,傳統(tǒng)的模擬音像設(shè)備大量地被各種數(shù)字設(shè)備所代替。然而,便攜式的錄音設(shè)備仍以各種模擬媒質(zhì)為主,如常用的磁帶錄音機(jī)。如果要將其錄音以數(shù)字形式的數(shù)據(jù)保存,則應(yīng)將其模擬錄音信號(hào)變換成數(shù)字形式的數(shù)據(jù),這就給原始數(shù)據(jù)的保存帶來(lái)諸多不便。因此,筆者按G.723標(biāo)準(zhǔn)設(shè)計(jì)了一種數(shù)字錄音機(jī),它以ADSP-2181作為語(yǔ)音處理器和系統(tǒng)控制器,取消了普通錄音機(jī)的機(jī)械部分和磁帶,以大容量的閃速存儲(chǔ)器(Flash RAM)作為數(shù)字語(yǔ)音數(shù)據(jù)存儲(chǔ)器。該樣機(jī)體積很小,錄音時(shí)間長(zhǎng),沒(méi)有機(jī)械噪音及機(jī)械故障,很有實(shí)用價(jià)值。

1 G.723標(biāo)準(zhǔn)簡(jiǎn)介和系統(tǒng)結(jié)構(gòu)框圖

1.1 G.723標(biāo)準(zhǔn)簡(jiǎn)介

  G.723是ITU-T在1996年制訂成型的一種多媒體語(yǔ)音編解碼標(biāo)準(zhǔn)。其典型應(yīng)用包括IP電話服務(wù)、H.324視頻電話、無(wú)線電話、數(shù)字衛(wèi)星系統(tǒng)、數(shù)電倍增設(shè)備(DCME)、公共交換電話網(wǎng)(PSTN)、ISDN及各種多媒體語(yǔ)音信息產(chǎn)品。G.723標(biāo)準(zhǔn)傳輸碼率有5.3kb/s和6.3kb/s兩種,在編程過(guò)程中可隨時(shí)切換。該標(biāo)準(zhǔn)主要包含了編碼算法和解碼算法。原理是:從采集的語(yǔ)音信號(hào)中解析出聲道模型參數(shù),構(gòu)造一個(gè)合成濾波器,采用合適的激勵(lì)源激勵(lì),編碼傳輸?shù)膮?shù)主要是激勵(lì)源與合成濾波器的參數(shù)。5.3kb/s的編碼器采用代數(shù)碼線性預(yù)測(cè)激勵(lì)(ACELP);6.3kb/s的編碼器則采用多脈沖最大似然量化(MP-MLQ)激勵(lì)。根據(jù)傳輸編碼參數(shù),可重構(gòu)激勵(lì)源與合成濾波器進(jìn)行解碼,還原出來(lái)的數(shù)字語(yǔ)音信號(hào)經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換成模擬語(yǔ)音信號(hào)。關(guān)于G.723的編碼和解碼的詳細(xì)說(shuō)明見(jiàn)參考文獻(xiàn)[2]。

  G.723算法對(duì)語(yǔ)音信號(hào)有很好的編解碼效果,同時(shí)也可處理音樂(lè)和其它聲音信號(hào),典型輸入是64kb/s(8k×8)或128kb/s(8k×16)的A律或μ律的PCM采樣語(yǔ)音信號(hào)。每次處理一幀語(yǔ)音信號(hào),每幀240個(gè)采樣點(diǎn)(30ms)。在5.3kb/s的碼率下,每幀語(yǔ)音被壓縮成20個(gè)字節(jié)傳輸;在6.3kb/s的碼率下,每幀語(yǔ)音被壓縮成24個(gè)字節(jié)傳輸。

1.2 數(shù)字錄音系統(tǒng)的結(jié)構(gòu)框圖

  系統(tǒng)框圖主要由圖1所示的五部分組成。AD73311用來(lái)進(jìn)行A/D和D/A轉(zhuǎn)換,它集成了模/數(shù)和數(shù)/模轉(zhuǎn)換功能,而且可編程控制,使用極其方便;ADSP-2181為系統(tǒng)的核心數(shù)字處理器[3],時(shí)鐘頻率為33MHz,其功能強(qiáng)大;KM29N32000為閃速存儲(chǔ)器(Flash RAM),用來(lái)存儲(chǔ)已壓縮的語(yǔ)音數(shù)據(jù);AT27C010(EPROM)用來(lái)存放控制ADSP-2181工作的程序;LCD用來(lái)顯示系統(tǒng)當(dāng)前的工作狀態(tài)。

系統(tǒng)的工作流程是:模擬語(yǔ)音信號(hào)經(jīng)AD73311采樣并經(jīng)A律或μ律壓縮后轉(zhuǎn)換成PCM數(shù)據(jù),通過(guò)ADSP-2181的串行口送到ADSP-2181,ADSP-2181再將數(shù)據(jù)進(jìn)行編碼和壓縮后送到閃速存儲(chǔ)器KM29N32000中儲(chǔ)存起來(lái);錄音回放時(shí),從KM29N32000讀取壓縮數(shù)據(jù),送回ADSP-2181進(jìn)行解碼,再送到AD73311進(jìn)行D/A轉(zhuǎn)換,輸出模擬語(yǔ)音信號(hào)。整個(gè)過(guò)程都是由存放在AT27C010中的DSP程序控制,有條不絮地工作。LCD顯示系統(tǒng)當(dāng)前的工作狀態(tài)。

 

 

2 系統(tǒng)各主要部分的原理與接口

2.1 AD73311與ADSP-2181的接口電路及編程控制

2.1.1 AD73311與ADSP-2181的接口電路

  AD73311具有A/D和D/A轉(zhuǎn)換功能,采樣頻率為8kHz~64kHz,可以編程控制,采樣字長(zhǎng)為16位。AD73311具有大信噪比、輸入輸出增益可編程控制、低工作電壓(2.7~5.5V),并且一片兩用的特點(diǎn),是一種很受歡迎的芯片。AD73311與ADSP-2181的接口電路如圖2所示。

 

AD73311與ADSP-2181的接口電路

 

  AD73311完成模擬語(yǔ)音信號(hào)的采集和數(shù)字語(yǔ)音信號(hào)的回放工作。從圖2中看出,信號(hào)從VIN處輸入,在VOUT處輸出回放語(yǔ)音信號(hào)。VIN處接麥克風(fēng),VOUT處接揚(yáng)聲器。與ADSP-2181的通信通過(guò)串口進(jìn)行,從SDO引腳向ADSP-2181輸出數(shù)據(jù),從SDI引腳接收ADSP-2181數(shù)據(jù),發(fā)送和接收可同時(shí)進(jìn)行。時(shí)鐘信號(hào)由ADSP-2181的SLCK引腳接入。

  編程時(shí)必須先初始化AD73311的工作狀態(tài),依次設(shè)定采樣率、輸入輸出增益、提前時(shí)間等,再讓其工作在數(shù)據(jù)傳輸模式下就可正常工作。AD73311進(jìn)入數(shù)據(jù)傳輸模式后一直進(jìn)行A/D或D/A轉(zhuǎn)換。在編程控制中,應(yīng)讓ADSP-2181的串口一直工作在接收中斷方式,這樣可使數(shù)據(jù)發(fā)送與接收的速率保持一致。要改變工作模式可將其RESET引腳置低,再置高,這樣就可重新設(shè)定了。

2.1.2 AD73311的編程

  AD73311是一種可編程的數(shù)據(jù)轉(zhuǎn)換器,內(nèi)含五個(gè)8位控制寄存器CRA~CRE,用于設(shè)定工作狀態(tài),控制輸入輸出。AD73311通過(guò)串行口與處理器接口,傳送的是16位數(shù)據(jù),有五種工作模式,分別為:程序模式、數(shù)據(jù)模式、混合模式、模擬環(huán)路模式、數(shù)字環(huán)路模式。其中前三種是正常的工作模式,后兩種是調(diào)試模式,僅在調(diào)試時(shí)使用。五種工作模式由內(nèi)部的控制寄存器A中的四位(CRA0~3)控制。

  程序模式:AD73311啟動(dòng)或重置后即工作于程序模式,此時(shí)AD73311串行口輸入的數(shù)據(jù)將作為命令字以初始化內(nèi)部控制寄存器組,之后AD73311根據(jù)初始化命令字進(jìn)入相應(yīng)的工作模式,在此之前AD73311串行口輸出的碼字是無(wú)效的。

  數(shù)據(jù)模式:此時(shí)AD73311串行口輸出的是A/D轉(zhuǎn)換的16位數(shù)據(jù),輸入的是D/A轉(zhuǎn)換的16位數(shù)據(jù)。AD73311一旦進(jìn)入數(shù)據(jù)模式,就不能再得到控制信息,所以就永遠(yuǎn)處于這一模式,除非重啟動(dòng)。這時(shí)硬件上可采用發(fā)送接收幀同步信號(hào)同步方式。

  混合模式:此時(shí)16位碼字可能是控制字,也可能是數(shù)據(jù)。碼字的最高位MSB用來(lái)標(biāo)識(shí)這個(gè)碼字是控制命令字(MSB=1)還是數(shù)據(jù)(MSB=0,低15位是有效數(shù)據(jù))。在混合模式下,ADSP-2181可以根據(jù)系統(tǒng)的運(yùn)行狀況適時(shí)改變AD73311的工作參數(shù),如放大器的放大倍數(shù)等。這時(shí)硬件上可采用發(fā)送接收幀同步信號(hào)異步方式,便于ADSP-2181的自主控制。

  AD73311控制采樣率由時(shí)鐘分頻電路完成。時(shí)鐘分頻電路將從DMCLK引腳輸入的外部時(shí)鐘頻率MCLK通過(guò)主頻時(shí)鐘因子分頻為內(nèi)部時(shí)鐘頻率DMCLK,MCLK有五種頻率選擇,由內(nèi)部控制寄存器B中的CRB4~6三位控制。DMCLK決定了AD73311的采樣頻率,它也是AD73311串行口的幀同步頻率。DMCLK再經(jīng)串行時(shí)鐘分頻因子分頻為串行時(shí)鐘頻率SCLK,DMCLK有四種選擇,由內(nèi)部控制寄存器B中的GRB2~3兩位控制。

  通過(guò)編程控制寄存器D,可控制輸入輸出的增益。輸入增益IG可在0~38dB之間調(diào)整,輸出增益OG可在-15~6dB之間調(diào)整。AD73311的具體編程流程圖如圖3所示,控制程序如下:

    AX0=DM(0x3fe5);     {For 2181-PF0 connect with AD73311-RESET}

   AR=AX0 AND 0XFFFE;    {PF0 pin reset}

  DM(0x3fe5)=AR;        {RESET AD73311 to program}

  NOP;                  {Delay}

  NOP;

  NOP;

  AX0=DM(0x3fe5);

  AR=AX0 OR 0X0001;    {2181-PF0 SET}

  DM(0x3fe5)=AR;       {ready to program}

  ax0=0x82f9;           {寫(xiě)控制寄存器CRC,5V電源,使能ADC和DAC}

  tx0=ax0;

  IDLE;

  ax0=0x811b;           {寫(xiě)控制寄存器CRB,分頻,設(shè)置8K采樣率}

  tx0=ax0;

  IDLE;

  ax0=0x8320;           {寫(xiě)控制寄存器CRD,輸出輸入增益為0}

  tx0=ax0;

  IDLE;

  ax0=0x8400;            {寫(xiě)控制寄存器CRE,DAC延遲量為0}

  tx0=ax0;

  IDLE;

  ax0=0x8001;            {寫(xiě)控制寄存器CRA,進(jìn)入數(shù)據(jù)傳輸模式}

  tx0=ax0;

  IDLE;

 

2.2 閃速存儲(chǔ)器與ADSP-2181的接口電路

  閃速存儲(chǔ)器采用韓國(guó)三星公司生產(chǎn)的KM29 N32000,容量為4M×8=32Mbit,分成512塊,每塊有16頁(yè),每頁(yè)528個(gè)字節(jié)。可進(jìn)行100萬(wàn)次擦寫(xiě),數(shù)據(jù)保存時(shí)間為10年,通過(guò)編程可自動(dòng)進(jìn)行擦寫(xiě)。這里用于保存錄音數(shù)據(jù),其數(shù)據(jù)保存不需要充電維持。

從理論上說(shuō),如果采用G.723標(biāo)準(zhǔn)算法,在8kHz的采樣率下,采用5.3kb/s的碼率,錄音時(shí)間最大值約為100分鐘;在6.3kb/s碼率下最大錄音時(shí)間約為83分鐘,比常用的錄音磁帶略長(zhǎng),可以滿足一般的錄音要求。如果采用KM29V64000(8M×8=64M bit),錄音時(shí)間可增加一倍。如果需要更長(zhǎng)的錄音時(shí)間,可選擇容量更大的閃速存儲(chǔ)器。有關(guān)KM29N3200的詳細(xì)特性見(jiàn)參考文獻(xiàn)[4]。

KM29N32000與ADSP-2181的接口電路如圖4所示,它的讀寫(xiě)及擦除操作說(shuō)明如下:

 

  (1)讀操作

  首先讓CLE置高,進(jìn)入命令模式。此時(shí)ALE置低,從I/O口輸入00H(表示讀操作控制命令字),接下來(lái)CLE置低,ALE置高,進(jìn)入地址加載模式,將要訪問(wèn)的24位地址(A0~A23)分三次由低到高從I/O口送入。適當(dāng)延遲后,將ALE置低,就可連續(xù)地進(jìn)行讀操作,每次讀取一幀數(shù)據(jù)。得到的數(shù)據(jù)是從加載地址開(kāi)始的。整個(gè)過(guò)程CE必須保持低電平。

  (2)寫(xiě)操作

  寫(xiě)操作過(guò)程與讀操作類似,開(kāi)始控制命令字是80H,將加載地址分三次送入后,適當(dāng)延遲,就可連續(xù)地向閃速存儲(chǔ)器寫(xiě)入一幀數(shù)據(jù)。數(shù)據(jù)寫(xiě)完時(shí),CLE置高,送入10H命令字,進(jìn)行寫(xiě)操作。

  (3)擦除操作

  保存數(shù)據(jù)時(shí),如果對(duì)應(yīng)存儲(chǔ)區(qū)已經(jīng)有數(shù)據(jù),就必須先擦除掉原來(lái)數(shù)據(jù)。每次擦除一塊,每塊8K字節(jié)。

  首先輸入控制命令字60H,接著把塊地址分兩次送出,再輸入D0H命令字進(jìn)行塊擦除。擦除完后,輸入命令字70H,可讀取擦除狀態(tài)。如果接下來(lái)讀取的數(shù)據(jù)的LSB位為“0”則表示擦除成功,為“1”則表示產(chǎn)生了錯(cuò)誤,可重新進(jìn)行擦除操作。如果再次錯(cuò)誤,可能是對(duì)應(yīng)塊單元出錯(cuò)了。

  在訪問(wèn)Flash RAM的內(nèi)存操作中,最重要的是要注意各個(gè)信號(hào)的時(shí)序。必須嚴(yán)格按照說(shuō)明書(shū)的時(shí)序圖進(jìn)行操作才能實(shí)現(xiàn)正常的功能。

2.3 LCD顯示及接口電路

  在本系統(tǒng)中用LCD顯示當(dāng)前系統(tǒng)處于的狀態(tài),如錄放狀態(tài)、進(jìn)行的時(shí)間等??捎葾DSP-2181進(jìn)行控制,設(shè)定顯示方式及內(nèi)容。

  所用的是點(diǎn)陣式液晶顯示器,為日立公司的HD44780A00LCD。里面有專用集成電路作為點(diǎn)陣的控制驅(qū)動(dòng),只要直接送入數(shù)據(jù)和指令就可實(shí)現(xiàn)所需的顯示。在本系統(tǒng)中,由于LCD使能信號(hào)脈寬較大,無(wú)法直接由DSP產(chǎn)生,因此通過(guò)觸發(fā)單穩(wěn)觸發(fā)器74LS123來(lái)產(chǎn)生LCD使能信號(hào)。接口電路如圖5所示。

 

 

  通過(guò)調(diào)節(jié)連接74LS123的R和C值可控制輸出Q的脈寬tW。當(dāng)C≥1000pF時(shí)為:

  tW=K·R·C

  其中K為常數(shù),與外界溫度及外接電容C有關(guān),在0.2~0.6間選擇。

  當(dāng)C≤1000pF時(shí),tW估計(jì)值如下:

  tW=6+0.05C(pF)+0.45R(kΩ)C+11.6R

  當(dāng)74LS123引腳A出現(xiàn)一個(gè)下降脈沖時(shí),輸出Q產(chǎn)生一個(gè)高電平脈沖,脈寬由R和C決定,驅(qū)動(dòng)LCD工作。

  錄音時(shí)LCD上面一行顯示RECORD,下行則顯示進(jìn)行的時(shí)間;放音時(shí)上面一行顯示PLAY,下行也顯示進(jìn)行的時(shí)間。時(shí)間的顯示通過(guò)ADSP-2181里面定時(shí)器中斷進(jìn)行。

3 系統(tǒng)控制軟件設(shè)計(jì)

  ADSP21XX系列提供了一整套軟件開(kāi)發(fā)工具及相應(yīng)的仿真器開(kāi)發(fā)平臺(tái),給系統(tǒng)的調(diào)試與仿真提供了極大的方便。軟件開(kāi)發(fā)系統(tǒng)包括系統(tǒng)建造器、帶運(yùn)行時(shí)間庫(kù)的C編譯器、匯編器、連接器、PROM劃分器等。通過(guò)編譯連接匯編源程序,可以生成EXE文件。此文件是存儲(chǔ)映像文件,可以加載到仿真器上進(jìn)行仿真;調(diào)試成功后,通過(guò)PROM劃分器和EPROM燒制設(shè)備可以寫(xiě)入EPROM,系統(tǒng)復(fù)位時(shí)DSP加載EPROM程序便可自動(dòng)運(yùn)行,控制整個(gè)系統(tǒng)的工作。

  系統(tǒng)軟件設(shè)計(jì)采用自舉和中斷控制兩種方式。自舉方式是系統(tǒng)一上電,ADSP-2181讀取EPROM中的程序,自動(dòng)運(yùn)行程序去控制整個(gè)系統(tǒng)工作。

  中斷控制利用了ADSP-2181的兩個(gè)中斷,即sport0接收中斷和timer中斷。ADSP-2181的sport0與AD73311相連。當(dāng)?shù)玫揭粋€(gè)采樣數(shù)據(jù)時(shí),產(chǎn)生一個(gè)接收中斷,ADSP-2181讀取便得到采樣數(shù)據(jù)。由于sport0是全雙工的,當(dāng)產(chǎn)生接收中斷時(shí),同時(shí)可以發(fā)送數(shù)據(jù),一方面在錄音時(shí)可以得到回放效果;另一方面則在播放時(shí)可直接發(fā)送數(shù)據(jù),而對(duì)采樣數(shù)據(jù)置之不理,這樣便于解碼數(shù)據(jù)以固定的碼率回放。Timer中斷定時(shí)檢測(cè)外部控制引腳狀態(tài),包括錄音、放音、快放及碼率轉(zhuǎn)換4個(gè)引腳,每個(gè)引腳的0/1狀態(tài)對(duì)應(yīng)兩種控制,即開(kāi)始錄音/停止錄音、開(kāi)始放音/停止放音、5.3kbps/6.3kbps碼率轉(zhuǎn)換及快放狀態(tài),共有七個(gè)狀態(tài)。

  DSP匯編語(yǔ)言的結(jié)構(gòu)與ASM匯編語(yǔ)言類似,其開(kāi)頭部分對(duì)應(yīng)中斷向量表。工作在中斷方式時(shí),則向量表對(duì)應(yīng)中斷處一般為一條跳轉(zhuǎn)語(yǔ)句;產(chǎn)生中斷時(shí),則跳到相應(yīng)語(yǔ)句執(zhí)行中斷控制功能。

  主程序的中斷設(shè)置部分如下:

  JUMP start;NOP;NOP;NOP;        {reset start interrupt}

  RTI;NOP;NOP;NOP;               {IRQ2}

  RTI;NOP;NOP;NOP;               {IRQL1}

  RTI;NOP;NOP;NOP;               {IRQL0}

  RTI;NOP;NOP;NOP;               {sport0 transmit}

  JUMP sportReceive;NOP;NOP;NOP; {sport0 receive}

  RTI;NOP;NOP;NOP;               {IRQE}

  RTI;NOP;NOP;NOP;               {BDMA}

  RTI;NOP;NOP;NOP;               {sport1 transmit}

  RTI;NOP;NOP;NOP;               {sport1 receive}

  JUMP settimer;NOP;NOP;NOP;     {timer interrupt}

  RTI;NOP;NOP;NOP;               {PowerDown}

  sporto和timer中斷控制說(shuō)明如下:

  (1)sporto接收數(shù)據(jù)中斷

  在程序中,數(shù)據(jù)處理集中在此進(jìn)行。主要過(guò)程是:在錄音時(shí),每收到240個(gè)采樣數(shù)據(jù),就進(jìn)行G.723編碼,將編碼結(jié)果保存到閃速存儲(chǔ)器中;在播放時(shí),每次讀取24個(gè)數(shù)據(jù),將讀到的數(shù)據(jù)進(jìn)行解碼,再通過(guò)串行口發(fā)送出去,經(jīng)揚(yáng)聲器還原成語(yǔ)音信號(hào)。其流程如圖6所示。

 

  (2)timer中斷

  timer中斷用來(lái)檢測(cè)用戶的控制信息及顯示運(yùn)行時(shí)間信息。用戶控制有4個(gè),即碼率選擇、錄音控制、放音控制及快退控制。對(duì)應(yīng)這4個(gè)控制引腳,初始設(shè)定為輸入態(tài),然后通過(guò)檢測(cè)各個(gè)引腳的電平設(shè)定工作態(tài)。其流程如圖7所示。

 

4 系統(tǒng)調(diào)試

  系統(tǒng)調(diào)試要使用AD公司提供的ADSP21××系列的整套軟件開(kāi)發(fā)工具和仿真器。筆者使用ADSP-2181-EZ-ICE仿真器進(jìn)行調(diào)試。仿真器上自帶33MHz的2181,調(diào)試支持20個(gè)斷點(diǎn),可單步、設(shè)斷點(diǎn)和全速運(yùn)行,可隨時(shí)觀察和修改寄存器和存儲(chǔ)單元的值。仿真器上提供了一個(gè)14針的仿真接口,仿真器通過(guò)此接口仿真控制目標(biāo)系統(tǒng)。仿真器與計(jì)算機(jī)間有一個(gè)RS-232接口,通過(guò)數(shù)據(jù)帶連到計(jì)算機(jī)的串行口上,在仿真器開(kāi)發(fā)平臺(tái)上就可以進(jìn)行軟件調(diào)試。

  系統(tǒng)調(diào)試時(shí)遇到的主要問(wèn)題是存儲(chǔ)器讀寫(xiě)及LCD的顯示問(wèn)題。開(kāi)始時(shí)發(fā)現(xiàn)寫(xiě)進(jìn)閃速存儲(chǔ)器的數(shù)據(jù)與讀出的數(shù)據(jù)不符。經(jīng)仔細(xì)分析,發(fā)現(xiàn)是由于沒(méi)有嚴(yán)格按照閃速存儲(chǔ)器的讀寫(xiě)操作時(shí)序進(jìn)行編程,或是延遲量不夠,或是兩個(gè)信號(hào)的先后次序弄反了,數(shù)據(jù)可能根本沒(méi)有寫(xiě)進(jìn)去,讀出的數(shù)據(jù)當(dāng)然是錯(cuò)的。在嚴(yán)格按照其說(shuō)明書(shū)的時(shí)序進(jìn)行編程控制后,數(shù)據(jù)的讀寫(xiě)擦除操作完全正常。

  在播放錄音數(shù)據(jù)時(shí),曾出現(xiàn)聲音跳變不連續(xù)的問(wèn)題,經(jīng)分析發(fā)現(xiàn)原因在于地址定位時(shí)出錯(cuò)。因?yàn)閷?duì)閃速存儲(chǔ)器操作時(shí)每次讀寫(xiě)都是一幀數(shù)據(jù),而編解碼時(shí)一次操作的數(shù)據(jù)為20/24個(gè)字節(jié),兩者長(zhǎng)度不一樣,需要進(jìn)行轉(zhuǎn)換操作。

  LCD開(kāi)始調(diào)試時(shí)沒(méi)有信息顯示。經(jīng)分析發(fā)現(xiàn)原因在于工作周期。本系統(tǒng)中ADSP-2181處理器的機(jī)器周期為30ns,經(jīng)設(shè)定最大的等待周期為7機(jī)器周期后也才有240ns,而LCD的工作使能脈寬至少要300ns。因此在硬件上增加了一單穩(wěn)延遲電路,這樣便解決了此問(wèn)題。

 

參考文獻(xiàn)

1 楊行峻,遲惠生. 語(yǔ)音信號(hào)數(shù)字處理.北京:電子工業(yè)出版社,1995

2 ITU-T DRAFT G.723[z].INTERNATIONAL TELECOMMU-NICATION UNION,1995

3 DSP Microcomputer ADSP-2181[z]. USA: ANALOG DEVICES Inc., 1997

4 Flash Memory Data Book[z]. Korea: SAMSUNG,1998

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