在嵌入FPGA的IP核8051上实现TCP/IP的设计(2)
- UID
- 1023166
- 性别
- 男
- 来自
- 燕山大学
|
在嵌入FPGA的IP核8051上实现TCP/IP的设计(2)
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口是否有数据);
(3) 为信号的第8级分解小波模极大值图; (4) 为信号各级 (共9级) 的高频分量即小波系数。
由图4可以看出, 该故障信号分析仪能有效采集实时故障信号, 并可在对信号经过小波分析后有效的提取故障特征, 而且故障点定位明显。
5 结束语
该便携式接触网故障信号分析仪采用图形化程序设计语言LabVIEW开发设计, 可实现数据的高速实时采集、在线分析、自动存储、显示等功能。高速数字化仪NI PXI- 5112卡采样速度高、性能稳定可靠, 适宜对高速变化信号的实时监测。将软件安装在PXI- 1042工控机上, 具有体积小、抗干扰能力强、携带方便等特点, 同时具有故障性质判断、故障定位功能。该系统目前已经在石家庄变电所现场运行, 效果良好。
参考文献
[1] 刘君华.基于LabVIEW的虚拟仪器设计[M].北京: 电子工业出版社,2003:115- 127.
[2] Rober H. Bishop.LabVIEW6i 实用教程[M].北京: 电子工业出版社,2003:209- 265.
[3] LabVIEW Data Acqusition Basics Manual on NI- 5112[M].National Instrument Corpration,1998.
[4] Mok Aloysius K,Srusrt Douglas.RTT seman tics forLabVIEW.IEEE Aerospace Applications ConrerenceProceedings,1998:61- 71.
[5] 杨乐平, 李海涛,等.LabVIEW高级程序设计[M].北京:清华大学出版社,2003:390- 392. |
|
|
|
|
|