FPGA通过以太网与PC机通信完整方案
2018-07-20
一、简介
使用以太网接口实现PC和FPGA的通信,相对于串口而言,具有更高的传输速度。采用以太网接口的目的在于,在一定技术要求下,实现PC机和FPGA的实时数据传输。从而可以借助PC机强大的计算能力,降低FPGA的运算负担。
成都浩然电子有限公司开发的网络模块HS-NM5300A,作为实现以太网通信的主要元件。模块以韩国Wiznet公司开发W5300A为关键芯片。模块一端为RJ45,通过网络交叉线与PC机相连;另一端为外部总线,与FPGA的IO相连。模块内嵌10BaseT/100BaseTX的以太网物理层,支持自动握手功能,支持固件TCP/IP协议,通信理想速率可达到50Mbps。
W5300A接收PC机发来的数据包,进行协议解析,并将传输的数据保存在其内部寄存器中,或者将寄存器内的数据打包封装发送到以太网上。FPGA通过外部总线,访问W5300A的寄存器,从而对W5300A进行配置、查询数据包是否到来、收取/发送通信数据等等。
二、FPGA与W5300A的硬件连接
FPGA与W5300A的外部总线连接如下图所示(ref:W5300_v1.2.2_english,115-115)。
FPGA和W5300的连线,我们称之为外部总线。FPGA为外部总线的主机,W5300为从机。通过外部总线,可以实现FPGA对W5300的读/写。图中DATA为十六位数据线,ADDR为10位地址线,WR为写使能,RD为读使能,CS为片选使能,INT为中断请求。
三、外部总线的工作时序
要使W5300正确读入/输出数据,外部总线上各信号电平应满足一定的时序要求。读时序如下图所示(ref:P120-122):
图中PLL_CLK为W5300A的内部时钟,频率为15OMHz。
图中PLL_CLK为W5300A的内部时钟,频率为15OMHz。
1 2阅读更多