一种用FPGA实现的以太网驱动器制造技术

技术编号:10193391 阅读:158 留言:0更新日期:2014-07-09 23:55
本发明专利技术提供一种易于在用FPGA实现的以太网驱动器,在FPGA芯片上可以实现以太网驱动器实现以太网的初始化和数据收发,从而可以与其它系统实现对接。主要原理是用RTL设计出一个相应的以太网驱动器,完成初始化和以太网MAC帧数据的收发控制。本发明专利技术是基于集成以太网MAC控制器芯片和以太网PHY芯片模块进行的实现。

【技术实现步骤摘要】
一种用FPGA实现的以太网驱动器
本专利技术涉及FPGA设计领域,尤其涉及一种用FPGA实现以太网驱动器的方法。
技术介绍
近年来,随着SOC/FPGA设计的规模越来越大,开发的周期就显得越来重要。在一个载波体制的高速视频显示无线传输系统(以下简称UWB无线传输系统)中,最终是要实现PC跟PC通过无线的UWB系统时进行数据的传输,可以高速实时传输数据,比如视频流。实现最终UWB无线传输系统,采取的方案为通过以太网驱动器将PC下发的数据帧通过以太网驱动器进行数据接收和转发。现在以太网驱动器通常是用通用的嵌入式的CPU上进行开发而实现,但对于开发整个UWB无线传输系统就需要冗余的连接设计。
技术实现思路
本专利技术可以通过直接的RTL编码在FPGA上实现,逻辑规模小,不需要借助嵌入式的CPU,可以直接作为以太网驱动器模块给其它系统使用,连接简单,剪裁方便,与UWB无线通信模块连接方便,与可以与类似的其它通信模块连接。本专利技术提供一种FPGA实现以太网驱动器的方法,主要目的是通过此FPGA实现的以太网驱动器与其它RTL设计的模块相连接,FPGA实现的以太网驱动器可以直接作为参数化的标准模块给其它系统使用,剪裁方便。图2是FPGA实现以太网驱动器的内部状态转移图。如附图2所示,采用状态机设计的方法,当芯片上电复位后,直接从IDLE状态进入到INITIAL状态进行初始化操作,通过localbus对芯片相关寄存器进行配置。当完成初始化操作后进入TRANS状态,TRANS状态主要完成接收、发送、异常、中断的调度,下一状态是进行发送、接收、异常还是中断,主控整个状态机的跳转。如当TRANS判断完成下一步进行发数据,那么跳转到TX状态,当一帧发送完毕跳回到TRANS状态。如当TRANS判断完成下一步进行收数据,那么跳转到RX状态,当一帧接收完毕跳回到TRANS状态。如当来中断时,跳入ISR_STATUS状态,在此状态进行读中断状态寄存器的值,清中断,最后返回,用寄存器锁存记录中断状态的值。如当出现异常时进入RECONFIG状态,处理与异常有关的相关寄存器的重新配置,执行完成后跳转到TRANS状态。目前,异常处理一共可以处理4类异常,可以对应到芯片以太网MAC控制器的使用:异常1:出现PHY中断;异常2:RXOVERFLOW;异常3:接收读接收帧长度;异常4:发送无BUFFER可用。在TRANS状态中可以设置调度的优先级,可以设置为接收优先抑或发送优先,也可以设置为轮询的优先级模式,轮询模式即上一帧为接收优先,那么下一帧为发送优先,上一帧为发送优先,那么下一帧为接收优先。FPGA实现的以太网驱动器可以作为参数化的标准模块,借此实现UWB无线转输系统。附图3是利用FPGA实现的以太网驱动器实现UWB无线转输系统。如附图3所示,具体实现可在FPGA平台上实现,芯片上电复位后进行初始化操作,当初始化操作完成后,通过以太网驱动器模块实现发送、接收流程。UWB无线转输系统进入发送流程,完成数据从芯片通过localbus转递到发送BUFFER;进入接收流程,完成数据从接收BUFFER通过localbus转递到芯片。该方法的优点:不需要借助嵌入式的CPU进行软件开发实现,完成以太网驱动器的功能。可以直接作为以太网驱动器模块给其它系统使用(例如UWB无线传输系统),连接简单,剪裁方便。附图说明图1是以太网驱动器实现框图。图2是FPGA实现以太网驱动器的内部状态转移图。图3是利用FPGA实现的以太网驱动器实现UWB无线转输系统。具体实施方式以下结合附图,具体说明本专利技术。本专利技术提供一种FPGA实现以太网驱动器的方法,主要目的是通过此FPGA实现的以太网驱动器与其它RTL设计的模块相连接,FPGA实现的以太网驱动器可以直接作为参数化的标准模块给其它系统使用,方便修剪,加速项目进度。以太网驱动器实现如附图1所示,采用模块化的设计方法,各部分功能说明如下:SYSCTRL:系统控制单元,负责整个系统的控制,如状态机跳转等;INITIAL:初始化单元,负责对以太网驱动器的初始化操作;FLOWCTRL:流控制模块,负责与外部芯片Localbus接口的连接,将数据流转化符合Localbus接口定义。与之连接的部分还有:TXBUF:发送BUFFER;RXBUF:接收BUFFER;BUFCTRL:BUFFER控制单元,负责提供BUFFER状态信息;内部系统设计如附图2所示,采用状态机设计的方法,当芯片上电复位后,直接从IDLE状态进入到INITIAL状态进行初始化操作,通过localbus对以太网MAC控制器芯片相关寄存器进行配置。当完成初始化操作后进入TRANS状态,TRANS状态主要完成是接收、发送、异常、中断的调度,下一状态是进行发送、接收、异常还是中断,主控整个状态机的跳转。如当TRANS判断完成下一步进行发数据,那么跳转到TX状态,当一帧发送完毕跳回到TRANS状态。如当TRANS判断完成下一步进行收数据,那么跳转到RX状态,当一帧接收完毕跳回到TRANS状态。如当来中断时,跳入ISR_STATUS状态,在此状态进行读中断状态寄存器的值,清中断,最后返回,用寄存器锁存记录中断状态的值。如当出现异常时进入RECONFIG状态,处理与异常有关的相关寄存器的重新配置,执行完成后跳转到TRANS状态。目前,异常处理一共可以处理4类异常,可以对应到以太网MAC控制器芯片的使用:异常1:出现PHY中断;异常2:RXOVERFLOW;异常3:接收读接收帧长度;异常4:发送无BUFFER可用。在TRANS状态中可以设置调度的优先级,可以设置为接收优先抑或发送优先,也可以设置为轮询的优先级模式,轮询模式即上一帧为接收优先,那么下一帧为发送优先,上一帧为发送优先,那么下一帧为接收优先。FPGA实现的以太网驱动器可以作为参数化的标准模块,借此实现UWB无线转输系统如附图3所示,具体实现可在FPGA平台上实现,芯片上电复位后进行初始化操作,当初始化操作完成后,通过以太网驱动器模块实现发送、接收流程。UWB无线转输系统进入发送流程,完成数据从以太网MAC控制器芯片通过localbus转递到发送BUFFER;进入接收流程,完成数据从接收BUFFER通过localbus转递到以太网MAC控制器芯片。本文档来自技高网...
一种用FPGA实现的以太网驱动器

