基于DSP的以太网通信接口设计

发布者:渤海湾最新更新时间:2014-08-12 来源: 互联网关键字:DSP  PCI总线  TM1300 手机看文章 扫描二维码
随时随地手机看文章

  概述

  TM1300是Philips公司推出的新一代高性能多媒体数字信号处理器芯片。基于TM1300的应用系统适合于实时声音、图像处理,可广泛应用于会议电视、可视电话、数字电视等应用场合。它不仅具有强大的处理能力,同时还具有非常友好的音频和视频以及SSI和PCI等I/O接口,因此可以根据应用的需要灵活地构造各种视频通信系统。鉴于目前计算机网络的普及和网上视频业务的发展,很有必要为TM1300视频编码系统开发一个以太网接口以拓宽其应用范围。开发以太网接口的一种合理思路是利用TM1300集成的PCI接口来驱动专用的以太网接口芯片。由于目前多数以太网接口芯片(如Real- tek8029,Realtek8139等)都采用PCI接口,因此,可以用将数据从TM1300传输到这些专用的以太网接口芯片后,再由它们发送数据,而且TM1300可以在嵌入式操作系统pSOS中运行,同时由于系统pSOS带有TCP/IP协议栈因此可以方便地完成编码码流的TCP/IP封装。 根据以上思路笔者在进行了前期测试的基础上进行了电路板的设计并顺利完成了调试。目前这个以太网接口已经基本开发成功。本文将对这个设计的技术要点从硬件和软件两个方面进行详细介绍。

  

基于DSP的以太网通信接口设计

 

  2 TM1300及接口

  该系统的硬件结构框图如图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自己给自己授权。

  

