基于DSP的快速以太网通信技术研究
扫描二维码
随时随地手机看文章
为了适应大量的嵌入式产品的网络接入需求,目前市场上的主流嵌入式操作系统都包含了 TCP/IP 网络协议栈。这些商品化的TCP/IP协议栈运行可靠、性能也非常好,但是价格较高,降低了市场竞争力。因此,开发自主知识产权的TCP/IP协议栈的要求变的日益迫切而有意义。本文的研究目标是建立一个DSP系统的网络通信平台,实现DSP系统与网络中其他通信设备的高速数据传输。
系统总体设计
本文研究的以太网通信系统大致分为图1所示的5个层次,由下向上分别为:硬件层、设备驱动层、操作系统、网络模块和用户代码。
图1 系统的层次结构
本系统的创新之处是以DSP系统和以太网控制芯片Ax88796的接口电路为系统的物理基础。快速以太网驱动程序处于硬件抽象层,为操作系统提供了访问快速以太网控制芯片 Ax88796 或改变其工作行为的系统调用。μC/OS-Ⅱ操作系统处于系统内核,为用户代码统一管理系统软硬件资源提供用户所需的底层服务。TCP/IP 协议栈软件为 μC/OS-Ⅱ操作系统扩展了网络通信能力。用户代码处理特定的应用程序细节。
系统硬件设计
系统硬件包括TMS320F2812 DSP与IS61LV51216存储器芯片的接口电路以及TMS320F2812与快速以太网控制芯片Ax88796的接口电路,电路硬件原理框图如图2所示。
图2 硬件原理图
TMS320F2812是TI新推出的高端C2000系列DSP,它在具备强大运算能力的同时,兼顾了控制领域的需求,特别适合控制对象复杂又需要较高实时运算能力的领域。它具有150MIPS的指令执行速度;单周期完成 32×32 位的乘法器;快速中断响应;单指令周期的读写操作;100~120MIPS的Flash访问技术;150MIPS的外部RAM访问速度。基于以上特点,本系统选择TMS320F2812作为系统的主控芯片。
DSP电源电路提供1.8V/1.9V、 3.3V、VDD3VFL和VDDA3V四种电源类型,分别供DSP的内核、I/O、内部 Flash 和AD模块使用。并且由于各种电源类型存在严格的上/下电时序,电源部分还需提供时序控制功能。电源监控电路在系统电源电压出现波动时,给DSP系统提供复位信号,使系统程序重新初始化并运行,避免出现不可预知的错误。
面对表面贴技术造成的测试上的不便,JTAG接口提供了简单灵活的调试手段,用户可以通过 JTAG接口,将在 PC交叉编译生成的结果下载到DSP中,或者通过JTAG接口即时查看DSP内部寄存器和RAM的值,对程序的行为进行调试。系统的软件代码在调试阶段存放在扩展的RAM中,脱机运行后,用于存储传输的图像数据,故扩展了512KB。以太网控制芯片Ax88796通过ISA接口与DSP相连,通过网络隔离器16ST8515后,接入以太网络中。
1 Ax88796与TMS320F2812的接口设计
TMS320F2812通过XINTF接口访问外部设备,每次访问都分为三个阶段:前导(Lead)、有效(Active)和跟随(Trail),每个阶段的等待周期数都可由软件设定,等待的时钟周期数由该存储区间对应的XTIMING寄存器设置,而且每个存储区间的读写过程可以单独控制。
TMS320F2812通过对采样XREADY信号输入引脚来判断外部设备是否完成数据读/写。当外部低速设备的读/写过程未执行完成时,输出信号READY为未就绪状态,此时TMS320F2812持续保持数据有效(写访问)或保持等待数据(读访问)状态,即ACTIVE状态。一旦TMS320F2812对该信号的采样结果是就绪状态,则结束本次数据读写过程。
在TMS320F2812对Ax88796进行读操作时,设置Lead和Trail阶段为0个时钟周期,Active 阶段为5个时钟周期;在TMS320F2812对Ax88796进行写操作时,设置Lead阶段为0个时钟周期,Active阶段为1个时钟周期,Trail阶段为1个时钟周期。
2 Ax88796的ISA接口设计
Ax88796有两个输入引脚,CPU[1:0]设置不同的工作模式,用于和不同的CPU总线相连。在与TMS320F2812连接时,将CPU[1:0]都拉低,设置为ISA总线接口。
Ax88796的地址总线SA与数据总线SD分别与TMS320F2812的地址/数据总线相连,TMS320F2812通过I/O读写Ax88796的寄存器来控制其状态,通过远程DMAFIFO与Ax88796的内部SRAM进行数据交换。Ax88796的基地址默认值为200H,所以基地址范围为200H~21FH。Ax88796的ISA接口有10根地址线——SA[9:0]。
Ax88796的BHE引脚决定了是否使能高8位数据线,如果 BHE 信号为高,则高8位数据线内部强行下拉,此时Ax88796工作在8位传输模式下。表1和表2是 Ax88796 在 ISA 模式时的访问信号组合。
可以看出,对奇偶字节地址的访问方式是不同的,但对于TMS320F2812而言,地址空间是按16位字寻址,所以所有的地址都是偶字节地址,这样对地址线A0就无须再作专门处理,连线简洁。在本课题中,直接将BHE接地,始终使用16位传输模式。
3 系统RAM扩展
TMS320F2812内部已经集成了18KB的RAM,对于一般的应用来说,已经无须再扩展外部RAM。片内RAM能以150MIPS的速度进行访问。在对运算速度要求很高的处理程序中,通常将经常访问的程序段放到内部RAM中运行,这样能大大提高运行速度,因此片内RAM显得格外宝贵。而且本系统是一个网络通信系统,将来会用于进行大量图像的网络传输,因而也要求外括RAM用于存放图像文件。
TMS320F2812采用32位的寻址方式,数据空间和程序空间统一编址。TMS320F2812有1056K×16bit的外部存储器接口能力,分为5个地址区间:区间0、区间1、区间2、区间6和区间7,其中区间6、7共用一个片选引脚 CS6AND7。在 MP模式下,TMS320F2812 在复位之后,跳转到区间7寻找矢量表,但是在MC模式下,将不存在区间 7,由片内的ROM取而代之,所以在扩展系统RAM时,使用RAM区间6。
系统软件设计
本系统的软件部分包含3个方面:快速以太网驱动程序、μc/OS-II操作系统和TCP/IP协议栈软件。快速以太网驱动程序屏蔽了对底层网络设备的处理细节,同时向上层操作系统提供硬件无关的接口调用。在以太网通信之前,首先要实现位于硬件抽象层的快速以太网驱动程序,上层软件与以太网控制器的交互都要通过驱动程序进行。网络通信系统通常要与多个对象实现信息共享,因此本文为TMS320F2812DSP移植了嵌入式多任务操作系统μC/OS- II,增强系统的事务处理能力。TCP/IP是实现异构网络互联的网络体系结构和协议标准,屏蔽各种物理网络技术。本文结合嵌入式系统的特定要求进行简化之后,实现了地址解析协议ARP、网际协议IP、网际控制报文协议ICMP、用户数据报协议UDP和TCP传输控制协议等几个Internet接入的必需协议。
系统测试及结果
用ANSIC语言和汇编语言在TMS320F2812上编写的网络通信软件全部调试通过,系统软件占用程序空间40.7KB,数据空间38.7KB。表3和表4分别是主要区块内存分配和协议代码占用情况。
结束语
综合性的测试表明本系统完全满足了网络通信系统所具备的各项功能,它将DSP的强大运算处理能力和Internet联系起来,使得DSP系统不再是“信息孤岛”,能够方便的与网络上的其他设备进行信息共享,进一步扩展了DSP的应用前景。