基于TMS320F2812的快速以太网通信系统平台

发布者:tetsika最新更新时间:2008-08-15 来源: 21IC关键字:TI  DSP  网络通信 手机看文章 扫描二维码
随时随地手机看文章

引言


随着Internet应用的日益普及,信息共享程度的不断提高。嵌入式设备的数字化和网络化已经成为必然趋势,目前市场上的主流嵌入式操作系统都包含了TCP/IP网络协议栈。这些商品化的TCP/IP协议栈运行可靠、性能也非常好,但是价格较高,降低了市场竞争力。因此,开发自主知识产权的TCP/IP协议栈的要求变的日益迫切而有意义。


本文的研究目标是建立一个DSP系统的网络通信平台,实现DSP系统与网络中其他通信设备的高速数据传输。虽然选择了TI公司的TMS320F2812 DSP,但是本文提出的方案,具有很大程度的通用性,对其他系列的DSP或CPU系统也有一定的参考价值。

TCP/IP协议栈的体系结构


以太网最典型的应用形式是Ethernet+TCP/IP,即在由以太网构建的底层传输网络上采用已成为通用标准的网络传输协议TCP/IP进行数据通信,这是当今最流行,应用最广泛的以太网通信方式。


国际标准化组织(ISO)制定了开放式系统互连(OSI)参考模型,将通信会话需要的各个过程划分为7个相对独立的功能层次,与OSI参考模型不同,TCP/IP模型侧重于互连设备之间的数据传输,而不是严格的层次划分。


通常,OSI参考模型在从理论上解释互联网通信机制时比较适合,而TCP/IP模型则在具体的软件实现中更为适合。

系统硬件设计


1 系统的总体结构


本文的以太网通信系统大致分为5个层次,由下向上分别为:硬件层、设备驱动层、操作系统、网络模块和用户代码。系统硬件电路,包括DSP系统和以太网控制芯片Ax88796的接口电路,是系统的物理基础。快速以太网驱动程序处于硬件抽象层,本身虽为软件,但与硬件结合紧密,为操作系统提供了访问快速以太网控制芯片Ax88796或改变其工作行为的系统调用。μC/OS-Ⅱ操作系统处于系统内核,为用户代码统一管理系统软硬件资源,提供用户所需的底层服务。TCP/IP协议栈软件为μC/OS-Ⅱ操作系统扩展了网络通信能力。用户代码处理特定的应用程序细节,可以直接使用TCP/IP协议模块提供的API函数,开发基于以太网的通信项目。


2 系统硬件框图


系统硬件包括TMS320F2812与IS61LV51216存储器芯片的接口电路、TMS320F2812与快速以太网控制芯片Ax88796的接口电路。系统的软件代码在调试阶段存放在扩展的RAM中,脱机运行后,用于存储传输的图像数据,故扩展了512KB。使用了ISSI公司生成的IS61LV51216存储器芯片。以太网控制芯片Ax88796通过ISA接口与DSP相连,通过网络隔离器16ST8515后,接入以太网络中。电源监控电路在系统电源电压出现波动时,给DSP系统提供复位信号,使系统程序重新初始化并运行,避免出现不可预知的错误。

图1 硬件框图


3 DSP系统硬件设计


①系统电源设计
为了降低芯片功耗,TMS320F2812采用1.8V(1.9V@150MHz)内核电压,但GPIO、FLASH等模块采用3.3V供电。本课题选用TI公司的TPS767D301电源芯片。该芯片输出两路电压,一路3.3V,另一路1.5~5.5V可调,支持1A电流输出。系统中DSP芯片正常工作下消耗电流230mA,以太网接口芯片最大消耗电流120mA,RAM最大消耗电流180mA,系统总功耗为530mA,故TPS767D301能满足系统要求。


②系统时钟设计


系统的时钟电路有两种方案可选择,一种是使用外部时钟源,即有源晶振。另一种是使用DSP内部的振荡驱动电路,外接一个晶体和两个电容。有源晶振的特点是不需要芯片内部振荡器,加上额定的电压就能输出规则的方波,缺点是输出波形只能是固定的两个电压值:低电平(0V)和高电平(输入供电电压),另外器件成本高。外接晶体的特点是使用芯片内部振荡电路,输出的波形为正弦波,波形幅度由控制器决定,不存在电压匹配的问题。


