在嵌入式开发过程中经常会碰到各种硬件接口和协议,有时候一个协议对应好几种物理接口,并且又对应好几种电气层协议。比如我们常见的TTL串口,RS232串口,无线串口,RJ45也可以做串口。那么这些串口让我们有时候分不清,这里我们牛人技术粉丝就整理个对比了各个接口之间的不同和特点。为你在日常开发树莓派和嵌入式中提供便利;
SPI协议;同步串行外设总线,一主多从设备,一个时钟线,一根数据发送线,一根数据接收线,数据传送为全双工模式。速度几十M。
I2C协议;同步串行外设总线,多主多从设备,一个时钟线,一根数据线进行发送或接收,数据为半双工模式。速度几百K。
UART协议;一对一,以位为单位收发,通用异步收发,是串口协议的一种。
USART协议;通用同步异步收发,可以选择是同步或者异步收发。
TTL 电平;一般是使用TTL电压标准输出串行数据,通常是UART协议。规定高电平+5V为逻辑1数字,0V为逻辑0数字。
RS232电平;逻辑1为负电平,逻辑0为正电平,电脑上COM串口一般用该电平。通讯距离15米。只能连接一个设备。
RS485电平;采用差分信号负逻辑传输远,且可以单工组网。一般为2线半双工,最大通讯距离1200米。可以同时连接多个设备。
RS422电平;一般为4线全双工,最大通讯距离1200米,可同时连接多个设备。
RJ45;一般是交换机配置的串口
COM口;是指的物理接口外形,而TTL,RS232,RS485是指的电平标准。
TTL to RS232转接头转换,常用的芯片是MAX3232,但这里面就只涉及到电压转换的问题。不像USB to TTL需要转换芯片改协议。
TTL一般输出UART协议数据,但也可以输出IIC,SPI等协议。
同步通信和异步通信主要是有没有时钟线的区别,同步通讯有时钟线,收发双方通过统一的时钟来确定何时进行数据的传输(I2C和SPI)。异步通信没有时钟线,只能在数据头和尾加入标记来区分不同的数据帧,接受数据前要预先知道波特率。
总结;虽然嵌入式接口非常多,但是常用的就那么几个。而且这些接口一般可以从接口协议,接口电气性,和接口物理接头进行区别。
嵌入式中各种TTL,RS232,SPI,I2C接口的定义和区别
本文由作者自行上传发布,文章仅代表作者个人观点。如需转载,务必声明出处和网址,否则保留相关权利。
网友评论 comments