zoukankan      html  css  js  c++  java
  • 串行通信简介(SPI, IIC, UART)

    一 串行通信与并行通信

    主机与外设或主机与主机之间通过一条(极少数)线路将数据按位顺序传输的方式实现数据的传输与共享。

    另外与之相对的还有并行通信,即多个数据通过多条线路同时传输。

    通俗的理解:主机与外设就像城镇,传输的线路就像车道,车流量即数据流量。

    城市之间路途远,车流量小,只有一条车道,城市内部因车流量大,需要多车道并行。

    延伸到通信的应用场合也是如此,串行通信节省传输线,在远距离传输成本更低;

    而并行通信传输速度快、效率高,多用在实时、快速的场合。

    二 串行通信的通信方式

    • 同步通信:根据时钟信号同步传输,即一个时钟信号,传输一个位;常见的有 SPI,IIC。 
    • 异步通信:不带时钟同步信号;常见的有UART,单总线。

      其中异步通信是通过约定相同的波特率(发送二进制数据位的速率)进行传输,

      发送端通过一定的波特率进发送,接收端按照该波特率进行数据的解析

    三 串行通信的传送方式

    1. 单工:只允许数据在一个方向上传输。                     //单向单车道
    2. 半双工:允许数据在不同时刻在任一方向上传输。   //潮汐车道
    3. 全双工:允许数据同时在两个方向上传输。              //双向单车道

    四 常见的串行通信接口

    通信标准 引脚说明 通信方式 通信方向
    UART

    TXD:发送端  

    RXD:接受端  

    GND:公共地

    异步通信 全双工
    单总线 DQ:发送/接受端 异步通信 半双工
    SPI

    SCK:同步时钟  

    MISO:主机输入,从机输出  

    MOSI:主机输出,从机输入

    同步通信 全双工
    I2C

    SCL:同步时钟  

    SDA:数据输入/输出端

    同步通信 半双工

     

  • 相关阅读:
    ubuntu 如何 su 到 root(作为 root 用户操作)
    centos6.5 redis 安装配置及java调用
    springmvc 国际化
    springmvc 整合数据验证框架 jsr
    springmvc 整合shiro
    centos 6.5 安装mysql
    hive 报错 java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
    centos 关闭防火墙
    client.HConnectionManager$HConnectionImplementation: Can't get connection to ZooKeeper: KeeperErrorCode = ConnectionLoss for /hbase
    fms +fme 视频直播
  • 原文地址:https://www.cnblogs.com/Gimiracle/p/13492641.html
Copyright © 2011-2022 走看看