數話同傳控制器的設計與實現
話音和數據同傳有多種方案,這些方案大都先將話音信號數字化,經過壓縮后與外部數據一起打包傳輸。主要區別在于發送一包話音數據與外部數據的占用時間,以及話音數據與外部數據在包內的分割時長。常見的有兩種方案[1]。一是日本救護車所用的數話同傳方案,可將病人的身體狀況的檢測數據與話音同傳。在這一方案中,以625ms為一個話音壓縮周期,其中187.5ms用于傳送數據,437.5ms用于傳送話音,外部數據時隙占整個信道時間的30%,數話同傳時話音延遲約為200ms。另一種是UIC建議的數話同傳方案。這個方案以1040ms為一個周期,其中260ms用于傳輸數據,780ms用于傳輸壓縮話音,數據時隙占整個信道的時間為25%。這一方案由于數據占用的時間較短,因此可以提供較好的通話質量,但話音延遲260ms,在雙工通話時會使人感到不適,數據傳輸量也不高。
上述兩種方案的話音延遲都較長,同時外部數據時隙占信道的時間比較短,發送數據量受到一定的限制,主要用于傳送話音信號。本文在保證傳送話音質量的基礎上,盡量減小話音延遲,提高外部數據分割時長,同時根據AMBE話音Codec和GMSK Modem的特點,提出了如圖1 所示的數話同傳方案。
AMBE話音Codec[2]采用基于MBE(多帶話音激勵)模型的壓縮技術,已被證明優于CELP、MP-MLQ、LPC-10以及其它的壓縮技術,MOS分達到3.5分,能夠在低至2.0kbps的壓縮速率下保持高質量的話音。所以本系統采用2.4kbps的話音壓縮速率時仍然有很好的自然度和可懂性。當單片機查詢到有話音數據時,不中斷數據的傳輸,而是延遲60ms,單片機再將AMBE話音Codec傳過來的話音數據處理后與外部數據一起打包發給Modem,實現數話同傳。從上述方案中可以看出,話音信號的延遲不會超過120ms,優于前兩種方案,能夠很好地滿足實時性的要求;外部數據時隙占整個信道時間約為46%,分割時長也比前兩種方案高,此時外部數據傳輸率約為4800bps。沒有話音數據傳輸時,單片機直接對外部數據進行打包傳送,數據傳輸率為GMSK Modem的傳輸率,即為9600bps。
1 系統的硬件組成及工作原理
1.1系統的硬件結構
整個系統的硬件結構框如圖2所示。
系統以Atmel公司的單片機AT89S52和Altera公司的EPLD芯片EPM7128為主控芯片。AT89S52是一款低功耗、高性能的8位微處理器,負責整個系統的絕大多數工作,內部帶有8KB可編程的FLASH存儲器,無需擴展ROM,自帶ISP口,可靈活地進行在系統可編程,可以通過全雙工的標準串口與外部計算機或PLC交換數據。EPM7128[3]是Altera公司的MAX7000系列中的一款,具有高阻抗、電可擦寫等特點,可用門單元為2500個,管腳間最大延時為5ns,主要用來實現話音壓縮和解壓縮所需的時序及邏輯控制。話音預處理和ADC-DAC單元采用MC145480[4],其內集成了300Hz~3400Hz的帶通濾波器、AD和DA轉換器,采樣頻率為8kHz,每個采樣值采用8比特(256個量化級)編碼,可輸出A 律和μ律可選的64kbps的PCM 信號。話音壓縮和解壓縮通過AMBE1000[2]完成,壓縮速率從2.4kbps~9.6kbps,A/μ律可選,具有語音檢測、回聲抑制和休眠等功能[2]。數據調制解調部分的核心器件是無線單片收發芯片FX909[5]。此芯片采用GMSK調制解調方式,頻帶利用率非常高,特別適合在窄帶的數傳系統中,內部硬件實現FEC和CRC算法,同時兼容Mobitex無線廣域網空中接口標準。模擬調頻電臺將從Modem輸出的GMSK信號經過二次調制到數傳信道上傳輸,帶寬一般為25kHz,新西蘭大吉公司、美國的MDS公司、日本的建武的模擬臺都可實現此功能。
1.2 系統工作原理
在無話音數據傳輸時,AT89S52將從串口接收的數據打包處理后發送給Modem,Modem對傳過來的數據增加前向糾錯(FEC)、循環冗余校驗(CRC)位后,按Mobitex標準的數據格式進行交織和擾碼處理,再附上比特同步和幀同步字節后,對數據包進行GMSK調制,輸出音頻的GMSK信號,再由電臺將其調制到模擬調頻話音信道上傳送出去。當有話音數據傳輸時,模擬話音輸入MC145480,經過8kHz 的A律編碼輸出64kbps的PCM信號。經過AMBE1000壓縮后,輸出2.4kbps的壓縮話音數據,這些話音數據經單片機AT89S52除包延時處理后與串口接收的外部數據一起打包送到調制解調模塊,實現數據和話音的同時傳輸。
數據接收時,Modem從模擬調頻電臺讀入音頻信號進行GMSK解調,經檢錯和撤包處理后,將數據傳送給AT89S52。單片機經過判斷處理后,如果是外部的數據,則直接通過串口輸出;如果是話音數據,則經過處理后送給AMBE1000解壓縮,輸出的PCM信號經過A律解碼和DAC,還原成模擬話音信號輸出。
2 軟件設計及實現
整個系統的軟件主要包括三大部分:MC145480和AMBE1000的接口時序的實現、語音壓縮數據的處理、數據的調制和解調。
2.1 接口時序的實現
AMBE1000話音Codec與MC145480的接口關系[2]如圖3所示。
51單片機相關文章:51單片機教程
評論