【嵌入式】串行通信总线技术解析:从UART到RS485、IIC和SPI

前言:

在现代电子通信领域,串行通信总线扮演着至关重要的角色,它们是电子设备之间数据交换的桥梁。串行通信以其灵活性和成本效益,在嵌入式系统和各种外设之间建立了高效的通信链路。本文将深入探讨几种常见的串行通信协议:UART、RS232、RS485、IIC和SPI。通过详细的介绍和比较,我们将了解这些协议的工作原理、特点以及它们在实际应用中的适用场景。文章将从基础概念入手,逐步深入到具体的实现和应用,为读者提供全面的技术视角。

1. UART

UART:(Universal Asynchronous Receiver Transmitter) 即时通用异步接收器,是一种通用串行、异步通信总线该总线有两条数据线可以实现全双工的发送和接收,在嵌入式系统中通常用于主机与主机辅助设备之间的通信 。

1.1 通信基础

1.1.1 串行和并行

soc与外部设备之间的通信!
并行通信:8位通过8根线一起发送
串行通信:8位1位1位的去传
在同等条件下并行通信的速度要快于串行通信,但是并行通信增加了其布线难度

1.1.2 单工和双工

单工通信:发送器直接发送给接收器
全双工:双方可以同时发
实际应用的时候看数据线的条数就可以判断,比方说iic只有一根线只能是半双工,两根线以上大概率是全双工!

1.1.2 波特率

波特率是用于描述UART通信时的通信速度,其单位为bps(bit per second)即每秒钟传送的bit的数量

1.1.3 UART帧格式

在这里插入图片描述
串口协议规定:

  • 数据线在空闲的时候必须搞成高电平,
  • 起始位为低电平,
  • 发送位,把要发送的数据往信号线上放,串口协议先发低位再发高位

在这里插入图片描述
在这里插入图片描述

  • 数据位5-8位都是可以的,但是一般都是发8位刚刚好时一个字节!
  • 校验位校验有没有产生错误!(可有可无)
  • 停止位1、1.5、2 位,都是可以的,但是不能没有,停止位必须是高电平

串口通信是异步通信,各自都有各自的时钟,像spi、iic都是属于同步通信的范畴!

硬件连接:
在这里插入图片描述

注意:一方的TXD要连接到另外一方的RXD

UART 控制器
一般情况下处理器中都会UART控制器,我们使用UART进行通信的时候只需要对其内部的相关寄存器进行设置即可
在这里插入图片描述
我们使用串口的时候只需要设置怎样的通信速度(波特率)即可

引脚功能设置
在这里插入图片描述
设置引脚功能的实质是让引脚再芯片内部连接到某一个对应的控制器上

Exynos4412下的UART控制器
串口控制器也会集成一个发送器,和一个接收器,控制窗口发送速率这样一个过程
在这里插入图片描述
UART编程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q_hd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值