摘 要: 介紹了應用AMBE-2000TM聲碼器" title="聲碼器">聲碼器和MT9172數字網絡" title="數字網絡">數字網絡接口芯片設計的語音通信系統" title="通信系統">通信系統的具體實現方案。給出了該語音通信系統中AMBE-2000TM與A/D-D/A" title="D/A">D/A的接口電路。
關鍵詞: AMBE-2000TM AD73311 數字網絡接口
先進多帶激勵(AMBE)算法是一種基于多帶激勵(MBE) 語音模型的低比特率、高性能的語音壓縮編碼方法。它不僅碼率低,在低碼率情況下能夠保持優良的語音合成的自然度效果,同時還具有良好的抗背景噪聲能力。正因為AMBE語音壓縮編碼的這些優點,本文采用美國DVSI公司的AMBE-2000TM聲碼器芯片作為語音壓縮的編解碼芯片,設計語音通信系統。AMBE-2000TM聲碼器芯片是一款高性能、低功耗、可變速率的單片實時全雙工語音壓縮解壓芯片。該芯片采用改進的多帶激勵(AMBE)算法。其壓縮率可在2.0kbps~9.6kbps范圍內由軟件調節。本文介紹的語音通信系統具有設計簡便、音質優、功耗低等優點。
1 語音通信系統
語音通信系統由CPU、AMBE-2000TM聲碼器芯片、可編程邏輯器件(FPGA)、Flash、A/D-D/A電路、數字網絡接口芯片等構成。CPU采用的是AT89C55單片機,用于控制和讀寫AMBE-2000TM聲碼器;可編程邏輯器件采用EP1K30,用于完成系統所需時序;Flash采用一片EPC2,用于存儲程序和初始化數據;A/D-D/A電路由AD公司的AD73311構成;數字網絡接口芯片采用的是Zarlink公司的MT9172,工作在調制解調器模式。
可編程邏輯器件EP1K30除用于產生系統所需的各種時序外,還對數據包進行處理,完成數據的拆包、組包。EP1K30功耗非常低,速度非常快,使用方便。EP1K30需要空出五個引腳與EPC2進行數據交換。EPC2是EP1K30的配置芯片,屬于Flash Memory(閃存)器件,具有可擦寫功能。
MT9172數字網絡接口芯片(簡稱DNIC)是一種能在普通雙絞線上提供高速、全雙工數字傳輸的多功能芯片。其最高傳輸速率可達160kbit/s。由于采用了先進的自適應回波抵消技術,使其只用單根雙絞線對即可實現全雙工通信。該芯片支持ISDN(綜合業務數字網)的2B+D(兩個64kbps的B通道和一個16kbps的D通道)數據格式。具備幀同步和時鐘提取能力。
2 AMBE-2000TM與AD73311接口設計
AMBE-2000TM的編碼器和解碼器可同時完成語音的編碼和解碼任務;并且所有的編碼和解碼操作都在芯片內部完成,不需要外擴的存儲器。
AMBE-2000TM芯片內部時鐘工作在66MHz,但由于內部有PLL電路,只需外接16.384MHz晶體即可。芯片外部接口簡單,基本無須額外的外圍器件,可接收A律或μ律編碼的PCM數據,編碼速率為2.0kbps~9.6kbps可調。
語音接口采用外置的A/D-D/A芯片。下面介紹A/D-D/A接口電路的設計。A/D-D/A芯片的選擇對于設計出具有優良語音質量的系統非常關鍵[1]。在選擇A/D-D/A芯片時,需要考慮這些芯片的信噪比和濾波性能。一般應優先考慮那些16位線性A/D-D/A芯片,以獲得較好的語音質量。
AD73311內含16位信噪比為75dB的A/D轉換器和16位信噪比為70dB的D/A轉換器,采樣頻率和輸入輸出增益均可程控,自帶參考電壓及串行輸入輸出接口等[2]。A/D轉換編碼通道包括可編程增益放大器、模擬∑-△調制器、反混迭數字濾波抽取器。D/A轉換解碼通道的構成和工作原理與A/D轉換編碼通道相似,包括反鏡像數字濾波內插器、數字∑-△解調器、1bitD/A轉換器、低通濾波器和帶差分輸出端的可編程增益放大器[3]。
AD公司的AD73311用起來非常靈活,內部共有五個控制寄存器組(CRA、CRB、CRC、CRD、CRE),通過送控制字" title="控制字">控制字控制它的工作模式、芯片級連個數、內部參考電壓的電源控制、輸入輸出可編程放大器的增益等。如果AMBE-2000TM的CODEC_SEL[1-0](85腳、84腳)被設置為01b,聲碼器芯片送控制字到AD73311的控制寄存器。控制字的設置如表1[1]所示。AMBE-2000TM聲碼器芯片與AD73311的接口連接框圖如圖1所示[1]。
3 AMBE-2000與主機的接口設計
AMBE-2000TM與主機AT89C55的接口有兩種模式:主動模式和被動模式。在主動模式下,數據選通信號(strb)由AMBE-2000TM聲碼器芯片內部產生;而在被動模式下,數據選通信號由外部提供。聲碼器與主機接口的數據格式分為兩種:有幀格式和無幀格式。本系統采用主動模式和有幀格式。有幀格式是24×16bit字的格式。每20毫秒編碼器輸出24個16bit字,同時解碼器接收24個16bit字。輸入幀格式中前12個字組成頭。格式字0固定為0x13EC,起同步作用;格式字1用于控制電源模式等;格式字2~6指定和表示芯片的壓縮數據率;格式字7、8、9設為0x0000,不用;格式字10用于控制和表示DTMF信號的幅度;格式字11用于解碼器音量控制;格式字12~23為真正的壓縮數據信息。輸出幀格式和輸入幀格式基本相同,只有格式字7不同,在輸入格式中不用,而在輸出格式中用來表示位錯率。
AMBE-2000TM輸出的所有數據并不是都通過信道。只有語音信息才通過信道。在語音傳輸系統中,從編碼器輸出的數據包中抽去原始幀頭,加上系統幀頭,然后經過MT9172DNIC送到信道。接收時,把從信道過來的數據重新組合,去系統幀頭加上原始幀頭再送給解碼器解碼,最后送到揚聲器。圖2給出了系統工作原理框圖。
聲碼器AMBE-2000TM以20ms為周期全雙工并行工作。每隔20ms聲碼器都有一個低脈沖(EPR)通知外圍器件,表示一幀數據已經準備好,外部可以讀取幀數據信息。需要注意的是EPR信號不能用作中斷。
AMBE-2000的幀數據輸出輸入都采用三線方式,即時鐘(chan_clk)、 同步(chan_strb)以及數據(chan_data)串行。這三個信號的時序關系如圖3所示。
4 用MT9172實現基帶數據調制解調器
MT9172內部主要包括發送接口、接收接口、線路接口、回波抵消器、擾碼/解擾碼器、二相差分編碼/解碼器、收發時序與控制電路以及時鐘鎖相環路等[4]。
發送接口和接收接口又都包括一個數據/語音接口(簡稱DV口)和一個控制/數據接口(簡稱CD口),DV口用于傳送語音編碼信息或其它用戶數據信息,CD口用于傳送各種控制信息和低速數據。DNIC有多種工作模式,兩個主要模式是調制解調器模式(MODEM)和數字網絡模式(DN) 。在DN模式下,線路輸出ISDN的2B+D數據,而在MODEM模式下,DV和CD口是透明的串行數據流口。另外,其工作方式還有主/從以及單/雙口之分。主方芯片的時間基準信號和幀同步時鐘由外部高穩定度的時鐘源提供,而從方則直接從線路上提取。
在一個數據傳輸鏈上,必須一端工作在主方式,而另一端工作在從方式。雙口工作時,DV口和CD口都有效;而單口工作時,所有的信息都通過DV口傳遞,CD口無效。在MODEM模式下,必須用雙口工作,D信道和兩個B信道都不再存在,線路口仍為80kbit/s或160kbit/s傳輸,但沒有了同步位開銷,只有透明數據傳輸。
利用MT9172芯片設計數據調制解調器,必須正確設定工作方式。圖4是用該芯片設計的調制解調器的硬件框圖,工作在雙口方式。方式控制端MS0接+5V、MS1接地,當MS2接地時,MT9172工作在主方式;當MS2 接+5V時,MT9172工作在從方式。主方式工作時,10.24MHz時鐘應由外部的數字鎖相環路提供高穩定度的時鐘,而從方式時,可在OSC1、OSC2端直接連10.24MHz晶體。工作時,需要對MT9172進行初始化操作。由單片機通過MT9172的CD口往控制寄存器寫入“00000000”或“00010000”即可。當控制字為全零時,選擇數據傳輸速率為80kbit/s(其中,64kbit/s用于傳輸數據終端設備DTE的數據),預擾碼,解擾器被屏蔽;當控制字為”00010000”時,數據傳輸速率為160kbit/s(其中,128kbit/s用于傳輸DTE數據)。
該系統在串行有幀模式下,可以把AMBE-2000的串行輸入輸出腳相互短接,進行系統自檢。自檢時,在2.0kbps的速率和無糾錯碼情況下,仍有較好的語音質量。如果加上前向糾錯編碼,還可以對信道誤碼進行一定程度的糾錯。
設計時,要注意晶振的選取和電路板上模擬信號和數字信號的連接。要選用小型矮封裝的晶振。模擬地和數字地在一點通過磁珠相連,模擬電源和數字電源在一點通過磁珠相連,可有效減小背景噪聲的引入。
參考文獻
1 AMBE-2000TM Vocoder Chip User’s Manual Version 4.2. Digital Voice Systems Inc., June 2004
2 AD73311 Data Sheet. Analog Devices Inc., 1997
3 張歆奕,盧敦陸,張有為. AD73311通用模擬前端的原理及其在語音處理中的應用. 電子技術應用, 1999;25(8):53~55
4 MT9172 Data Sheet. ZARLINK Inc.,1999