zoukankan      html  css  js  c++  java
  • 硬件_通讯总线

    通讯总线


    USART

        串行异步全双工

      

    协议: 

      数据包:

    :    起始位 + 数据位 + 校验位 + 停止位

    :  

    起始位:先发出一个逻辑0的信号,表示传输数据的开始 (0)

    数据位:标准的数据位可以是5、7、8位,从最低位开始传输

    校验位:奇偶校验和CRC校验

    停止位:数据结束的标志,可以是1位、1.5位、2位的高电平

    空闲位:处于逻辑1的状态,表示当前线路上无数据传输 (1)

    RS232:  串行数据通信的接口标准 

      

      1. CD ← Carrier Detect 载波检测

      2. RXD ← Receive Data 接收数据

      3. TXD → Transmit Data 发送数据

      4. DTR → Data Terminal Ready数据终端就绪

      5. GND — System Ground 系统接地

      6. DSR ← Data Set Ready 数据设备就绪

      7. RTS → Request To Send 请求发送

      8. CTS ← Clear To Send 允许发送

      9.  RI → 提示信号

    RS-232是为点对点(即只用一对收、发设备)通讯而设计的,实现点对点的通信方式;     

    RS-232串行常用速率有300 1200 9600 57600等 。

    由于发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,

    其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而

    设计的,其驱动器负载为3~7kΩ。所以RS-232适合本地设备之间的通信. 

    RS485:

    RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,多采用的是两线制接线方式,

    这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个节点。

    波特率&&比特率

    波特率可以被理解为一个设备在一秒钟内发送(或接收)了多少码元的数据,以bit为单位

    串口传输速率为9600bps,每秒可传输多少字节?

    起始位:1  数据位:8 停止位:1 校验位:0

    传输1字节数据,需要传输10bit,因此:

    9600 ÷ 10 = 960Byte

    即(常规)串口9600波特率每秒传输960字节。(1K都不到,太慢了!!)

    比特率:每秒传输的位数

     代码示例:


    I2C:

         串行同步半双工

     

     协议:

      写:

       读:

    : 起始—从机地址—应答—寄存器址—应答———发送数据—应答—校验信号—应答—停止

    : 起始=从机地址= 应答寄存器址—应答———读取数据—应答—校验信号—应答—停止

     起始终止:

    读取写入:

    应答不答:

     从设备:

     由IIC地址决定,8位地址,减去1位广播地址,是7位地址,2^7=128,但是地址0x00不用,那就是127个地址,   所以理论上可以挂127个从器件。每个设备都有它的设备地址。

     代码示例:https://www.cnblogs.com/panda-w/p/14718506.html


    SPI:

       串行同步全双工

    (1)MOSI :主器件数据输出,从器件数据输入(SDO)
    (2)MISO :主器件数据输入,从器件数据输出(SD I )
    (3)SCLK :时钟信号,由主器件产生,最大为fPCLK/2,从模式频率最大为fCPU/2
    (4)NSS   :从器件使能信号,由主器件控制,有的IC会标注为CS(Chip select)

     协议:

     SPI通信模式:

      CPOL(时钟极性):0表示SCLK=0时处于空闲态,1则反之;

      CPHA(时钟相位):0表示数据采样是在奇数边沿发送在偶数边沿,1则反之;

    Mode0:CPOL=0,CPHA=0

      (空闲时,SCLK为低电平,数据采样在奇数边沿:
       SCLK由低电平到高电平的跳变,所以数据采样是在上升沿,数据发送是在下降沿。)

    Mode1:CPOL=0,CPHA=1

      (空闲时,SCLK为低电平,数据发送在奇数边沿:
       SCLK由低电平到高电平的跳变,所以数据采样是在下降沿,数据发送是在上升沿。)


    Mode2:CPOL=1,CPHA=0

      (空闲时,SCLK为高电平,数据采集在奇数边沿: 
       SCLK由高电平到低电平的跳变,所以数据采集是在下降沿,数据发送是在上升沿。)

    Mode3:CPOL=1,CPHA=1

      (空闲时,SCLK为高电平,数据发送在奇数边沿:
       SCLK由高电平到低电平的跳变,所以数据采集是在上升沿,数据发送是在下降沿。)

    代码示例:https://www.cnblogs.com/panda-w/p/14718487.html

    四线SPI :  串行同步半双工

    CLK  

    SIO  

    CS  

    SDC  (数据命令标志)

     缺点:没有指定的流控制,没有应答机制确认是否接收到数据


    CAN:

        全称为“Controller Area Network”,即控制器局域网

    协议: 

     


    I2S:

        (Inter-IC Sound Bus)音频数据传输总线

     

    协议:

     代码示例:


    USB:

    引脚1:电源(+5V)

    引脚2:接入南桥,传输数据。 

    引脚3:传输数据。但两个引脚各有不同,是传输信息的高地位不同。 

    引脚4:地线

    协议:

     代码示例:


    SDIO:

    协议:

     代码示例:



    Stay hungry, stay foolish 待续。。。
  • 相关阅读:
    C#字符串加密解密
    使用AddLayer方法加载shp文件中使用的Map、Dataset等对象详解
    【解决方案】无法嵌入互操作的问题
    简单了解工作空间工厂(IWorkspaceFactory)
    解决VS2017授权问题及没有Add ArcGIS License Checking问题
    ArcGIS Engine中C#开发不能引用ESRI.ArcGIS.AxControls问题
    最简单的ArcGIS Engine应用程序(终)
    最简单的ArcGIS Engine应用程序(下)
    最简单的ArcGIS Engine应用程序(中)
    最简单的ArcGIS Engine应用程序(上)
  • 原文地址:https://www.cnblogs.com/panda-w/p/11037872.html
Copyright © 2011-2022 走看看