LWIP数据通路
实验准备:
基础概念
以太网MAC是一个基础模块,它使得我们可以实现一个TCP/IP协议栈,协议使得应用可以基于网络来通信。如果想要解析一个TCP/IP协议栈,需要了解以下层次:
• 第一层——物理层:(描述物理连接)主要由外部物理层芯片实现
• 第二层——数据链路层:(描述物理层上数据传输的途径)可以由PS的MAC实现
• 第三层——网络层:(描述不同网络间数据传输的途径)提供网络路由和寻址层,可以使IPv4或者IPv6
• 第四层——传输层:(提供终端用户间的数据传输)TCP
• 第五层——应用层:应用层操作数据
SDK开发环境包含一个轻量级的IP栈(lwIP),lwIP是个开源IP栈,在Zynq上的PS中有两个千兆以太网控制器,每个控制器都是可配置的,并且可以单独控制,千兆以太网控制器可以实现一个MAC(介质访问控制层)(数据链路层的组成之一),物理层主要是由外部的PHY芯片、电缆或光纤完成
应用和lwIP栈接口的主要方法:(详情参考XAPP1026)
• Raw——没有操作系统时使用的基本API,基于事件驱动,使用lwIP的应用在该模式下在触发如接收数据等事件时调用相应的回调函数
• Sockets——使用在运行操作系统的Zynq上,该方法使用到线程,应用使用它来和lwIP栈通信
实验目的:
PS通过AXI-GPIO核通知PL循环构造32bit位宽的0-1001的数据,写入FIFO,利用AXI-DMA核将FIFO中的数据读入到DDR中,PL每发完一次 0-1001,AXI-DMA核便会产生一个中断信号到PS,PS 得到中断信号后将 DDR3缓存的数据以乒乓操作的方式通过TCP协议发送至PC机
硬件环境搭建:
0.创建工程,创建原理图,调出PS的核等
1.根据实际硬件设置PS的相关参数
设置PS输入时钟频率,和输出到PL的频率
设置DDR型号
添加一个HP口