新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式語音通信系統(tǒng)中VxWorks BSP的設(shè)計(jì)實(shí)現(xiàn)

嵌入式語音通信系統(tǒng)中VxWorks BSP的設(shè)計(jì)實(shí)現(xiàn)

作者: 時(shí)間:2009-09-29 來源:網(wǎng)絡(luò) 收藏
0 引 言
當(dāng)前普遍使用的DSP處理技術(shù)只能對進(jìn)行簡單處理,不能適應(yīng)業(yè)務(wù)的多樣化趨勢。本文介紹利用MPC860和綜合語音平臺(tái),支持多板卡、多路語音實(shí)時(shí)傳輸,可擴(kuò)展多路語音共聽功能。利用MPC860的和信號(hào)處理功能,且Vx-Works具有占用空間小、執(zhí)行效率高、方便進(jìn)行個(gè)性化定制和較好的兼容性等特點(diǎn),所以該綜合語音平臺(tái)在功能、硬件結(jié)構(gòu)、體積、功耗以及靈活性上具有較大優(yōu)勢。
中盡量采用開發(fā)中的常用器件,以便稍加改動(dòng)即可應(yīng)用于其他??梢愿鶕?jù)實(shí)際需要更改中語音通道的數(shù)目和擴(kuò)展多路語音共聽功能等。

1 結(jié)構(gòu)及工作原理
1.1 組成及特點(diǎn)

整個(gè)通信平臺(tái)由語音通信處理主板和語音采集回放子板組成。語音通信處理主板包括CPU MPC860、FLASH存儲(chǔ)器、SDRAM存儲(chǔ)器、10/100Mb/s網(wǎng)絡(luò)接口、RS 232串口、BDM調(diào)試接口、Console接口、供電和復(fù)位電路及120pin連接器。通信處理主板的核心MPC860是Motorola公司的一款由MC68360演變而來的通用單片集成微處理器,適用于通信和網(wǎng)絡(luò)系統(tǒng)。該微處理器內(nèi)部有兩個(gè)處理器:PowerPC和32位RISC處理器。PowerPC核同內(nèi)存管理單元(MMU)、指令和數(shù)據(jù)Cache一同處理高層次應(yīng)用,CPM則負(fù)責(zé)完成低層數(shù)據(jù)通信。兩個(gè)處理器主要通過共享內(nèi)存交互。通信處理模塊利用SCC,SMC,SPI和I2C串行通道與外部設(shè)備通信,其中SCC和SMC支持時(shí)分復(fù)用。中,SCC工作在QMC協(xié)議Trans-parent Mode。通信處理模塊(CPM)新增了數(shù)字信號(hào)處理(DSP)功能。語音采集回放子板由語音采集電路、語音回放電路、基于FPGA的通信控制器和與語音通信處理主板連接的120pin連接器組成。
由于MPC860的數(shù)據(jù)傳輸速度相比ADC和DAC要快很多,設(shè)計(jì)相應(yīng)的邏輯電路控制語音的采集和回放、協(xié)調(diào)MPC860和數(shù)據(jù)采集、回放電路之間的通信是保證系統(tǒng)正常工作的關(guān)鍵。文中設(shè)計(jì)了基于Altera公司的CycloneⅡEP2C8芯片的通信控制器來解決這一問題。
將通信平臺(tái)分為語音通信處理主板和語音采集回放子板分別設(shè)計(jì)實(shí)現(xiàn),是為了降低系統(tǒng)開發(fā)難度和便于系統(tǒng)維護(hù)、升級(jí)和擴(kuò)展。例如語音通信處理主板無需改動(dòng)即可利用已有的連接器、FEC網(wǎng)絡(luò)接口和SDRAM存儲(chǔ)器等資源與視頻編解碼芯片、視頻壓縮/解壓縮芯片組成網(wǎng)絡(luò)視頻服務(wù)器。
1.2 功能結(jié)構(gòu)和工作原理
語音通信處理主板的功能結(jié)構(gòu)如圖1所示。

本文引用地址:http://m.butianyuan.cn/article/152331.htm

系統(tǒng)上電后,語音通信處理主板復(fù)位電路產(chǎn)生復(fù)位信號(hào),MPC860接收到復(fù)位信號(hào)后,跳轉(zhuǎn)到0X100處開始執(zhí)行啟動(dòng)代碼。按照配置逐步執(zhí)行CPU初始化、板上其他硬件電路的初始化、操作系統(tǒng)運(yùn)行所需數(shù)據(jù)結(jié)構(gòu)的初始化、啟動(dòng) WIND內(nèi)核、創(chuàng)建UserRoot任務(wù)、初始化系統(tǒng)中用到的可選擴(kuò)展模塊(如I/O系統(tǒng)、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議等)、創(chuàng)建任務(wù)usrAppInit(),此時(shí)語音通信平臺(tái)準(zhǔn)備就緒,可以執(zhí)行語音通信任務(wù)。采集板的功能結(jié)構(gòu)如圖2所示,語音通信處理主板啟動(dòng)完畢后,語音采集回放子板可在通信控制器控制下采集和回放語音,并對語音數(shù)據(jù)進(jìn)行壓縮編解碼和IP封裝、解封裝處理。

