UART-I2C-SPI基本串行通信协议

1 篇文章 0 订阅
1 篇文章 0 订阅

串行通信协议

并行发送8位数据,一个时钟发生器,一共要9根线(加GND);串行发送相同数据,8个时钟来保存数据,一根线,慢了8倍
在这里插入图片描述
根据时钟脉冲,串行通信分为同步和异步,两者区别是同步是使用了时钟,以特定的速度发送数据,异步通信不使用时钟.
所以我们怎么知道哪里是bit开始,哪里是bit结束?

UART (Universal Asynchronous Receiver/Tranmitter)通用异步收发传输器,具体实物为独立的模块化芯片,或者处理器中的周边设备,(异步)发送方发出数据,不等接收方响应,接着发送下一个数据包的通讯方式(非阻塞);那么同步SPI,I2C就需要等待接收方响应–阻塞

1.Uart 通用异步收发传输器(异步)
大部分MCU和嵌入式设备上都可以支持
3根线,收RX,发Tx,双方对等的通信,没有谁是master,谁是slave,地gnd
一根线发送数据(发送端Tx 接收端Rx),一根地线
在这里插入图片描述
发送端Tx可以在任何时候发送数据,接收端怎么知道何时接收,啥时候结束?
发送之前确保Tx和Rx以下三种配置一样:
1.每秒钟的传输速度一样:设置波特率,单位/bps 每秒钟传输多少个bit;常见的9600,19200,38400,57600,115200bauds/second,发送与接收端的时钟频率不需要一致,波特率Tx和Rx必须相同,50MHZ发送频率:1/11520050个时钟周期传1bit,20MHZ接收频率:1/11520020个时钟周期收1bit;
2.数据长度:8bit
3.开始停止位(计时方式
在这里插入图片描述
起始位低电平,接收端很好识别,每次一个低电平停顿,知道就要开始读取输入数据了。

2.IIC(Inter-Integrated Circuit)内部集成电路(同步)
IIC是PHILIPS公司设计出来的一种多主多从、半双工同步串行总线,由数据线 SDA 和时钟信号线 SCL 构成的串行总线, 可发送和接收数据,数据长度和发送频率:400Kb/s可以发送15bit或者16bit数据
时钟信号:时钟频率与数据的每一位是对应的,每次发送一个新的值,同时输出时钟信号。接收器确切知道1bit将要结束,下一位开始。在这里插入图片描述
master一定是时钟输出的那一方。接受时钟就是slave,数据输出的不一定是master,slave也可以数据输出
1个master,几个slave,正常情况保持高电平,只有start和stop,SCL高电平,SDA可以变化,其余时间,SDA是在SCL为低的时候开始变化
start标志:SCL高电平,SDA下降沿
stop标志:SCL高电平,SDA上升沿
然后叫号,交到某一slave地址ID,moster发送读写操作slave指令,写–0,读–1,标记黄色为slave动作向master通信,其余是master动作
slave ack回复0,接收到了,不回复或者回复1,则没有收到,下面就选择slave地址开始写数据,地址加1?stop之后应该是最后写入数据的地址加1
在这里插入图片描述3.SPI(Serial Peripheral Interface)串行外设接口(同步)
(全双工,两个设备同时向对方发送数据)
SCLK:Serial Clock (output from master)
MOSI:Master Output, Slave Input(output from master)
MISO:Master Input, Slave Output(output from slave);
片选信号CS:Slave Select (active low, outputfrom master).
下面是普通的SPI接口50Mhz
在这里插入图片描述
在这里插入图片描述主机将片选信号拉低,然后发送时钟和数据信号,如果想选择更多的从机设备,只能每个设备都连接一根片选
4.小结一下
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值