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

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

3天内不再提示

通信教程02 几种常见串行通信及基础原理

黄工的嵌入式威廉希尔官方网站 圈 来源:黄工的嵌入式威廉希尔官方网站 圈 作者:黄工的嵌入式威廉希尔官方网站 2020-02-26 16:12 次阅读

1写在前面

为什么要讲述串行通信呢?因为现在并行通信相对很少见,基本上都是串行通信。

今天给大家概要讲述一下常见的串行通信及相关基础原理。

包含:UART、 I²C、 SPI、 CANUSB等。

2基本概念

2.1 UART

UART:Universal Asynchronous Receiver/Transmitter,通用异步收发器

USART:Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/异步串行接收/发送器。

USART可以理解为UART和USRT二合一的通信接口,一个是同步通信,一个是异步通信。

2.2 I²C

I²C:Inter-Integrated Circuit,字面上的意思是集成电路之间,它其实是I²C Bus简称,所以中文应该叫集成电路总线,它是一种串行通信总线。

2.3 SPI

SPI:Serial Peripheral Interface,串行外设接口,是一种高速的,全双工,同步的通信总线。

QSPI是Queued SPI的简写,是Motorola公司推出的SPI接口的扩展,比SPI应用更加广泛。

QSPI是在SPI协议的基础上,对其增加了队列传输机制,传输过程不需要CPU干预,极大的提高了传输效率。

2.4 CAN

CAN:Controller Area Network,控制器局域网络

CAN 总线是一种应用广泛的现场总线 ,在工业测控和工业自动化等领域有很大的应用前景。

2.5 USB

USB:Universal Serial Bus,通用串行总线。

USB是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在PC领域的接口威廉希尔官方网站

3通信原理(基础)

这几种常见串行方式基础的通信原理不难,网上教程也有很多,这里给大家整合一下。

3.1 UART

UART通信一般是3线,当然也有单线半双工模式。

UART连接方式:

UART通信数据格式:

这一节详细更多内容请参看《通信教程01》中串行通信章节。

3.2 I²C

I²C是串行同步通信方式,一般是2线(SDA数据线、SCL时钟线),一主多从的通信方式。

I2C连线方式:

SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出.需通过上拉电阻接电源VCC。当总线空闲时.两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路.在总线上消耗的电流很小。

I2C一般是地址+数据+ACK方式,基础的数据格式:

3.3 SPI

SPI应用非常广泛,通常用于在微控制器和小型外设(如移位寄存器传感器和SD卡)之间发送数据的接口总线。

SPI通信主要使用3线(SCK、MOSI、MISO)进行通信:

但是SPI也用于多从机通信,此时,会多处一个CS片选信号线。

多从机接线方式:

当然,还有类似I2C多从机,通过寻址方式实现:

SPI通信协议比I2C要简单的多,没有过多的数据处理。

3.4 CAN

CAN通信是相对前面3种更复杂的一种局域网络,不管是硬件,还是软件协议都更加复杂。

这里不详细讲述,可以关注我公众号『strongerHuang』,回复【CANOpen系列教程】,里面有关于CAN从底层硬件、协议、到上层软件的详细内容。

3.5 USB

前不久才写了关于USB的相关内容:USB4规范正式公布,传输带宽高达40Gbps

USB是生活中常见的一种串行通信接口,主要4线(D+ D- VCC GND):

USB设备端的D-或D+数据线连接1.5K欧姆的上拉电阻。当设备插入PC机的时候,会将PC机的D-或D+端的电压拉高,当PC机在D-或D+端检测到高电平时,就知道有设备插入了。

如果是PC机D-端被拉高,接入的则是USB低速设备;如果是PC机D+端被拉高,接入的则是USB全速或高速设备,具体是全速设备还是高速设备,会由PC机和USB设备发包握手确定。

USB传输速度有:低速1.5Mbps(USB1.0协议)、全速12Mbps(USB1.1协议)、高速480Mbps(USB2.0协议)、超高速5Gbps(USB3.0协议)等。

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

    关注

    18

    文章

    5639

    浏览量

    133987
  • 串口
    +关注

    关注

    14

    文章

    1463

    浏览量

    74095
  • 并口
    +关注

    关注

    0

    文章

    32

    浏览量

    17272
