基于DSP的快速以太网通信技术研究
发布时间:2008/5/29 0:00:00 访问次数:471
系统总体设计
本文研究的以太网通信系统大致分为图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位数据线内部强行下拉,此时ax8879
系统总体设计
本文研究的以太网通信系统大致分为图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位数据线内部强行下拉,此时ax8879