UART、RS232、RS485、IIC、SPI总线

UART

UART(Universal Asynchronous Receiver Transmitter) 通用异步收发器,是一种全双工的、异步串行数据总线。数据位一般为5-8位(太长会因为时钟频率的缘故,产生误差)。
一般含串口的芯片集成有 UART 控制器,我们只需要操作其寄存器即可完成通信。
以4412开发板为例,讲解其串口2使用(基本上可以理解为一堆寄存器操作):

  1. 设置主板的 GPA1_0 和GPA1_1 引脚为 UART2的发送和接收引脚,操作寄存器 GPACON[7:0]
  2. 设置 UART2 的帧格式, ULCON2
    8位数据位 1位停止位 无校验 正常模式
  3. 设置 UART2 的发送和接收模式为轮询模式 UCON2[3:0]
  4. 设置波特率 UBRDIV2/UFRACVAL2
  5. 将要发送的数据写入发送寄存器

RS232

RS232 和 RS485 是电气层面的说法,实际上还是串口协议。
直接使用串口有会有如下问题:

  • 电气接口特性未定义:比如连接器、电平等
  • 使用的是TTL电平,抗干扰能力很差
  • 通信距离短

然后RS232就来了,其连接器标准为 DB9(如下图,早期的很多PC、投影仪都有这个接口),主要使用的引脚其实只有三个(RXD/TXD/GND),其传输距离可达15m。
在这里插入图片描述

RS485

但RS232也有问题

  • 比如电平太高了(-5~-15 表示 1,+5~+15表示0),容易损坏接口电路芯片;
  • 速度低
  • 易产生共模干扰

所以又有了 RS485。RS485采用差分信号,抗干扰能力强,传输距离可达1500m;同时语序多个收发器,具备多站能力,能够形成网络;电压低,同时兼容TTL。
但RS485是半双工的,编程上需要做一点特殊处理。

差分传输是一种信号传输的技术,区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反。
在这两根线上的传输的信号就是差分信号
两线电压差 +2 ~ +6表示1,-2 ~ - 6表示0.

IIC

IIC(Inter-Integrated Circuit)其实是IICBus简称,所以中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构。
在这里插入图片描述
IIC 多设备连接图:
在这里插入图片描述

SPI

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,
在这里插入图片描述
SPI多从设备连接图:
在这里插入图片描述

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值