李建南



摘要 介紹一種數字程控交換機語音播放系統的實現方案。該方案利用FPGA實現一種靈活的語音播放電路,可適應可變長度、可變時隙的語音播放要求。
[關鍵詞]數字程控交換機 時隙 FLASH FPGA
1 引言
信號音產生電路是數字程控交換機不可缺少的部件,在電話接續過程中起重要的作用。
信號音包括撥號音、忙音、回鈴音、空號音和各種提示語音等。撥號音、忙音、回鈴音、空號音的頻率為450Hz,音調符合電信標準規定的要求。但是,提示語音的內容和時長并無規定要求,不同的應用場合有不同的要求,故需要設計一款靈活的信號音產生器,滿足各種語音提示音要求。
2 信號音產生原理
信號音發生電路原理框圖如圖1。
存儲器中存儲32段PCM編碼的數字信號音,每段數字音存儲長度相等,分別存放接續信號音、提示音等,依次對應為O~31時隙信號音。
時隙計數器對位時鐘( 2MHz)進行計數,產生時隙地址,作為存儲器的段地址(高5位);幀計數器對幀同步信號(8KHz)進行計數,產生每段數字音的字節地址(低位地址)。
當時隙計數器計數到時隙n時,輸出地址n,作為存儲器的段地址,選中第n段數字音;幀計數器計數至k幀.輸出地址k,作為存儲器的數字音的字節地址。此時,存儲器輸出n時隙k字節的并行數據,送至并串轉換電路,轉換為串行PCM碼流,經D/A解碼器,將數字音轉換為模擬信號音。
當幀計數器溢出時,即每段數字音播放完畢,數字音將重新開始播放,如此不斷循環。
3 改進的信號音播放系統
上面描述的信號音產生電路存在信號音時隙和長度不可改變的缺陷,應用范圍受到限制,對于系統要求多種語音提示音且不等長的情況就無能為力了。
為適應信號音可變長度、可變時隙的應用情況,對播放系統進行改進。改進的信號音產生原理框圖如圖2所示。
存儲器中存儲若干段PCM編碼的數字信號音,每段數字音存儲長度可以不相等,分別存放接續信號音、語音提示音等。
增加2組雙口RAM,一組為信號音地址,一組為信號音長度。每個時隙配置一個幀計數器,適應不同信號音不同長度的要求。
系統需要播放信號音時,CPU將需播放的信號音的起始地址和長度分別寫入對應時隙的信號音地址寄存器和長度寄存器。
當時隙計數器計數到時隙n時,輸出時隙n,作為地址存儲器和長度存儲器的地址,獲取n時隙數字音的起始地址和長度。地址寄存器輸出的值m作為信號音存儲器的高位地址,指向第m塊數字音的起始地址。n時隙時,第n個幀計數器輸出幀計數值k,作為數字音存儲器的字節地址(低位地址)。此時,數字音存儲器輸出第m段數字音的第k個字節。
當k值大于對應的長度值時,幀計數器n清零(其它時隙的幀計數器繼續計數),數字音開始重復播放。
圖3中FPGA采用XC6SLX9,共有9125個Logic Cell, 576Kb Block RAM Blocks, 200User I/O。
CPU接口、數字音產生器、時隙插入器時鐘發生器由FPGA實現。FLASH存儲器中燒錄了若干段信號音、語音提示音,片選、地址信號由FPGA控制,數據輸入至FPGA,轉換為PCM串行數據。
來自交換網的話音信號輸入FPGA,通過軟件控制話音、信號音選擇器輸出信號音,實現插入提示音的功能。當然,也可以將信號音送至交換網,通過交換網實現播放信號音。
4 結語
基于FPGA的信號音播放系統,可以在不改變硬件電路的情況下,實現不限長度、不限數量的數字音播放,具有靈活應用能力。同時,信號音的時隙可通過軟件設定,可方便插入指定時隙,能有效減少交換網的規模,降低硬件成本。
參考文獻
[1]葉敏編著.程控數字交換與交換網(第二版)[M].北京郵電大學出版社,2003.
[2]侯伯亨,顧新編著.VHDL硬件描述語言與數字邏輯電路設計[M].西安電子科技大學出版社,1999.