久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇VxWorks專區VxWorks BSP開發 → 嵌入式語音通信系統中VxWorks BSP的設計實現


  共有8645人關注過本帖樹形打印

主題:嵌入式語音通信系統中VxWorks BSP的設計實現

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
嵌入式語音通信系統中VxWorks BSP的設計實現  發帖心情 Post By:2010-12-1 9:18:56

0 引 言

  當前普遍使用的DSP語音處理技術只能對語音進行簡單處理,不能適應語音業務的多樣化趨勢。本文介紹利用MPC860和VxWorks實現綜合語音通信平臺,支持多板卡、多路語音實時傳輸,可擴展多路語音共聽功能。利用MPC860的通信和信號處理功能,且Vx-Works具有占用空間小、執行效率高、方便進行個性化定制和較好的兼容性等特點,所以該綜合語音通信平臺在功能、硬件結構、體積、功耗以及靈活性上具有較大優勢。

  在設計中盡量采用嵌入式開發中的常用器件,以便稍加改動即可應用于其他設計?梢愿鶕䦟嶋H需要更改系統中語音通道的數目和擴展多路語音共聽功能等。

  1 系統結構及工作原理

  1.1 系統組成及特點

  整個通信平臺由語音通信處理主板和語音采集回放子板組成。語音通信處理主板包括CPU MPC860、FLASH存儲器、SDRAM存儲器、10/100Mb/s網絡接口、RS 232串口、BDM調試接口、Console接口、供電和復位電路及120pin連接器。通信處理主板的核心MPC860是Motorola公司的一款由MC68360演變而來的通用單片集成嵌入式微處理器,適用于通信和網絡系統。該微處理器內部有兩個處理器:PowerPC和32位RISC處理器。PowerPC核同內存管理單元(MMU)、指令和數據Cache一同處理高層次應用,CPM則負責完成低層數據通信。兩個處理器主要通過共享內存交互。通信處理模塊利用SCC,SMC,SPI和I2C串行通道與外部設備通信,其中SCC和SMC支持時分復用。設計中,SCC工作在QMC協議Trans-parent Mode。通信處理模塊(CPM)新增了數字信號處理(DSP)功能。語音采集回放子板由語音采集電路、語音回放電路、基于FPGA實現的通信控制器和與語音通信處理主板連接的120pin連接器組成。

  由于MPC860的數據傳輸速度相比ADC和DAC要快很多,設計相應的邏輯電路控制語音的采集和回放、協調MPC860和數據采集、回放電路之間的通信是保證系統正常工作的關鍵。文中設計了基于Altera公司的CycloneⅡEP2C8芯片實現的通信控制器來解決這一問題。

  將通信平臺分為語音通信處理主板和語音采集回放子板分別設計實現,是為了降低系統開發難度和便于系統維護、升級和擴展。例如語音通信處理主板無需改動即可利用已有的連接器、FEC網絡接口和SDRAM存儲器等資源與視頻編解碼芯片、視頻壓縮/解壓縮芯片組成網絡視頻服務器。

  1.2 功能結構和工作原理

  語音通信處理主板的功能結構如圖1所示。

圖片點擊可在新窗口打開查看


  系統上電后,語音通信處理主板復位電路產生復位信號,MPC860接收到復位信號后,跳轉到0X100處開始執行啟動代碼。按照BSP配置逐步執行CPU初始化、板上其他硬件電路的初始化、操作系統運行所需數據結構的初始化、啟動VxWorks WIND內核、創建UserRoot任務、初始化系統中用到的可選擴展模塊(如I/O系統、文件系統、網絡協議等)、創建任務usrAppInit(),此時語音通信平臺準備就緒,可以執行語音通信任務。采集板的功能結構如圖2所示,語音通信處理主板啟動完畢后,語音采集回放子板可在通信控制器控制下采集和回放語音,并對語音數據進行壓縮編解碼和IP封裝、解封裝處理。

