0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

跟李凡老师学FPGA扩频通信D01:串行通信基础(课堂笔记)

FPGA学习交流 2019-07-15 15:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

李凡老师学FPGA扩频通信D01:串行通信基础(课堂笔记)

用笨笔头整理课堂笔记,用以备忘,温故而知新。
整理文稿的细节处未能一一体现李凡老师讲课精髓和独特风采,有待下一步补充完善。
感谢李凡老师博大精深的学识、孜孜不倦的教诲,并敬请李凡老师原谅本人拙劣的课堂笔记。

近期精彩课程安排如下图。
实际执行可能会有所调整,谨供参考。

1.jpg


从今天开始呢,我们进入通信的课程。

FPGA的应用,其中有很大一个比例,是用在通信上。
据说DSP的一些架构,就是跟FPGA的Altera的通信的用户有关。
所以说呢,FPGA非常重要的一个应用方向,和通信密不可分。
通过这门课程的讨论,我们来了解通信的一个基本的规则,基本的方法,工具,还有通信里面一个一个的技术。
我们通过像WiFi、蓝牙,以及我们的移动通信里面普遍应用的扩频,我们做个讨论。

我们虽然说的是通信,communication,但实际上呢,它的含义,不仅仅是跟信息的传输、收发直接关联,像移动通信、远程的数据通信、互联网的通信,像巡航导弹,设备和设备之间的通信。

3.jpg

这些通信呢,我们可以用communication来概括,没有问题。
但是呢,它也有更广义的含义。它不仅仅指的是数据收发端的通信,也指的是逻辑和逻辑之间,芯片和芯片之间,信息的交互。


我们今天要说的通信,指的是串行通信。
什么是串行的?
什么是并行的呢?
我们用过并行打印机,我们知道,一端通过并行电缆接到电脑上。
它可以在同一个时钟节拍发送总线信号

我们现在介绍的是串行通信。
所谓串行,就是在单位时间内,只有一个比特信息的传输。
而并行呢,是在指定的时刻,会有若干个比特被发送。
我们现在的通信,大多数都是建立在串行通信的基础上。
比方说,像光纤通信。


卫星也是,微波也是。
为什么我们在真实的通信系统里面,大多都用串行通信?

其实理由很简单,一,有一个成本的问题。并行打印机,如果就在我们边上,我们用一个并行电缆就行了。
但是光缆不同了,像海底光缆,一走几百公里,它一个信道就是一个成本。
这是一个理由。
还有,像卫星通信,在指定的频道上,特定的时刻,只有一个比特的加载。
如果要想同时加载多个比特的话,你会用多个频道来传输,这样的话,卫星的收发器的成本就要提升。
限于成本,卫星的收发器限制在单一的频道上发送数据,那么指定的时刻,只可能是一个比特。

所以说卫星通信只可能是串行通信。


微波通信也是如此。
这些通信都涉及到,在单位时间,只有一个比特的加载,就是串行通信。
另外呢,我们说有第二个理由,更重要的理由,因为现在通信的速度是越来越高,越来越快。
并行通信看起来很快,一个比特可以有多个信号的加载,但是它有一个非常严峻的问题,就是窗口问题,当我们的并行总线有16根线的时候,在一个时钟节拍下面,16根线都会翻转。
必然有的翻转快,有的翻转慢。
这16根线必须要全部翻转完了以后,这才得到有效的数据,下一拍也是如此。
这样的话呢,就会形成一个窗口。
最后一个比特,构成了有效窗口的左边界,以及窗口的第一个比特,构成了这个窗口的右边界。


窗口的左边界和窗口的右边界,构成了窗口的宽度。
有效窗口的宽度,就一定会小于时钟周期。使得并行的高速传输受限。
在其它一些高端课程,我们也会体验到窗口效应。
正是由于这些原因,大多数的通信都是串行通信。
说到通信,我们就不可避免地要提到一个人。
现代通信,都是数字通信。在没有电子设备之前,人类的通信主要靠喊。
还有信鸽、烽火、狼烟等等。
但是有了电子管以后,马可尼的第一次跨洋通信,电报通信。
用摩尔斯码来传送。
它仍然是模拟的。
再后来,爱迪生发明了电话之后,仍然是用模拟的方法来传输。


是模拟的信道。
这类通信仍然是称之为模拟通信。
到了二战快结束的时候,美国贝尔实验室的通信也得到了长足的发展。
格雷码的发明就是在跟日本人的岛屿之争的时候,用于通信的加密。
它是做成一个像示波器的加密体系。
一个示波管里面就是一个加密的芯片。
格雷码的示波管发明出来以后,被日本人俘虏之前,赶紧把示波管给摘了。


这个呢,我们就必须要说到,数据通信的创始人、奠基人,就是美国贝尔实验室的工作者,其中最著名的就是香农。

大家都知道香农定理。

打开文档。
这是原文。
这是1948年发表的,在贝尔实验室。
它仍然有它的意义。
这篇论文里面,香农第一次用数学的方法来解释了数据通信。

