欢迎光临散文网 会员登陆 & 注册

电子入门知识-UART、RS232、RS485、IIC、SPI总线

2023-05-29 15:53 作者:溯黎  | 我要投稿


UART(Universal Asynchronous Receiver Transmitter) 通用异步收发器,是一种全双工的、异步串行数据总线。数据位一般为5-8位(太长会因为时钟频率的缘故,产生误差)。

一般含串口的芯片集成有 UART 控制器,我们只需要操作其寄存器即可完成通信。

以4412开发板为例,讲解其串口2使用(基本上可以理解为一堆寄存器操作):

设置主板的 GPA1_0 和GPA1_1 引脚为 UART2的发送和接收引脚,操作寄存器 GPACON[7:0]

设置 UART2 的帧格式, ULCON2

8位数据位 1位停止位 无校验 正常模式

设置 UART2 的发送和接收模式为轮询模式 UCON2[3:0]

设置波特率 UBRDIV2/UFRACVAL2

将要发送的数据写入发送寄存器

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简称,所以中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构。

SPI

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




电子入门知识-UART、RS232、RS485、IIC、SPI总线的评论 (共 条)

分享到微博请遵守国家法律