当前位置: 首页 > news >正文

Serdes专题(1)Serdes综述

在这里插入图片描述

文章目录

  • 前言
  • 1. 什么是Serdes?
  • 2. ECP3的Serdes协议栈
  • 3.专题内容综述
  • 4.参考资料的整理
  • 5.传送门

前言

Lattice FPGA在市场上的份额相对较小,相关的开发经验分享也并不多。多数资料停留在基础操作的介绍,缺乏深入的实战总结。而在实际项目中,我逐渐体会到 Lattice 在 SerDes + 低功耗 + 高性价比 方面的独特优势。基于这些经验,我希望把自己的Serdes实战过程记录下来,侧重通过类比的方式达到让读者理解的目的。与大家共同交流学习,一起成长进步。

1. 什么是Serdes?

SerDes 是 Serializer/Deserializer 的缩写,一般译为串并转换器。它是一种高速接口电路,主要功能是串并转换。(概念)在FPGA里面,SerDes 通常是 硬核(硬件资源),比如 Xilinx 的 GTP/GTY,Intel 的 H-Tile,Lattice 的PCS块。这个硬核包括一些通用的部分,比如PLL(锁相环)用来产生高速串行时钟、还有CDR(Clock Data Recovery)从接收到的数据流里恢复时钟、还有8b/10b 编码单元,保证直流平衡和时钟提取。通用的部分基本一致,但有些细节不同厂商.还是有些差异。与xilinx serdes相比,IP的形式,底层的结构,用户的信号,约定俗称的叫法上都有些区别。
从更为宽泛的角度, SerDes 是把宽并行数据转成高速串行数据并可靠传输的核心技术,广泛应用于各种高速接口和通信系统。数据传输技术在并行传输上遇到引脚资源占用较多,数据到达时间难以对齐,并行线容易收到干扰等困难,最快的并行传输,源同步模型可能就是LVDS传输,也只有不到1Gbps的传输速率。随着技术发展,渐渐从源同步发展到了自同步模型,高速串行技术迎来崛起。所谓自同步就是不再有单独的时钟线,而是在数据中添加时钟信息,接收端采用CDR技术恢复,也就是Serdes技术。
从更贴切的工作场景看,项目方案讨论时,提到的“走Serdes”即通过FPGA的Serdes硬核传输数据。在xilinx中,GT称之为串行收发器,通常等同于Serdes。而在Lattice中,更愿意把PCS与Serdes等同。

2. ECP3的Serdes协议栈

在这里插入图片描述

如图所示,LatticeECP3™ FPGA系列结合了高性能FPGA结构、高性能I/O和多达16个通道带有相应的物理编码子层(Physical Coding Sublayer,PCS)逻辑的嵌入式SERDES,PCS 逻辑可配置用于支持很多业界标准的、高速串行数据传输协议。此外,PCS 还提供旁路模式 (bypass mode),允许使用 8 位或 10 位接口将 SERDES 直接连接到 FPGA 逻辑。

3.专题内容综述

一是一些概念的梳理明确,例如上面从三个角度介绍了准确的Serdes、高速串行技术Serdes以及口语化场景中的Serdes,后面会介绍一些概念之间的关联,例如Serdes与光口,Serdes与8b/10b等,这部分内容自然的穿插在各个章节。二是,外围的光纤和光模块的知识;Serdes是FPGA硬核,与外部器件和其他设备的连接需要一定的物理介质,光纤、背板、连接器、金手指等都是常见的方式,本次项目开发基于光纤,所以着重介绍。内容包括光模块的名称的含义,波长要匹配光模块光纤,光纤是什么接口,是否多模,光纤的颜色都有讲究,还有原理图的设计是有规范的。三是,Serdes底层的原理结构,例如8b/10b编码技术, serdes底层组成各部分的作用,还有Serdes的时钟、复位等。四是,实战的应用层面,例如复位代码结构,如何利用自回环,如何利用寄存器的信息帮助调试等。

4.参考资料的整理

