??? 摘? 要: 介紹多媒體網(wǎng)關中模擬電話語音卡的軟硬件設計。一個基于TMS320VC5402處理器、AM79R79(SLIC)用戶線路接口芯片" title="接口芯片">接口芯片和AM79Q02(SLAC )用戶音頻處理芯片及PCI9052 PCI橋接芯片的模擬電話語音卡的設計。?
????關鍵詞: 多媒體網(wǎng)關? 模擬電話語音卡? DSP? PCI總線
?
??? 目前,熱點的CTI(計算機電話集成)應用有媒體網(wǎng)關、IP電話、IP傳真等。軟交換有時又稱為呼叫服務器或媒體網(wǎng)關控制器。軟交換的基本概念是把呼叫控制功能從傳輸層(媒體網(wǎng)關)中分離出來。通過服務器上的軟件實現(xiàn)基本呼叫控制功能,如呼叫選路、管理控制、信令互通。由于把呼叫控制與呼叫傳輸分離開來,為控制、交換和軟件可編程功能建立分離的平面,使業(yè)務提供者可以方便地將傳輸業(yè)務與控制協(xié)議結合起來,實現(xiàn)業(yè)務轉移。?
??? 電話語音卡是構筑各種CTI應用系統(tǒng)的基礎,它是一種用于電腦并能夠實現(xiàn)語音處理的電腦插件。電話語音卡(簡稱語音卡)的主要功能是:通過計算機與電信網(wǎng)相連,提供撥號、振鈴檢測與控制摘掛機、信令檢測、轉接內(nèi)線、監(jiān)控錄音、傳真、數(shù)據(jù)傳輸、主叫號偵測等服務功能。作為實現(xiàn)語音處理的功能部件,語音卡一般都有與電話網(wǎng)的接口。與電話網(wǎng)不同的接口類型,可分為模擬語音卡和數(shù)字語音卡。?
??? 以下將介紹一個基于TMS320VC5402處理器(簡稱DSP5402)、AM79R79(SLIC)用戶線路接口芯片和AM79Q02(SLAC)用戶音頻處理芯片及PCI9052 PCI橋接芯片所構成的模擬電話語音卡設計。?
1 系統(tǒng)總體方案?
??? 在設計中,電話語音卡實現(xiàn)了16路話音的接續(xù)控制和成幀" title="成幀">成幀功能。系統(tǒng)通過PCI總線與DSP5402交互,對單板進行維護和管理;語音業(yè)務通過TDM(時分多路復用)總線連接;單板內(nèi)部則由DSP5402完成對語音的接續(xù)控制和成幀功能??傮w設計框圖如圖1所示。?
?
?
2 硬件電路的設計?
2.1 DSP5402簡介?
??? DSP5402是TI公司的54X系列16bit" title="16bit">16bit定點DSP,具有低功耗、高性價比的特點。具體特點如下:擴展地址模式最大可尋址到1M×16bit外部程序空間,4K×16bit片上ROM,16K×16bit片上雙口RAM;指令集支持單指令循環(huán)和塊循環(huán),存儲塊移動指令提供高效的程序和數(shù)據(jù)存儲器管理;片上硬件資源包括軟件可編程等待狀態(tài)發(fā)生器和可編程存儲單元轉換,連接內(nèi)部振蕩器或外部時鐘源的鎖相環(huán)(PLL)時鐘發(fā)生器,兩個多通道緩沖串口(McBPs),增強型8bit并行主機接口(HPI8),兩個16bit定時器,6通道直接存儲器訪問(DMA)控制器;工作電源有3.3V和1.8V(內(nèi)核);在3.3V供電(1.8V核心電壓)下單周期定點指令的執(zhí)行周期可達10ns(100MIPS)。?
??? 設計中DSP5402一方面通過PCI總線完成與主機的通信、數(shù)據(jù)交換,另一方面完成對語音的接續(xù)與成幀功能的控制,以及語音信號和信令處理功能。?
??? 因此DSP5402外圍設計分兩部分:?
??? (1)DSP5402與PCI9052的硬件接口?
??? 完成DSP5402的HPI總線與PCI9052 LOCAL本地總線連接,主機從而可以通過PCI總線與DSP5402進行通信。首先通過HPI對DSP5402進行程序加載并啟動,然后完成對語音板的監(jiān)控操作。?
??? 當DSP5402與主機(HOST)交換信息時,HPI是主機的一個外圍設備。它有如下特點:可訪問所有片內(nèi)RAM空間、HOST訪問總是與DSP5402時鐘同步、HOST和DSP5402均可訪問片內(nèi)RAM。?
??? PLX公司的PCI總線控制芯片PCI9052完成PCI總線高速信號與LOCAL 側本地設備資源的信息交互。它提供了本地總線與PCI總線的接口,避免用戶直接面對復雜的PCI總線協(xié)議,提供高性能的從目標PCI接口板卡與PCI總線的連接;支持寬速率范圍的本地總線,最高可達132 Mbps的傳輸速率;對PCI9052編程可實現(xiàn)復用/非復用的8位、16位、32位的本地總線接口。?
??? 設計中PCI9052本地總線采用非復用8位模式與HPI8總線匹配,CPLD完成PCI本地總線與DSP5402的HPI總線互連,如圖2所示。其中具體信號定義如下:PCI本地側地址信號(LA27、LA0、LA[1:2]),配合PCI本地側讀寫信號LW/R#、地址使能信號ADS#及BLAST傳輸模式使能信號編碼生成HPI控制信號(如片選信號HCS#、數(shù)據(jù)字高低字節(jié)選擇信號HBIL、功能寄存器選擇信號HCNTL[0:1]及讀寫信號HRD#、HWR#);HPI準備就緒信號HRDY產(chǎn)生PCI本地側就緒信號READY#,可根據(jù)需要插入等待周期,達到實際時序要求;HPI中斷信號HINT#觸發(fā)PCI本地中斷信號LINT#;HPI數(shù)據(jù)總線HD[0:7]通過CPLD電平匹配與PCI本地側數(shù)據(jù)總線LD[0:7]連接。?
?
?
??? (2)DSP5402與AM79Q02(SLAC)的硬件接口?
??? 選用AMD公司SLIC用戶線路接口芯片AM79R79(簡稱SLIC)實現(xiàn)電話的接續(xù)各狀態(tài)的轉換,監(jiān)視電話線的負載變化,實現(xiàn)摘機檢測、饋電供給及振鈴傳送;與其實現(xiàn)無縫接口的SLAC用戶音頻處理芯片AM79Q02(簡稱SLAC)實現(xiàn)話音的A/D轉換,并成幀到PCM碼流中。SLAC提供的SPI MCU總線接口簡化了與MCU的硬線連接,并且SLAC(提供完全的SLIC的控制總線)與SLIC可實現(xiàn)無縫連接,因此對SLIC的控制可完全簡化為直接控制SLAC來間接完成,簡化了硬件電路的設計,節(jié)省了用戶的開發(fā)成本。?
??? SPI接口包括時鐘DCLK、片選及數(shù)據(jù)線DI/O,而沒有讀寫方向控制線,對讀寫方向的控制則通過寫單字節(jié)的讀寫命令字的bit0完成;讀寫命令字的bit7-bit1包含控制寄存器的地址信息,這樣就可以完成對SLAC的寄存器操作。?
??? 另外,設計SLAC的SPI接口時序需特別注意:每次讀寫操作低使能有效至少維持8個DCLK周期,即完成一個字節(jié)的讀寫操作;當低使能有效少于8個DCLK周期時,則該讀寫忽略;當低使能有效在8~15個DCLK周期,則取倒數(shù)的8個DCLK周期為有效讀寫周期;當低使能有效大于15個DCLK周期,則會引起硬件復位。?
??? 圖3是SLAC的MCU接口SPI總線時序圖。?
?
?
??? DSP5402有兩個多通道緩沖串口(McBPs),McBPs有多種配置模式,可根據(jù)需要配置成高速主從SPI接口,考慮到以后功能擴展需要,設計中保留了McBPs;采取由軟件讀寫通用I/O,模擬SPI時序并配合CPLD實現(xiàn)SPI接口,從而完成DSP5402與SLAC的硬件接口,并實現(xiàn)DSP5402對SLAC/SLIC單元的狀態(tài)監(jiān)視與控制。?
2.2 PCI9052?
??? PCI9052是PLX公司推出的一種PCI總線從設備接口芯片。它提供了方便的本地總線與PCI總線的接口,避免用戶直接面對復雜的PCI總線協(xié)議。?
2.3 AM79Q02與AM79R79?
??? 選用AMD公司SLIC/SLAC用戶線路接口與音頻處理、成幀電路。SLIC實現(xiàn)電話的接續(xù)各狀態(tài)的轉換,監(jiān)視電話線的負載變化,實現(xiàn)摘機檢測、饋電供給及振鈴傳送的功能;而SLAC實現(xiàn)話音的A/D轉換,并成幀到8Mbps的PCM碼流中。它還有如下特點:軟配置SLIC輸入阻抗、收發(fā)增益、回路損耗等線路參數(shù); A/μ率編碼或線性編碼可選;PCM碼流時隙再分配;單雙8Mbps的PCM通道可選;支持四路SLIC控制與語音處理,縮小了電路板的尺寸、降低了成本;其中內(nèi)部環(huán)回、音頻發(fā)生電路,方便了電路的故障診斷與測試。?
??? SLAC用戶線路音頻處理電路,如圖4所示。?
?
?
??? 另外SLAC與MCU通信提供SPI接口,簡化了與MCU的硬件連接;而且SLAC提供與SLIC無縫連接的SLIC控制與音頻接口,因此直接控制SLAC以間接完成對SLIC的控制,簡化了硬件電路和軟件編程。?
3 軟件設計?
??? 軟件設計分為如下兩部分:目標板" title="目標板">目標板內(nèi)驅動程序設計" title="程序設計">程序設計與主機程序設計(其中包括PCI驅動程序及主機應用程序開發(fā))。?
3.1 目標板內(nèi)驅動程序設計?
??? 目標板內(nèi)驅動程序可根據(jù)功能模塊劃分:系統(tǒng)自檢、測試模塊; SLAC/SLIC的控制模塊,實現(xiàn)包括線路激活、振鈴、待機和斷線狀態(tài),摘掛機檢測及檢測門限可編程;與主機通信模塊,實現(xiàn)主機對目標板的實時監(jiān)控。?
3.2 主機程序設計?
??? 這里將主機程序設計分為PCI驅動程序開發(fā)和主機應用程序開發(fā)兩部分。?
????PCI驅動程序使用Jungo公司的驅動程序生成軟件KernelDriver,使用十分方便。利用KernelDriver中的驅動程式生成向導,根據(jù)需要生成驅動程序代碼;在MS-VC++編譯環(huán)境編譯剛剛生成的驅動CPP代碼,調(diào)試沒問題了,PCI驅動程序開發(fā)也就完成了。
??? 主機應用程序則是在PCI驅動程序之上,調(diào)用相關的API函數(shù)對PCI設備進行操作,完成主機對目標板的程序加載及對其狀態(tài)進行實時監(jiān)控操作。?
??? 本方案設計中,CPU選用了性價比很高的TMS320VC5402,其CCS開發(fā)環(huán)境配合JTAG調(diào)試,開發(fā)方便;選擇可無縫連接使用的用戶線路接口芯片AM79R79、用戶音頻處理芯片AM79Q02以及靈活配置的PCI橋接芯片PCI9052,大大降低了軟硬件開發(fā)難度,加快了開發(fā)進度,達到了降低開發(fā)成本的最終目的。?
參考文獻?
1 TMS320VC5402 FixedPoint signal processor.TI Technology?document Sprs079e,2000.8?
2 PCI9052 Data Book. PLX Technology document,Version??2.0 September 2001?
3 Am79Q02/021/031Quad Subscriber Line Audio-Processing?Circuit(QSLAC(tm)) Devices . December 1999 Advanced??Micro Devices,Inc.?
4 Am79R79 Ringing SLIC User's Guide. October 1999?Addvanced Micro Devices,Inc.?
5 Texas Instruments TMS320VC5409/21 DSP to PCI Bus Application Note.PLX Technology document, June 16,2000