新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于MPC8280 多通道控制器驅動的研究與實現

        基于MPC8280 多通道控制器驅動的研究與實現

        作者: 時間:2010-12-07 來源:網絡 收藏


        MCC 主要分為以下幾部分:

        3.1 MCC 初始化

        主要完成 MCC 模塊的初始化,具體內容包括:為MCC 控制數據結構分配內存,并根據初始化參數初始化數據結構的相關內容;初始化MCC 相關的控制寄存器;創建接收消息隊列以及相應接收處理任務;最后啟動MCC 進行數據收發。

        (1) 分配并初始化MCC 操作所需的內存空間。

        申請數據緩沖區、緩沖區描述符及循環中斷表所需的存儲空間。由于MCC 通過DMA 與主存進行發送數據和接收數據的交換,所以內存分配時必須要考慮緩存一致性問題,否則程序運行時可能出現較為嚴重的錯誤。VxWorks 提供了一個函數cacheDmaMalloc,可以為DMA 設備或者程序分配緩存安全的內存空間。

        (2) 初始化循環中斷表。

        將循環中斷表中的條目初始化為 0x00000000,并將最后一個條目初始化為0x40000000以標記結束位置。

        (3) 配置SI 寄存器和SIRAM。

        設置每組MCC 所使用的TDM,并且配置SIRAM 以建立TDM 時隙和MCC 的對應關系。

        (4) 初始化MCC Global Parameters。主要包括:

        ● MCCBASE MCC 基址指針,指向位于外部存儲器的緩沖區描述符表,為最大512KB 的連續空間。

        ● MRBLR 最大接收緩沖區長度。必須是8 整數倍。

        ●GRFTHR 全局接收幀門限。用于減少由于頻繁產生中斷而造成的開銷。

        ● GRFCNT 全局接收幀計數。初始化為GRFTHR。

        ● TINTBASE 多發送循環中斷表基址指針。

        ● TINTPTR 指向可用的發送循環中斷表條目。初始化為TINTBASE。

        ● SCTPBASE 指向超通道表。

        ● RINTBASE 多通道接收循環中斷表基址指針。

        (5) 初始化緩沖區描述符BD 和數據緩沖區。

        BD 表位于外部存儲器,其組織結構如圖2 所示。


        圖 2 MCC 緩沖區描述符結構組織圖

        (6) 安裝數據接收回調函數。

        (7) 初始化所使用通道的MCC Channel-specific Parameters。

        (8) 初始化所使用通道的MCC Channel-extra Parameters。

        (9) 如使用了超通道則初始化Super-channel Table。

        (10) 配置系統接口單元SIU,根據需要設置與MCC 相關的中斷并安裝中斷處理函數。

        (11) 配置TDM 所用到的并行接口和時鐘信號。

        (12) 執行MCC INIT 命令。

        (13) 使能TDM。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 北票市| 石嘴山市| 民丰县| 鄂尔多斯市| 当雄县| 大荔县| 简阳市| 涟水县| 惠水县| 金乡县| 甘孜| 东光县| 黑河市| 大悟县| 衢州市| 镇平县| 青州市| 辽阳市| 手游| 聂荣县| 和平县| 盘山县| 青海省| 平山县| 施秉县| 崇礼县| 东安县| 翼城县| 泸溪县| 鄂托克旗| 旬邑县| 靖江市| 安乡县| 天柱县| 襄垣县| 同江市| 东阿县| 吴川市| 安龙县| 民丰县| 子长县|