Motorola PowerPC850SAR 是850 系列芯片针对 ADSL 接入推出的专用简化版本(此后又推出了性价比更高的 850DSL 芯片),价格较低,其提供的软件方面支持虽然较少,但已基本符合我们的需求,后续开发的难度不会太大。如果选择通用的 Tornado开发套件进行开发,以后可以方便地迁移至 Intel IXP225、Intel IXP425或SamSung 等系统平台,代码的重复利用率高。由此,我们决定采用 PowerPC 850SAR作为核心部件,ADSL接入前端则选择兼容性较好的 Alcatel DSP芯片组,总体架构如图4-1所示。
4.3 软件开发平台的选择
软件上目前流行的嵌入式操作系统有 vxworks、Psos、Rtos、QNX、ulLinux 等,由于vxworks 对 PowerPC、ARM 都有良好的支持,已经提供了针对 Motorola 开发评估板(ADS板)的 BSP 组件,并且其集成开发套件 Tornado 使用起来非常方便,可以有效地节省开发周期,也便于以后系统迁移,所以决定采用这款操作系统。
4.4 开发平台搭建简述
开发平台的准备包括硬件平台调试及底层驱动编写,因为篇幅有限,硬件平台的调试略过,底层驱动及软件开发环境的搭建工作仅作简单描述:
1)针对目标板与ADS板在 SDRAM、Flash、Ethernet等芯片的不同,更改相应的外围器件驱动,生成新的 BSP驱动,并编译生成 vxworks 系统的Boot 代码,使其可以在新的目标板上运行。
2)在此 BSP 基础上创建 Bootable 工程,编译 bootable 程序代码,使其可以正常下载至目标板中运行,并能正常启动 Target Shell。此后,就可以建立downloadable 工程,将应用程序以任务执行方式在目标板中进行调试。
3)编写 Alcatel DSP 驱动,调通 ADSL 物理层、ATM层(Utopia接口)的连接。这部分工作的要点在于 Alcatel DSP 内部寄存器和提供目标代码都是 Little Endian 模式,而 PowerPC 默认的总线是 Big Endian 模式,下载时需要对相应数据做字节或字交换。
图4-2 ADSL 共享接入系统软件架构示意图
这些部分调试完成后,就可以着手 SAR END驱动、网络层接口及网关应用层的开发了。软件架构系统如图4-2所示(深黑色所示部分为本文所要着重阐述的SAR END驱动、ADSL 业务驱动及 NAT 实现等模块)
5 SAR END 驱动的编写
SAR 驱动模块是参照 Vxworks 系统的 END 驱动模板编写的,基本符合 MUX 接口规范,其中主要的几个功能实现。
5.1 Utopia接口初始化850SAR 内部参数的全局联系结构。是 SCC 各个参数表间的联系,由左至右是从上级表到下级表的关系,代码实现中,对这些参数表的初始化顺序则要相反,即先初始化下级表,再初始化上级表。具体初始化流程如下:
5.2 加载及初始化函数
sarEndLoad 由系统在加载muxDevEndLoad 时间接调用,是 END 驱动第一个被加载的例程,它根据入口参数 unit,对相应AAL5通道的atmif结构表进行初始化,并调用SarAAL5Add 增加相应的通道。
sarEndStart 由系统在运行 muxDevEndStart 时间接调用, 它根据入口参数unit 调用 SarAAL5Start 函数激活相应的 AAL5 通道,允许其正常开始收发。
SarAAL5Add 增加一条 AAL5通道,初始化这条通道的收发缓冲区,缓冲区描述字, TCT 及 RCT 表中的相关参数值。
SarAAL5Start 激活一条AAL5通道,根据通道对应的atmif结构设定 PVC, 上行速率。将通道 PVC MASK 放入 Lookup 表中,激活该通道进行接收;发送 Tx_Active 命令,激活该通道进行发送。
5.3 停止及卸载函数
在系统执行 muxDevUnload 或 muxDevStop 时间接调用这两个函数。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机ADSL接入及共享技术的实现(一)(4)在线全文阅读。
相关推荐: