基于DSP的以太网通信接口设计
摘要:介绍了TM1300 DSP 的特点,给出了通过TM1300的PCI接口驱动以太网芯片来实现以太网通信接口的设计方法。该设计将TM1300和以太网结合起来,因而可以方便地实现视频通信,文章详细介绍了该方案的软件和硬件的设计要点,最后给出了对模拟数据和实际视频压缩码流的传送实验结果。
关键词:PCI总线 TM1300 以太网通信接口 pSOS+内核 pNA+ 1
概述
TM1300是Philips公司推出的新一代高性能多媒体数字信号处理器芯片。基于TM1300的DSP应用系统适合于实时声音、图像处理,可广泛应用于会议电视、可视电话、数字电视等应用场合。它不仅具有强大的处理能力,同时还具有非常友好的音频和视频以及SSI和PCI等I/O接口,因此可以根据应用的需要灵活地构造各种视频通信系统。鉴于目前计算机网络的普及和网上视频业务的发展,很有必要为TM1300视频编码系统开发一个以太网接口以拓宽其应用范围。开发以太网接口的一种合理思路是利用TM1300集成的PCI接口来驱动专用的以太网接口芯片。由于目前多数以太网接口芯片(如Real- tek8029,Realtek8139等)都采用PCI接口,因此,可以用PCI总线将数据从TM1300传输到这些专用的以太网接口芯片后,再由它们发送数据,而且TM1300可以在嵌入式操作系统pSOS中运行,同时由于系统pSOS带有TCP/IP协议栈因此可以方便地完成编码码流的TCP/IP封装。 根据以上思路笔者在进行了前期测试的基础上进行了电路板的设计并顺利完成了调试。目前这个以太网接口已经基本开发成功。本文将对这个设计的技术要点从硬件和软件两个方面进行详细介绍。
2 TM1300及PCI总线接口
该系统的硬件结构框图如图1所示。本系统硬件设计的重点是PCI总线接口。PCI总线根据数据位的宽度有32位和64位之分,64位的数据线与32位是兼容的。PC机中常见的是32位PCI总线,它的有用引脚总数是110个,可以分成3组。第一组是基本功能信号线,包括32位共享数据地址线AD〔00..31〕、接口控制线、仲裁线、时钟线、系统复位线、中断线;第二组是附加功能信号线,包括错误报告线、cache功能支持线、JTAG边界扫描线;第三组是电源线,包括设备耗电量标识线、3.3V电源线(12根)、5V电源线(13根)、地线(22根)。 因为Realtek8029不具备PCI的附加功能信号线所支持的cache功能和JTAG边界扫描功能,同时虽然它具有奇偶校验错误报告功能引脚,但该脚可以悬空不用。所以,设计时只需考虑第一组功能信号线的连接即可。 PCI接口的设计有以下几个要点: (1)PCI总线的仲裁 这里先说明两个概念。首先,PCI总线是多设备共享的,由于PC机里可以有多个PCI设备,所以需要使用仲裁器;其次,PCI设备有主设备和从设备之分,主设备可以发起PCI数据的传送从设备只能被动地响应主设备的操作以对读操作和写操作做出响应。PCI的仲裁引脚是REQ和GNT,分别为请求线和授权线,而且只有PCI主设备有这两个引脚。一般情况下,REQ通常和GNT成对地连到仲裁器,而设备与设备的REQ和GNT通常是互不相连的。 PCI总线的仲裁过程是这样的:PCI主设备把REQ电平拉低以表示向仲裁器请求占用总线。经仲裁获准后,仲裁器把这个设备的GNT电平拉低以表示请求获准,此后该设备便可以使用总线了。当它不再使用总线时,应使REQ信号变为高电平仲裁器就不再给它分配总线资源。在本系统中,TM1300是PCI主设备,而Realtek8029是PCI从设备。由于它们不存在共享总线的问题,所以不需要仲裁器,而只是简单地把REQ和GNT短接即可,这就相当于TM1300自己给自己授权。
(2)PCI_IDSEL信号线在设备的PCI配置读写中的作用 PCI有一种特殊的读写周期,称为配置读写。这是因为在系统引导时,如果没有给设备配置I/O或内存地址,软件就只能通过配置来读写访问设备。配置读写有两种,分别称为0型和1型具体采用哪一种取决于总线的硬件连接。配置读写操作不经过PCI桥时,使用0型,当需要经过PCI桥时,则要用1型,0型读写的地址直接就是总线上的地址,1型读写的地址则要经过PCI桥的译码才能成为最终的总线地址。本设计中,TM1300和Realtek8029是用PCI总线直连的,所以使用0型配置读写。 AD〔00..31〕是PCI总线的共享地址和数据线,每一次PCI传送都分为地址周期和数据周期。在地址周期,采用0型读写时,AD〔00..31〕的内容如下,AD〔00〕和AD〔01〕总为“00”,因为配置读写是以双字为单位的,AD〔02〕~AD〔07〕是要读写的PCI配置空间的寄存器号AD〔08〕~AD〔10〕是设备的功能号在一块PCI卡上有多个功能设备时,为了进一步区分不同的设备就要用到这几位,由于Real
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)