基于TMS320F2812的快速以太网通信系统平台
基于TMS320F2812的快速以太网通信系统平台
本文的研究目标是建立一个DSP系统的网络通信平台,实现DSP系统与网络中其他通信设备的高速数据传输。虽然选择了TI公司的TMS320F2812DSP,但是本文提出的方案,具有很大程度的通用性,对其他系列的DSP或CPU系统也有一定的参考价值。
本文的以太网通信系统大致分为5个层次,由下向上分别为:硬件层、设备驱动层、操作系统、网络模块和用户代码。系统硬件电路,包括DSP系统和以太网控制芯片Ax88796的接口电路,是系统的物理基础。快速以太网驱动程序处于硬件抽象层,本身虽为软件,但与硬件结合紧密,为操作系统提供了访问快速以太网控制芯片Ax88796或改变其工作行为的系统调用。μC/OS-Ⅱ操作系统处于系统内核,为用户代码统一管理系统软硬件资源,提供用户所需的底层服务。TCP/IP协议栈软件为μC/OS-Ⅱ操作系统扩展了网络通信能力。用户代码处理特定的应用程序细节,可以直接使用TCP/IP协议模块提供的API函数,开发基于以太网的通信项目。
系统硬件框图
系统硬件包括
TMS320F2812与IS61LV51216存储器芯片的接口电路、TMS320F2812与快速以太网控制芯片Ax88796的接口电路。系统的软件代码在调试阶段存放在扩展的RAM中,脱机运行后,用于存储传输的图像数据,故扩展了512KB。使用了ISSI公司生成的IS61LV51216存储器芯片。以太网控制芯片Ax88796通过ISA接口与DSP相连,通过网络隔离器16ST8515后,接入以太网络中。电源监控电路在系统电源电压出现波动时,给DSP系统提供复位信号,使系统程序重新初始化并运行,避免出现不可预知的错误。
3DSP系统硬件设计
①系统电源设计为了降低芯片功耗,
TMS320F2812采用1.8V内核电压,但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用于存放图像文件。
①Ax88796的ISA接口设计
Ax88796有两个输入引脚CPU[1:0]设置不同的工作模式,用于和不同的CPU总线相连。在与TMS320F2812连接时,将CPU[1:0]都拉低,设置为ISA总线接口。Ax88796的地址总线SA与数据总线SD分别与TMS320F2812的地址/数据总线相连,TMS320F2812通过I/O读写Ax88796的寄存器来控制其状态,通过远程DMAFIFOs与Ax88796的内部SRAM进行数据交换。Ax88796的基地址默认值200H,所以基地址范围为200H~21FH。Ax88796的ISA接口有10根地址线,SA[9:0]。
②Ax88796电源设计
Ax88796具有多种电压类型:VDD、VDDA、VDDPD和VDDO,分别为芯片内部的数字电路、模拟电路、相位侦测模块、收发器驱动模块提供电源。虽然同为3.3V电压,但为了防止各个模块通过电源线发生串绕,要求各电源独立供电,于是设计了电源隔离、滤波电路,将系统的3.3V供电电压,通过LC滤波分为Ax88796所需的四路电压。
接收数据帧的过程涉及到的寄存器主要有两个:CPR和BNRY。CPR寄存器指向新接收到的数据帧要存放的起始页地址,作为本地DMA的写指针;BNRY寄存器指向还未读取的数据帧的起始页地址,作为远程DMA的读指针。当CPR追上BNRY时,表示接收缓冲区已满,后续的数据帧将会被丢弃;当BNRY追上CPR时,表示接收缓冲区已空。
测试表明本系统完全满足了网络通信系统所具备的各项功能,它将DSP的强大运算处理能力和Internet联系起来,使得DSP系统不再是“信息孤岛”,能够方便的与网络上的其他设备进行信息共享,进一步扩展DSP的应用前景。