常用通讯接口的理解(主要功能---通信接口1)

什么是通信接口呢?其实就是单片机与外部器件连接通信的方式。之前讲过时钟、存储器、定时器都是单片机内部的一些功能,而我们今天要讲的是单片机与外部器件通信的接口,是单片机与外部的电脑、芯片或专用的模块进行通信的方式。STM32单片机有两个I²C接口,五个USART接口,三个SPI接口,一个CAN总线接口,一个USB接口和一个SDIO接口。共13个通信接口。

常用通讯接口的理解(主要功能---通信接口1)(1)

现在看一下什么是I²C接口。这是通过I²C接口进行通信的设备连线图,左面是三个可以通过I²C接口进行通信的设备,这些设备上都包含I²C接口 。右面是STM32单片机芯片,绿色部分是I²C接口,包含两条通信线,SCL是时钟同步线,SDA是数据传输线。这两条通信线分别与其他I²C设备的通信线相连接,将I²C设备并联起来进行通信。另外所有通过I²C通信的设备需要共地,GND要连接在一起·,将电源负极GND作为电平的基准·,这样其他的两条线才能正常的通信。设备的电源正极不作要求,可以使用不同的电源,也可使用一个电源。这里需要明确一点,I²C总线通信有主从之分,主设备主要用于发送指令,从设备主要用于接收指令并返回数据。在这里STM32单片机是主设备,通过I²C总线挂接了三个从设备。那么在进行I²C总线通信时怎么知道主设备和哪个从设备进行通信呢?主要是通过地址的方式,每一个设备都有一个地址,就好像每一个设备都有一个房间号,用于区分主设备与哪个从设备进行通信。这是I²C的总线结构,包含有两条通信线,通信时有主从之分,一个主设备挂接多个从设备,每一个设备都有唯一的地址,通过识别每一个从设备地址来识别从设备,多个设备的时钟线和传输线并联,主设备和从设备共地。另外I²C总线是扳机总线,一般是在同一块TCB电路板进行通信,比如说这些I²C设备可能是液晶屏或者是温度传感器等等,它们和主芯片是位于同一块TCB电路板上的。STM32单片机包含有两组I²C接口,只要打开I²C功能,引脚就能自动切换到I²C总线引脚。

接下来再来看一下USART接口。STM32单片机有多达5个USART接口,并且支持ISO7816,LIN,IrDA接口和调制解调控制。那么什么是USARB接口呢?

在数据手册当中可以找到相关介绍。

常用通讯接口的理解(主要功能---通信接口1)(2)

可以看到STM32单片机内置了三个通用同步/异步收发器,分别是USART1、USART2、USART3。另外还有两个通用异步收发器,分别是UART4和UART5。那么USART和UART它们之间有什么区别呢?可以看到UART比USART少了一个S,同时它也少了一个同步。UART叫做通用异步收发器.其实它们之间就差了一根同步时钟线,我们常用异步的方式进行通信,很少会用到同步的方式,。因此在使用时我们很少对它们进行区分,之前我们说的51单片机采用的就是UART。我们接着往下看,这五个接口提供异步通信,支持IrDA, SIR ENDEC传输编解码(IrDA是指红外的意思)、多处理器通信模式、单线半双工通信模式和LIN主/从功能。USART1接口通信速率可达4.5兆位/秒,其他通信接口的速率是2.25兆位/秒。可以看出USART1相对于其他接口来说通信速率要快一些.

常用通讯接口的理解(主要功能---通信接口1)(3)

讲到这我们可能会有一个疑问,我们经常接触到的是RS232或RS485接口,但是又说他们采用的是USART通信接口协议,这是怎么回事呢?其实大家要知道USART只是一种通信协议方式,它是TTL五伏电平的,在它的基础之上,我们还可以再连接电平转换芯片,转换成不同的电平。实现RS232或者是RS485等通信的方式。RS232和RS485它们都是基于USART通信协议进行通信的,但是它们采用的接口,以及它们采用的电平方式是不同的。RS232是一个九针的接口,采用的是RS232电平。而RS485采用的是差分电平,它有两条通信线,同时RS485要比RS232的通信距离要远很多。使用的时候我们可以通过实际情况进行选择。

常用通讯接口的理解(主要功能---通信接口1)(4)

比如说两块单片机之间或单片机与台式机之间进行短距离通信,可以采用RS232串口线进行连接,单片机MCU可以连接一片RS232电平转换芯片将USART TTL 5V电平转换为RS232电平,同样另一端也需要进行电平转换。RS232是一个九针的接口,它主要有两根信号线,一根是TSD发送,另外一根是RSD接收。另外还有一根是GND(地线)要求通信设备之间进行共地,RS232它的通信距离可达20米。

常用通讯接口的理解(主要功能---通信接口1)(5)

如果通信距离再远一些,可以采用双绞线RS485连接,两端都需要连接电平转换芯片,将USART TTL 5V电平转化为RS485差分电平。RS485有两根信号线A和B采用两线之间的电压差表示逻辑1和逻辑0有效减少噪声信号的干扰。RS485的通信距离比RS232要远,可达1000米,这已经是非常远的传输距离了。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页