新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 智能多業(yè)務(wù)語音片上系統(tǒng)設(shè)計

智能多業(yè)務(wù)語音片上系統(tǒng)設(shè)計

作者: 時間:2007-11-13 來源:網(wǎng)絡(luò) 收藏
引言

在中國IT行業(yè)快速發(fā)展的背景下,社會以及用戶需求的多樣性使電信設(shè)備運營商、服務(wù)提供商面臨越來越多的競爭壓力。提高競爭力、加快開發(fā)能力、符合市場需求的產(chǎn)品和是關(guān)鍵所在。生存中創(chuàng)新和創(chuàng)新中發(fā)展已經(jīng)成為必須面對和不得不解決的問題。本文采用SoC方法在altera中高端FPGA器件實現(xiàn)可應(yīng)用于電信多交換平臺的處理芯片。的關(guān)鍵在于片上三總線結(jié)構(gòu)獨特設(shè)計、SDRAM(內(nèi)存)控制器設(shè)計以及與系統(tǒng)主機之間共享信箱協(xié)議的制定。

1 系統(tǒng)設(shè)計

處理系統(tǒng)的設(shè)計實現(xiàn)基于Cyclone II EP2C35[12]器件。系統(tǒng)的核心處理功能與幾乎全部系統(tǒng)功能模塊全部通過LogicLock的功能在FPGA內(nèi)實現(xiàn),嵌入式處理器軟核Nios II作為處理系統(tǒng)的主處理器,用來管理單板的運行,負責(zé)協(xié)調(diào)系統(tǒng)各模塊之間工作,控制它們的工作狀態(tài)及各外設(shè)的操作;通過通信共享信箱單元,實現(xiàn)與程控交換機主機系統(tǒng)的通信,接受系統(tǒng)的管理和調(diào)度,借助以太網(wǎng)口從系統(tǒng)服務(wù)器下載系統(tǒng)運行程序和各種不同的語音數(shù)據(jù)。

Nios II處理器是具有最多的6級流水線(Fetch,Decode,Execute,Memory,Align,Writeback)的32位改進哈佛RISC結(jié)構(gòu)軟核處理器。多達256條用戶可定制指令可幫助用戶創(chuàng)建一個最適合他們需求的嵌入式系統(tǒng)。Nios II處理器高速緩存的實現(xiàn)是采用簡單的直接映射的連續(xù)寫入結(jié)構(gòu),這種結(jié)構(gòu)設(shè)計能夠用最少的器件資源消耗獲得最高的性能,在Cyclone II器件中可以獲得超過166 DMIPS的性能。

有別于傳統(tǒng)的Harvard體系中雙總線結(jié)構(gòu),本系統(tǒng)設(shè)計采用三總線結(jié)構(gòu):內(nèi)存(SDRAM)專用高速總線、ROMDISK(Flash)專用總線和與系統(tǒng)主機之間通信的共享信箱總線。滿足ROMDISK、內(nèi)存和共享信箱總線三者之間大流量的數(shù)據(jù)傳輸,同時保證系統(tǒng)可以處理更多的任務(wù),這樣的體系結(jié)構(gòu)為系統(tǒng)提供并發(fā)執(zhí)行效率,提高處理器的利用率;多任務(wù)之間數(shù)據(jù)快速交換有效縮減等待時間,提高多任務(wù)處理得效率。

語音數(shù)據(jù)緩沖區(qū)和G.711/G.726協(xié)議處理器根據(jù)系統(tǒng)的要求向用戶提供包含基本語音、輔導(dǎo)語音、各種特色語音在內(nèi),基于ITU G.711/G.726語音壓縮協(xié)議的數(shù)據(jù)鏈路,為系統(tǒng)提供32路-256路速率16-64kbps語音通道,以1-8條2Mbps的高速PCM鏈路提供給系統(tǒng)使用。UART被用作系統(tǒng)調(diào)試接口,系統(tǒng)功能框圖如圖1所示。