TMS320F2812的I/O引脚一般为3.3V,但时钟输入脚却是个例外,只能承受1.8V/1.9V的输入电压,而1.8V/1.9V的有源晶振市场上罕有出售,故采用无源晶振。


③复位电路设计


系统中有两个芯片需要复位信号:DSP芯片和以太网控制芯片Ax88796。但二者对复位信号的要求各不相同,DSP是低电平复位,而Ax88796是高电平复位,故采用TI公司的专用复位芯片TPS3307。该芯片具有上电复位、手动复位和电源监控三项功能。电路如图2所示。


上电复位电路保证系统在上电200ms后自动产生一个复位信号,使DSP进入正常的程序入口,Ax88796初始化内部寄存器。手动复位的功能是当系统出现程序跑飞或需要系统重新初始化并运行时,按下复位按键产生复位信号,使DSP进入正常的程序入口。


④系统RAM扩展


TMS320F2812内部已经集成了18KB的RAM,对于一般的应用来说,已经无须再扩展外部RAM。但是片内RAM能以150MIPS的速度进行访问,在对运算速度要求很高的处理程序中,通常将经常访问的程序段放到内部RAM中运行,这样能大大提高运行速度,因此片内RAM显得格外宝贵。而且本系统是一个网络通信系统,将来会用于进行大量图像的网络传输,因而也要求外括RAM用于存放图像文件。

图2 复位电路


RAM选用ISSI公司的IS61LV51216,存储容量为512K×16位,3.3V的供电电压,访问速度有8ns、10ns、12ns、15ns可选择。当CPU运行在150MHz的时候,地址和数据的最小有效时间为3个时钟周期,即20ns,所以该存储器接口不用考虑时序设计的问题。


4 快速以太网硬件接口设计


Ax88796内部集成有10/100Mb/s自适应的物理层收发器和8K×16位的SRAM,支持MCS-51系列、80186系列、ISA以及MC68K系列等多种CPU总线类型。Ax88796提供基于IEEE802.3/IEEE 802.3u局域网标准的10Mb/s和100Mb/s以太网控制功能,并采用IEEE 802.3u兼容的媒质无关接口MII(Media Independent Interface)。此外,Ax88796还提供可选的标准打印接口,用于连接打印设备或作通用I/O端口。


①Ax88796的ISA接口设计


Ax88796有两个输入引脚CPU[1:0]设置不同的工作模式,用于和不同的CPU总线相连。在与TMS320F2812连接时,将CPU[1:0]都拉低,设置为ISA总线接口。Ax88796的地址总线SA与数据总线SD分别与TMS320F2812的地址/数据总线相连,TMS320F2812通过I/O读写Ax88796的寄存器来控制其状态,通过远程DMA FIFOs与Ax88796的内部SRAM进行数据交换。Ax88796的基地址默认值200H,所以基地址范围为200H~21FH。Ax88796的ISA接口有10根地址线,SA[9:0]。


②Ax88796电源设计


Ax88796具有多种电压类型:VDD、VDDA、VDDPD和VDDO,分别为芯片内部的数字电路、模拟电路、相位侦测模块、收发器驱动模块提供电源。虽然同为3.3V电压,但为了防止各个模块通过电源线发生串绕,要求各电源独立供电,于是设计了电源隔离、滤波电路,将系统的3.3V供电电压,通过LC滤波分为Ax88796所需的四路电压。

系统软件设计


1 系统软件结构


除应用层用户程序外,系统软件可看做操作系统μC/OS-Ⅱ的功能扩展:Ax88796驱动程序屏蔽底层硬件,为操作系统扩展了访问网络设备的能力;TCP/IP协议软件为操作系统扩展了网络通信能力。
TCP/IP通常被划分为一个四层协议系统,每一层负责不同的功能。


● 接口层:Ax88796的驱动程序,直接访问Ax88796硬件设备,控制Ax88796的行为模式。
● 网络层:处理分组在网络中的活动,例如分组的选路。
● 运输层:为两台主机上的应用程序提供端到端的通信。
● 应用层:负责处理特定的应用程序细节。


在DSP上实现的100M快速以太网通信,关键要考虑两个方面:


● 如何控制硬件设备将数据发送到以太网中(或者将以太网中的数据接收到DSP内)。
● 如何生成待发送的数据(或者如何解释接收到的数据)。
二者分别由网络设备驱动程序和TCP/IP协议软件解决。
本系统的软件部分包含3个方面:快速以太网驱动程序、μC/OS-Ⅱ操作系统和TCP/IP协议栈软件。


