spi,iic,usart

关于spi,iic,usart粗略见解(接口电路)

将从传输方式,传播速率,应用场景

1.传播方式上
usart为异步传输,而iic和spi都是同步传输,同步传输有时钟控制,所有传播的容错率会高些(当传播距离就比较大的时候)
2.传播速率上
usart速率低,spi传播速率快,iic速率中等
3.应用场景上
usart可以在板内和板间之间的通信,而spi和iic多用于板内的通信,只有在做实验的时候才用杜邦线完成板间的通信
4.在通信的模式上
usart是1对1的连接,而spi一般一对多的连接(常说的一主多从),iic一般是一对一,一对多,多对多的连接(多主多从)都TM的有
在布局上
usart由于一对一,所以没有其他的控制,而spi可以通过多个cs的片选信号来实现一对多的控制,iic是通过不同的地址来区分布局

闲的没事,就把usart跟spi,iic的原理写了
1.usart
三根线 TX,RX,GND
负责跟PC进行收发数据
usart发送的数据是8位数据为一个字节发送,然后通常在发送数据的时候前后都会设置密语(为了能跟PC直接互动,包括奇偶校验位也是密语,为了防止“互动出错”)
2.spi相对于usart通信速率要快得多,完事儿它还有个时钟,容错率也不错,然后spi还能一对多,但是缺点也很明显,当它一对多,多个不同的从器件时,需要设置不同的片选线CS来处理,非常麻烦
对于传输过程的讲述,由于时钟线跟数据线(MOSI,MISO),时钟线在什么样的电平,在什么时候开始采样,所有才有四种模式(模式0,1,2,3),完成8个数据的发送
对于总线的拓扑结构,74HC595芯片(数电实验)它应用于串行转并行,连的是同一种从器件,一次性把数据输出跟拿出来,从器件不同的拓扑结构的由于片选信号不同很麻烦,
3.iic
iic要开始一个通信,要发生起始条件跟停止条件,但为了不让其他信号打断我们,就会一直发送起始条件防止被打扰

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS:意为IC之间总线) UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上: SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。 如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。 I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。 如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备) UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。 显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。 第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行; 第四,看看牛人们的意见吧! wudanyu:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。 quickmouse:I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。 1、UART和USART两个别区说不出来,USART是新出的,不过区别在什么地方我也搞不清楚。UART就是两线,一根发送一根接收,可以全双工通信,线数也比较少。数据是异步传输的,对双方的时序要求比较严格,通信速度也不是很快。在多机通信上面用的最多。 2、SPI接口和上面UART相比,多了一条同步时钟线,上面UART的缺点也就是它的优点了,对通信双方的时序要求不严格不同设备之间可以很容易结合,而且通信速度非常快。一般用在产品内部元件之间的高速数据通信上面,如大容量存储器等。 3、I2C接口也是两线接口,它是两根线之间通过复杂的逻辑关系传输数据的,通信速度不高,程序写起来也比较复杂。一般单片机系统里主要用来和24C02等小容易存储器连接。
USARTIICSPI、CAN是常用的通信协议。USART是一种通用的串行通信协议,常用于单片机与外部设备之间的通信IIC(Inter-Integrated Circuit)是由飞利浦公司开发的同步半双工通信协议,适用于多个集成电路之间的通信SPI(Serial Peripheral Interface)是一种串行外设接口协议,常用于连接微控制器与外部设备,具有高速传输和多设备连接的特点。CAN(Controller Area Network)是一种用于实时应用的串行通信协议,主要用于汽车电子和工业控制领域。这些协议在不同的应用场景中具有各自的特点和优势,可以根据具体需求选择合适的协议来进行通信。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [【嵌入式】串行通信协议总结:UART,SPIIIC,CAN](https://blog.csdn.net/ZHOU_YONG915/article/details/122666235)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [常见的通讯协议总结(USARTIICSPI、485、CAN)](https://blog.csdn.net/lsw15834115977/article/details/127375167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [常用的嵌入式硬件通信接口协议(UART、IICSPI、RS-232、RS-485、RS-422、CAN、USB、IRDA)(一)](https://blog.csdn.net/m0_46582811/article/details/123899074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值