2 業(yè)務(wù)流程

智能語音片上系統(tǒng)的主要工作是,滿足程控交換機系統(tǒng)和IP交換機系統(tǒng)的語音業(yè)務(wù)類型和智能語音業(yè)務(wù)需求。基本語音存儲和輔導(dǎo)語音固化在本板的ROMDISK中,操作系統(tǒng)可以在上電初始化、操作系統(tǒng)裝載以及文件系統(tǒng)加載完成后,利用三總線機構(gòu)將ROMDISK中存儲的各種常用的語音數(shù)據(jù)轉(zhuǎn)存到內(nèi)存中。同時為了滿足業(yè)務(wù)的多樣性和靈活性,系統(tǒng)能夠從服務(wù)器網(wǎng)絡(luò)接收各種特色語音數(shù)據(jù):如天氣預(yù)報、廣告數(shù)據(jù)以及用戶的留言信息等。正常語音業(yè)務(wù)工作流程如圖2所示。

3 系統(tǒng)關(guān)鍵部分設(shè)計

3.1 內(nèi)存控制器

內(nèi)存控制器(SDRAM)實現(xiàn)Nios II處理器和內(nèi)存之間的操作,為系統(tǒng)實現(xiàn)多功能業(yè)務(wù)開發(fā),提供可靠、大容量存儲空間。該模塊實現(xiàn)內(nèi)存的初始化、刷新、數(shù)據(jù)傳輸?shù)裙δ埽恢С值臄?shù)據(jù)端口32位,時鐘頻率設(shè)置為100MHz,CAS Latency(CL)設(shè)置時間為2個時鐘,突發(fā)長度設(shè)置為1-8。

在正確時間采用正確的方法采樣并鎖存數(shù)據(jù)是設(shè)計的難點。當(dāng)內(nèi)存的片選信號和讀信號有效時,進入讀操作狀態(tài)。列地址有效和寫命令有效兩個時鐘后,內(nèi)存芯片輸出數(shù)據(jù)(CL=2)在時鐘的上升沿將數(shù)據(jù)總線上數(shù)據(jù)采樣鎖存。模塊中設(shè)立一個數(shù)據(jù)采樣鎖存器,根據(jù)其時序要求,CL=2,有效數(shù)據(jù)延時輸出2CLKs,內(nèi)部數(shù)據(jù)采樣鎖存器在數(shù)據(jù)有效時間內(nèi)時鐘邊沿時刻執(zhí)行采樣鎖存,完成從內(nèi)存取得數(shù)據(jù)的過程,Nios II處理器Avalon總線從內(nèi)存控制器中數(shù)據(jù)采樣鎖存器中得到數(shù)據(jù),送外數(shù)據(jù)目的地。讀操作采用自動預(yù)充功能讀命令(auto precharge after write burst)。內(nèi)存進入自動預(yù)充操作后就處于空閑狀態(tài),等待下一個狀態(tài)的開始。

3.2 共享信箱模塊設(shè)計

共享信箱是系統(tǒng)信箱數(shù)據(jù)區(qū),定義了本系統(tǒng)和程控交換機系統(tǒng)或IP交換機的主處理單元之間通信命令參數(shù)和傳送放音命令及音源編碼。這是與系統(tǒng)可以正常進行通信的關(guān)鍵。

共享信箱模塊基于FPGA內(nèi)部的雙端口RAM構(gòu)成,內(nèi)部通過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è)定,數(shù)據(jù)確定后,要在每一個中斷處理周期(語音緩沖區(qū)A/B區(qū)切換時間)將一定端口、一定數(shù)量的語音數(shù)據(jù)寫入規(guī)定的RAM空間。句法結(jié)構(gòu)如下:



3.3 語音數(shù)據(jù)緩沖區(qū)設(shè)計