2 快速以太网驱动程序开发


①Ax88796的寄存器


Ax88796的寄存器映射在从基地址200H到21FH地址空间内,共32个地址空间,因此Ax88796采取了分页机制,各寄存器分别存放在不同寄存器页内。


对Ax88796的寄存器进行正确的设置是系统运行的基础,下面是几个重要寄存器:


● CR(命令寄存器):用于选择寄存器页,启动和停止网卡。
● ISR(中断状态寄存器):反映Ax88796当前状态,CPU通过读取它判断引起中断的原因。
● DCR(数据控制寄存器):字节顺序、DMA字节/字传输模式选择。
● PSTART、PSTOP、BNRY、CPR:这四个寄存器与接收缓冲区有关。PSTART设置起始页,PSTOP设置停止页,这两个寄存器设置了接收缓冲区的首尾。BNRY指示最后一个被取走的缓冲区页,CPR指示第一个用于接收的缓冲区页。
● TPSR、TBCR0、TBCR1:这三个寄存器与发送缓冲区有关。TPSR设置发送缓冲区的起始页,TBCR0、TBCR1设置发送字节数。
● RSAR0、RSAR1、RBCR0、RBCR1:Ax88796通过远程DMA和系统交换数据,前两个寄存器设置远程DMA的起始地址,后两个设置远程DMA数据字节数。


②接收过程


接收数据帧的过程涉及到的寄存器主要有两个:CPR和BNRY。CPR寄存器指向新接收到的数据帧要存放的起始页地址,作为本地DMA的写指针;BNRY寄存器指向还未读取的数据帧的起始页地址,作为远程DMA的读指针。当CPR追上BNRY时,表示接收缓冲区已满,后续的数据帧将会被丢弃;当BNRY追上CPR时,表示接收缓冲区已空。


③发送过程

 

图3 发送过程


发送过程比较简单,发送过程的流程如图3所示。

3 嵌入式多任务操作系统μC/OS-Ⅱ的移植


所谓移植,就是使μC/OS-Ⅱ内核能在某个微处理器或微控制器上运行。为了方便移植,大部分的μC/OS-Ⅱ代码是用C语言写的;但仍需要用C和汇编语言写一些与处理器相关的代码,这是因为在读写处理器寄存器时只能通过汇编语言来实现。因此要使    μC/OS-Ⅱ正常运行,处理器必须满足以下要求:


● 处理器支持中断,并且能产生定时中断(通常在10~1kHz之间)。
● 使用C语言可以打开和关闭处理器的中断。
● 处理器支持能够容纳一定量数据的硬件堆栈。
● 处理器有将堆栈指针和其他寄存器读出和存储到堆栈或内存中的指令。


μC/OS-Ⅱ的移植工作主要包括两个内容:


● OS_CPU_C.C文件中的一个C语言函数
● OS_CPU_A.ASM文件中的四个汇编语言函数
由于篇幅有限,这里就不详细说明这两个文件的具体编写了。


4 TCP/IP协议栈的系统结构


①网络接口层模块


网络接口层模块包含Ax88796设备驱动、缓冲区管理和接口调度三方面。定义了网络接口抽象模型,屏蔽了网络物理细节,使上层软件能使用相同的数据结构作用于不同的物理网络。


②ARP模块


ARP协议将上层的协议地址(IP地址)与底层的硬件地址进行映射,从而形成了只能使用IP地址的上层软件和只能使用物理地址的下层设备驱动程序之间的分界线。ARP模块处理来自于网络的ARP数据分组,更新和维护ARP高速缓存,并为发送数据报提供相应的硬件地址绑定。


③ICMP模块


ICMP协议内容比较丰富,最常用的就是PC上ping程序所实现的回送请求和回送应答功能。本课题中,主要就是实现了回送应答功能,这样用户可以使用PC探测DSP是否网络畅通,其他功能目前暂时预留,待将来升级。


④IP模块


IP模块是整个协议栈的中心环节,它接收来自网络的输入数据报,同时也接收来自上层协议的输出数据报,IP为数据报选择路由,或者将其发往一个网络接口,或者将其交给本机的上层协议软件(回环)。


⑤TCP模块


