李建南



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