4.jpg

标题是通信的数学原理。
其中提到著名的香农定理。
一般通信系统的架构图。
它有一个信息源,然后变为消息,变成了电信号了,就是把原始的信息变成数字信号了。

5.jpg

6.jpg

然后通过一个发送器,变成了signal,物理的信号。
或者是高电平,或者是低电平。
中间小框是信道,channel。
信道必然会受到噪声源的干扰,变成接收端的signal。
接收端的signal,和发送端的signal相比,就是有加噪。

接收器要将被噪声干扰的信号,还原成原始的message,message就是已经变成数字量了。
回到最终的目标。
这个架构到今天还在用。

还有一些相关的文档,都很经典。
用数学模型来解释信道的速度,信道的特征,信道的带宽。

我们的通信课程分为两个部分,第一是基本的原理。第二部分是扩频。


发送器的内部,和接收器的内部,它们不必要串行,它们可以并行。
在发送前,将并行数据转化成串行数据,称之为串化器。
对接收器而言,把串行数据组装成并行数据的过程,称之为并化器。
串化器和并化器是现代高速通信的核心,或者说IP、专利。
缩写为SERDES,串行收发器。

7.jpg

现代的通信,可以做到好几个G。
我们现在内核的逻辑,在cyclone IV下面可以到400、500、600M。
但是它高速通信的时候,可以到1个G以上,2、3个G。
这种程度怎么实现的呢?
内核逻辑能够跑到500M、600M,就是通过这个SERDES,跑到1个G以上。
串行收发器,这是专用电路。

我们给大家解释串行通信的基本规律。
第一,在串行通道上,必然有串化器、并化器。
第二,如果是一个并行的数据,没有问题。
我们是通过物理的位置来组织。
哪个比特高,哪个比特低。
可是这是一个串行的。
一个串行的过程在信道上,一定是一个比特连着一个比特。

8.jpg

并转串和串转并的时候,都有这个问题。

现在我们要把B0、B1、B2、B3,转成串行。

9.jpg

依次是D0、D1、D-1,按顺序发过来的。
串行通信就必然会有这个问题。
如果我们看一些手册,大量的IP核,它的一些篇幅都是用于对齐的。

10.jpg

单位时间在指定时刻只有一个比特被加载。
看起来就像一个冰糖葫芦串。

我们要知道比特的边界。
还有一个更严峻的问题。

我们知道,串行通信有两个特点。
第一个,串行通信要有串化器,要有解串器。
第二个,边界的问题。
有找边界,称之为对齐的问题。
这个问题更严峻,或者说更现代化。
在发送端,串行信息是以串行的形式发出来的。

那么,必然会有时钟驱动。发送端会有发送端的时钟。
这是发送的时钟。
我们学过同步电路,知道这个signal一定会踩着沿翻转。

11.jpg

到接收端。
发送和接收都是同步电路。

12.jpg

Tclk和Rclk可能是相同时钟,可能是相关时钟。
但是对一个正常的通信系统而言,它做不到。
如果是卫星通信,一个在天上,一个在地上。
如果是远洋通信,一个在亚洲,一个在欧洲。
怎么可能再做一条时钟线呢?

一般来说,如果是无线通信,我们的手机,跟基站之间不会有时钟的连线。
都是无线的。那么Tclk和Rclk存在各种各样的关系。
无论是什么关系,对接收器而言,时钟都要能有效地捕获signal。
怎样捕获呢?
如果在上升沿之前和上升沿之后,所需要的稳定时间段得不到保证的话,就会发生亚稳态,就有可能导致这次传输的失败。

一定要保证,在接收端的时候,在时钟上升沿,建立时间之前,保持时间之后,这个signal没有反转。

时钟的频率要一致。
不一致,这个signal就没法还原了。
所以说,两个频率要相同。
还要保证接收端的时钟能够正确地捕获signal。
这就带来一个问题,这两个时钟怎么做?
比方说,像我们RS232的通信。
那个通信,并没有给出时钟信号,通信的时候,在发送端和接收端之间并不需要发送时钟的通道。
它只是用一个单端信号发送。

13.jpg

它只要约定时钟即可,我约定时钟9600,接收时钟9600。
我们记不记得,使用16倍的波特率,在捕获的时候,这个中心点偏差1/16,问题不大。
这是在低速情况之下。所以说在低速的情况之下,发送和接收时钟,这两者是用的约定的方式来进行时钟的捕获。


由于内容较多,接下来的分享会在评论区更新,谢谢。










