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