收藏 人收藏

    评论

    相关推荐

    有关通信协议时一些问题?

    工业上应用到许多种协议,按通信同一时刻发送的数据位数分为串行通信和并行通信,首先我见并行通信多在芯片之间进行
    发表于 01-14 00:58

    串行通信和以太网通信,该怎么选才好?

    串行通信和以太网通信都通过有线传输数据,但各自有不同的用途。串行通信和以太网通信的主要区别在于:
    的头像 发表于 12-22 08:20 382次阅读
    <b class='flag-5'>串行</b><b class='flag-5'>通信</b>和以太网<b class='flag-5'>通信</b>,该怎么选才好?

    串行通信的基本原理、应用场景及主要优势

    串行通信(Serial Communication)是一种数据传输方式,其中数据位按顺序一个接一个地传输。尽管这种通信方式在某些方面可能不如并行通信(如 USB、I2C 和 HDMI)
    发表于 09-26 17:25 908次阅读

    串行通信的数据格式 异步串行通信的波特率

    串口是串行接口的简称,串行接口是采用串行通信方式的接口。串行通信是一种将需要传输的数据由低位到高
    发表于 09-26 14:46 1273次阅读
    <b class='flag-5'>串行</b><b class='flag-5'>通信</b>的数据格式 异步<b class='flag-5'>串行</b><b class='flag-5'>通信</b>的波特率

    几种常见嵌入式设备通信协议

    几种常见嵌入式设备通信协议
    的头像 发表于 09-18 16:43 866次阅读
    <b class='flag-5'>几种</b><b class='flag-5'>常见</b>嵌入式设备<b class='flag-5'>通信</b>协议

    can总线的通信协议有哪些 CAN接口保护及工作原理

    CAN总线(Controller Area Network)是一种广泛应用于汽车、工业自动化和其他领域的串行通信协议。以下是几种常见的CAN总线通信
    的头像 发表于 08-18 14:40 7028次阅读
    can总线的<b class='flag-5'>通信</b>协议有哪些 CAN接口保护及工作原理

    串行同步通信串行异步通信的区别

    串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。
    的头像 发表于 07-19 14:13 5655次阅读
    <b class='flag-5'>串行</b>同步<b class='flag-5'>通信</b>和<b class='flag-5'>串行</b>异步<b class='flag-5'>通信</b>的区别

    串行通信与并行通信的对比 串行通信故障排查和调试技巧

    串行通信适合长距离、抗干扰要求高的场景,而并行通信则适合高速、实时性要求高的场景。
    的头像 发表于 06-29 17:50 998次阅读

    串行通信的三种数字编码方式

    有关串行通信的知识,介绍了串行通信几种数字编码方式,共有三种,一是NRZ编码,二是曼彻斯特(Manchester)编码,三是微分曼彻斯特编
    的头像 发表于 06-29 16:55 1914次阅读

    串行通信调幅和调频方式

    有关串行通信的知识,介绍了串行通信调幅与调频方式,串行数据在传输时,一般采用调幅(AM)和调频(FM)两种方式传送数字信息,
    的头像 发表于 06-29 16:53 703次阅读

    PLC通信第三课 并行通信串行通信#硬声创作季

    plc串行通信
    或许
    发布于 :2023年06月05日 15:42:56

    串行通信威廉希尔官方网站 介绍

    串行通信指数据是一位一位按顺序传送的通信方式,相对于并行通信,其突出优点是只需要一对传输线,缺点是传输速度较 低。串行
    发表于 05-18 11:33 0次下载
    <b class='flag-5'>串行</b><b class='flag-5'>通信</b>威廉希尔官方网站
介绍

    8086基础-串行通信

    串行通信作为计算机通信方式之一,主要起到主机与外设以及主机之间的数据传输作用,串行通信具有传输线少、成本低的特点,主要适用于近距离的人-机交
    的头像 发表于 03-02 09:59 815次阅读
    8086基础-<b class='flag-5'>串行</b><b class='flag-5'>通信</b>

    Arduino长距离通信教程–LoRaLib库

    为了控制 Arduino长距离通信教程–LoRenz 开发板中构建的LoRenz开发板,我开发了LoRaLib——用于SX1278芯片的开源Arduino库。
    的头像 发表于 02-24 09:51 987次阅读
    Arduino长距离<b class='flag-5'>通信教</b>程–LoRaLib库

    通信教程:西门子S7-1200PLC与组态王

    通信教程:西门子S7-1200PLC与组态王
    的头像 发表于 02-23 15:11 3411次阅读