圖片點擊可在新窗口打開查看


  1.3 數據處理流程

  MPC860T和ADC AD7825,DAC AD7305之間的通信由通信控制器控制。通信控制器由數據緩沖區(Rx FIFO,Tx FIFO),基于FSM(有限狀態機)實現的控制邏輯(Rx control,Tx control)和8位串并、并串轉換器,時鐘電路組成。其數據接收過程為:接收控制邏輯(Rx control)控制ADC AD7825將各個通道的語音數字化,并把轉換結果存入接收緩沖區(Rx FIFO),直至Rx FIFO滿時Rx control開始向MPC860T提供周期性幀同步信號,頻率為32 kHz。MPC860在幀同步信號和時鐘信號的驅動下讀取Rx FIFO中的數據到SCC數據接收緩沖區。Rx FIFO讀空(即讀指針追上了寫指針)后,Rx control停止向MPC860發送幀同步信號終止數據傳輸,同時向MPC860發送中斷信號IRQ3,MPC860響應中斷把數據從接收緩沖區讀到接收ring buffer中等待應用程序處理。其數據發送過程為:MPC860完成IP解封裝、解壓縮后的語音數據將會在檢測到發送緩沖區可用時,輸出到SCC發送緩沖區,通信控制器提供發送幀同步信號驅動數據傳輸到Tx FIFO(發送緩沖區),待到Tx FIFO滿時停止發送幀同步信號。數據發送完后,CPM會清零,TxBD)中的R位表示MPC860可向SCC發送緩沖區中裝入新的數據,為下次傳輸做準備。

  1.4 QMC通信協議

  多通道控制器(QUICC Multichannel Controler,QMC)是為了實現時分復用數據傳輸而設計的,它可以把時分復用幀的數據分發到多達64個邏輯通道。該模式下把每一幀的數據劃分成若干個時隙(Timeslots),每時隙8 b。在時隙分配表中規定每時隙數據從屬于某個通道,每個通道都有一組特定的緩沖區描述符和相應的緩沖區。一個時隙的數據在收發時被放置在特定的緩沖區里,MPC860T就可把分散的數據*在一起發送,或把*在一起的數據分發到各自專用的緩沖區,而不需要額外的處理來區分各種各樣的數據流。

  2 BSP 設計實現

  設計中軟件開發主要包括啟動代碼的編寫、操作系統的移植、硬件驅動程序和語音編、解碼和IP封裝、解封裝應用程序。篇幅有限,本文僅介紹BSP移植。BSP即板級支持包,其功能為硬件、軟件初始化、工程影像的下載和設備驅動等。

  2.1 BSP的定制

  無論是BootRom還是VxWorks都要使用BSP代碼,BSP定制需要根據硬板配置、系統設計需求、軟件功能等實際情況。實際開發過程中,為了縮短產品開發周期,通常以WINDRIVER公司的BSP模板或者第三方公司提供的可供參考的BSP為基礎,根據軟硬件具體配置進行修改,添加新的程序驅動新增硬件和功能。本課題中先把APC860開發板的BSPMPC860TEVB拷貝到installdir:\Tornado\target\collfig\ppcs860目錄下,主要做下列修改。

  2.1.1 config.h文件

  根據實際情況,需要修改啟動行,內存地址、容量等配置,修改部分代碼如下:

圖片點擊可在新窗口打開查看


  2.1.2 makefile文件的修改

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

