在嵌入FPGA的IP核8051上实现TCP/IP的设计
时间:08-07
来源:互联网
点击:
2.3 UIP协议栈的接口
为了UIP协议栈能具有最大的通用性, 在实现时可将底层硬件驱动和顶层应用层之外的所有协议集“打包”在一个“库”里。协议栈通过接口与底层硬件和顶层应用进行通信。通过这种方式可使uIP具有极高的通用性和独立性, 以便移植到不同的系统和方便地实现不同的应用, 很好的体现TCP/IP协议平台无关性的特点。UIP协议栈与系统底层和应用程序之间的接口如图3所示。图中, 各接口之间都是由一系列函数来实现的。
3 UIP协议栈在IP核8051上的实现
3.1 UIP协议栈在IP核8051上的移植
由于UIP协议栈是专门针对微处理器编写的,所以移植也是非常的方便, 但需注意以下几点:
(1) 协议栈是用C语言编写的, 故在移植时需要再加上两个头文件, 一个是8051的头文件, 另一个是8051的硬件初始化头文件;
(2) 通过keil c编译器编译时, 在选器件时需要注意, 只有选取数据寄存器为256个字节才能顺利通过编译, 这也是为什么前面8051IP核的数据存储器RAM需要扩展至256个字节的原因。不对RAM进行扩展, 就会出现“不能写B9地址”的错误, 因为在没有对RAM扩展前, 根本不存在B9地址;
(3) 将软件keil编译生成的hex文件送入到8051的程序存储器, 即可在IP核8051上实现简单的TCP/IP协议。这在软件测试时, 与实际工作将有所不同。软件测试时需要将hex文件作为程序存储器的初始化输入, 即在EDA软件编译8051时, 将程序存储器的初始化文件mif的路径设置为hex所在的路径, 在完成综合布线后, hex文件的内容就进入了程序存储器。这样, 仿真时就能在8051IP上实现TCP/IP协议了。
3.2 UIP的工作流程
TCP/IP协议在嵌入到FPGA的IP核8051上的工作流程, 实际上也是简化后的TCP/IP协议的工作流程, 这跟正式的TCP/IP协议有所不同。下面的工作流程以输入一个同步帧 (即: 三向握手的第一次握手) 为例。对于8051实现的UIP来说, 它属于被动建立连接, 其正确的输出结果应该是三向握手的第二次握手, 送出一个确认同步帧是所期望的结果。
下面简单介绍UIP的整个工作流程:
(1) 在P0端口有数据前, 读取数据函数并反复执行, 以对P0端口进行监视 (此种情况只是在测试时, 实际工作中物理层通过控制信号通知读数函数P0口是否有数据);
(2) 为信号的第8级分解小波模极大值图;
(3) 为信号各级 (共9级) 的高频分量即小波系数。
由图4可以看出, 该故障信号分析仪能有效采集实时故障信号, 并可在对信号经过小波分析后有效的提取故障特征, 而且故障点定位明显。
5 结束语
该便携式接触网故障信号分析仪采用图形化程序设计语言LabVIEW开发设计, 可实现数据的高速实时采集、在线分析、自动存储、显示等功能。高速数字化仪NI PXI- 5112卡采样速度高、性能稳定可靠, 适宜对高速变化信号的实时监测。将软件安装在PXI- 1042工控机上, 具有体积小、抗干扰能力强、携带方便等特点, 同时具有故障性质判断、故障定位功能。该系统目前已经在石家庄变电所现场运行, 效果良好。
FPGA 单片机 C语言 EDA 仿真 LabVIEW PXI 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)