專利名稱:基于fpga的多路語音廣播系統及實現方法
技術領域:
本發明涉及一種數字化多路語音廣播信號系統的解決方案,尤適用于多報告人系統中的語音聽講選擇。
背景技術:
目前,公知的語音系統是由多路音頻電路組成,其中通過單片機的控制來實現各路語音信號的數字化處理過程是其主要的方法,所使用的音頻編碼/解碼芯片都已內置模 /數與數/模轉換電路,無需再另行設計轉換電路。由于單片機的接口資源有限,且硬件資源已經定制,因此在組織多路語音廣播系統時會大大限制應用的靈活性和通用性。可見的限制主要是1.各路語音廣播使用獨立的數字信號傳輸電路,以致語音接收端的連線工程復雜化,限制了廣播系統的語音路數。2.數字語音信號在CPU的控制下經過緩存處理,再通過網線傳輸,整個結構的實現很復雜,有一定的延時,占用CPU的運行時間,影響數據處理能力;3.通過一個中間設備(如控制矩陣)來選擇或仲裁語音通道,限制了語音系統中各聽講點的主動選擇性;4.作為獨立的應用系統存在,缺少嵌入其它系統的接口,限制了與其他系統交互的功能設計。
發明內容
為了克服上述不足,本發明提供一種新的設計思想,該思想是基于現場可編程門陣列(FPGA)技術的數字化語音信號處理。這種語音處理方式在保證傳輸過程中抗干擾能力的基礎上,能夠有效提高系統的工程簡潔性和配置靈活性。一種基于FPGA的多路語音廣播系統,其特征在于是由網線構成的網絡傳輸結構;該拓撲結構中有若干個聽講點,每個聽講點的結構模塊依次為音頻編解碼芯片、數據傳輸控制模塊以及驅動接收電路模塊;選擇一個聽講點作為同步主站,始終定時發送同步幀, 而其余的聽講點均設有若干個選擇按鈕和一個講話控制按鈕;其特征是采用網絡傳輸結構將數字語音信號進行傳輸,使得每一個聽講點都有權利選擇他想收聽的語音信息。所述的基于FPGA的多路語音廣播系統的實現方法,其特征在于作為同步主站的聽講點,始終定時發送同步幀;其中任意一個聽講點均可發起會話;發送端的語音信號通過音頻編解碼芯片來實現語音信號到數字信號的轉換;再將轉換過后的數字信號輸入到數據傳輸控制模塊中,進行緩沖存儲及本地地址編碼,且只對發起會話的聽講點分配獨立地址;在同步及發送時間控制模塊的作用下對該數字信號進行編碼形成數據幀并輸入到驅動接收電路模塊中,形成差分發送信號經由網線在局域網內實時發送;語音網絡中的聽講點選擇接收來自其它聽講點的語音信息;接收端的差分接收信號經驅動接收電路模塊轉換成數據接收信號并送入數據傳輸控制模塊,對該數據幀進行解碼得到本地地址和語音數據,根據本地地址判斷語音數據是否有效,將有效的語音數據進行緩沖存儲,經由數據傳輸控制模塊送至音頻編解碼芯片來實現數字信號到語音信號的轉換,最后通過耳機聽到聲音。本發明具體原理如下1.基于FPGA技術建立TCM數據傳輸控制模塊和D&R驅動接收電路模塊,通過各聽講點的連接,構造僅有兩對傳輸線的全雙工多路語音數字信號傳輸平臺,如利用一條 IOOMbps速率的網絡線纜中的兩對雙絞線可以無壓縮的傳輸20路48kHz頻率的語音數字信號。可以增加聽講點的個數,它不受地址編碼及連線工程的限制。2.網絡傳輸中的任意一個聽講點均可發起會話。發送端的語音信號通過音頻編解碼芯片來實現語音信號到數字信號的轉換。再將轉換過后的數字信號輸入到數據傳輸控制模塊中,進行緩沖存儲及本地地址編碼,在同步及發送時間控制模塊的作用下對該數字信號進行編碼形成數據幀并輸入到驅動接收電路模塊中,形成差分發送信號經由網線在局域網內實時發送。3.語音網絡中的聽講點均可選擇接收來自其它聽講點的語音信息。接收端的差分接收信號經驅動接收電路模塊轉換成數據接收信號并送入數據傳輸控制模塊,對該數據幀進行解碼得到本地地址和語音數據,根據本地地址判斷語音數據是否有效,將有效地語音數據進行緩沖存儲,經由數據傳輸控制模塊送至音頻編解碼芯片來實現數字信號到語音信號的轉換,最后通過耳機聽到聲音。4.在語音網絡結構中設置有一個同步主站,定時發出同步傳輸幀,所有語音網絡上的聽講點均可以按照TCM數據傳輸控制模塊的設定而無沖突的順序發送自己的語音數據傳輸幀。5.本發明的核心思想是應用硬件描述語言對FPGA芯片進行硬件編程,建立了一種時分發送、碼分接收的語音傳輸網絡體系。即該體系可以通過節點地址來確定某一聽講點是否可以發送語音數據,何時發送語音數據的分時發送數據問題;同時可以通過節點地址的編碼不同而選擇確定本節點所要求接收的語音數據來自哪一個節點。6.通過對FPGA芯片進行硬件編程,可以設計與任何一種系統總線或外部總線連接的接口,尤其是與基于FPGA設計的可編程片上系統(SOPC)連接簡單,可共用一個FPGA
-H-· I I心片。7.無需編程,沒有CPU的運行時間延遲,完全由硬件控制。本發明的有益效果是可以提高數據并行處理能力和運行速度,對于接口的設計靈活,增強系統的靈活性和通用性,更好的實現了與其它系統的交互。另外它易于控制,結構簡單,功耗小。
下面結合附圖和實施例對本發明進一步說明圖1是本發明專利的系統框2是所選取的語音編解碼器框3是本發明專利的數字信號處理模塊圖4是對應于圖3中的本地編碼要求
4
圖5是基于編碼過后的語音數據幀格式
具體實施例方式本發明是一種基于FPGA的多路語音廣播系統,它是由網線構成的網絡傳輸結構。 網線主要有同軸電纜,雙絞線,光纖,本例選用的是非屏蔽雙絞線。以環形拓撲結構為例,該拓撲結構中有若干個聽講點,每個聽講點的結構模塊依次為音頻編解碼芯片、數據傳輸控制模塊以及驅動接收電路模塊。選擇一個聽講點作為同步主站,始終定時發送同步幀,而其余的聽講點均設有若干個選擇按鈕和一個講話控制按鈕。如圖1所示。此系統是基于N個聽講點之間的語音通信,由背景音樂幀充當同步幀不停的發送,直至某些聽講點開始廣播,通過選擇按鈕來確定接收某個廣播節點的語音信息。任意兩個聽講點之間均可以建立語音通道,按下講話控制按鈕,這樣他們就可以對話,而其余的聽講點還是可以選擇繼續收聽建立語音通道的節點的語音信息,但是他們之間不可以對話。圖2是音頻編解碼芯片框圖。語音信號與數字信號之間的轉換都是通過芯片內部的A/D和D/A轉換電路實現的。目前市場上有很多的音頻編解碼芯片可供選取,例如TI 公司的TLV320AIC23B,W0LFS0N公司的WM8731等等,它內置時鐘發生器,可以產生8kHz 96kHz的采樣頻率,支持多種數據位數的處理。在此實例中采用標準采樣頻率48kHz,以及對位的數據處理。因為WM8731語音編解碼芯片內置有功放,可以直接驅動耳機,為本實例采用。圖3是本發明涉及的核心模塊即數字信號的傳輸控制模塊(TCM)及其驅動接收電路(D&I )。當低頻的語音數字信號從DOI管腳(與音頻編解碼芯片的DOUT管腳相連接)輸入到TCM后要對語音數字信號進行緩沖存儲和本節點地址編碼,在同步及發送時間控制模塊的作用下,進行編碼。編碼方式有很多,可以采用曼切斯特編碼或是4B/5B編碼等等,由于采用IOObMps的網絡傳輸,故而選擇4B/5B編碼,再對數據幀進行NRZI編碼,通過較高速率的TXCD管腳發送語音傳輸幀信號,再經D&R形成差分信號實現長線平衡傳輸。在接收端, 首先將差分信號轉換成單端信號,傳輸到TCM依次進行NRZI及4B/5B解碼之后,判斷是否符合選擇節點的本地節點地址編碼要求,符合則存入緩沖器,否則丟棄。然后按照音頻的頻率要求從DIO數字管腳(與音頻編解碼芯片的DIN管腳相連接)輸出。同步及發送時間控制模塊的作用就是指在同步幀發送過后,各個聽講點的數據幀在此模塊的設置下定時有序的發送。4B/5B編碼的特點就是每個字節中不會出現超過3個的連續的0 ;經過NRZI編碼的1變,O不變特性之后,最后在網絡上傳輸的數據每個字節中不會出現5個連續相同的數據。圖4是對應于圖3中本地編碼要求的示意圖。采用8位編碼方式,最高位為0表示 i個聽講點的廣播,最高位為1表示其余任意k個聽講點對這i個聽講點廣播的響應。(其中ink = o,且系統只為i個聽講點的廣播分配最高位為ο的地址,而對于響應他們的k個聽講點則共享這些最高位為ι的地址代碼。圖5所示是基于編碼過后的語音數據幀格式。將本地編碼+左聲道數據+右聲道數據例如8+24+ = 56位進行緩存(左右聲道數據可以是16位、M位或32位的數據處理,由于WM8731芯片內部的ADC和DAC都是M位的處理方式,所以本例采用M位數據處理),按照實時網絡的同步信號形成適時發送命令,在發送命令的控制下將緩存的語音數據依序四位一組進行4B/5B編碼并發送傳號(5位,全1),起始碼(10位,JK= 1110010001), 地址碼(10位),數據碼(如60位30+30),空號(5位,全0),共90位定長數據。發送的同時完成NRZI編碼,形成發送時鐘數據信號TXCD。其中起始碼0x391是4B/5B編碼標準的數據傳輸開始。地址碼的作用是在接收方接收到數據幀之后,對地址碼依次進行NRZI及 4B/5B解碼,根據這個地址碼判斷這幀數據是不是此接收方想要的數據。若是,則接收此數據幀。在此聽講點中語音數據通過DIN端口輸入至語音編解碼芯片經過DAC轉換成語音信號通過耳機輸出(如圖2所示)。若不是,則此聽講點將不接收此數據幀。在這個數據幀的設計中不需要校驗碼,因為語音數據在傳輸中少量丟失一些數據是不會影響聽覺效果的, 可以省去CRC校驗碼及其處理過程。由于此數據幀是定長數據幀,故無需增加結束碼
背景音樂模塊充當同步主站的功能,同步幀的發送是位了讓所有的節點都能同步起來,擁有相同的時鐘。在這樣的快速以太網上傳輸數據,根據數據幀格式的長度90位加上10位的間隔,所以傳輸一個數據幀需要100位,S卩100*10ns = Ius ;而采樣周期為 l/48kHz ^ 20. 8333us,由此可知最多可以容納20. 8333/1 = 20. 8333即20個數據幀同時在網絡上傳輸。
權利要求
1.一種基于FPGA的多路語音廣播系統,其特征在于是由網線構成的網絡傳輸結構; 該拓撲結構中有若干個聽講點,每個聽講點的結構模塊依次為音頻編解碼芯片、數據傳輸控制模塊以及驅動接收電路模塊;選擇一個聽講點作為同步主站,而其余的聽講點均設有若干個選擇按鈕和一個講話控制按鈕。
2.根據權利要求1所述的基于FPGA的多路語音廣播系統的實現方法,其特征在于作為同步主站的聽講點,始終定時發送同步幀;其中任意一個聽講點均可發起會話;發送端的語音信號通過音頻編解碼芯片來實現語音信號到數字信號的轉換;再將轉換過后的數字信號輸入到數據傳輸控制模塊中,進行緩沖存儲及本地地址編碼,且只對發起會話的聽講點分配獨立地址;在同步及發送時間控制模塊的作用下對該數字信號進行編碼形成數據幀并輸入到驅動接收電路模塊中,形成差分發送信號經由網線在局域網內實時發送;語音網絡中的聽講點選擇接收來自其它聽講點的語音信息;接收端的差分接收信號經驅動接收電路模塊轉換成數據接收信號并送入數據傳輸控制模塊,對該數據幀進行解碼得到本地地址和語音數據,根據本地地址判斷語音數據是否有效,將有效的語音數據進行緩沖存儲,經由數據傳輸控制模塊送至音頻編解碼芯片來實現數字信號到語音信號的轉換, 最后通過耳機聽到聲音。
3.根據權利要求2所述的方法,其特征是采用4B/5B及NRZI編碼。
全文摘要
基于FPGA的多路語音廣播系統及實現方法屬于語音系統領域。它主要是通過對FPGA(現場可編程門陣列)的編程來實現語音數字信號的處理。語音信號通過語音編解碼芯片的模數轉換傳輸到數據傳輸控制模塊中進行緩沖存儲和本地編碼,在同步及發送時間控制模塊的作用下進行4B/5B及NRZI編碼,經由驅動接收電路模塊發送差分信號進行網內實時廣播,每個聽講點將所選的一路廣播信號轉換成語音輸出到耳機中,直到講話控制信號有效,才可以與另一聽講點進行語音對話,與此同時他們的對話可以被那些選擇此聽講點但并未與它建立語音通道的聽講點聽到。本發明保證傳輸過程中抗干擾能力的基礎上,能夠有效提高系統的工程簡潔性和配置靈活性。
文檔編號H04H20/76GK102437889SQ20111040464
公開日2012年5月2日 申請日期2011年12月7日 優先權日2011年12月7日
發明者于書舉, 孫燕英, 彭建朝, 許向眾, 趙其珍 申請人:北京工業大學