本实验用上位机测试 PH1A UDP 回环传输。UDP通信方案的系统框图如下:
UDP 上层可以与用户应用程序进行数据的接收和发送,下层通过安路的三速以太网IP与物理层通信,支持单播、组播和广播的通信方式。用户应用程序和UDP通过FIFO进行数据的交换。ARP层可以响应接收到的对方ARP包,同时可以发起ARP包,IP地址和MAC地址的缓存池默认深度是4,最多可以缓存4对地址。
模块端口的说明如下:
信号名 | bits | 方向 | 功能描述 |
udp_rx_clk | 1 | input | UDP接收时钟,千兆模式125MHz,百兆模式12.5MHz,十兆模式1.25MHz。 |
udp_tx_clk | 1 | input | UDP发送时钟,千兆模式125MHz,百兆模式12.5MHz,十兆模式1.25MHz。 |
reset | 1 | input | 全局复位信号,高电平有效。 |
udp2app_tx_ready | 1 | output | UDP和APP之间的握手信号,指示准备接收数据,高电平有效。 |
udp2app_tx_ack | 1 | output | UDP和APP之间的握手信号,指示响应接收数据,高电平有效。 |
app_tx_request | 1 | input | UDP和APP之间的握手信号,指示请求发送数据,高电平有效。 |
app_tx_data_valid | 1 | input | APP层发送数据有效指示信号,高电平有效。 |
app_tx_data | 8 | input | APP层发送数据。 |
app_tx_data_length | 16 | input | APP层发送数据长度,数据包的字节数。 |
app_rx_data_valid | 1 | output | APP层接收数据有效指示信号,高电平有效。 |
app_rx_data | 8 | output | APP层接收数据。 |
app_rx_data_length | 16 | output | APP层接收数据长度,数据包的字节数。 |
app_rx_port_num | 16 | output | UDP层的接收数据的源端口号。 |
app_tx_dst_port | 16 | input | UDP层的发送数据的目的端口号。 |
ip_tx_dst_address | 32 | input | IP层的IP地址。 |
temac_rx_valid | 1 | input | MAC层接收的数据有效信号,高电平有效。 |
temac_rx_data | 8 | input | MAC层接收的数据信号。 |
temac_tx_ready | 1 | input | MAC层接收数据的握手指示信号,低电平有效。 |
temac_tx_valid | 1 | output | MAC层发送数据的有效指示信号,低电平有效。 |
temac_tx_data | 8 | output | MAC层发送数据信号。 |
temac_tx_sof | 1 | output | MAC层发送数据的首字节指示信号。低电平有效。 |
temac_tx_eof | 1 | output | MAC层发送数据的末字节指示信号。低电平有效。 |
ip_rx_error | 1 | output | IP层的错误指示信号。 |
arp_request_no_reply_error | 1 | output | ARP层的请求无响应错误指示信号。 |
用户应用程序数据接收端口的时序图如下:
用户应用程序数据发送端口的时序图如下:
TEMAC 接收数据到UDP数据接收端口时序图如下:
UDP 发送数据到TEMAC数据发送端口的时序图如下:
UDP 方案的RGMII接口的时序图如下:
上板测试
将开发板通过网线与上位机链接,然后进入 网络和 Internet 设置 --> 更改网络适配器选项 --> 以太网属性, 按照下图修改 PC 机的 IP 地址和子网掩码。
然后,使用任意一个 UDP 收发管理程序,比如 windows 商店中的串口调试助手。按照下图配置 UDP 设置,然后在发送窗口中输入内容,勾选定时发送,此时UDP收发的信息就会显示在界面上。