摘要:基于ip网络的多媒体应用越来越广泛,本文首先解决多媒体dsp芯片tm1300与以太网控制器cs8900a的硬件接口的设计,分析嵌入式操作系统psos+内核中实现tcp/ip协议栈的网络模块pna+,最后实现在psos+操作系统环境下cs8900a的网络驱动程序的设计。
关键词:tm1300 cs8900a psos+ pna+ 驱动程序
1 概述
随着网络技术、多媒体技术的飞速发展,基于ip网络的多媒体应用越来越广泛。tm1300是philips公司推出的一款高性能多媒体数字信号处理器芯片,适合于实时性强的音视频处理应用,可广泛应用于会议电视、可视电话、远程图像监控等应用场合。具有广阔的应用前景。
根据具体的基于ip网络上的多媒体应用系统的需要,采集的音视频数据经压缩处理后,一般要传送到远程终端或控制中心,这时就需要解决dsp应用系统与ip网络接口的问题。
考虑到国内局域网大部分是以太网,随着交换式网络、宽带网络的发展,使得基于以太网接入ip网络上的应用有着现实意义。
tm1300可以作为pc机的一个外设工作,此时可直接采用pc机上标准的以太网接口传输数据;tm1300支持独立引导,自成一个系统从而脱理pc环境工作,这为实际低价位高性能音频处理终端提供了可能。这种情况下,网络接口的设计就相对复杂一点,需要解决硬件接口电路的设计、基于实时操作系统psos+驱动程序的设计等。本文介绍以太网控制器cs8900a,并解决tm1300 dsp系统和cs8900a的硬件接口设计;简单介绍psos+操作系统内核中实现tcp/ip协议栈的网络模块pna+,以及psos+操作系统下网络驱动程序的设计。
2 dsp芯片tm1300及x10总线接口
dsp芯片tm1300的核心是32位vliw结构cpu,时钟频率可达166mhz,片内集成了sdram接口、pci/xio总线接口、图像协处理器、可变长解码器、音频输入输出接口、视频输入输出接口、同步串行通信接口等模块,各模块与sdram之间采用dma方式传送数据。cpu各功能模块之间的协调、资源的分析、进程的调度,由运行在cpu上的一个由中断源触发的实时操作系统psos+控制。
网络控制器cs8900a是通过xio总线与tm1300实现接口的。限于篇幅,这里重点介绍tm1300中用于外设端口扩展xio总线。
tm1300片内的pci/xio复用总线接口给用户提供了无缝连接pci设备及扩展8位外设端口的能力。当pci/xio总线接口中的xio总线逻辑被激活时,作为tm1300系统扩展8位外设的总线,其中pci-ad[23:0]为地址总线a23~a0,共提供了寻址16m个单元的能力;pci-ad[31:24]为8位数据总线d7~d0;c/be0#为读信号rd;c/be1#为写信号wr;c/be2#为数据选通信号ds。
3 cs8900a简介
cs8900a是cirrus公司生产的一种高集成度的全面支持ieee802.3标准的以太网控制器,其组成结构框图如图1所示。cs8900a支持8位、16位的微处理器,可以工作在i/o方式或memory方式。片内集成了isa总线接口,可以直接和有isa总线的微处理器系统无缝连接。片内集成了4kb容量的packetpage结构的ram,这4kb存储器映像结构的ram包括片内各种控制、状态、命令寄存器,以及片内发送、接收缓存。用户可以以i/o方式、memory方式或dma方式访问它们。
之所以选择cs8900a,是因为cirrus提供了cs8900a的基于各种操作系统的驱动程序源代码,这就为开发带来了方便。基于psos的驱动程序是假设目标系统中包含了intel 80x86的cpu和1个16位的isa总线接口的,而tm1300中用于扩展外设的xio总线是8位总线,可见硬件设计的主要任务是实现8位xio总线与16位isa总线时序的配合。驱动程序的设计主要是解决基于80x86芯片的源代码移植到tm1300上运行的问题。
4 tm1300与cs8900a硬件接口电路设计
tm1300的xio总线用于提供用户扩展外设,有8根数据线d7~d0,24根地址线a23~a0,还有i/o