声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1656

    文章

    22298

    浏览量

    630510
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开源鸿蒙领课堂——山东·泰安站圆满举办

    2025年12月3日下午,开源鸿蒙领课堂(以下简称"领课堂")——山东泰安站于山东科技大学泰安校区圆满举办。本次领
    的头像 发表于 12-05 19:13 2697次阅读
    开源鸿蒙领<b class='flag-5'>学</b><b class='flag-5'>课堂</b>——山东·泰安站圆满举办

    开源鸿蒙领课堂——新疆·乌鲁木齐站圆满举办

    2025年11月25日下午,开源鸿蒙领课堂(以下简称“领课堂”)——新疆乌鲁木齐站于新疆大学博达校区圆满举办。本次领
    的头像 发表于 11-29 11:43 122次阅读
    开源鸿蒙领<b class='flag-5'>学</b><b class='flag-5'>课堂</b>——新疆·乌鲁木齐站圆满举办

    并行与串行的基本通信方式

    1、并行通信方式:将数据字节的各位用多条数据线同时进行传输,每位数据都需要一条传输线。 2、串行通信方式:串行通信是将数据字节分成一位一位
    发表于 11-24 06:36

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三种在Xilinx系统设计中关键的串行
    的头像 发表于 11-14 15:02 2010次阅读
    Xilinx <b class='flag-5'>FPGA</b><b class='flag-5'>串行</b><b class='flag-5'>通信</b>协议介绍

    如何使用FPGA实现SRIO通信协议

    本例程详细介绍了如何在FPGA上实现Serial RapidIO(SRIO)通信协议,并通过Verilog语言进行编程设计。SRIO作为一种高速、低延迟的串行互连技术,在高性能计算和嵌入式系统中广
    的头像 发表于 11-12 14:38 5149次阅读
    如何使用<b class='flag-5'>FPGA</b>实现SRIO<b class='flag-5'>通信</b>协议

    基于FPGA开发板TSP的串口通信设计

    本文详细介绍基于Terasic FPGA开发板TSP(又名C5P和OSK)和其板载CP2102N USB-UART桥接芯片的串口通信系统设计与实现。系统采用Verilog HDL编写UART收发控制器,通过CP2102N实现FPGA
    的头像 发表于 10-15 11:05 4167次阅读
    基于<b class='flag-5'>FPGA</b>开发板TSP的串口<b class='flag-5'>通信</b>设计

    串行通信相关的基础知识

    串行通信是电子设备中数据交换的基石。最常见的串行通信协议有UART,SPI,I2C等。
    的头像 发表于 10-15 10:53 1704次阅读
    <b class='flag-5'>串行</b><b class='flag-5'>通信</b>相关的基础知识

    ch554要作为主设备ch552通信,ch552修改demo作为ch34x

    如题,ch552从设备已经做好,插到电脑上或手机上可以使用串口助手通信,现在要做个主设备代替手机通信,没怎么了解过这些技术,我应该哪部分知识?554要怎么配置?
    发表于 10-13 15:40

    串行通信和并行通信的区别是什么

    串行通信和并行通信是数据传输的两种基本方式,它们在数据传输方式、线路设计、传输效率、应用场景等方面存在显著差异。以下是两者的详细对比: 一、数据传输方式 串行
    的头像 发表于 07-22 10:55 1840次阅读

    全面了解串行通信

    串行通信是一种数据传输方式,它将数据按 逐位顺序 (bit by bit)在一条传输线上发送和接收,与并行通信(同时传输多位数据)形成对比。以下是其核心概念、工作原理、特点及应用的详细解释: 一
    的头像 发表于 07-19 14:13 1178次阅读

    RK3576+紫光同创FPGA并口通信方案 基于DSMC/FlexBus并口的RK3576J与FPGA通信方案

    为大家带来基于DSMC/FlexBus并口的RK3576J与FPGA通信方案
    的头像 发表于 05-20 11:45 3804次阅读
    RK3576+紫光同创<b class='flag-5'>FPGA</b>并口<b class='flag-5'>通信</b>方案 基于DSMC/FlexBus并口的RK3576J与<b class='flag-5'>FPGA</b><b class='flag-5'>通信</b>方案

    RS485串行通信协议介绍

    在上期我们介绍了RS232串行通讯,本期我们将进一步深入探讨另一种广泛应用于工业自动化和数据通信领域的串行通信标准——RS485。
    的头像 发表于 05-15 11:42 1168次阅读
    RS485<b class='flag-5'>串行</b><b class='flag-5'>通信</b>协议介绍

    串行通信接口SPI与QSPI的区别

    在嵌入式系统的世界里,选择正确的通信技术可以对项目的性能和可扩展性产生重大影响。让我们比较两个流行的串行通信接口:SPI(串行外设接口)和QSPI(四路SPI)。
    的头像 发表于 04-09 15:24 2606次阅读
    <b class='flag-5'>串行</b><b class='flag-5'>通信</b>接口SPI与QSPI的区别

    MELSEC-Q/L串行通信模块用户手册

    电子发烧友网站提供《MELSEC-Q/L串行通信模块用户手册.pdf》资料免费下载
    发表于 02-17 16:29 1次下载

    【安信可LoRa答疑】Ra-01、Ra-02常见问题

    安信可 LoRa 系列模块Ra-01、Ra-02,其射频芯片 SX1278 主要采用 LoRa™远程调制解调器,用于超长距离扩频通信,抗干扰性强,能够最大限度降低电流消耗。借助 SEMTECH
    的头像 发表于 12-29 10:49 1941次阅读