嵌入式數字多媒體終端硬件平臺的設計與實現
隨著信息時代的到來,信息技術尤其是計算機多媒體技術與網絡技術飛速發(fā)展,語音教室在各種學校都已有了廣泛的應用。現存的語音教學系統(tǒng)一般都是采用模擬電路,可靠性低,抗干擾性弱,易發(fā)生串音,從而在傳輸過程中會失真、衰減,且易受干擾,導致語音質量較差,同時布線也較復雜,建設成本比較高;另外現存的解決方案實現的功能較為單一,只能完成簡單的教學功能,沒有提供隨意分組討論、點名、選擇題問答等應有的功能;另外,現存的解決方案沒有發(fā)揮出現有的多媒體網絡技術優(yōu)勢,無法進行高效、生動的多媒體教學,交互性比較差,教學效果受到很大的影響,嚴重影響了在實際教學中的推廣與應用。要解決傳統(tǒng)語音教學面臨的問題必須引入數字化的設計。
數字多媒體終端的硬件設計與實現
數字語音教學系統(tǒng)由教師端、多個學生端(數字多媒體終端)、數字傳輸網絡組成。其中,教師端一般采用計算機控制,主要完成系統(tǒng)管理及網絡管理。學生端既可以基于PC機平臺,也可以采用經濟型獨立設備。數字傳輸網絡是所要傳輸的多媒體信息的載體。本文就是針對學生端設計一種經濟實用的獨立設備。它采用嵌入式數字信號處理器DSP+CPLD+接口電路的設計模式。數字信號處理器DSP實現語音信號的處理、網絡接口部分的控制及多任務的管理。CPLD完成網絡適配部分設計及部分外圍電路控制。接口電路包含網絡接口、模擬語音輸入輸出接口。語音傳輸中要保證語音傳輸的實時性和交互性,實現學生端與教師端和其他學生端的通信。
硬件平臺構造于DSP嵌入式系統(tǒng)上,該平臺采用了TI公司的數字信號處理器TMS320VC5402作為核心部件,利用可編程邏輯器件XC95288開發(fā)了外圍控制電路和接口電路,其電路如圖1所示。它主要包括以下幾部分:
多種設備接口
包括網絡輸入、輸出接口、話筒輸入接口和耳機輸出接口。
語音信號前置放大
由于從話筒輸入的語音信號比較微弱(1~30mV),達不到編解碼器對信號強度的要求,因此必須進行前置放大,這里由專用前置放大芯片完成。
語音信號的轉換及編解碼
語音信號的A/D,D/A轉換及編解碼功能是利用MC145480完成的,它的優(yōu)點是:①可將語音信號的A/D,D/A轉換及編解碼集成在一個芯片中,提高了系統(tǒng)穩(wěn)定性;②只需單電源供電,減少了雙電源供電所帶來的電源干擾問題,提高了語聲質量;③可提供A律及m律兩種編碼格式,提供符合ITU-T G.711建議的語音數據流。
系統(tǒng)控制、管理與語音壓縮
由數字信號處理器TMS320VC5402完成。該芯片處理速度快,可實現語音的實時處理,并實現語音的回聲抑制功能。除了能完成DSP所提供的功能外,利用內嵌的DSP/BIOS實時操作系統(tǒng),可實現并建立語音實時多任務系統(tǒng)。
網絡適配電路
本網絡的拓撲結構參考令牌總線網,物理拓撲采用總線型結構,由一根線形的電纜連接各個站點。邏輯拓撲采用環(huán)形結構,每個站點知道自己左邊和右邊站點的地址,在邏輯上構成一個環(huán),數據沿環(huán)逐節(jié)點順序傳送。這種物理結構具有以太網電纜的可靠性,不會因某處電纜故障物而在物理上導致整個系統(tǒng)癱瘓。其所需電纜長度短,安裝費用低,易于布線、維護和擴充。而且,物理上共享總線的站點之間可以直接通信,響應速度較快。同時,由于總線電纜固有的廣播特性,使得應用中廣播功能的實現較為容易。另外,由于邏輯環(huán)是公平的,每一站點對信道的訪問時間有一個確定的上界,因此可以防止某一站點獨占信道這種情況的發(fā)生。共享媒體語音網是一個局域通信網絡,它沒有路由問題,任何兩個站點之間可以使用一條直接鏈路,所以不需要單獨設置網絡層,而可以將尋址、排序、流控、差錯控制等功能都放在數據鏈路層中實現。
該控制電路利用XILINX公司的可編程邏輯器件CX95288實現。網絡適配器把數據總線上的低電平并行信號轉換成0、1碼流,通過連接網絡各站點的電纜傳輸。它采用特殊技術,以便利用適配器共享局域網線纜、局域網的介質訪問控制MAC方式和發(fā)送信號的類型。電路包括網絡接口、接收電路、發(fā)送電路及與DSP的接口電路。其中,網絡接口部分采用通用的RS-485通信接口,實現簡單。共享媒體語音網絡的適配器電路結構如圖2所示。
數字多媒體終端的軟件設計與實現
數字多媒體終端系統(tǒng)除了利用DSP完成信號處理,實現全部系統(tǒng)控制功能之外,在系統(tǒng)軟件設計中,需要對DSP、存儲器、外設等各種資源加以管理,同時還要處理多任務并發(fā)操作和不同任務之間的協(xié)調。為了保證系統(tǒng)的可靠性和穩(wěn)定性,本文采用了DSP/BIOS實現上述工作。
DSP/BIOS實時操作系統(tǒng)
DSP/BIOS是TI公司推出的一個實時操作系統(tǒng)(RTOS),與TI的Code Composer Studio(CCS)集成在一個開發(fā)環(huán)境下。目前最新的版本是CCS 2.0 中的DSP/BIOS II。它支持軟件模塊化,通過修改內核提供占先式多任務服務;具有設備獨立的I/O數據流模型;可以對內存進行動態(tài)分配與內存管理。DSP/BIOS實際上是一個可調用的系統(tǒng)模塊API的集合,利用DSP/BIOS調試工具可以對程序進行實時跟蹤與分析,提高應用程序開發(fā)的可靠性。通過DSP/BIOS 插件(Plug-ins)可實時觀察內核中各線程的執(zhí)行狀態(tài)和對象的當前屬性。利用配置工具(Configuration Tool)開發(fā)者可以對各個模塊實行配置。非常有效地提高項目了開發(fā)效率,簡化了DSP應用程序的開發(fā)和調試。
DSP/BIOS實時語音處理多任務系統(tǒng)
對語音信號的處理利用DSP/BIOS建立實時多任務系統(tǒng)。DSP與音頻編解碼器之間的通信通過DSP的外設多通道緩沖串行口(McBSP)實現閉環(huán)測試。簡單的語音處理系統(tǒng)由采集線程和播放線程兩個應用任務組成。每個應用任務分別對應一個輸入SIO和一個輸出SIO流,通過兩個半雙工通道(一個輸入,一個輸出)來訪問連接到音頻編解碼器的DSP多通道緩沖串行口。另外,在兩個任務之間的數據交換通過DPI設備驅動完成。具體實現包括:
● 建立設備驅動
設備驅動采用DAX驅動程序作為管理設備的軟件模塊。DAX驅動模塊由DAX頭文件和DAX函數組成。DAX_Params作為配置工具設備驅動對象的屬性。每個設備驅動模塊同時還需要一個控制模塊,控制模塊由外部函數bind、start、stop和unbind等組成,通過DAX_Params參數結構和配置工具配置控制器。其中,控制器的bind(unbind)函數負責綁定(解除綁定)設備驅動模塊對設備端口的控制??刂破鞯膕tart函數負責調用流SIO_get時打開設備端口,也就是打開McBSP的接收和發(fā)送中斷使ISR中斷服務線程正常運行??刂破鞯膕top函數使停止中斷運行并關中斷。
DAX函數由配置工具中設備對象的函數表調用,在dax.c中初始化驅動函數表DAX_FXNS,DAX函數表的結構如下所示:
DEV_Fxns DAX_FXNS = {
DAX_close,
DAX_ctrl,
DAX_idle,
DAX_issue,
DAX_open,
DAX_ready,
DAX_reclaim
};
應用程序不直接調用驅動函數,這個函數表用于SIO模塊調用特定的設備驅動函數,SIO模塊依次發(fā)送通常的函數調用適當的驅動函數。
● 建立SIO流
本文利用靜態(tài)配置工具為每個任務建立一個輸入流和一個輸出流,采樣線程對應采樣輸入流inSample和輸出流outSample,播放線程對應播放輸入流inSink和輸出流outSink。
● 建立任務
系統(tǒng)利用DSP/BIOS建立兩個任務tasksample和tasksink,分別對應Sample 和Sink線程,以完成語音的采集處理與播放處理。采樣線程Sample和播放線程Sink調用相同的I/O處理函數,I/O處理函數如下所示:
static Void doStreaming(SIO_Handle input, SIO_Handle output, Uns nloops)
{
Ptr buf;
Int i, nbytes;
if ( SIO_staticbuf(input, &buf) == 0) {
SYS_abort("Error reading buffer");
}
while(1) {
if ((nbytes = SIO_get(input, &buf)) < 0) {
SYS_abort("Error reading buffer %d", i);
}
if (SIO_put(output, &buf, nbytes) < 0) {
SYS_abort("Error writing buffer %d", i);
}
}
}
雖然兩個線程調用了相同的I/O處理函數,但是由于對應不同的輸入/輸出流,因此在多任務操作中,不會出現沖突。
● 建立中斷服務程序
使用HWI硬件中斷服務管理器HWI配置相應的中斷服務程序ISR。當接收發(fā)生中斷時,ISR將接收的數據放入緩沖區(qū),當接收緩沖區(qū)滿時,通知設備驅動程序DAX,將緩沖區(qū)的數據發(fā)送到inSample流中,供上層任務處理。
結語
本文針對傳統(tǒng)模擬語音教學系統(tǒng)的弊端提出了數字語音教學系統(tǒng),并設計實現。該系統(tǒng)平臺主要為數字語音教室的隨意分組討論、點名、選擇題問答、播放備課文件、回放等一系列功能提供了實現基礎。同時通過共享多種媒體,如聲音、音樂、文字、圖象等,減少時間浪費,使教學高效、生動,從而激發(fā)學生的學習積極性和想象力,有很好的開發(fā)應用價值?!?BR>參考文獻:
1.TMS320C54XDSP Applications Guide.Texas Instuments, 1999.
2. TMS320C54XDSP Enhanced Peripherals.Texas Instuments, 1999.
3. 朱之劍、呂進,《多媒體技術及其應用》,浙江科學技術出版社,1997年5月.
4. 胡道元,《計算機局域網》(第二版),清華大學出版社,1996年12月.
圖1 嵌入式多媒體終端硬件平臺結構框圖
圖2 網絡適配器電路結構
評論