引言
随着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进入正