“这世界上的信号都一样,但是总线却有千千万,让人头疼”。的确,就拿蓝牙模块上的通讯接口,很多人听到UART接口、IIC接口、SPI接口什么的就会晕,那今天就来简单的概述一些常见的接口与区别。其实,数据传输的接线方式,大体上就是两种:一种是并行接口,另一种是串行接口。
并行接口是什么?就是我们通常说的并口,是用并行方式来传输数据的接口。所谓“并行”是指数据通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错。
串行接口是什么?就是我们常说的串口,是指数据在有限的几个IO上按照顺序,一位一位的进行传输。这类有很多,一般包括:UART、IIC、SPI、CAN、USB等等,只要是串行传输的接口,都是串口的一种。这里值得一说的是,由于早期人们都习惯把UART口称为串口,所以大家所说串口的时候一般特指UART接口。
并行接口和串行接口各有哪些优缺点?
1、串行接口
优点:使用的数据线少,在远距离通信中可以节约通信成本。
缺点:因为每次只能传输一位数据,所以传输速度比较低。
2、并行接口
优点:因为可以多位数据一起传输,所以传输速度很快。
缺点:内存有多少位,就要用多少数据线,所以需要大量的数据线,成本很高。
USART、SPI、IIC的区别
UART接口
UART(Universal Asynchronous Receiver/Transmitter,即通用异步收发器)串行接口是单片机最常用的一种通信技术,通常用于单片机和电脑之间以及单片机和单片机之间的通信。
SPI接口
SPI(Serial Peripheral Interface)就是串行外围设备接口。SPI是一种同步串行数据传输标准,也是一种高速的、全双工、同步的通信总线,在很多器件中被广泛应用。
IIC接口
IIC(Inter-Integrated Circuit,集成电路总线)又称 I2C,一种两线式串行的总线结构,用于连接微控制器及其外围设备。 IIC总线最主要的优点是简单性和有效性。
区别1、UART就是两线,一根发送一根接收,可以全双工通信,线数也比较少。数据是异步传输的,对双方的时序要求比较严格,通信速度也不是很快。在多机通信上面用的最多。
区别2、SPI接口和上面UART相比,多了一条同步时钟线,上面UART的缺点也就是它的优点了,对通信双方的时序要求不严格不同设备之间可以很容易结合,而且通信速度非常快。一般用在产品内部元件之间的高速数据通信上面,如大容量存储器等。
区别3、IIC接口也是两线接口,它是两根线之间通过复杂的逻辑关系传输数据的,通信速度不高,程序写起来也比较复杂。一般单片机系统里主要用来和24C02等小容易存储器连接。
注:SPI和UART可以实现全双工,但I2C不行;I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。
终于讲完这些像绕口令一样的名词了,问题是你明白了吗?
user4716779:
谢谢分享,昇润科技的蓝牙4.0、4.1、4.2 BLE模块都有楼主所说的这些通讯接口,赞一个
Susan Yang:
您也可以参考TI 的接口demo
Cti\simplelink_cc2640r2_sdk_1_40_00_45\examples\rtos\CC2640R2_LAUNCHXL\drivers
user5143511:
回复 user4716779:
赞