????? ?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 功能結構和工作事理
???????? 系統上電后,語音通信措置主板復位電路發生復位旌旗燈號,MPC860領受到復位旌旗燈號后,跳轉到0X100處起頭執行啟動代碼。按照BSP設置裝備擺設慢慢執行CPU初始化、板上其他硬件電路的初始化、操作系統運行所需數據結構的初始化、啟動VxWorks WIND內核、建樹UserRoot使命、初始化系統頂用到的可選擴展模塊(如I/O系統、文件系統、收集和談等)、建樹使命usrAppInit(),此時語音通信平臺籌備停當,可以執行語音通信使命。?
??????? 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.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驅動軌范
?
評論
查看更多