1.3 數(shù)據(jù)處理流程
MPC860T和ADC AD7825,DAC AD7305之間的通信由通信控制器控制。通信控制器由數(shù)據(jù)緩沖區(qū)(Rx FIFO,Tx FIFO),基于FSM(有限狀態(tài)機(jī))實(shí)現(xiàn)的控制邏輯(Rx control,Tx control)和8位串并、并串,時(shí)鐘電路組成。其數(shù)據(jù)接收過程為:接收控制邏輯(Rx control)控制ADC AD7825將各個(gè)通道的語音數(shù)字化,并把轉(zhuǎn)換結(jié)果存入接收緩沖區(qū)(Rx FIFO),直至Rx FIFO滿時(shí)Rx control開始向MPC860T提供周期性幀同步信號(hào),頻率為32 kHz。MPC860在幀同步信號(hào)和時(shí)鐘信號(hào)的驅(qū)動(dòng)下讀取Rx FIFO中的數(shù)據(jù)到SCC數(shù)據(jù)接收緩沖區(qū)。Rx FIFO讀空(即讀指針追上了寫指針)后,Rx control停止向MPC860發(fā)送幀同步信號(hào)終止數(shù)據(jù)傳輸,同時(shí)向MPC860發(fā)送中斷信號(hào)IRQ3,MPC860響應(yīng)中斷把數(shù)據(jù)從接收緩沖區(qū)讀到接收ring buffer中等待應(yīng)用程序處理。其數(shù)據(jù)發(fā)送過程為:MPC860完成IP解封裝、解壓縮后的語音數(shù)據(jù)將會(huì)在檢測到發(fā)送緩沖區(qū)可用時(shí),輸出到SCC發(fā)送緩沖區(qū),通信控制器提供發(fā)送幀同步信號(hào)驅(qū)動(dòng)數(shù)據(jù)傳輸?shù)絋x FIFO(發(fā)送緩沖區(qū)),待到Tx FIFO滿時(shí)停止發(fā)送幀同步信號(hào)。數(shù)據(jù)發(fā)送完后,CPM會(huì)清零,TxBD)中的R位表示MPC860可向SCC發(fā)送緩沖區(qū)中裝入新的數(shù)據(jù),為下次傳輸做準(zhǔn)備。
1.4 QMC通信協(xié)議
多通道控制器(QUICC Multichannel Controler,QMC)是為了實(shí)現(xiàn)時(shí)分復(fù)用數(shù)據(jù)傳輸而設(shè)計(jì)的,它可以把時(shí)分復(fù)用幀的數(shù)據(jù)分發(fā)到多達(dá)64個(gè)邏輯通道。該模式下把每一幀的數(shù)據(jù)劃分成若干個(gè)時(shí)隙(Timeslots),每時(shí)隙8 b。在時(shí)隙分配表中規(guī)定每時(shí)隙數(shù)據(jù)從屬于某個(gè)通道,每個(gè)通道都有一組特定的緩沖區(qū)描述符和相應(yīng)的緩沖區(qū)。一個(gè)時(shí)隙的數(shù)據(jù)在收發(fā)時(shí)被放置在特定的緩沖區(qū)里,MPC860T就可把分散的數(shù)據(jù)聚集在一起發(fā)送,或把聚集在一起的數(shù)據(jù)分發(fā)到各自專用的緩沖區(qū),而不需要額外的處理來區(qū)分各種各樣的數(shù)據(jù)流。

2 設(shè)計(jì)實(shí)現(xiàn)
設(shè)計(jì)中軟件開發(fā)主要包括啟動(dòng)代碼的編寫、操作系統(tǒng)的移植、硬件驅(qū)動(dòng)程序和語音編、解碼和IP封裝、解封裝應(yīng)用程序。篇幅有限,本文僅介紹移植。BSP即板級(jí)支持包,其功能為硬件、軟件初始化、工程影像的下載和設(shè)備驅(qū)動(dòng)等。
2.1 BSP的定制
無論是BootRom還是都要使用BSP代碼,BSP定制需要根據(jù)硬板配置、系統(tǒng)設(shè)計(jì)需求、軟件功能等實(shí)際情況。實(shí)際開發(fā)過程中,為了縮短產(chǎn)品開發(fā)周期,通常以WINDRIVER公司的BSP模板或者第三方公司提供的可供參考的BSP為基礎(chǔ),根據(jù)軟硬件具體配置進(jìn)行修改,添加新的程序驅(qū)動(dòng)新增硬件和功能。本課題中先把APC860開發(fā)板的BSPMPC860TEVB拷貝到installdir:\Tornado\target\collfig\ppcs860目錄下,主要做下列修改。
2.1.1 config.h文件
根據(jù)實(shí)際情況,需要修改啟動(dòng)行,內(nèi)存地址、容量等配置,修改部分代碼如下:


2.1.2 makefile文件的修改
makefile文件的修改,部分程序如下:


linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

數(shù)字通信相關(guān)文章:數(shù)字通信原理


通信相關(guān)文章:通信原理



上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