圖片點擊可在新窗口打開查看


  2.1.3 romInit文件修改

  romlnit.s模塊包含了VxWorks在ROM中的入口點romlnit(),它是單板上電以后最先執行的匯編程序代碼。該函數功能包括處理器的復位、內存的初始化以及其他的最基本和必要的初始化工作。需要修改的內容如下:

  內部存儲器映射寄存器IMMR。該寄存器用來標識內部地址空間的基址,將該寄存器設置為“FF000000”。

  SIU模式配置寄存器SIUMCR。包括有外部總線仲裁器配置,外部master的支持,DEBUG調試端口配置,系統接口引腳配置以及奇偶校驗支持,將該寄存器設置為“00E10000”。

  BSP中討論SDRAM的初始化過程,首先對MAMR寄存器的初始化,再得到UPM的RAM陣列表的地址,然后將RAM陣列表地址中的值寫入MPC860 RAM WORDS ARRAY中,最后初始化OR以及BR寄存器。

  2.1.4 ppcs860.h

  ppcs860.h是參數配置頭文件,該文件包含大量宏定義,為使MPC860T正常運行且SCC串口工作在QMC協議透明模式,根據實際需要做了如下配置:

  (1)修改系統常量對應的宏定義:SCCx參數在雙端口RAM中存儲的起始地址、緩沖區描述符(BD)的基地址、緩沖區和BD的數目等;

  (2)串口和時隙分配表的初始化,主要包括時隙分配、引腳分配等,通過設置SI RAM參數,規定了每個邏輯通道對應的時隙和數據路由,本系統中選擇SCC2和TDMB接口實現QMC通信,引腳配置如下:

  PC6 RSYNC,PA2 RXC,PA10 RXD,PA0 TXC。PA11 TXD

  (3)SCC2初始化:設置SCC2工作在QMC模式;

  (4)QMC全局參數初始化:MCBASE(多通道基地址指針),初始化為SCC2對應外部BD表的基地址,MRBLR(最大接收緩沖區長度),接收、發送時隙分配表起始地址的指針(Rx S PTR,Tx S PTR),接收、發送時隙分配表當前時隙的指針(Rx PTR,TxPTR),中斷循環表基地址(INTBASE),中斷循環表下一可用入口的指針(INTPTR)等;

  (5)QMC特定通道參數初始化:TBASE,RBASE(該邏輯通道的緩沖區描述符的起始地址),TBPTR,RBPTR(當前發送、接收緩沖區描述符指針),TMR-BLR(最大接收幀長度)等。

  2.1.5 驅動程序

  驅動程序直接對硬件操作,實現硬件和操作系統、應用程序之間的交互。需要自行編寫MPC860 SCC串口驅動程序ppcs860QmcSio.c,通信平臺中SCC工作在QMC Transparent模式。ppcs860QmcSio.c文件中包含SIO_DRV_FUNCS結構體中定義的5個函數和中斷處理函數ppc860QmcInt()、Qmc邏輯通道復位函數ppc860QmcChannelReset()。ppc860SccIoctl()提供了一些設備控制選項,包括停止數據傳送、察看當前通信狀態(空閑還是忙)、輪詢或中斷模式選擇等;ppc860sccInt()處理QMC通道的中斷請求,通過中斷方式實現數據的收發功能;ppc860SccStartuP()函數啟動一個發送周期;ppc860SccCallbackInstall()安裝回調函數。中斷處理函數的功能有:

  (1)提供接收、發送中斷處理函數,調用回調函數完成設備和較高層協議之間的數據傳送。

  (2)處理數據接收過程中出現的接收數據過長,數據傳送被迫終止等異常。由于不需要QMC的輪詢模式,因此ppc860SccPollInput()和ppc860SccPollOutput()以NULL函數的形式實現。同時還要編寫sysSccSeri-al.c文件,修改sysLib.c文件和usrConfig.c文件。在sysSccQmc.c中提供SCC設備描述符的初始化例程、SCC中斷連接例程等;通過修改sysLib.c和usrCon-fig.c文件以實現VxWorks對QMC驅動程序的調用和QMC驅動程序與TTY系統的掛接。

  2.1.6 通道中斷處理過程

  數據收發的核心是中斷處理函數。QMC中的所有邏輯通道共享SCC2的中斷,SCC2維持有一個全局中斷表,表中每一項里面都含有邏輯通道號和中斷源,可以被驅動識別以處理不同情況下出現的事件。中斷發生時,驅動從SCCE寄存器里面判斷全局中斷源,如果中斷是由邏輯通道引起,中斷服務程序便查找全局中斷表以找到該邏輯通道,并從中斷條目里面檢查中斷信息以確定是什么類型,再調用相應的收發和錯誤處理函數。

  2.1.7 數據接收和發送

  多通道語音通信系統中MPC860T SCC串口時分復用即工作在QMC模式,邏輯通道的通信協議為Trasparent mode,該協議僅傳輸二進制數據,不對數據流進行位級操作,不區分數據幀中的格式位、起止位和數據位等,不對接收的數據做檢錯處理,因而具有較高的數據傳輸速率。

  接收函數由中斷服務例程調用。由于是每接收一幀產生一次中斷,故接收函數也每次處理一幀的數據。數據的接收由接收描述符RxBD控制。當要接收數據時,接收函數首先需要確定RxBD有效;確定沒有問題后,才將數據從接收緩沖區拷貝到接收Ring buffer,并復位RxBD;否則在進行相應錯誤處理后復位RxBD。接收函數流程如圖3所示。

