机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
基于TMS320VC5409的嵌入式WEB数据服务器的实现
基于TMS320VC5409的嵌入式WEB数据服务器的实现
 更新时间:2008-8-3 15:46:13  点击数:6
【字体: 字体颜色


    摘 要: 设计开发了一种适用于对数据传输率有一定要求的WEB数据服务器系统。系统以TMS320VC5409 DSP为主处理器,通过与RTL8019AS芯片连接实现了以太网接口。完成了lwIP TCP/IP协议栈在TMS320VC5409的移植,并在应用层实现了一个嵌入式WEB数据服务器。
关键词: 嵌入式WEB数据服务器  数据采集  TMS320VC5409  lwIP  RTL8019AS

 

    在较高速的嵌入式应用场合,普通单片机[1]的I/O接口速度以及协议处理速度经常成为网络数据传输的瓶颈,因而并不是一种合适的设计选择。这些系统中的主处理器通常都会有较快的处理和接口速度,将这些快速接口与以太网控制芯片进行连接可以实现满足一定数据传输速率要求的网络应用。本文基于TMS320VC5409数字信号处理器[2]和RTL8019AS以太网控制器[3]设计了一种适用于传输传感器采集到的大量数据及处理后信息的快速以太网接口,并在此基础上通过移植与应用lwIP TCP/IP协议栈[4]实现了嵌入式WEB数据服务器。
1 以太网控制器RTL8019AS[3]
    目前以太网技术在计算机系统中已经发展到千兆位的带宽速度,但多数以太网接口芯片都是通过PCI总线与CPU连接。而在嵌入式系统中,除非系统内的高速处理器本身带有PCI接口,一般很难直接与这类芯片进行连接。从经济与效率的角度考虑,嵌入式系统采用相对慢速的10M以太网接口芯片RTL8019AS是合适的。RTL8019AS是一种被广泛应用的廉价以太网接口控制器,与CPU的接口为ISA总线,可以与各类处理器的外部接口进行轻松连接。芯片的特点如下:
    (1) 符合Ethernet II和IEEE802.3 10Base5,10Base2,10BaseT;
    (2) 全双工,收发速率可同时达到10Mbps;
    (3) 内置16KB SRAM,用于收发缓存环,降低对主处理器的速度要求;
    (4) 支持8/16位可选宽数据总线,8条中断申请线以及16个可选I/O基地址;
    (5) 支持UTP、AUI和BNC接口自动检测,另外集成的10BaseT传输接口支持对接收线对的自动极性校正;
    (6) 支持4个诊断LED引脚的可编程输出。
2 TMS320VC5409与RTL8019AS的接口
2.1 C5409外部总线接口的特点[2]
   C5409外部总线接口是其与多种外部器件进行连接的主要通路。通过外部总线上的各种控制信号引脚,C5409可以实现将对外部接口的访问映射到对数据存储空间、程序存储空间或I/O空间的访问。当映射到存储空间时,接口的数据访问率可以达到CPU的运行频率,即100MHz,10ns为一个访问周期,而映射到I/O空间时,最快可以达到20ns一个访问周期,都足够满足访问ISA总线的速率要求(RTL8019AS的最快ISA I/O写速度50MHz,读速度更低)。只要将RTL8019AS映射在I/O空间即可。在I/O空间访问时,除了数据和地址总线外,主要的控制信号是IS#、R/W#、IOSTRB#信号。
2.2 C5409与RTL8019AS的连接
    具体的接口如图1所示。为简化系统,选择将RTL8019AS配置在跳线模式,可以直接在配置引脚处进行跳线或使用C5409的I/O引脚来模拟配置电平,这样就省去了外接9346配置芯片的必要。需要注意的是用C5409的I/O引脚来模拟配置电平时,RTL8019AS的复位信号RSTDRV需要最后拉低,因为配置信号的状态都是在RSTDRV的下降沿锁定的。

                   
    (1) 虽然RTL8019AS的地址总线有20根,但在不使用芯片的Boot ROM和PnP功能时,只需要其中的SA0~SA9,这样可以保证RTL8019AS的I/O基地址为200H~300H,共占用基地址之后的32字节空间。
    (2) 数据总线是双向总线,需要考虑芯片间的电平匹配问题。C5409是3.3V接口器件而RTL8019AS的接口电平为5V,因此需在总线上加入一个兼容3.3V和5V电平的驱动芯片,如LVTH16245A。另外由RTL8019AS向C5409输出的中断和READY信号也需要通过驱动芯片进行电平匹配。中断信号通过非门翻转。
    (3) 由于C5409没有分离的读写控制信号,需要通过译码的方法来与RTL8019AS进行连接。对DSP的IS#、R/W#和IOSTRB#信号译码可以获得RTL8019AS的IORB和IOWB信号,这里需要选择快速的译码芯片以满足控制信号的时序要求。
    (4) JP拉高表示工作在跳线模式,IOCS16B拉高表示配置数据总线的宽度为16位,AEN驱动为低。RTL8019AS的复位信号RSTDRV直接以DSP的XF引脚控制。
2.3 C5409对RTL8019AS控制与读写
    (1)初始化RTL8019AS。首先在寄存器页0,通过配置三个指针寄存器BNRY、PSTART、PSTOP来定义接收缓存区环,通过配置寄存器ISR和IMR来清除使能中断,然后在寄存器页1配置物理地址寄存器PAR0~PAR5、多播地址寄存器MAR0~MAR7(在无需接收多播以太帧RCR寄存器的AM为0,MARx无需配置)及当前页指针寄存器CURR,最后回到寄存器页0,初始化数据配置寄存器DCR、接收配置寄存器RCR和发送配置寄存器TCR并向控制寄存器写入开始命令。
    (2)接收以太帧。芯片在接收到一个完整的以太帧并校验正确后就会发出一个中断并置状态寄存器ISR和RSR的PRX位,表示正确接收到一帧以太网数据。这时DSP就可以通过RTL8019AS的远程DMA通道从芯片内部的接收缓存区环中读出以太数据帧。在每个接收到的以太数据帧之前,RTL8019AS会向这一帧的接收缓存区的头四个字节中写入接收状态、下一包(即下一个以太帧)缓存区头指针、当前接收帧的字节数等信息。在8位模式时如图2所示。这里字节长度包括接收到的4字节校验数据。接收过程受到三个寄存器的控制:BNRY、RBCR0和RBCR1,BNRY寄存器指向待接收数据帧在缓存区环中的首页起始地址,而RBCR0和RBCR1指定了待接收数据的长度。DSP通过初始化这三个寄存器并向RTL8019AS发出“Remote read”命令来将数据从缓存区环读出。Remote DMA通道会自动根据这三个寄存器来控制读出的起始地址和长度。此外,还可以使用“Send Packet”命令来接收数据,这时BNRY、RBCR0和RBCR1寄存器是自动初始化的。

                               

  • 上一篇: 基于MSP430的轨道电路在线测试仪设计与实现
  • 下一篇: 基于MSP430单片机的多功能、高精度数据采集系统
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1