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