圖片點擊可在新窗口打開查看


  數據發送不調用中斷處理函數,發送函數檢測到發送緩沖區可用(即TxBD中R位為1)后,調用回調函數將數據從發送Ring buffer拷貝到串口發送緩沖區(Txbuffer)。這里為發送功能開辟足夠大的環形緩沖區(足以容納應用程序每一幀的數據)。發送函數流程如圖4所示。

  2.2 BSP調試方法和遇到的問題

  2.2.1 調試方法

  開發調試有兩種方法,一種是使用仿真器通過BDM(后端調試模式)一步步地跟蹤調試,另一種是通過點燈的方式進行所謂的“黑”調!昂凇闭{的方法是通過“燈”閃、用示波器測片選等,根據外部現象和所編的測試代碼進行比較分析來調試程序。進行“黑”調的目的是調通信串口部分代碼,宿主機可以通過串口與目標機的通信,然后再調試其他部分。調試流程分成兩部分。首先是預內核啟動代碼(Pre-Kernel Initializa-tion),待最小內核啟動正常后再添加I/O系統、文件系統、網絡系統等組件和調試應用程序。使用仿真器Vi-sion Probe通過BDM方式調試BSP并將BootRom映像燒入FLASH。

  2.2.2 調試中遇到的問題

  (1)系統無法正常復位

  在調試過程中,發現MPC860T的CLKOUT引腳無輸出信號,系統上電復位過程沒有完成,系統無法正常工作。初步判斷是硬件問題。用萬用表和示波器逐步檢查上電復位、硬件復位、軟件復位、時鐘輸入和BDM調試等模塊電路,發現正常。判斷是BGA焊接出現問題,將芯片取下,重新焊接,系統復位正常,時鐘信號輸出穩定正常。

  (2)網絡無法與外界通信

  100 Mb/s快速以太網驅動加載中,網絡層協議無法運行,目標板無法與外界網絡建立聯系。目標板網絡啟動時發出的MAC地址信息幀外界無法收到。通過仿真器發現程序單步運行正常。經過反復試驗和測試,最終發現因SDRAM初始化程序沒有運行導致程序運行(需要SDRAM支持突發模式)出錯。更改調試方式,將BootRom開始的所有程序燒入FLASH,上電啟動,網絡正常,目標板與外界建立良好的網絡通信。

  3 結 語

  該系統在實際測試中話音質量穩定,測試時聲音清晰,沒有串擾和雜音,沒有較大延遲,說明硬件設計正確完備,QMC驅動程序和語音編解碼和IP封裝與解封裝應用程序性能優良。

  如果板卡上語音通道更多,則每幀的時隙增多、長度增大,因為FPGA內部電路所提供的的幀同步信號周期并不改變,所以只是實際數據傳輸速率提高,可以保證各路語音的同步和實時性。系統中QMC工作在Transparent Mode限制了它的應用范圍,如何改進使系統支持多種通信協議是需要進一步研究的問題。


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

嵌入式語音通信系統中VxWorks BSP的設計實現








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
在线电影院国产精品| 久久另类ts人妖一区二区| 亚洲成a人v欧美综合天堂下载 | 国产成人综合亚洲91猫咪| 亚洲国产人成综合网站| 亚洲综合成人在线视频| 亚洲一区在线观看免费 | 国产精品全国免费观看高清 | 日本一区二区三区国色天香 | 自拍偷拍欧美激情| 一区二区三区精品视频在线| 一区二区三区成人| 午夜欧美大尺度福利影院在线看| 日韩在线a电影| 国产精品影音先锋| 91亚洲精品一区二区乱码| 国产一区免费在线| 中文字幕在线观看一区二区三区| 欧美日韩国产高清一区二区三区 | 国产午夜精品美女毛片视频| 国产精品无遮挡| 亚洲国产日韩一级| 国内久久精品视频| 91丝袜呻吟高潮美腿白嫩在线观看| 国产偷久久久精品专区| 视频一区二区三区在线观看| 精品视频一区二区三区免费| 欧美成人免费网站| 亚洲欧美电影院| 蜜臀久久99精品久久久久久9| 成人福利视频在线| 鲁鲁狠狠狠7777一区二区| 在线免费视频一区二区| 欧美精品一区二区三区蜜桃| 亚洲欧洲无码一区二区三区| 无吗不卡中文字幕| 91在线云播放| 亚洲一区二区三区四区中文| 日韩欧美一级特黄在线播放| 亚洲视频精选在线| 狠狠色综合播放一区二区| 粉嫩av四季av绯色av第一区| 中文字幕一区二区三区最新| 国产亚洲综合性久久久影院| 丝袜诱惑制服诱惑色一区在线观看| 国产成人av电影| 日本不卡一区二区三区在线观看 | 亚洲欧美欧美一区二区三区| 久久99国产精品久久| 国产乱码一区| 制服丝袜亚洲精品中文字幕| 亚洲欧美日韩中文播放 | 日韩欧美一区二区三区四区五区| 777色狠狠一区二区三区| 亚洲精品视频在线看| 成人午夜私人影院| 在线国产99| 日韩一区有码在线| 成人sese在线| 精品一区二区国语对白| 国产精品激情偷乱一区二区∴| 亚洲欧美经典视频| 国产成人午夜片在线观看高清观看| 国产精品国产三级国产专区53| 一区二区三区av在线| 日韩欧美在线观看一区二区三区| 亚洲精品乱码久久久久久黑人| 国产成人丝袜美腿| 日韩国产精品一区二区三区| 欧美不卡一区二区三区四区| 午夜精品福利一区二区三区av | 国产精品乱码视频| 精品久久久久久综合日本| 精品一区在线播放| 日韩你懂的在线播放| 日韩在线观看一区二区| 久久五月天婷婷| 久久久精品日韩欧美| 国产精品自拍三区| 在线视频国内一区二区| 亚欧色一区w666天堂| 久久精品国产理论片免费| 国产亚洲午夜高清国产拍精品| 国产精品资源在线| 欧美视频在线观看一区| 日韩高清电影一区| 午夜免费电影一区在线观看| 亚洲特黄一级片| 国产欧美一区二区视频 | 天天av天天翘天天综合网色鬼国产| 99久久精品情趣| 欧美一区二区三级| 国产裸体歌舞团一区二区| 欧美又粗又大又爽| 日韩精品欧美精品| 在线视频不卡国产| 亚洲成人av福利| 亚洲亚洲精品三区日韩精品在线视频| 亚洲伦理在线精品| 久久精品国产一区二区三区日韩| 中文一区二区在线观看| www.成人av.com| 中文字幕一区二区三区四区不卡| 国产九色91| 亚洲精品高清在线| 婷婷五月色综合| 日韩专区欧美专区| 欧美探花视频资源| 国内国产精品久久| 91精品婷婷国产综合久久性色 | 免费在线观看精品| 欧美性色黄大片| 国产一区二区中文字幕| 欧美日韩性生活| 国产成人在线视频网址| 精品久久久久香蕉网| 91浏览器入口在线观看| 国产精品网站在线| 奇米888一区二区三区| 亚洲成a人v欧美综合天堂| 色老汉一区二区三区| 黄页网站大全一区二区| 久久综合久久综合久久| 国产一区二区视频在线免费观看| 一区二区久久久久久| 色美美综合视频| 国产.欧美.日韩| 国产视频一区在线观看| 精品卡一卡二| 亚洲中国最大av网站| 亚洲国产日韩综合久久精品| 亚洲精品欧洲精品| 日本vs亚洲vs韩国一区三区二区 | 国产91清纯白嫩初高中在线观看| 91精品国产入口| 91丨porny丨蝌蚪视频| 亚洲欧美国产毛片在线| 91成人免费在线| 不卡一区中文字幕| 亚洲视频一区二区在线观看| 日本韩国精品在线| 91在线porny国产在线看| 一区二区三区四区蜜桃| 欧美色老头old∨ideo| 91老师国产黑色丝袜在线| 亚洲综合激情小说| 欧美一区二区成人| 久久亚洲高清| 国内外成人在线| 综合在线观看色| 欧美男女性生活在线直播观看| 国产乱码精品一区二区三区卡 | 99在线国产| 图片区小说区区亚洲影院| 91麻豆精品国产91久久久资源速度 | 日韩一二三区视频| 福利视频一区二区三区| 视频一区欧美日韩| 久久亚洲精品国产精品紫薇| 日本一区二区三区免费观看| 国产精华液一区二区三区| 亚洲欧美激情一区二区| 欧美一级日韩免费不卡| 手机成人在线| 超碰在线97av| 精品系列免费在线观看| 日韩理论片网站| 日韩欧美国产精品| 一区二区日本| 精品免费视频123区| 国产精品一区二区在线观看网站| 国产精品第五页| 欧美一区二区三区小说| 欧洲一区二区日韩在线视频观看免费| 成人午夜视频网站| 日韩福利视频网| 综合激情成人伊人| 精品少妇一区二区三区视频免付费 | 日韩精品自拍偷拍| 色美美综合视频| 欧美美乳视频网站在线观看| 波多野结衣在线一区| 美女一区二区视频| 一区二区三区在线影院| 久久久亚洲精品一区二区三区| 色婷婷精品久久二区二区蜜臀av| 国产精品一区二区三区在线| 福利视频网站一区二区三区| 中文字幕乱码日本亚洲一区二区| 久久av免费一区| 国产乱妇无码大片在线观看| 日韩毛片精品高清免费| 日韩视频一区二区在线观看| 艳色歌舞团一区二区三区| 国产一级二级三级精品| 成人av免费观看| 国产成人高清视频| 国产自产高清不卡| 青青草原综合久久大伊人精品优势 | 不卡视频一区二区|