MPC8270是广泛应用于通讯和网络体系的一款通用处理器,具有强壮的接口才能和多协议支撑功用,十分适用于高端网络和通讯设备,如路由器、电信交换机和基站等。MPC8 270多信道操控器(MCC)支撑的高档数据链路操控(HDLC)协议是重要的数据链路层协议,经过E1/T1中继传输HDLC数据包,是数据传输的重要方法。一起MCC还支撑透传形式,用来完结话音等重要事务的通讯。如在E1线路上,把整个E1通道分红32个时隙,每个时隙分配64 kbps的带宽,依据事务需求,可区分一部分时隙带宽做为数据事务通讯,一部分做为话音事务通讯。
1 MPC8270的硬件体系
MPC8270硬件模块组成如图1所示,首要由嵌入式G2_LE Core(MPC603e内核)、体系接口单元(SIU)和通讯处理模块CPM组成。G2_LE Core含16KB的指令缓存和16KB的数据缓存。体系接口单元(SIU)首要完结体系复位、发动和初始化、中止办理、时钟装备、外部总线接口操控等功用。通讯处理模块CPM包含一个32位的RISC处理器(CP)、3个全双工的快速串行通讯操控器(FCC)、1个多通道操控器(MCC)、4个全双工的串行通讯操控器(SCC)、2个全双工的串行办理操控器(SMC)、1个体系外设操控口(SPI)、1个串行接口(SI)、I2C总线操控器等。时隙分配器(TSA)可将SCC、FCC、SMC、MCC的数据复用到4个时分复用接口(TDM)。
2 MCC作业原理
MPC8270含有一个多通道操控器MCC2(通道号128—255),最多可支撑128路独立的HDLC或许通明传输通道,或许64路七号信令(SS7)通道,每一个通道都可独立装备为不同于其它通道的作业形式,可独立的发送和接纳路由。MCC2与串行接口SI2相连接,经过装备SI2和SI2RAM路由表能够将TDM数据中的时隙恣意的路由到特定的MCC2通道。
MPC8270的内核G2_LE和TDM的数据通讯是经过通讯处理器模块(CPM)来完结的。CPM依据操控寄存器的标志位来履行数据发送或接纳操作,操作完结后再向G2_LE内核的中止寄存器写入中止值,G2_LE内核依据中止值调用相应的中止处理函数,由此完结数据交互进程。
驱动程序装备MCC2的相关寄存器后,CPM就将MCC2通道对应的发送缓冲区内的数据复制到发送FIFO内,然后SI按外部帧头和时钟将发送FIFO内数据发送到TDM接口上。或许将数据从TDM接口上接纳下来并存入到MCC通道的接纳FIFO内,然后CPM再将接纳FIFO内的数据复制到MCC2通道对应的接纳缓存区内。
3 MCC驱动的规划与完结
3.1 MCC初始化
下面临MCC模块初始化的详细过程按次序做了描绘,并对每个过程值得留意的当地进行了阐明:
1)分配并初始化MCC操作所需的内存空间。
MCC分配内存之前必须先了解MCC的数据结构,这也是初始化作业的难点,如图2所示。
数据结构的存储区由MPC8270内部的DPRAM和外部的External Memory两部分组成,DPRAM首要存储参数,包含存储通道参数Channel Parameter(固定开始地址0x0000),大局参数Global MCC2 Parameters(固定开始地址0x8800),外部通道参数Channel Extra Parameters(可选取未运用的DPRAM一段区域来寄存),超级通道表Super channel Table(可选取未运用的DPRAM一段区域来寄存);外部存储区External首要存储各BD对应的数据Buffer,中止循环表RxIntCQ、TxIntCQ也寄存在外部存储区,详细的区域需求依据运用的通道数、每个通道运用的BD的个数、每个BD对应的Buffer巨细来确认。
了解了数据结构就能够来请求数据缓冲区、缓冲区描绘符及循环中止表所需的存储空间;一起设置DB(缓冲器描绘符)基地址,大局参数基地址,通道参数基地址,分配外部存储空间,收发BD的存储空间,收发中止向量表的存储空间。
2)封闭TDM通道。
在进行其它寄存器装备之前必须先封闭TDM通道。
3)发动CP初始化收发参数。
4)装备TDM运用的硬件接口和时钟管脚。
5)初始化循环中止表。
6)STOP CP收发。
7)初始化SIRAM。
Disable SI2GMR, 装备SI2AMR,SI2BMR,SI2CMR,SI2DMR,将一切路由表清0,最终装备路由表,留意:收发路由表空间各512字节,4个Bank,每个Bank分前32进口,后32进口(可不必),每个进口2个字节。
8)初始化收发BD的状况,设置BD状况,分配接纳缓存区族。
设置收BD状况为空0x8000,设置中止BIT位0x1000,最终一个BD需设置Wrap位;发BD状况需设置Ready位0x8000:crc:0x0c00,Interrupt 0x1000,最终一个BD需设置Wrap位。
9)初始化MCC大局参数。
10)缓冲区描绘符BD和数据缓冲区。
11)所运用通道的MCC参数。
通道参数的设置,需求清楚各个通道参数的地址规模,每个通道64字节。通道参数中可使能需求的中止,区分出通道的运用协议,比如是HDLC还TRAN等。
12)初始化所运用通道的MCC外部参数。
每个通道的外部参数8个字节,用于指向此通道各BD的地址对应的外部Buffer地址。
13)使能CP收发,使能TDM。
使能TDM是MCC正式作业的最终一步,假如作业需求重新装备MCC参数,也必须先中止TDM,完结参数修改后再发动TDM。
3.2 中止处理
中止程序收到一个MCC通道发生中止请求时,首要铲除MCC中止,获取MCCE寄存器的中止标志,然后依据MCCE[RINTx]和MCCE[TINT]的值来处理循环中止表,中止信号流程如图3所示。
3.3 接纳数据
MCC收到数据后将数据写入外部已分配好的缓冲区,然后经过中止程序告诉接纳程序去接纳数据。数据接纳程序依据中止带来的参数通道号(MCN)和BD偏移量去找到相应的缓冲区,并从缓冲区获取数据,接纳信号流程如图4所示。
3.4 发送数据
数据发送函数首要判别发送通道的状况,若答应发送则将需发送BD基地址指向需发送的数据缓冲区的基地址,然后设置发送标志发动发送。通讯协处理器(CPM)会主动完结数据从缓冲区到线路接口的发送。数据发送完结后通讯协处理器会设置中止标志,并由中止处理程序告诉数据发送完结,接纳信号流程如图5所示。