首頁 | 新聞 | 新品 | 文庫 | 方案 | 視頻 | 下載 | 商城 | 開發板 | 數據中心 | 座談新版 | 培訓 | 工具 | 博客 | 論壇 | 百科 | GEC | 活動 | 主題月 | 電子展
返回列表 回復 發帖

串口的基本知識你掌握了嗎??

串口的基本知識你掌握了嗎??

在做項目的時候是不是發現串口是最常用的通信接口,所以我自己整理了一下關于串口的一些常識性知識,方便自己學習。
          關鍵詞:Loto虛擬示波器,串口時序,電平標準,模擬串口

    我們常說的串口按電平分類的話有兩種,一種是TTL電平的串口,一種是232電平的串口。

首先我們先看一下這兩種電平的區別。

TTL電平標準:輸出L:  <0.8V;  H: >2.4V,輸入L:  <1.2V:   H: >2.0V

TTL器件輸出低電平要小于0.8V,高電平要大于2.4V,輸入,低于1.2V就認為是0,高于2.0就認為是1.于是TTL電平的輸入低電平的噪聲容限就只有(O.8-0)/2=0.4V,高電平的噪聲容限為(5-2.4)/2=1.3V.

RS232標準:

邏輯1的電平為-3~-15V,輯0的電平為+3~+15V,注意電平的定義反相了一次。


   然而TTL電平的串口還可以分為兩種UART與USART。我們打開stm32cubeMX看到stm32F103有2個UART3個USART。在日常我們就可以說,它有5個串口,因為USART可以配置成UART


    UART與USART都是單片機上的串口通信,他們之間的區別如下:

首先從名字上看:

UART:universal asynchronous receiver and transmitter通用異步收/發器

USART:universal synchronous asynchronous receiver and transmitter通用同步/異步收/發器

  從名字上可以看出,USART在UART基礎上增加了同步功能,即USART是UART的增強型,事實也確實是這樣。但是具體增強到了什么地方呢?

  其實當我們使用USART在異步通信的時候,它與UART沒有什么區別,但是用在同步通信的時候,區別就很明顯了:大家都知道同步通信需要時鐘來觸發數據傳輸,也就是說USART相對UART的區別之一就是能提供主動時鐘。如STM32的USART可以提供時鐘支持ISO7816的智能卡接口。



     在實際的項目中用的最多的還是UART ,配置為:N, 8 ,1.波特率常用的有2400,9600,57600,115200.我們用串口來干什么呢?用過一些模塊的工程師會知道,很多模塊都是通過串口來控制或者通過串口透傳數據的,比如gsm(2g,4g),gps,wifi,藍牙等等,這些模塊都是通過串口來控制。所以作為一個工程師,必須要搞懂串口。下面我們通過Loto虛擬示波器采集不同波特率的UART 波形:


對比理論的時序圖,我們找找起始位和停止位,這個數據是多少?

有時候我們面試會考一個題目,那就是UART波特率9600的時候,它的一個bit是多長時間,這個怎么算?初學者肯定蒙了,我用串口直接就配置然后發數據就行了,從來沒算過,下面我總結一下:


波特率2400:1/2400416.67*10^(-6)s=416.67us

波特率4800:1/4800208.33*10^(-6)s=208.33us

波特率9600:1/9600104.17*10^(-6)s=104.17us

波特率19200:1/1920052.08*10^(-6)s=52.08us

波特率57600:1/5760017.36*10^(-6)s=17.36us

波特率115200:1/1152008.68*10^(-6)s=8.68us


對比我們用Loto虛擬示波器采集的數據看看是不是一致呢?



我們算這個數據有什么用呢?是的!沒錯!就是模擬串口!當單片機串口不夠用的時候項目中會用到。接下來我會分析幾個論友寫的代碼,逐步深入理解TTL串口。


下面這個模擬串口的代碼:

首先說它的發送吧,發送一個字節,先發送起始位OI_TXD = 0;  然后delay_us(BuadRate_9600);然后依次從低位開始檢測Data的每一位,從而拉高拉低OI_TXD,然后延時,移位,重復8次,最后發送停止位發送完一個Data

接收的話:它是stm32開了個定時器4和一個外部中斷.外部中斷采到下降沿,然后定時器設置為107us中斷一次,去采集一個bit,為什么是107us呢?因為此時波特率是9600,一個bit是104.17us,然后可以依次采集每個bit,直到采完一個data。(個人感覺107us不穩定)







好好學習,努力賺錢!
好詳細
PCB快速打樣:800058625
返回列表
柠檬app577tv_柠檬app官方网站_柠檬app直播软件下载_柠檬app最新版下载