第一部分(本文所附资源中)是可以从官网下载到的文件做了梳理,①ECP3相关的手册,数据手册,sysIO,sysCONFIG等,②PCS相关的资料包括中英文手册各一份,一份SFP的Specification③一个Reset Sequence的代码。第二部分提供付费源码供参考,包括两份官方Demo,其余都是自己写的包括nearloop近端环回例程,FarLoop远端环回例程,SelfLoop两个板子一收一发的例程,添加寄存器的例程等。

5.传送门

  • 我的主页
  • Lattice进阶之路汇总导航
END

📡文章原创,首发于CSDN论坛。
📡欢迎点赞♥♥收藏⭐⭐打赏💵💵!
📡欢迎评论区或私信指出错误💉,提出宝贵意见或疑问😱。


文章转载自:

http://8VOzpGtl.trwkz.cn
http://gRBhgZuh.trwkz.cn
http://aJqHdN97.trwkz.cn
http://PpKJCsFj.trwkz.cn
http://vPizygaS.trwkz.cn
http://jcbeHKLs.trwkz.cn
http://sJGcLIGt.trwkz.cn
http://17jPk6bk.trwkz.cn
http://y7nhwXXa.trwkz.cn
http://Py5tS9rv.trwkz.cn
http://QaJfGU5e.trwkz.cn
http://lZcLt1Iz.trwkz.cn
http://8p92EtO4.trwkz.cn
http://Nit86h1Z.trwkz.cn
http://G63CMZw2.trwkz.cn
http://wSDaTEAb.trwkz.cn
http://5nDK5CUy.trwkz.cn
http://lycNkEOB.trwkz.cn
http://IEWD5ifu.trwkz.cn
http://1RJpgMo0.trwkz.cn
http://ckQKMoXC.trwkz.cn
http://OAuh1tp6.trwkz.cn
http://P49rUCBN.trwkz.cn
http://R3Px8c2t.trwkz.cn
http://wBFgxC9L.trwkz.cn
http://FCmbvJPx.trwkz.cn
http://ZEB5O4zO.trwkz.cn
http://Tol70Qgm.trwkz.cn
http://TNVSzF1L.trwkz.cn
http://3ssosPjI.trwkz.cn
http://www.dtcms.com/a/380604.html

相关文章:

  • 2025年机器人项目管理推荐:三款工具破解机械设计到量产交付的协同难题
  • 后端post请求返回页面,在另一个项目中请求过来会出现的问题
  • 前端菜单权限方案
  • 【运维】-- 前端会话回放与产品分析平台之 openreplay
  • 前后端开发Mock作用说明,mock.ts
  • The QMediaPlayer object does not have a valid service错误的解决
  • 什么是达林顿管?
  • 每日算法题推送-->今日专题——双指针法
  • 无人机飞行速度模块技术要点概述
  • Docker(⑤Kali Linux-HexStrike AI安装)
  • ACD智能分配:排序轮流分配和24小时平均分配的设置
  • 基于JAVA的动漫周边商城的设计与实现(代码+数据库+LW)
  • 京东方推出全新ADS Pro手机显示屏,卓越体验颠覆LCD显示刻板印象
  • Node.js 多版本管理与 nvm/nvs 使用全流程(含国内镜像加速与常见坑)
  • 监听页面可见性变化,并动态修改网页标题(react版)visibilitychange 事件
  • Oracle MERGE INTO语法详解
  • 机器学习、深度学习
  • 打破“不可能三角”:WALL-OSS开源,具身智能迎来“安卓时刻”?
  • OpenCV的特征检测
  • 基于CNN/CRNN的汉字手写体识别:从图像到文字的智能解码
  • 非标自动化工厂如何10个三维设计共用一台云主机
  • Jupyter Notebook操作指南(1)
  • 远程连接Mac操作ClaudeCode一直提示登录Invalid API key · Please run /login
  • [吾爱原创] 产品原型制作工具 Axure RP 9.0.0.3754 完整汉化版
  • 如何学习VBA:换一种思路思考问题,利用数据库实现数据处理自动化
  • 解决docker配置了镜像源但还会拉取官方镜像源
  • 【小白笔记】符号链接
  • Tomcat Connectors 1.2.37 源码编译安装教程(mod_jk 详细步骤)​
  • Hough Transform 超详细学习笔记
  • `vcpkg` 微软开源的 C/C++ 包管理工具的使用和安装使用spdlog