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