【技术保护点】
一种用FPGA实现的以太网驱动器,其特征在于,通过FPGA实现以太网驱动器,而不需要借助嵌入式的CPU进行开发,包括系统控制单元、初始化单元、流控制模块和BUFFER控制单元;其中:系统控制单元负责以太网驱动器的控制,如状态机跳转;初始化单元负责对以太网驱动器的初始化操作;流控制模块负责与外部Local bus接口的连接,将数据流转化符合Local bus的接口定义;BUFFER控制单元负责提供BUFFER状态信息;当芯片上电复位后,以太网驱动器直接从IDLE状态进入到INITIAL状态,初始化单元进行初始化操作,通过local bus对以太网驱动器相关寄存器进行配置;当完成初始化操作后进入TRANS状态,TRANS状态主要完成接收、发送、异常、中断的调度,执行完毕后重新跳转到TRANS状态。

【技术特征摘要】
1.一种用FPGA实现的以太网驱动器,其特征在于,通过FPGA实现以太网驱动器,而不需要借助嵌入式的CPU进行开发,包括系统控制单元、初始化单元、流控制模块和BUFFER控制单元;其中:系统控制单元负责以太网驱动器的控制;初始化单元负责对以太网驱动器的初始化操作;流控制模块负责与外部Localbus接口的连接,将数据流转化符合Localbus的接口定义;BUFFER控制单元负责提供BUFFER状态信息;当芯片上电复位后,以太网驱动器直接从IDLE状态进入到INITIAL状态,初始化单元进行初始化操作,通过loca...

【专利技术属性】
技术研发人员:龚永鑫周卓包玉华
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1