PowerPC MPC8260的
FCC工作在ATM模式的原理
MPC8260 PowerQUICCⅡ是飞思卡尔PowerPC系列CPU芯片主导产品www.cechina.cn,它的通信处理机模块(CPM)同时支持三个快速串行通信控制器(FCC),FCC支持同步高速率协议HDLC、Ethernet和ATM。FCC控制器工作在ATM模式时,通过UTOPIA接口与物理层连接,原理图如图1所示。
在设备接收数据时,对接收到的信元(cell,53字节)进行地址映射,把VPI/VCI映射为逻辑通道号,对应有缓冲描述符及缓冲内容。发送数据时,把带有数据缓冲信息的通道号通过ATM步长控制器调度,再由FCC发送到物理层设备,转换为光信号后通过光口发送出去。
VxWo
rks实时操作系统下
END程序框架设计
VxWorks是WindRiver 公司开发的高性能实时操作系统,其网络结构与OSI参考模型相比是在IP 层和链路层之间有一Mux层,屏蔽了网络层和数据链路的直接交互,通过END(增强型网络驱动:Enhanced Network Drivers) 实现IP 层与链路层之间的数据交互。END向上通过Mux 层与IP 层相连控制工程网版权所有,向下与链路层直接相连,从而在IP 层与链路层之间建立一个数据传输通道。
END驱动程序的核心数据结构是END对象,即END_OBJ,在end.h中定义。驱动程序的装载函数返回一个指向数据结构END_OBJ的指针。这个数据结构为MUX提供了描述驱动程序的信息和指向数据结构NET_FUNCS的指针,而NET_FUNCS填充的是有关END驱动程序的标准进入配给函数。
END驱动程序输出到MUX的进入配给函数,即数据结构NET_FUNCS中用以输出到MUX接口的标准进入配给函数如表1所示。
ATM驱动程序的实现
驱动程序中重要的数据结构
DRV_CTRL
DRV_CTRL是定义的ATM设备控制结构CONTROL ENGINEERING China版权所有,包括了MPC8260的FCC基地址、驱动的单元号、中断号、存储管理相关等信息。在驱动程序中,此结构是初始化、发送、接收、中断处理等主要函数的入口参数。
需要指出的是,此结构与以太网控制器中为其驱动定义的控制结构类似,不同之处在于以太网控制器是为一个FCC定义一个BD(缓冲描述符)链表;ATM要求每个通道都有一些特定参数并要求每个通道有一个BD链表。因此,需要定义连接控制结构来管理这些与通道相关的参数。
AtmConnectionData
连接控制结构是ATM建立链路时用到的最重要的数据结构,规定了链路的逻辑地址、信元速率等信元传输时用到的重要参数以及发送、接收数据帧时用到的BD表。在本驱动中,对每个通道建立了一个BD表,并采用了循环链表结构,提高了缓冲的利用效率。在建链前必须对该结构进行分配,并初始化。
驱动程序的实现
本END驱动主要是实现IP层与ATM层之间的数据交互,ATM网络是面向连接的,对于IPOA(IP over ATM)来说控制工程网版权所有,TCP/IP只是将其作为像以太网一样的另一种物理网络来看待CONTROL ENGINEERING China版权所有,因而,本驱动的设计可参考以太网驱动的设计思想。按照以上END的程序设计框架编制END所用到的全部基本函数,因这里的END 与地址处理无关,故endMCastAddrDel()、endMCastAddrGet()、endMCastAddrAdd()、endAddressForm()和endAddressGet()这几个函数