基于8B/10BGT收发器的PHY层设计(1)

一、PHY层简介

PHY层(Physical Layer)是OSI模型中最低的一层,也是最基本的一层,PHY是物理接口收发器,它实现物理层。包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层。主要功能包括:

  • 将mac层的数据转换为适合在相应物理介质中传输的信号
  • 进行编码或者解码,进行直流平衡,使得对端接收简单
  • 对数据进行调制解调,或者加入扰码使其数据接近白噪声,提高在信道中的刚干扰能力
  • 在MAC层之前进行数据对齐

其中MII/GMII是与MAC与PHY之间的接口(具体可参考之前写的一篇文章),PCS主要是将数据进行编码或是加入扰码,例如8B/10B、64B/66B,另外一个功能进行CRC校验编码。PMA的主要作用是进行并串/串并转换,将数字信号转换为模拟信号,并可以选择进行前加重、后加重,继承了SEDDES、发送/接收缓冲器、时钟发生器和时钟恢复器。PMD主要指的是将光信号转变为电信号的光电转换模块。

此次要设计PHY层的PCS\PMA主要利用7系列FPGA的GT实现,而我们主要是对GT接收过来的数据进行数据对齐以及大小端转换,对于发送的数据我们主要进行一个大小端转换和加入随机码。

二、GT IP核介绍

1、打开7系列GT IP核

选择将共享逻辑放入到例子工程中,方便我们后续使用

2、线速率、参考时钟选择(CPLL应该是6.6G以下可以使用)

3、编码/时钟选择

4、COMMOA对齐和均衡

COMMOA的作用只是标记一帧的开始和结束,同时进行时钟矫正。在从串行数据转换为并行数据的过程中,会按位流动的检测COMMOA符号,当检测到所设置的COMMOA时,证明有数据到来。

5、PCIe、SATA所使用的选项

只勾选LOOPBACK选项

6、时钟矫正

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-14 07:04:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-14 07:04:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-14 07:04:02       87 阅读
  4. Python语言-面向对象

    2024-04-14 07:04:02       96 阅读

热门阅读

  1. Flume配置案例@Source:文件,Channel+Sink:Kafka

    2024-04-14 07:04:02       35 阅读
  2. Python学习入门(3)—— 高级技巧

    2024-04-14 07:04:02       41 阅读
  3. 删除url的search参数,避免页面刷新

    2024-04-14 07:04:02       37 阅读
  4. 天空盒1-天空盒的实现原理

    2024-04-14 07:04:02       34 阅读
  5. Pytorch安装小坑(Windows+cu111)

    2024-04-14 07:04:02       38 阅读