news 2026/6/10 20:42:04

FPGA应用开发和仿真【2.7】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FPGA应用开发和仿真【2.7】

5.4 高速串行接口

并行接口在传输高速信号时容易产生串扰,即相邻的导线因电场耦合而相互干扰。另外对于板间连接,接插件和导线增多会指数级地降低可靠性,因而高速数据传输常用串行形式,电平也常用差分规范,如LVDS。事实上,LVDS等真差分规范大多都用在串行传输中,很少有使用LVDS做纯粹并行传输的。

在高速串行数据传输中,将并行数据转换为串行数据的过程称为串行化,相反的过程称为解串行化,相应的功能单元或器件称为串行器和解串器,合称串行解串器(Serializer/Deserializer,SerDes)。

高速数据在传输时,往往还要同步传输时钟,因为如果不同步传输时钟而是通过在PCB上另行走线分配时钟,些许线长差异将造成高频时钟在源端和末端出现明显的相位差(称为时钟偏斜),从而导致时序困难。

图5-13示意了高速串行传输的过程。

其中PLL为锁相环,用于时钟频率和相位变换。注意其中的位时钟,一般为数据率的一半,即在时钟上升沿和下降沿各同步一次数据,称为DDR(双倍数据率),使用DDR能增加时钟的上升沿/下降沿时间以改善信号完整性。位时钟常常不传输(因为位时钟并不包含帧同步信息),而只传输帧时钟,之后在接收端由锁相环倍频恢复位时钟。

移位寄存器是最简单的串行器和解串器,解串时需要上升沿和下降沿均有效,实际中的串行器和解串器也常用数据选择器和分配器实现。

容易知道,对于并行数据率fDATA、一帧N位的串行DDR数据,串行数据率为fSDATA=N·fDATA,帧时钟频率为

fFCLK=fDATA,而位时钟频率为 。

时钟的传输还可以嵌入到数据之中,这样仅使用一对差分线即可完成数据的同步传输。嵌入时钟的串行传输需要使用特定的编码才能实现,并且会稍稍增加数据量。最常用的编码是8b/10b编码,它将每字节(8位)编码为10位。8b/10b编码还可以保证编码没有直流分量,便于接收端判决电平。8b/10b编码广泛用于各种高速串行传输场合,比如USB3.0、SATA、PCI Express、千兆以太网(部分规范)、DVI、HDMI、DisplayPort等。除8b/10b编码外,还有64b/66b、128b/130b、128b/132b编码,用于更高速的10G以太网、PCI Express 3.0和USB 3.1中。图5-14是嵌入时钟的高速串行传输示意。

大多数FPGA的IO口均支持LVDS高速串行传输,其中要用到的串行器和解串器在开发工具中均会提供,因要用到专用功能单元,并不适宜用Verilog描述。嵌入时钟的高速数据传输单元常称为高速收发器(Gigabit Transceiver),一般由固化的硬件实现,往往只在中高端FPGA中提供。

5.5 UART

5.5.1 UART规范介绍

UART(Universal Asynchronous Receiver/Transmitter),即通用异步收发器,是低速串行数据传输中最常用的数据规范。长距离传输时,常配合RS-232、RS-422、RS-485电平/物理接口规范。板内或短距离传输也常常使用前述的各种单端电平规范。

作为异步传输,UART并不传输用于同步位的时钟,而是事先收发双方约定数据率,逐帧由“起始位”和“停止位”去对齐收发两侧

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:07:37

Screenfull.js 终极指南:10分钟掌握全屏开发技巧

Screenfull.js 是一个强大的JavaScript全屏API封装库,能够让你在10分钟内轻松实现跨浏览器的全屏功能开发。无论你是前端新手还是资深开发者,这个轻量级工具都能为你的项目带来无与伦比的全屏体验。本文将带你深入探索Screenfull.js的核心功能、实战应用…

作者头像 李华
网站建设 2026/6/10 12:06:46

go-zero-looklook热加载深度解析:modd配置实战与性能优化技巧

go-zero-looklook热加载深度解析:modd配置实战与性能优化技巧 【免费下载链接】go-zero-looklook 🔥基于go-zero(go zero) 微服务全技术栈开发最佳实践项目。Develop best practice projects based on the full technology stack of go zero (go zero) m…

作者头像 李华
网站建设 2026/6/10 12:27:17

Proteus下载安装步骤详解:系统学习版

从零开始搭建电子仿真环境:Proteus 安装与实战入门指南 你是否曾在学习单片机时,因为没有开发板而寸步难行? 是否在调试电路时,反复焊接、拆焊,只为排查一个接地错误? 又或者,在做课程设计时…

作者头像 李华
网站建设 2026/6/10 19:29:56

PDF处理终极指南:无需安装的在线工具快速上手

PDF处理终极指南:无需安装的在线工具快速上手 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址: https://gitcode.co…

作者头像 李华
网站建设 2026/6/9 19:37:04

Go微服务开发痛点剖析:go-zero-looklook热重载架构深度解析

Go微服务开发痛点剖析:go-zero-looklook热重载架构深度解析 【免费下载链接】go-zero-looklook 🔥基于go-zero(go zero) 微服务全技术栈开发最佳实践项目。Develop best practice projects based on the full technology stack of go zero (go zero) mic…

作者头像 李华
网站建设 2026/6/10 16:34:03

SimVascular终极指南:从医学影像到血流仿真的完整工作流程

SimVascular终极指南:从医学影像到血流仿真的完整工作流程 【免费下载链接】SimVascular A comprehensive opensource software package providing a complete pipeline from medical image data segmentation to patient specific blood flow simulation and analy…

作者头像 李华