TCP为不可靠的IP连接提供可靠的、具有流量控制的、端到端的数据传输。TCP模块中包含三个关键过程:数据输入、数据输出和超时重发。自适应重发机制是TCP的核心组成部分,自适应的修改连接的平均往返时间。


⑥UDP模块


UDP协议提供无连接的通信,相对于TCP协议,它非常简单。虽然UDP不能保证可靠性,但是效率非常高。


⑦Socket接口模块


Socket模块主要是为了封装底层协议软件,使得用户在DSP上开发网络程序更加方便。


系统测试举例


Internet Explorer(IE)是Windows操作系统内嵌的网页浏览器。Web(网页)是这个信息共享社会使用最广泛的信息组织形式。通过往DSP软件中添加Web服务功能,可以使本系统能够更好的融入Internet之中,用户可以通过IE浏览器直接对本系统进行设置和查看系统的反馈数据。打开IE浏览器,在地址栏键入“192.168.8.66”,即可访问预存在DSP系统中的远程数据采集页面。

结束语


测试表明本系统完全满足了网络通信系统所具备的各项功能,它将DSP的强大运算处理能力和Internet联系起来,使得DSP系统不再是“信息孤岛”,能够方便的与网络上的其他设备进行信息共享,进一步扩展DSP的应用前景。

关键字:TI  DSP  网络通信 引用地址:基于TMS320F2812的快速以太网通信系统平台

上一篇:基于DSP的滚动轴承实时故障诊断系统设计
下一篇:5/3提升小波在DM642上的实现与优化

推荐阅读最新更新时间:2024-05-02 20:41

TI推出机器人系统学习套件和课程,助力未来系统设计工程师的培养
2018年2月14日,北京讯,随着科技的快速发展,世界正变得越来越复杂,对效率的要求也在日益提升,为保持和提高自身的竞争力,工程专业学生必须学习和了解不同学科和产品的工程概念。为帮助这些未来的工程师们掌握系统设计的基础知识,()专门针对大学教育推出了的TI机器人系统学习。 TI-LK是一款低成本的机器人套件和课程教具,可以帮助学生们更深入地了解系统设计的工作原理。该系列的第一代产品“Maze Edition”拥有60余种电子和机械组件,包括行业领先的SimpleLink™ MSP432P401R微控制器Launch™。TI的SimpleLink微控制器平台在单个开发环境提供广泛的联网® 产品系列,可为()和机器人应用提供灵活
[机器人]
德州仪器推出业界最高密度、可堆叠18 V输入、35-A PMBus转换器
2016年12月8日,北京讯—德州仪器(TI)近日推出具有业界最高密度的18 V输入、35-A同步DC / DC降压转换器。此转换器提供全差分远程电压感测和电源管理总线(PMBus),支持遥测。TI的TPS546C23电源转换器将高侧和低侧MOSFET集成于小尺寸封装中,该封装的密度明显高于竞争器件。设计人员可以并行堆叠两个转换器,为各类市场上(包括有线和无线通信、企业和云计算及数据存储系统)空间受限和功率密集型应用的处理器提供高达70A的负载。 高度集成的TPS546C23电源转换器比竞争器件的密度高44%(安培/平方毫米)。它具有0.5%的参考电压精度和全差分远程电压感测功能,可满足深亚微米处理器的电压精度要求。电流共享能
[电源管理]
一种低成本的DSP快速开发方法
摘要:针对目前 DSP 的算法开发主要依赖手工编写C代码,不但工作量大,而且程序的下载依赖于专门的昂贵的仿真器的问题,在此提出了基于Matlab/ Simulink 环境的DSP算法开发,并利用 串口 通信实现程序下裁的综合方案。该方案能很好地利用Matlab现有的功能模块,大大降低了DSP的算法开发难度,利用 RTW 技术,可将算法自动生成C代码。利用串口通信下载调试程序,方便有效,节约了系统开发的成本。经实验验证,利用该方案缩短了算法开发的周期,结果可靠,成本低。 关键词:DSP;串口; RTW;Simulink 0 引言 数字信号处理器(Digital Signal Processing,DSP)是
[嵌入式]
一种低成本的<font color='red'>DSP</font>快速开发方法
MEMS技术显神威 德州仪器推出掌上型超小投影仪
  通过利用大批量生产的液晶显示器(LCD)技术来代替视图,数字投影仪给移动演示带来了革命性变化,使高输出电灯泡能够透过LCD而不是塑料薄片发光。尽管数字投影仪公司越来越多地缩小它们的LCD的尺寸,使LCD投影仪越来越小,功耗越来越低,但是,数字微镜技术准备超越数字投影仪技术,使投影仪能够做到像蜂窝电话那样的大小。   在今年的消费电子展上,位于华盛顿Redmond的Microvision将展示它的一种原型超小投影仪,其中,采用微机电系统(MEMS)技术把数字投影仪缩小至可由电池供电的掌上型设备的大小。   德州仪器公司已经展示了一种蜂窝电话大小的原型数字光线投影仪(DLP),其中,采用了一种具有一百万微镜面的MEMS芯片来投
