news 2026/2/8 11:02:09

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/2/8 10:07:26

基于Qwen3-VL的视觉代理技术详解:自动操作PC与移动GUI的新范式

基于Qwen3-VL的视觉代理技术详解:自动操作PC与移动GUI的新范式 在智能助手还停留在“回答问题”阶段时,真正的AI进化已经开始——它正学会“动手做事”。想象一下:你只需说一句“帮我登录邮箱并查一下今天的会议安排”,AI就能自主…

作者头像 李华
网站建设 2026/2/7 14:44:20

ExplorerPatcher:Windows 11界面个性化定制完全指南

ExplorerPatcher:Windows 11界面个性化定制完全指南 【免费下载链接】ExplorerPatcher 项目地址: https://gitcode.com/gh_mirrors/exp/ExplorerPatcher ExplorerPatcher是一款功能强大的开源工具,专为Windows 11用户设计,让你在保留…

作者头像 李华
网站建设 2026/2/5 7:41:30

MoveIt2机器人运动规划实战指南:从零开始构建智能运动控制

MoveIt2机器人运动规划实战指南:从零开始构建智能运动控制 【免费下载链接】moveit2 :robot: MoveIt for ROS 2 项目地址: https://gitcode.com/gh_mirrors/mo/moveit2 你是否曾经想过,为什么工业机器人在执行复杂任务时能够如此精准流畅&#xf…

作者头像 李华
网站建设 2026/2/6 16:53:42

手语动作识别研究:Qwen3-VL理解肢体语言转文字

手语动作识别研究:Qwen3-VL理解肢体语言转文字 在听障人群与健听世界之间,语言始终是一道无形的墙。尽管手语是超过7000万听障人士的主要交流方式,但社会公共场景中能理解手语的人寥寥无几。传统的手语识别系统长期受限于小样本数据、专用传感…

作者头像 李华
网站建设 2026/2/7 16:47:36

一文说清MDK如何下载程序到STM32芯片

一文讲透:MDK如何将程序下载到STM32芯片你有没有遇到过这样的情况?代码写完,编译通过,信心满满地点击“Download”,结果弹出一个红框:“Cannot access target. Shutting down debug session.”——瞬间从天…

作者头像 李华
网站建设 2026/2/6 22:42:16

JavaScript加密库终极指南:保护Web应用数据安全的完整解决方案

JavaScript加密库终极指南:保护Web应用数据安全的完整解决方案 【免费下载链接】crypto-js JavaScript library of crypto standards. 项目地址: https://gitcode.com/gh_mirrors/cr/crypto-js 在当今数字化时代,数据安全已成为Web开发中不可忽视…

作者头像 李华