硬件_通讯总线

通讯总线

 


 

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:

 

 

 

 

 

 

协议:

 

 

 

 代码示例:

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 


 

posted @ 2019-06-30 13:11  panda_w  阅读(748)  评论(0编辑  收藏  举报