引脚名称 | IN/ OUT | 说明 | 有效状态 | 位置 |
Enet_ADDR | OUT | 网络芯片总线的地址位 | 外 | |
Enet_BRDY | IN | 外 | ||
Enet_CSn | OUT | 网络芯片总线的片选 | 低 | 外 |
Enet_DATA | INOUT | 网络芯片总线的数据位,16位 | 外 | |
Enet_INTn | IN | 网络芯片总线的中断位 | 低 | 外 |
Enet_L_LINK | IN | 网络电气连接位 | 高 | 外 |
Enet_RDn | OUT | 网络芯片总线的读使能 | 低 | 外 |
Enet_RST | OUT | 网络芯片硬件复位 | 高 | 外 |
Enet_WRn | OUT | 网络芯片总线的写使能 | 低 | 外 |
RESET | IN | Bus_fifo模块的初始化,包括总线模块和FIFO | 低 | 内 |
rxfifo_dout | OUT | RX_FIFO的数据输出,16位 | 内 | |
rxfifo_rd_en | IN | RX_FIFO的读使能,如果在rxfifo_empty_p为1,有可能出现错误。 | 高 | 内 |
rxfifo_empty_p | OUT | 当RX_FIFO为空时,输出高电位 | 高 | 内 |
rxfifo_valid | OUT | 在rxfifo_rd_en置1后一个fifo_clk置1,标示RX_FIFO输出数据有效。 | 高 | 内 |
txfifo_din | IN | TX_FIFO的数据输入,16位 | 内 | |
txfifo_wr_en | IN | TX_FIFO的数据写使能 | 高 | 内 |
txfifo_full | OUT | 当TX_FIFO满时,输出高电位 | 高 | 内 |
txfifo_valid | OUT | TX_FIFO数据输出有效位 | 高 | 内 |
fifo_clk | IN | RX_FIFO的读时钟和TX_FIFO的写时钟,上升沿从FIFO中读取或写入数据。10M | 升 | 内 |
CLK | IN | bus_driver的时钟,RX_FIFO的写时钟和TX_FIFO的读时钟。100M | 升 | 内 |
图中,重置芯片是指:对芯片硬件复位、软件复位;基本配置包括:配置 W5300A的MAC地址、IP地址、子网掩码、网关地址,分配W5300A的存储空间,中断设置等等。中断服务程序主要是读取芯片的中断寄存器,获取中断类型,并复位中断寄存器。值得注意的是,上图所示的流程是查询方式而不是中断方式。启动SOCKET的程序主要是:设置SOCKET端口号,工作模式(TCP服务器端),打开SOCKET、开始侦听等等。
考虑到处理器是FPGA,采用VHDL语言描述图中所示流程。与C语言顺序为执行不同,VHDL基于硬件结构、并发执行。图中用C语言可以很方便地描述出来,但是要在FPGA里面实现,则需要灵活运用状态机以控制其流程,且要尽力避免竞争和险象。限于正文篇幅,源程序在附录中给出。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |