FPGA 快捷拓展以太网

Home / 博客 / FPGA 快捷拓展以太网

随着嵌入式行业的飞速发展,集成电路越来越向着高集成,低成本方向发展。ARM来势汹汹,几年的时间,凭借着强大的资源,灵活的开发环境以及越来越低的价格逐渐侵蚀着传统8/16/32位单片机市场。与此同时,FPGA的成本也大大降低,从原来的高高在上,遥不可及逐渐步入了大众视野。而且凭借其高集成,高性能,低功耗,以及开放的开发环境稳稳地与ARM分割嵌入式的天下。

说到FPGA,相信很多朋友并不是很熟悉。对于我们这些习惯使用软件描述语言在单片机上工作的人来说,这种工作在硬件语言描述语言的底层器件,就显得有些困难艰涩。

FPGA取自Field Programmable Gate Array的首个字母,代表现场(Field)可编程(Programmable)逻辑阵列(Gate Array)。从字面上我们不难看出,FPGA其实就是无数个门电路的集合,但是与我们传统逻辑器件不同的是,FPGA支持用户对门电路的重新编译。

打一个比方来说:如果说我们用单片机编程,像是用固定模型的积木,去设计产品。那么FPGA就是我们从‘0’开始,先要把我们需要的积木自定义建模生产好,再拿来组建产品。

这就意味着很多协议及功能,在FPGA里都需要我们工程师自己去独立的实现。对于PC平台用户来说TCP/IP协议,已经不是什么‘菜’了。 对于单片机平台用户来说,‘瘦身’TCP/IP也已经司空见惯了,但是对于FPGA用户来说,重新搭建一个TCP/IP协议无疑还是让人头痛的。

而WIZnet的硬件TCP/IP协议栈,专为FPGA用户提供了一种最为高效快捷的以太网拓展方案。FPGA用户直接配置硬件TCP/IP协议栈芯片特殊寄存器,然后使用总线往里面的RAM丢数即可。操作外部RAM这个对于FPGA工程师可是最简单,也是最拿手的了。

当然,好马配好鞍,对于FPGA用户,我们推荐使用W5300这款高速以太网芯片,内部配有128K RAM,支持8/16 bit BUS通讯及DMA,实际吞吐量可达80Mbps。

硬件连接

W5300具有8位数据线和16位数据线两种通讯方式,通常为达到更高的通讯速率,我们选择16位数据线来进行通讯。此时地址A0可不连,使用A1到A9作为地址线。

FPGA1

 

软件设计

建立W5300工程,如下:

FPGA2

 

首先进行寄存器读写部分编写,w5300timing文件实现W5300寄存器读写时序控制,根据W5300的读写时序要求及FPGA时钟周期对寄存器读写时数据写入,读出及延时情况进行控制;

其次对W5300进行初始化,w5300_init文件完成W5300初始化流程,调用此模块会对W5300进行软复位,MAC地址、IP地址、网关、子网掩码、缓存区等进行配置;

对W5300初始化完成后便可以连接电脑进行PING操作看配置是否正确,后面几个文件可以根据手册及自己需要进行编写了。

如客户需要FPGA软件参考,可以联系WIZnet BJ office,或者代理商。

 

感谢阅读!

文章提供:北京博控自动化技术有限公司