news 2026/5/1 8:29:54

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/5/1 7:14:35

Qwen3-VL远程面试评估:候选人环境与表现综合打分

Qwen3-VL远程面试评估:候选人环境与表现综合打分 在一场持续两小时的远程技术面试中,候选人流畅地讲解完系统架构设计后,考官却突然发问:“你提到使用了事件溯源模式,但我们在第47分钟看到你的浏览器标签页切换到了一篇…

作者头像 李华
网站建设 2026/5/1 8:07:17

Python-Wechaty极简入门:5步构建智能微信聊天机器人

Python-Wechaty极简入门:5步构建智能微信聊天机器人 【免费下载链接】python-wechaty Python Wechaty is a Conversational RPA SDK for Chatbot Makers written in Python 项目地址: https://gitcode.com/gh_mirrors/py/python-wechaty 想要快速上手微信机器…

作者头像 李华
网站建设 2026/4/29 4:15:57

跨平台字体统一解决方案:用苹方字体实现网页设计的一致性突破

跨平台字体统一解决方案:用苹方字体实现网页设计的一致性突破 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件,包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 还在为不同设备上的字体显示差异…

作者头像 李华
网站建设 2026/4/30 10:22:46

如何在Linux系统快速安装Realtek RTL88x2BU无线驱动:完整解决方案

如何在Linux系统快速安装Realtek RTL88x2BU无线驱动:完整解决方案 【免费下载链接】RTL88x2BU-Linux-Driver Realtek RTL88x2BU WiFi USB Driver for Linux 项目地址: https://gitcode.com/gh_mirrors/rt/RTL88x2BU-Linux-Driver 想要在Linux系统上使用Realt…

作者头像 李华
网站建设 2026/4/29 4:28:44

Pose-Search:解锁人体动作智能识别的技术革命

Pose-Search:解锁人体动作智能识别的技术革命 【免费下载链接】pose-search x6ud.github.io/pose-search 项目地址: https://gitcode.com/gh_mirrors/po/pose-search 在数字智能时代,人体动作理解正成为连接虚拟与现实的关键桥梁。Pose-Search项目…

作者头像 李华