緩沖區(qū)寫端口側(cè)和系統(tǒng)Avalon總線聯(lián)系,其地址空間按照順寫的方式進行,難點在于讀端口側(cè)地址信號的產(chǎn)生。本文采用雙緩沖區(qū)空間方式,在FPGA內(nèi)部設(shè)置兩塊同樣的存儲區(qū)域,通過地址產(chǎn)生器產(chǎn)生端口地址跳變、鏈路地址跳變和中斷的產(chǎn)生。

Nios II處理器按照程控交換系統(tǒng)主機的指令將所需的語音數(shù)據(jù)搬到語音數(shù)據(jù)緩沖區(qū)指定的地址空間;緩沖區(qū)可為每一個語音通道提供7字節(jié)的空間(N為偶數(shù)),CPU可以在每次語音處理中斷中,每路語音通道1次可以寫入N/2字節(jié)的語音數(shù)據(jù)。在一個系統(tǒng)幀同步信號FS0周期內(nèi)(125μs),對單個語音通道可以完成8位,即一個字節(jié)數(shù)據(jù)轉(zhuǎn)換,采用AB雙緩沖區(qū)的設(shè)計模式,N/2字節(jié)的數(shù)據(jù)需要在N/2個FS0完成,需要的時間就是125μsN/2,其周期根據(jù)系統(tǒng)響應(yīng)中斷的時間、處理語音數(shù)據(jù)存取的時間、系統(tǒng)處理其他數(shù)據(jù)的時間等綜合考慮來確定,保證系統(tǒng)設(shè)定的中斷周期內(nèi)完成業(yè)務(wù)處理,且不影響系統(tǒng)的整體運行效率。

從中斷的處理過程來看,每一次中斷的產(chǎn)生,響應(yīng)和處理,系統(tǒng)總是需要對系統(tǒng)指針、放音位置等系統(tǒng)重要數(shù)據(jù)進行壓棧堆棧和回復(fù)的處理,處理同樣的任務(wù),中斷周期短,系統(tǒng)的任務(wù)量都會相應(yīng)增加。中斷時間的長短選擇是設(shè)計中比較困難和關(guān)鍵的,需要根據(jù)處理器處理能力、完成數(shù)據(jù)轉(zhuǎn)換需要的時間、中斷任務(wù)的處理時間、FPGA的RAM容量等因素綜合進行選擇,使用Nios II處理器,系統(tǒng)完成全部(128個)語音通道數(shù)據(jù)轉(zhuǎn)換的時間,也就是中斷任務(wù)的處理時間為2.83ms。本設(shè)計中也是根據(jù)這個前提條件來設(shè)定中斷級別和中斷周期的。本設(shè)計設(shè)定N=256,提供128路語音通道數(shù)據(jù),系統(tǒng)需要中斷時間設(shè)定為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標(biāo)準(zhǔn)的基礎(chǔ)上提出的關(guān)于把64kbps非線性PCM信號轉(zhuǎn)換為40kbps、32kbps、24kbps、16kbps的ADPCM信號的標(biāo)準(zhǔn)。G.726標(biāo)準(zhǔn)算法簡單,語音質(zhì)量高,多次轉(zhuǎn)換后語音質(zhì)量有保證,在語音存儲和語音傳輸領(lǐng)域得到廣泛應(yīng)用。

4 結(jié)論

設(shè)計完成后下載到FPGA后,經(jīng)過現(xiàn)場測試和實際運用,該系統(tǒng)完全達到設(shè)計目標(biāo),在每個局用交換模塊上配置一塊由該芯片控制的語音子處理機,即可滿足一個交換模塊8192個用戶對語音系統(tǒng)的要求,證明該智能多業(yè)務(wù)片上系統(tǒng)設(shè)計是成功的??梢赃m用于各種電信業(yè)務(wù)系統(tǒng)中和IP網(wǎng)絡(luò)交換系統(tǒng)中,為企業(yè)縮短產(chǎn)品上市時間、降低開發(fā)風(fēng)險與成本、提高新業(yè)務(wù)開發(fā)能力提供一個較為理想的解決方案。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