智能多業(yè)務(wù)語(yǔ)音片上系統設計
在中國IT行業(yè)快速發(fā)展的背景下,社會(huì )以及用戶(hù)需求的多樣性使電信設備運營(yíng)商、服務(wù)提供商面臨越來(lái)越多的競爭壓力。提高競爭力、加快業(yè)務(wù)開(kāi)發(fā)能力、設計符合市場(chǎng)需求的產(chǎn)品和業(yè)務(wù)是關(guān)鍵所在。生存中創(chuàng )新和創(chuàng )新中發(fā)展已經(jīng)成為必須面對和不得不解決的問(wèn)題。本文采用SoC設計方法在altera中高端FPGA器件實(shí)現可應用于電信多業(yè)務(wù)交換平臺的智能語(yǔ)音處理系統芯片。系統設計的關(guān)鍵在于片上系統三總線(xiàn)結構獨特設計、SDRAM(內存)控制器設計以及與系統主機之間共享信箱協(xié)議的制定。
1 系統設計
智能語(yǔ)音處理系統的設計實(shí)現基于Cyclone II EP2C35[12]器件。系統的核心處理功能與幾乎全部系統功能模塊全部通過(guò)LogicLock的功能在FPGA內實(shí)現,嵌入式處理器軟核Nios II作為智能語(yǔ)音處理系統的主處理器,用來(lái)管理單板的運行,負責協(xié)調系統各模塊之間工作,控制它們的工作狀態(tài)及各外設的操作;通過(guò)通信共享信箱單元,實(shí)現與程控交換機主機系統的通信,接受系統的管理和調度,借助以太網(wǎng)口從系統服務(wù)器下載系統運行程序和各種不同的語(yǔ)音數據。
Nios II處理器是具有最多的6級流水線(xiàn)(Fetch,Decode,Execute,Memory,Align,Writeback)的32位改進(jìn)哈佛RISC結構軟核處理器。多達256條用戶(hù)可定制指令可幫助用戶(hù)創(chuàng )建一個(gè)最適合他們需求的嵌入式系統。Nios II處理器高速緩存的實(shí)現是采用簡(jiǎn)單的直接映射的連續寫(xiě)入結構,這種結構設計能夠用最少的器件資源消耗獲得最高的性能,在Cyclone II器件中可以獲得超過(guò)166 DMIPS的性能。
有別于傳統的Harvard體系中雙總線(xiàn)結構,本系統設計采用三總線(xiàn)結構:內存(SDRAM)專(zhuān)用高速總線(xiàn)、ROMDISK(Flash)專(zhuān)用總線(xiàn)和與系統主機之間通信的共享信箱總線(xiàn)。滿(mǎn)足ROMDISK、內存和共享信箱總線(xiàn)三者之間大流量的數據傳輸,同時(shí)保證系統可以處理更多的任務(wù),這樣的體系結構為系統提供并發(fā)執行效率,提高處理器的利用率;多任務(wù)之間數據快速交換有效縮減等待時(shí)間,提高多任務(wù)處理得效率。
語(yǔ)音數據緩沖區和G.711/G.726協(xié)議處理器根據系統的要求向用戶(hù)提供包含基本語(yǔ)音、輔導語(yǔ)音、各種特色語(yǔ)音在內,基于ITU G.711/G.726語(yǔ)音壓縮協(xié)議的數據鏈路,為系統提供32路-256路速率16-64kbps語(yǔ)音通道,以1-8條2Mbps的高速PCM鏈路提供給系統使用。UART被用作系統調試接口,系統功能框圖如圖1所示。
2 業(yè)務(wù)流程
智能語(yǔ)音片上系統的主要工作是,滿(mǎn)足程控交換機系統和IP交換機系統的語(yǔ)音業(yè)務(wù)類(lèi)型和智能語(yǔ)音業(yè)務(wù)需求?;菊Z(yǔ)音存儲和輔導語(yǔ)音固化在本板的ROMDISK中,操作系統可以在上電初始化、操作系統裝載以及文件系統加載完成后,利用三總線(xiàn)機構將ROMDISK中存儲的各種常用的語(yǔ)音數據轉存到內存中。同時(shí)為了滿(mǎn)足業(yè)務(wù)的多樣性和靈活性,系統能夠從服務(wù)器網(wǎng)絡(luò )接收各種特色語(yǔ)音數據:如天氣預報、廣告數據以及用戶(hù)的留言信息等。正常語(yǔ)音業(yè)務(wù)工作流程如圖2所示。
3 系統關(guān)鍵部分設計
3.1 內存控制器
內存控制器(SDRAM)實(shí)現Nios II處理器和內存之間的操作,為系統實(shí)現多功能業(yè)務(wù)開(kāi)發(fā),提供可靠、大容量存儲空間。該模塊實(shí)現內存的初始化、刷新、數據傳輸等功能;支持的數據端口32位,時(shí)鐘頻率設置為100MHz,CAS Latency(CL)設置時(shí)間為2個(gè)時(shí)鐘,突發(fā)長(cháng)度設置為1-8。
在正確時(shí)間采用正確的方法采樣并鎖存數據是設計的難點(diǎn)。當內存的片選信號和讀信號有效時(shí),進(jìn)入讀操作狀態(tài)。列地址有效和寫(xiě)命令有效兩個(gè)時(shí)鐘后,內存芯片輸出數據(CL=2)在時(shí)鐘的上升沿將數據總線(xiàn)上數據采樣鎖存。模塊中設立一個(gè)數據采樣鎖存器,根據其時(shí)序要求,CL=2,有效數據延時(shí)輸出2CLKs,內部數據采樣鎖存器在數據有效時(shí)間內時(shí)鐘邊沿時(shí)刻執行采樣鎖存,完成從內存取得數據的過(guò)程,Nios II處理器Avalon總線(xiàn)從內存控制器中數據采樣鎖存器中得到數據,送外數據目的地。讀操作采用自動(dòng)預充功能讀命令(auto precharge after write burst)。內存進(jìn)入自動(dòng)預充操作后就處于空閑狀態(tài),等待下一個(gè)狀態(tài)的開(kāi)始。
3.2 共享信箱模塊設計
共享信箱是系統信箱數據區,定義了本系統和程控交換機系統或IP交換機的主處理單元之間通信命令參數和傳送放音命令及音源編碼。這是與系統可以正常進(jìn)行通信的關(guān)鍵。
共享信箱模塊基于FPGA內部的雙端口RAM構成,內部通過(guò)Avalon交換總線(xiàn)與Nios II處理器進(jìn)行通信,外部通過(guò)一個(gè)16位端口,以總線(xiàn)的方式與程控交換系統進(jìn)行通信,其容量的大小根據系統要求和FPGA向系統提供PCM鏈路數來(lái)決定。
系統每次放一部分語(yǔ)音,軟件記錄下?tīng)顟B(tài)值。下一次從這個(gè)值開(kāi)始繼續從存儲區向語(yǔ)音緩沖空間搬移一部分語(yǔ)音數據。寫(xiě)入的字節數根據語(yǔ)音緩沖空間設定,數據確定后,要在每一個(gè)中斷處理周期(語(yǔ)音緩沖區A/B區切換時(shí)間)將一定端口、一定數量的語(yǔ)音數據寫(xiě)入規定的RAM空間。句法結構如下:
3.3 語(yǔ)音數據緩沖區設計
緩沖區寫(xiě)端口側和系統Avalon總線(xiàn)聯(lián)系,其地址空間按照順寫(xiě)的方式進(jìn)行,難點(diǎn)在于讀端口側地址信號的產(chǎn)生。本文采用雙緩沖區空間方式,在FPGA內部設置兩塊同樣的存儲區域,通過(guò)地址產(chǎn)生器產(chǎn)生端口地址跳變、鏈路地址跳變和中斷的產(chǎn)生。
Nios II處理器按照程控交換系統主機的指令將所需的語(yǔ)音數據搬到語(yǔ)音數據緩沖區指定的地址空間;緩沖區可為每一個(gè)語(yǔ)音通道提供7字節的空間(N為偶數),CPU可以在每次語(yǔ)音處理中斷中,每路語(yǔ)音通道1次可以寫(xiě)入N/2字節的語(yǔ)音數據。在一個(gè)系統幀同步信號FS0周期內(125μs),對單個(gè)語(yǔ)音通道可以完成8位,即一個(gè)字節數據轉換,采用AB雙緩沖區的設計模式,N/2字節的數據需要在N/2個(gè)FS0完成,需要的時(shí)間就是125μsN/2,其周期根據系統響應中斷的時(shí)間、處理語(yǔ)音數據存取的時(shí)間、系統處理其他數據的時(shí)間等綜合考慮來(lái)確定,保證系統設定的中斷周期內完成業(yè)務(wù)處理,且不影響系統的整體運行效率。
從中斷的處理過(guò)程來(lái)看,每一次中斷的產(chǎn)生,響應和處理,系統總是需要對系統指針、放音位置等系統重要數據進(jìn)行壓棧堆棧和回復的處理,處理同樣的任務(wù),中斷周期短,系統的任務(wù)量都會(huì )相應增加。中斷時(shí)間的長(cháng)短選擇是設計中比較困難和關(guān)鍵的,需要根據處理器處理能力、完成數據轉換需要的時(shí)間、中斷任務(wù)的處理時(shí)間、FPGA的RAM容量等因素綜合進(jìn)行選擇,使用Nios II處理器,系統完成全部(128個(gè))語(yǔ)音通道數據轉換的時(shí)間,也就是中斷任務(wù)的處理時(shí)間為2.83ms。本設計中也是根據這個(gè)前提條件來(lái)設定中斷級別和中斷周期的。本設計設定N=256,提供128路語(yǔ)音通道數據,系統需要中斷時(shí)間設定為16ms。
語(yǔ)音鏈路PCM的處理,按照國際電信聯(lián)盟ITU G.711協(xié)議完成,G.711協(xié)議是ITU規定的PSTN網(wǎng)中使用語(yǔ)音傳輸的協(xié)議,它的數據速率為64kbps。G.726是ITU前身CCITT于1990年在G.721和G.723標準的基礎上提出的關(guān)于把64kbps非線(xiàn)性PCM信號轉換為40kbps、32kbps、24kbps、16kbps的ADPCM信號的標準。G.726標準算法簡(jiǎn)單,語(yǔ)音質(zhì)量高,多次轉換后語(yǔ)音質(zhì)量有保證,在語(yǔ)音存儲和語(yǔ)音傳輸領(lǐng)域得到廣泛應用。
4 結論
設計完成后下載到FPGA后,經(jīng)過(guò)現場(chǎng)測試和實(shí)際運用,該系統完全達到設計目標,在每個(gè)局用交換模塊上配置一塊由該芯片控制的語(yǔ)音子處理機,即可滿(mǎn)足一個(gè)交換模塊8192個(gè)用戶(hù)對語(yǔ)音系統的要求,證明該智能多業(yè)務(wù)片上系統設計是成功的??梢赃m用于各種電信業(yè)務(wù)系統中和IP網(wǎng)絡(luò )交換系統中,為企業(yè)縮短產(chǎn)品上市時(shí)間、降低開(kāi)發(fā)風(fēng)險與成本、提高新業(yè)務(wù)開(kāi)發(fā)能力提供一個(gè)較為理想的解決方案。
評論