NANO2开发板实例之__FPGA实现UDP数据收发数据
2014年03月25日 13:08 发布者:v3cyclone
NANO2开发板实例之__FPGA实现UDP数据收发数据1、首先需要了解网络分层结构,直接看图,分层架构已经很清晰了。
了解一下这些名词UDP(User Datagram Protocol)用户数据包协议
IP(Internet Protocol(网络之间互连的协议))MAC(MediaAccessControl,媒体访问控制,数据链路层)PHY(Physical Layer Device物理层)
1、需要了解MAC层和PHY的硬件接口,只介绍GMII,和MII,其它类似
网络接口GMII/MII MAC(MediaAccessControl )层和PHY层链接接口GMII (Gigabit Medium Independent Interface)
时钟接口 GTX_CLK 125M RX_CLK 125M数据接口 TXD RXD TX_EN, 发送数据使能 TX_ER,发送数据错误 RX_DV, 接收数据有效 RX_ER 接收出错指示
MDIO/MDC 控制接口 MDC为控制时钟 MDIO控制数据
2、MII(Media Independent Interface)接口
时钟接口 TX_CLK RX_CLK 25M(100M)数据接口 TXD TX_EN TX_ER RXD RX_DV RX_ER
控制接口 MDC/MDIOCRS 载波侦测COL 冲突检测
3、需要了解TCP/IP协议,UDP协议,ICMP协议 以太网帧 前序,以太网帧头,0x55*7,0xd5共8byte.目的MAC地址,源地址MAC分别为6个byte.协议类型,比如0x0800,表示IP协议帧,0x0806表示ARP帧。FCS为4byte校验序列。网络长度为以太网(Ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的. IP报文如下 1、4位版本,表示IPV4。2、包头长度4,为4*5=20字节,表示IP帧头有20字节。3、16位总长度,字段为16进制表示,报文总长度,不含最后帧的FCS校验。4、8位生存时间,表示数据包在网络上生存多久,每通过一个路由器该值减一,为0时将被路由器丢弃。TTL<64 128< TTL<256表示LINUX操作系统,64
4、FPGA系统结构
5、PHY芯片
PHY 88E1111 GMII 88E1116R RGMII RTL8201 MII LAT971A MII MDIO/MDC时序(读模式)
6、软件工具
设置PC,基于网路的数据,必须包含MAC地址和IP地址,对于点对点的通信,必须设置IP,MAC地址的对应。
Wireshark抓数,对于正确的以太网数据包,可以查看到网络包的数据格式,包括mac数据,IP数据,udp数据。
网络调试工具
用NETassist工具,可以方便的实现网络层之上的数据收发,可以看到数据回环得到了验证。
应用平台 :红色飓风NANO2 http://www.fpgadev.com/shop_view.asp?id=96--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------更多了解,请关注:NANO2用户资料链接 http://yunpan.cn/QpNRkwW9ZFnek NANO2 论坛链接 http://www.zingsoc.com/forum/forum.php NANO2开箱视频演示http://v.youku.com/v_show/id_XNjgyMDM3NDQ0.html 关于这款开发板,请关注新浪微博及博客 http://weibo.com/u/5061825906] http://weibo.com/u/5061825906 http://blog.sina.com.cn/u/5061825906