[传感器]
DSP系统的建模和配置
  嵌入式软件开发需要对目标架构及其使用有广泛透彻的认识和了解。把嵌入式系统从概念转化为能够有效地在硬件环境中部署的高效解决方案,需要一系列步骤。整个过程包括:分析、架构搭建、评估、硬件支持、设计、编码、调试、集成、验证和确认。在这个过程中,如果硬件资源没有得到有效利用,或是软件没有针对硬件资源进行优化,都可能对性能造成严重影响。   CEVA-X系列DSP内核中采用的创新架构需要完全新颖的方案,以充分利用可能的设计变量来控制总体性能。CEVA-X1620是CEVA-X内核系列的第一款产品,采用非常先进的并行架构,在一个机器周期中可执行多达 8条指令。对于这类先进架构,高效能及高效率地使用硬件资源非常重要。   此外,CEVA
[嵌入式]
采用CAN总线实现DSP芯片程序的受控加载
该技术使对DSP芯片程序的加载可以脱离仿真器而直接受控于列车的主控机。该技术可靠性高、使用灵活方便,具有很强的实用性。   磁悬浮列车上有很多基于DSP芯片的模块和系统。目前, DSP芯片程序的加载与运行都主要依赖于仿真器,而DSP仿真器价格高、体积大,这使得磁悬浮列车系统的调试很不灵活方便;且这些基于DSP芯片的系统一旦脱离仿真器就只能运行事前载入的单一的程序,也使系统的灵活性受到了很大的限制。 本文研究了DSP芯片程序加载的基本原理,并根据这些原理,基于CAN总线,实现了DSP芯片程序的受控加载,使得DSP芯片程序的加载与启动可直接受控于上位主控机。由于主控机的灵活性很大,磁悬浮列车系统在调试时就可根据需要对其上各个控
[嵌入式]
一种基于FPGA+DSP的通用飞控计算机平台设计
  飞控计算机是现代导弹制导与控制系统的核心装置,其性能的好坏直接关系到精确制导的精度和杀伤目标的概率。近年来舵机、导引头、惯导等弹载设备日益向着数字化方向发展,因此设计一种能兼容多数字式设备的通用飞控计算机平台尤为重要。传统的单处理器核心飞控计算机难以在多通道异步数据收发的同时保证数据处理速度,难以满足现代导弹的要求。本文提出了一种基于DSP+FPGA结构,对外接口为422的通用数字飞控计算机平台。此平台能充分发挥DSP的运算速度,实现飞控算法。采用基于FPGA的双RAM缓冲机制,能很好地解决异步串行数据实时同步数据处理问题,满足飞控系统需求。   1 设计思想和工作原理   1.1 设计思想   对于单DSP核心的飞控计算机,
[嵌入式]
一种基于FPGA+<font color='red'>DSP</font>的通用飞控计算机平台设计
TI前供应链和物流总监加盟Wolfspeed,负责供应链和采购
碳化硅技术供应商Wolfspeed日前宣布,Jeff Ferraro将担任企业供应链和采购副总裁,自 3 月 14 日起生效。Ferraro此前在TI工作,拥有20余年的供应链和财务管理经验。他将直接向全球运营高级副总裁 Rex Felton 汇报。 Wolfspeed全球运营高级副总裁 Rex Felton 表示:“Jeff 在半导体运营物流和专业知识方面拥有无与伦比的丰富知识。他拥有涵盖财务、业务规划、供应链和物流等全方位运营工作的令人印象深刻的背景,他的加入可以支持 Wolfspeed引领行业从硅到碳化硅的转型。” Wolfspeed一直在扩大纽约和北卡罗来纳州的碳化硅材料和设备生产能力,随着经验丰富的半导体运营专家
[半导体设计/制造]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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