新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于MPC8280 多通道控制器驱动的研究与实现

基于MPC8280 多通道控制器驱动的研究与实现

作者: 时间:2010-12-07 来源:网络 收藏

一个MCC 可以支持最多128 路独立的时分串行 具有两个MCC,每个MCC连接到一个SI。MCC 的数据流可以通过SI 的四个时分复用接口TDM 中的任何一个进行数据传输。

一个MCC 中的128 个以32 个为一组连接到某一个TDM 接口上。MCC1 的(0-127)只能连接到SI1 上,MCC2 的通道(128-255)只能连接到SI2 上。MCC 的每一个通道都可独立配置为不同于其它通道的工作模式。通过配置SI 和SIRAM 可以将TDM 数据中的时隙路由到特定的MCC 通道。

每个MCC 都具有以下特性:最多达128 路独立的HDLC 或者透明传输通道,或者64 路SS7 通道;独立的发送和接收路由;每一通道都可支持HDLC、透明传输或者SS7 协议。

2 MCC 操作概述

的内核G2_LE 和外部的通信是由CPM 来完成。CP 根据相应的接口控制寄存器配置来执行数据发送或接收操作,操作完成后再向G2_LE 内核的中断寄存器写入中断值。

G2_LE 内核根据中断值调用相应的中断处理函数,由此完成数据交互过程。

每一个MCC 能通过相应的SI 连接到TDM 接口上。一旦SI 的某个TDM 被配置为包含有MCC 通道的时隙并且TDM 开始工作,CP 就将MCC 通道发送缓冲区内的数据复制到发送FIFO内,然后SI 在时钟下将MCC 通道的发送FIFO 内数据发送到TDM 接口上,或者将数据从TDM 接口上接收下来并存入到MCC 通道的接收FIFO 内,然后CP 再将接收FIFO 内的数据复制到MCC 通道的接收缓存区内。

CP 通过一系列与MCC 相关的数据结构来对MCC 通道FIFO 的管理。MCC Globalparameters 管理着MCC 模块的各个通道,以及操作这些通道所用到的门限参数和基址指针的配置。每个通道还有一组channel-specific parameters 和channel-extra parameters,包含了该通道的协议状态信息和指向该通道的接收及发送缓存描述符的指针。

Channel-specific parameters 会因该通道所工作的协议不同而作不同的解释。如果TDM的配置含有MCC 超通道(super-channel)时隙的话还要用到超通道表(Super-channelTable)。

● global Parameters MCC1 的global parameters 适用于通道0—127,MCC2 的global parameters 适用于通道128—255,分别位于相对于DPRAM 基址偏移0x8700 和0x8800 处。

●Channel-specific Parameters 这些参数仅局限于相应的MCC 通道,位于相对于DPRAM 基址偏移64×CH_NUM 处。

● Channel Extra Parameters 包含相应通道缓存描述符的基址和指针。位于相于对DPRAM 基址偏移XTRABASE+8×CH_NUM 处。其中XTRABASE 是MCC Global Parameters 之一。

● Super-channel Table 仅当在SIRAM 中配置了超通道时使用。位于相对于DPRAM基址偏移SCTPBASE 处。其中SCTPBASE 是MCC Global Parameters 之一。由于我们的应用场合未使用到超通道,所以未对该参数进行配置。

● BD Tables 位于外部存储器。接收通道的缓存描述符表位于相对于DPRAM 基址偏移MCCBASE+8×RBASE 处。发送通道的缓存描述符表位于相对于DPRAM 基址偏移MCCBASE+8×TBASE 处。MCCBASE 是Global Parameters 之一,RBASE/TBASE 是Channel Extra Parameters之一。

● Interrupt Queues 位于外部存储器。共有一个发送中断表和一至四个接收中断表。TINTBASE 指向发送中断表,RINTBASE指向接收中断表。TINTBASE 和RINTBASE均为Global Parameters。

3 MCC 的设计与

运行在嵌入式操作系统VxWorks5.5 之上,开发环境为Tornado 2.2.1 for PPC。


评论


相关推荐

技术专区

关闭