基于DSP的以太网通信接口设计

 

  (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卡上有多个功能设备时,为了进一步区分不同的设备就要用到这几位,由于Realtek8029是单功能设备,故这几位全为0,AD〔11〕~AD〔31〕是设备选择位,其中必须有且仅有一位为“1”,如图2所示,这在物理上表现为总线的AD〔11〕~AD〔31〕中有一根为高电平如果输出高电平的这根线与某块PCI卡的PCI IDSEL引脚相连,这块卡就会被激活,这样,在紧接着的数据周期中,它就会将其PCI配置空间相应寄存器中的内容放到总线上以供读取。 (3) PCI_FRAME、PCI_DEVSEL、PCI_IRDY、PCI_TRDY引脚的处理 上述四个引脚均是低电平有效,因此需要接上拉电阻,以保证在设备未驱动该引脚时处于稳定的无效状态,上拉电阻的阻值在1kΩ~10kΩ范围内,阻值越小,则将该信号驱动为有效的时间越短,但太小又会导致电流过大,所以,要权衡考虑,本设计选用4.7kΩ。 上述三点对脱机情况下PCI设备的互连具有较普遍的参考意义,除此之外,本设计还有以下比较特殊的几点: ●应将TM1300的PCI,INTA引脚配置为输入,以便接收Realtek8029的中断; ●PCI时钟由TM1300提供; ●Realtek8029的复位信号也就是TM1300的复位信号,该信号由外部电路提供; ●TM1300的PCI STOP、 PCI SERR引脚悬空,表示Realtek8029不具备相应的附加功能。另外,TM1300的PCI INTB、PCI INTC、PCI INTD引脚可以用作用户中断。

  

基于DSP的以太网通信接口设计

 

  3 软件设计

  该接口设计的软件结构框图如图3所示。其中TM1300运行于pSOS,它是一个简单的实时多任务嵌入式操作系统,带有pNA+网络组件,其pNA+相当于TCP/IP协议栈的扩展,它向上可提供应用程序编程的socket接口,向下可定义一个与网络接口层交互的接口,其中包括8个函数,分别是:ni_init(接口芯片初始化)、ni_broad-cast(发送广播分组)、ni_send(发送普通分组)、ni_getpkb(申请发送缓冲区)、ni_retpkb(归还接收缓冲区)、ni_ioctl(I/O控制操作)、ni_pool(统计量查询)、Announce(网络接口驱动调用它把接收到的数据包提交给pSOS)。其中网络接口层在本应用中就是Realtek8029的驱动程序,它通过硬件抽象层来驱动Realtek8029(硬件抽象层是PCI总线的配置读写和I/O读写指令集的总称)。 软件执行的流程大致是:系统首先启动pSOS,并由它加载网络接口驱动程序,然后调用驱动程序的ni_init函数,同时初始化Realtek8029的PCI配置空间并设置Realtek8029的工作参数,之后启动用户任务。在这里,用户任务为H.263编码进程。它对VI口读入的源图像进行压缩编码后,将调用socket的接口函数sendto(sendto是UDP套接口专用的发送函数),然后把码流发送给pSOS由pSOS根据UDP协议进行封装后,再调用ni_send函数,并由ni_send完成数据包从系统主内存到Realtek8029片上RAM的拷贝,然后启动Realtek8029发送数据。在接收情况下,Realtek8029收到一个完整的数据包后会用中断通知CPU,然后由CPU执行中断服务程序。当中断服务程序将数据包从Realtek8029片上RAM中拷贝到系统的主内存后,系统将调用Announce函数并把数据块的指针、数据长度和其它信息提交pSOS,最后由pSOS将数据包沿协议栈一层层上传并作出相应的处理。 软件的设计和pSOS操作系统的关系比较密切,限于篇幅,本文不对pSOS作详细介绍,。本文接下来重点介绍PCI配置空间的配置过程,这部分对于类似的设计有较普遍的参考意义。PCI配置空间有64个字节,PCI片内的这些寄存器存储了该芯片的厂商号、设备号、设备类型等重要代码,还包括命令寄存器、基地址寄存器等控制其总线行为的寄存器,它们必须在设备初始化时正确配置,否则设备不能工作。 对Realtek8029 PCI空间的配置需要三个步骤: 首先是扫描总线,这一步的目的是找到Real-tek8029的配置地址,直观地讲,就是找到它的PCI_IDSEL引脚和哪根AD线相连,因为后续的配置写要根据这个地址来寻址。扫描总线时,要对AD〔11〕到AD〔31〕每根线进行一次扫描,如果哪根AD线连接了一个PCI设备的PCI IDSEL引脚,那么用配置读函数读取PCI配置空间的0号寄存器时,应该返回该设备的设备和厂商代码,如果这根线实际未连接设备,则返回值是0。已知Realtek8029的设备和厂商代码是“0x802910ec”,如果返回值与之相同,说明找到了Realtek8029,这时要记下这根AD线的序号。例如,在硬件上把Realtek8029的PCI IDSEL和AD〔20〕相连,则扫描到的序号就应该是“20”。 其次,用配置写函数配置I/O读写使能,即在command寄存器中写入“0x1”。 最后,用配置写函数配置I/O地址,也就是在I/OBaseAdddress寄存器写入分配给该设备的I/O地址(例如“0xe400”)。具体程序流程图如图4所示。

  

基于DSP的以太网通信接口设计

 

  4 调试结果

  根据以上设计,笔者在原TM1300视频编码硬件系统的基础上加入了PCI接口,并编写了pSOS下Realtek8029的驱动程序。然后,在这个硬件平台上对Realtek8029的驱动部分进行了数据传送测试。 笔者首先用一个单独的UDP发送任务进行发送速率测试。这个任务主要是高速地向网络上的一台PC发送数据包,数据包的大小是变长的。PC接收并对丢包数进行统计的结果如表1所列。实验表明,在用网线直连的各种测试速率情况下都没有出错,而当接入局域网后,在发送速率为4.5Mbps时有突发的少量错误。由于UDP是不可靠的传输方式,所以这种错误是正常的。测试中,UDP发送的最高速率可以达到5Mbps左右,它与硬件的最高速率(10Mbps)相比还有一定差距,主要原因是数据从系统主内存到Realtek8029片上RAM的拷贝过程目前尚未采用DMA方式,这是需要改进的地方。 表1 丢包数统计表(单位:丢包个数/分钟) 连接方式发 送 速 率 800kbps 1.8Mbps 4.5Mbps 网络直连 0 0 0 接入局域网 0 0 2.5 接下来笔者进行了编码和传送的联合测试。编码任务执行H.263数据压缩后,把码流从以太网接口发出,然后在网络上的另一台PC上接收这个码流,并进行解码播放。通过调整编码器的量化步长可以控制编码的输出码率。在实验环境下发现在量化步长大于等于5、码率在700kbps以下时,基本没有丢包现象,解码得到的图像比较稳定,而当量化步长进一步减小,码率接近1Mbps时,就会出现丢包现象,解码的图像会出现彩色方块。出现这种现象是因为H.263编码器对CPU资源的消耗很大,而且数据在主内存和Realtek8029片上RAM之间的复制采用I/O读写方式也需要一定的CPU资源。这样,当量化步长小于5时,处理的复杂度超过了CPU的能力从而产生了一定的误码。解决的途径一方面是改进数据的传送方式(采用DMA),另一方面是需要对编码任务进行优化。

  5 小结

  本文介绍了PCI总线接口的设计以及PCI空间初始化的步骤,同时对测试结果进行了较详细的分析,提出了以后改进的方向。

关键字:DSP  PCI总线  TM1300 引用地址:基于DSP的以太网通信接口设计

上一篇:一种基于DSP和USB的指纹识别系统设计
下一篇:基于DSP+CPLD的嵌入式高速图像通信系统设计

推荐阅读最新更新时间:2024-05-02 23:07

基于FPGA+DSP的多通道单端/差分信号采集系统设计
在信号处理过程中,经常采用 DSP + FPGA 协同处理的方法。是因为DSP虽然可以实现较高速率的信号采集,但其指令更适于实现算法而不是逻辑控制,其外部接口的通用性较差。而FPGA时钟频率高、内部延时小,全部控制逻辑由硬件完成,速度快、效率高,适合于大数据量的传输控制,可以集成外围控制、译码和接口电路,在高速数据采集方面有着DSP以及单片机无法比拟的优势,但缺点是难以实现一些复杂的算法。因此,若采用DSP+FPGA协同处理的方法,便可以使DSP的高速处理能力与FPGA的高速、复杂的组合逻辑和时序逻辑控制能力相结合,达到互补,使系统发挥最佳性能。 在目前的信号采集及测试系统中,由于应用背景的复杂,经常需要对多路信号进行采集,有的甚
[嵌入式]
基于FPGA+<font color='red'>DSP</font>的多通道单端/差分信号采集系统设计
CEVA-BX2™音频DSP支持Dolby MS12多码流解码器
随着智能电视、空中内容服务(over-the-top(OTT))和机顶盒发展成为多功能的数字媒体接收器,多种内容来源要利用多种音频编解码器来获得。Dolby MS12是一款全面的高效低成本解决方案,可减低将多种音频技术集成到这些设备中的复杂性。Dolby MS12支持各种优质音频内容的解码,包括Netflix等许多内容服务提供商所使用的Dolby Atmos,以及作为ATSC 3.0 中下一代音频标准之一的Dolby AC-4。 CEVA在CEVA-BX2 DSP上实现和优化的Dolby MS12获得认证,将使得系统级芯片(SoC)设计人员和设备制造商能够将Dolby技术(包括Dolby Atmos和Dolb
[物联网]
CEVA-BX2™音频<font color='red'>DSP</font>支持Dolby MS12多码流解码器
基于DSP CCS 2.2实现指纹识别预处理系统
摘要:介绍了采用TI公司的高速DSP芯片TMS320VC5402的指纹识别系统的预处理算法和编程实现。算法实现采用的DSP集成开发环境(IDE)为CCS 2.2。通过采用极值滤波、平滑滤波、拉普拉斯锐化、二值化等对指纹图像进行预处理,取得了良好的试验结果。 关键词:指纹识别 DPS TMS320VC5402 CCS 2.2 利用生物认证技术取代传统的使用钥匙、身份证、密码等方法进行个人身份鉴定,可广泛应用于银行、机场、公安等领域的出入管理。将信息技术与生物技术相结合的生物认证技术是本世纪最有发展潜力的技术之一,而指纹识别技术则是其中非常有前景的一种。 数字信号处理器(DSP)是指以数值教计算的方法对数字信号进行处
[应用]
DSP供电的TPS5602
TI公司TPS5602双通道同步降压开关电源控制器具有非常快的反馈控制和双通道特性,它是为要求快速瞬态响应和高效率的DSP应用而特别设计的。它采用迟滞控制方法,这对于高瞬态电流应用(如6000和C54XDSP)是理想的器件。靠置位待机引脚可实现上电和继电时序,这是因显两个通道是独立的。TPS5602宽输入电压和可调输出电压使它适合于很多应用。 TPS5602工作条件 ·VIN范围 4.5V~25V ·VOUT范围 1.2V(对给定的输入电压) ·IOUT范围 每个输出14A(增加并联开关器件可扩展电流能力) 关键特性 ·独立的双通道 ·快速瞬态响应的迟滞控制 ·可调的输出电压(降到1.2V) ·
[嵌入式]
28纳米24核DSP引擎,台积代工
    微软(Microsoft)扩增实境(AR) 显示器「HoloLens」(见图)内建的全像处理单元(Holographic Processing Unit, HPU)规格究竟为何?   根据The Register、Windows Central报导,微软22日在加州举办的「Hot Chips」会议上揭密,指称HPU是由台积电 (2330)以28 纳米制程技术代工,由24个Tensilica数位讯号处理器( DSP )核心组成,拥有6,500万个逻辑闸(logic gate)、8MB SRAM,上头还覆盖一层1GB低耗电DDR3 RAM,并采用球栅阵列封装( BGA )技术。据了解,HPU每秒可执行一兆次计算。  
[手机便携]
赛灵思3款新型开发套件增容DSP产品系列
       全球可编程平台领导厂商赛灵思公司(Xilinx)宣布推出三款新型 开发套件 ,进一步提升数字信号处理开发人员的实力,帮助他们方便地应用 FPGA ,进而实现最高信号处理性能,成本与功耗优化,并通过协处理技术解决系统瓶颈。因为赛灵思目标设计平台是与业界领先的分销商、设计服务、工具和硬件合作伙伴密切合作推出的,因此,赛灵思 DSP 产品的新套件将可以为开发人员提供硬件、工具和参考设计,以确保打造出一款适合各种不同DSP应用的生产力高效的设计流程。        赛灵思平台解决方案和服务市场高级总监Tim Erjavec指出:“我们认识到市场对DSP和设计方法的要求相当广泛,因此我们携手德州仪器、安富利电子
[工业控制]
Cadence DSP IP取得业界首款汽车ASIL B(D)级认证
该认证将助力客户开发面向 自动驾驶 及ADAS应用,且符合ISO26262标准的SoC产品 中国上海,2020年11月13日——楷登电子(美国 Cadence 公司, NAS DAQ:CDNS)今日宣布,Cadence® Te nsilica®ConnXB10与ConnXB20是业界首款通过汽车安全完整性B(D)级(ASILB(D))认证,面向汽车雷达、 激光雷达 及车用 无线通信 技术(V2X)优化的 DSP 产品。通过ISO26262:2018功能性安全标准体系下的ASILB(D)认证对于开发自动驾驶及先进驾驶员辅助系统(ADAS)汽车专用片上系统(SoC)是必不可少的。 ASILB(D)认证由随机硬件故障支持(ASI
[汽车电子]
PCI总线系统体系结构
    PCI (Peripheral Component Interconnect)总线是一种高性能局部总线,是为了满足外设间以及外设与主机间高速数据传输而提出来的。在数字图形、图像和语音处理,以及高速实时数据采集与处理等对数据传输率要求较高的应用中,采用PCI总线来进行数据传输,可以解决原有的标准总线数据传输率低带来的瓶颈问题。PCI是目前计算机插卡式外设总线的事实标准。     PCI提供了一组完整的总线接口规范,其目的是描述如何将计算机系统中的外围设备以一种结构化和可控化的方式连接在一起,同时它还刻画了外围设备在连接时的电气特性和行为规约,并且详细定义了计算机系统中的各个不同部件之间应该如何正确地进行交互。
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved