【E787】Triple-Speed Ethernet(tse)FPGA软核MAC官方实例

2021-09-05 09:16:32      索炜达电子      476     

项目编号:E787

文件大小:4.8M

源码说明:带中文注释

开发环境:Verilog

简要概述:

简要概述:

Altera公司的三速以太网(TSE)是一个可配置的FPGA软核MAC,主要应用于10/100 Mbps (快速以太网)和1000 Mbps (千兆以太网)线路卡、NIC卡以及交换机等。

官方资源:

     http://www.altera.com.cn/support/ip/interface-protocols/ips-inp-tse.html

     http://www.altera.com.cn/literature/ug/ug_ethernet.pdf

     http://www.altera.com.cn/support/refdesigns/ip/interface/ref-triple-speed-ethernet-data-path.html

     http://www.altera.com.cn/literature/an/an647.pdf

     http://www.altera.com.cn/literature/an/an440.pdf

     http://www.altera.com.cn/literature/an/an483.pdf

     http://www.altera.com/support/ip/interface-protocols/ips-inp-tse.html

官方的FPGA开发套件提供了与Marvell 88E1111 PHY工作的实例,但俺没有银子,最便宜的DE2开发板也得3000块吧。我用手头的EP2C8Q208C8搭建了一个测试平台:

【E787】Triple-Speed Ethernet(tse)FPGA软核MAC官方实例

【E787】Triple-Speed Ethernet(tse)FPGA软核MAC官方实例

(1)发送测试:

【E787】Triple-Speed Ethernet(tse)FPGA软核MAC官方实例

(2)接收测试:


Id1 = 0x13, Id2 = 0x78e2.

Wait reset.

Reset ok.

config = 0x3100.

MII status = 0x7809.

Reg 4 = 0x1e1.

Wait Auto-nego...OK.

config = 0x3100.

MII status = 0x782d.

MII status2 = 0x4780.

Link OK.


-----------------------------

RX 0x3c bytes:

0000: FF FF FF FF FF FF 00 25 11 06 07 39 08 06 00 01 

0010: 08 00 06 04 00 01 00 25 11 06 07 39 C0 A8 01 A0 

0020: 00 00 00 00 00 00 C0 A8 01 79 00 00 00 00 00 00 

0030: 00 00 00 00 00 00 00 00 00 00 00 00 


-----------------------------

RX 0x3c bytes:

0000: FF FF FF FF FF FF 00 25 11 06 07 39 08 06 00 01 

0010: 08 00 06 04 00 01 00 25 11 06 07 39 C0 A8 01 A0 

0020: 00 00 00 00 00 00 C0 A8 01 79 00 00 00 00 00 00 

0030: 00 00 00 00 00 00 00 00 00 00 00 00 


-----------------------------

RX 0x3c bytes:

0000: FF FF FF FF FF FF 00 25 11 06 07 39 08 06 00 01 

0010: 08 00 06 04 00 01 00 25 11 06 07 39 C0 A8 01 A0 

0020: 00 00 00 00 00 00 C0 A8 01 79 00 00 00 00 00 00 

0030: 00 00 00 00 00 00 00 00 00 00 00 00 


-----------------------------

RX 0x3c bytes:

0000: FF FF FF FF FF FF 00 25 11 06 07 39 08 06 00 01 

0010: 08 00 06 04 00 01 00 25 11 06 07 39 C0 A8 01 A0 

0020: 00 00 00 00 00 00 C0 A8 01 79 00 00 00 00 00 00 

0030: 00 00 00 00 00 00 00 00 00 00 00 00 


-----------------------------

RX 0x5c bytes:

0000: FF FF FF FF FF FF 00 25 11 06 07 39 08 00 45 00 

0010: 00 4E 10 76 00 00 40 11 E5 39 C0 A8 01 A0 C0 A8 

0020: 01 FF 00 89 00 89 00 3A AA 2E 80 D7 01 10 00 01 

0030: 00 00 00 00 00 00 20 45 44 45 42 45 4A 46 48 46 

0040: 46 43 41 43 41 43 41 43 41 43 41 43 41 43 41 43 

0050: 41 43 41 43 41 43 41 00 00 20 00 01 


-----------------------------

RX 0x5c bytes:

0000: FF FF FF FF FF FF 00 25 11 06 07 39 08 00 45 00 

0010: 00 4E 10 86 00 00 40 11 E5 29 C0 A8 01 A0 C0 A8 

0020: 01 FF 00 89 00 89 00 3A AA 2E 80 D7 01 10 00 01 

0030: 00 00 00 00 00 00 20 45 44 45 42 45 4A 46 48 46 

0040: 46 43 41 43 41 43 41 43 41 43 41 43 41 43 41 43 

0050: 41 43 41 43 41 43 41 00 00 20 00 01 


-----------------------------

RX 0x5c bytes:

0000: FF FF FF FF FF FF 00 25 11 06 07 39 08 00 45 00 

0010: 00 4E 10 95 00 00 40 11 E5 1A C0 A8 01 A0 C0 A8 

0020: 01 FF 00 89 00 89 00 3A AA 2E 80 D7 01 10 00 01 

0030: 00 00 00 00 00 00 20 45 44 45 42 45 4A 46 48 46 

0040: 46 43 41 43 41 43 41 43 41 43 41 43 41 43 41 43 

0050: 41 43 41 43 41 43 41 00 00 20 00 01 


-----------------------------

RX 0x5c bytes:

0000: FF FF FF FF FF FF 00 25 11 06 07 39 08 00 45 00 

0010: 00 4E 10 A6 00 00 40 11 E5 09 C0 A8 01 A0 C0 A8 

0020: 01 FF 00 89 00 89 00 3A AA 2F 80 D8 01 10 00 01 

0030: 00 00 00 00 00 00 20 45 44 45 42 45 4A 46 48 46 

0040: 46 43 41 43 41 43 41 43 41 43 41 43 41 43 41 43 

0050: 41 43 41 43 41 41 41 00 00 20 00 01 


-----------------------------

(3) tse 12.1版本已经可以支持IEEE 1588V2精密时间协议(PTP)协议。


   IEEE1588的全称是“网络测量和控制系统的精密时钟同步协议标准”,是通用的提升网络系统定时同步能力的规范,在起草过程中主要参考以太网来编制,使分布式通信网络能够具有严格的定时同步,并且应用于工业自动化系统。基本构思是通过硬件和软件将网络设备(客户机)的内时钟与主控机的主时钟实现同步,提供同步建立时间小于10μs的运用,与未执行IEEE1588协议的以太网延迟时间1,000μs相比,整个网络的定时同步指标有显著的改善。

TAGFPGA软核
  • 5 次
  • 1 分