tft每日頭條

 > 生活

 > 常用通訊接口的理解

常用通訊接口的理解

生活 更新时间:2024-09-10 05:19:20

什麼是通信接口呢?其實就是單片機與外部器件連接通信的方式。之前講過時鐘、存儲器、定時器都是單片機内部的一些功能,而我們今天要講的是單片機與外部器件通信的接口,是單片機與外部的電腦、芯片或專用的模塊進行通信的方式。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米,這已經是非常遠的傳輸距離了。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved