<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 設計應用 > 單聲道/立體聲錄放芯片MSM9841及其在數(shù)字語音錄放機中的應用

          單聲道/立體聲錄放芯片MSM9841及其在數(shù)字語音錄放機中的應用

          作者: 時間:2005-02-03 來源:網絡 收藏

          摘要:是日本OKI(沖)電氣半導體公司研制的單聲道/控制處理大規(guī)模集成。文中介紹了該的結構、特點、工作原理中的。

          關鍵詞: FIFO

          1 引言

          是日本OKI(沖)電氣半導體公司研制的帶有1kbitFIFO(先進先出)存儲器的單聲道/控制處理大規(guī)模集成。它可以很方便的同外部系統(tǒng)或非半導體存儲器進行接口,且具有多種模式。由于該芯片采用了較新的ADPCM2算法,因而可以保證非常高的語音回放質量。MSM9841的錄音和回放功能可以由微處理器通過8/16bit的總線接口來進行控制。MSM9841采用56腳QFP封裝,電源電壓為2.7V~5.5V,振蕩頻率為4.096MHz時的代樣頻率有以下值可供選擇:4.0 kHz、6.4 kHz、8.0 kHz、12.8 kHz、16.0 kHz、32.0 kHz(僅用于回放);振蕩頻率為5.6448 MHz時,采樣頻率可以選擇22.05 kHz或44.1 kHz(僅用于回放)。MSM9841具有8/16bit總線接口和DMA接口且內含低通濾波器、14bitA/D和D/A轉換器,采樣頻率為16 kHz或更低;具有由用戶定義(256/512/1024bit)的FIFO存儲功能(當使用8 kHz采樣頻率,4bitADPCM2/ADPCM算法,非模式時,其緩沖時間為32ms);支持4種錄放壓縮算法,即4/5/6/7/8bit ADPCM2算法、4bit ADPCM算法、16 bit PCM算法和8bit非線性PCM算法;通過控制命令可實現(xiàn)8級音量控制(0dB~21dB)。

          2 引腳排列及功能

          MSM9841的引腳排列如圖1所示,各引腳的功能如下:

          D15~D8:對于8 bit總線接口,這些管腳可以通過命令被定義到外部存儲器的輸入輸出接口。否則,這些管腳只能定義為輸入管腳。對于16 bit總線接口,這些管腳可用作外部存儲器或微處理器的雙向數(shù)據(jù)總線。

          D7~D0:到外部存儲器或微處理器的雙向數(shù)據(jù)總線。

          WR:寫允許,低有效。

          RD:讀允許,低有效。

          CS:讀寫功能允許,低有效(低電平時,允許讀寫功能操作)。

          D/C:當該管腳為高電平時,語音數(shù)據(jù)可以從D0~D15引腳輸入或輸出。當該管腳為低電平時,D0~D7引腳用于輸入控制命令或輸出狀態(tài)。

          BUSY:當處于錄音、回放、暫停狀態(tài)時,該管腳輸出低電平。

          圖2

          EMP:當FIFO存儲器中無數(shù)據(jù)時該管腳輸出高電平,通過命令可使該管腳由高電平變?yōu)榈碗娖健?/P>

          MID:當FIFO中的數(shù)據(jù)超過FIFO存儲空間的一半時,該管腳輸出高電平。在回放期間,MID為高電平時開始語音合成。通過命令可使MID由高電平變成低電平。當不使用FIFO時,該管腳可為語音的輸入/輸出提供一個同步信號。

          FUL/DREQR:當FIFO存儲空間已滿時,該管腳輸出高電平。在回放期間,該管腳為高電平,F(xiàn)IFO中不能寫入數(shù)據(jù)。FUL/DREQR輸出的高電平可由命令輸入來將其改變成低電平。當選擇DMA轉換和立體聲回放時,DREQR輸出高電平信號表示需要DMA轉換。DREQR輸出的高電平亦可由命令輸入平將其改變成低電平。

          CH/DACKR:當選擇立體聲回放且CH為高電平時,EMP、MID或FUL管腳輸出右移FIFO的狀態(tài)。當CH為低電平時,EMP、MID或FUL管腳輸出左移FIFO的狀態(tài)。在錄音和單聲道回放時需將該管腳設置為低電平。當選擇DMA轉換和立體聲回放時,該管腳為DACKR功能。在這種情況下,輸入DMA轉換應答信號到DACKR。當DACKR為低電平時,IOW信號被接受。DACKR輸出的低電平可由命令輸入來將其改變成高電平。

          DREQL:當選擇DMA轉換和立體聲回放時,DREQL輸出高電平表示需要DMA轉換。DREQL輸出的高電平可由命令輸入來將其改變成低電平。

          DACKL:當DMA控制器允許DMA轉換時,可輸入一個信號到DACKL端。如果DACKL為低電平,IOW和IOR信號將被接受。當選擇立體聲回放時,可給DACKL端輸入左移FIFO的DMA轉換應答信號。DACKL端的低電平可由命令輸入將其改變成高電平。如果不使用DMA轉換,應將該腳置為高電平。

          IOW:在DMA轉換時,該管腳為將外部數(shù)據(jù)寫入MSM9841的寫脈沖輸入管腳。如果不使用DMA轉換,將該引腳置為高電平。

          IOR:在DMA轉換時,該管腳可作為MSM9841的讀脈沖輸入管腳。如果不使用DMA轉換,應將該引腳置為高電平。

          圖3

          ADSD:當使用外部ADC時,該管腳為16bit串行數(shù)據(jù)輸入管腳,如果不使用外部ADC,則應將該引腳置為低電平。

          DASD:當使用外部DAC時,該管腳為16 bit串行數(shù)據(jù)輸出管腳。

          SIOCK:當使用外部ADC或DAC時,該管腳為16 bit串行數(shù)據(jù)輸入/輸出的同步時鐘管腳。

          XT,XT:外部振蕩器連接管腳,當使用外部時鐘時,可將外部時鐘輸入到該管腳。

          VCK:錄音和回放時的輸出采樣頻率。當用外部ADC或DAC時,VCK管腳的信號被用作同步信號。

          RESET:復位管腳,低有效。

          TESTO、TESTI:測試管腳,將該引腳置為低電平。

          SG:模擬地輸出管腳。

          MIN,LIN:內部OP放大器的反相輸入端,同相輸入端內部已連到信號地。

          MOUT,LOUT:MOUT為內部放大器到MIN的輸出端,LOUT為內部放大器到LIN的輸出端。

          AOUTL:內部LPF(低通濾波器)左路模擬信號輸出端。它是回放信號波形輸出端,將該管腳連到放大器后可驅動揚聲器。

          AOUTR:內部LPF(低通濾波器)右路模擬信號輸出端。它是回放信號波形輸出端,將該管腳連到放大器后可驅動揚聲器。

          DVDD:電源。在該管腳和地之間應接一個0.1μF電容。

          DGND,AGND:數(shù)字地和模擬地。

          AVDD:模擬電源。在該管腳和模擬地之間應接一個0.1μF電容。

          3 內部結構及工作原理

          MSM9841的內部結構如圖2所示,它主要由微處理器、定時控制器、音量控制器、ADPCM2/ADPCM/PCM分析器、ADPCM2/ADPCM/PCM/非線性PCM合成器、直接存儲器訪問接口、FIFO、ADC、DAC、LPF等部件構成。

          對MSM9841可采用二進制編碼命令進行控制,從而完成錄音、回放、停止、暫停、音量調節(jié)、DMA轉換、設置使用內部或外部D/A、A/D、信號輸出模式選擇等功能。該控制命令的長度為8bit。

          4 以MSM9841為核心的

          基于MSM9841的錄放機電路如圖3所示,該錄放機采用雙CPU模式,以單片機AT89C52作為錄放音模塊的主控單元。鍵盤和液晶顯示模塊以AT89C2051作為主控單元,通過串口與錄放音模塊變換指令與數(shù)據(jù)。由于本錄放機未采用DMA方式,故MSM9841的DMA控制管腳均接高電平。MSM9841中D/C管腳的電平高低可決定數(shù)據(jù)總線上的數(shù)據(jù)類型。當D/C為低電平時,數(shù)據(jù)總線上的信號為系統(tǒng)控制命令;當D/C為高電平時,總線上的信號為語音數(shù)據(jù)。由于AT89C52是8位單片機,而MSM9841支持16位或8位數(shù)據(jù)總線,所以,在系統(tǒng)工作時,首先要利用MSM9841的控制命令將其設置為8位數(shù)據(jù)總線模式。

          錄放機音頻輸出端采用音頻功率放大器LM386,其電路連接如圖4所示。當電源電壓為+5V時,LM386輸出功率為300mW左右。MSM9841內部有2個運算放大器,可用于放大麥克風的語音信號,每個運算放大器對外提供反向輸入端和輸出端,而同向輸入端則在芯片內部與模擬地相連。兩個運算放大器可以級連,通過調節(jié)外部電阻阻值即可獲得所需的放大倍數(shù)。通過下式可調節(jié)VLO,以使其處于LOUT管腳所允許的電壓范圍內:

          VLO=(R4/R3)VMO=(R2R4/R1R3)VIN(V)

          當供電電壓為5V時,LOUT引腳所允許的電壓范圍為1~4V.LOUT管腳在芯片內部與輸入低通濾波器相連,可用于去掉超過1/2采樣頻率的輸入頻率分量。這樣,就可滿足數(shù)據(jù)采樣系統(tǒng)所適用的奈奎斯特定理,然后送ADC進行數(shù)據(jù)采樣。放大電路通過隔直電容與麥克風相連,隔直電容主要用于去掉低電平交流信號(約2~20mV)中的直流信號。整個音頻輸入電路如圖5所示。

          整個刻錄機系統(tǒng)采用4片2M8 bit的DRAM MSM5116800作為語音存儲介質,在較高質量的8kbps的采樣速率下,若采用4 bit的ADPCM2算法,4片MSM5116800能夠記錄的語音長度大約是41.02420008/(84)=2048s。2M8 bit的DRAM的地址總線共20位,分為高位地址(即A0~A8和A9R~A11R共12位構成行地址Row address)和低位地址(即A0~A8共9位構成的列地址Column address),兩者通過分時復用共用9根地址線A0~A8,每片DRAM的尋址范圍為000000H~7FFFFFH,各片DRAM通過不同的CAS信號線來區(qū)別。DRAM有多種不同的讀寫模式和存儲單元數(shù)據(jù)刷新模式,在本系統(tǒng)中,由于所需要的數(shù)據(jù)率非常低,所以可采用最基本的讀寫模式,即先發(fā)送完整的地址信號(包括行地址和列地址),然后讀寫;而刷新模式則采用cas-before-ras方式,并將刷新脈沖穿插到讀寫時序中間。

          該系統(tǒng)通過接收鍵盤指令來完成錄放音的操作。錄音時,首先利用二進制命令對MSM9841進行初始化,具體內容包括:設置語音合成方式為4 bit的ADPCM2算法;選擇采用內部ADC;設置總線寬度為8位;不采用DMA方式;配置FIFO的大小,F(xiàn)IFO最大可配置為1024 bit;設置輸出數(shù)據(jù)的模式;設定采樣頻率為8.0 kHz。此采樣頻率可使語音音質大大優(yōu)于電話的音質。提高采樣頻率還可使音質進一步得到改善,但錄音時間也就相應縮短;反之,較低的采樣頻率會增加錄音時間,但會降低音質。

          初始化完成之后即可發(fā)出控制命令10H(采樣頻率為8.0 kHz)來啟動錄音操作。在錄音的過程中當FIFO中的語音數(shù)據(jù)超過FIFO存儲空間一半時,MID引腳將變?yōu)楦唠娖?,并產生外部中斷信號送至MCU(微處理器)的INT1端以使MCU產生中斷響應,此時,MCU開始讀取FIFO中的語音數(shù)據(jù),然后轉存到DRAM之中,讀取過程中還要查詢EMP端的狀態(tài),以免FIFO讀空。

          與錄音相同,放音時首先進行同樣的初始化,然后發(fā)控制命令20H(采樣頻率為8.0 kHz)啟動放音操作。MCU開始從DRAM中讀取要播放的語音數(shù)據(jù)并寫入FIFO中,當FIFO中的語音數(shù)據(jù)裝滿時,F(xiàn)UL引腳將變?yōu)楦唠娖?,并產生外部中斷信號送至MCU的INTO端以使MCU產生中斷響應,此時應停止向FIFO寫入數(shù)據(jù)。

          在MCU錄、放音的過程中,可根據(jù)鍵盤指令向MSM9841發(fā)出暫停或停止命令,以暫停或結束錄、放音操作。同時利用液晶顯示器來顯示當前正在執(zhí)行的操作及操作結果。通過鍵盤和液晶進行人機交流可方便的實現(xiàn)多段語音的錄放操作以及音量調節(jié)等功能。

          5 結束語

          基于MSM9841的錄放機在使用較為滿意8kbps的比特率時,其錄放音時間大約為34分鐘。若需延長錄放音時間,可對存儲部分進行擴展。系統(tǒng)使用廉價的DRAM作為語音存儲介質,因此成本較低。整機具有結構簡單、性能可靠、人機交互界面友好、使用方便等一系列優(yōu)點,因而具有較好的前景。如果將存儲部分的DRAM換成FLASH或鐵電存儲器,該機還可被廣泛地于公交車報站系統(tǒng)、錄音電話、自動語音服務臺等領域。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();