0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

串口USART的分析

汽車電子技術(shù) ? 來源:嵌入式之入坑筆記 ? 作者:嵌入式之入坑筆記 ? 2023-02-10 10:51 ? 次閱讀

1、什么是串口?

USART是全雙工通用同步/異步收發(fā)器,是一種串行通信設(shè)備。在嵌入式開發(fā)設(shè)計(jì)中經(jīng)常被使用到,廣泛的被應(yīng)用于主機(jī)與外圍設(shè)備的通信交互中,應(yīng)用相當(dāng)?shù)膹V泛。

1.1、串口中的 UART 和 USART有什么不同?

UART:指的是通用異步收發(fā)器;

USART:指的是通用同步和異步收發(fā)器。

當(dāng)只使用異步通信功能時(shí),這兩者是沒有區(qū)別的,區(qū)別在于USART比UART多了同步(時(shí)鐘)通信功能。

2、通信方式有哪些?

2.1、并行通信

并行通信指的是數(shù)據(jù)同時(shí)在多根數(shù)據(jù)線上進(jìn)行發(fā)送或者接收。如下所示:

圖片

并行通信的優(yōu)點(diǎn):控制方式簡單,傳輸速度快,適用于距離比較近的傳輸。

并行通信的缺點(diǎn):占用的數(shù)據(jù)線較多,對MCU資源少的單片機(jī)而言不是很友好,線路布局變復(fù)雜。

2.2、串行通信

串行通信指的是數(shù)據(jù)在同一根數(shù)據(jù)線上依次按位(bit)進(jìn)行發(fā)送或者接收。如下圖所示:

圖片

串行通信方式的優(yōu)點(diǎn):占用數(shù)據(jù)線少,適合用于遠(yuǎn)距離傳輸,系統(tǒng)布線簡單;

串行通信方式的缺點(diǎn):控制方式復(fù)雜,傳輸速度較并行通信的方式要慢。

3、串行通信方式中的兩種方式

3.1、同步串行通信方式

同步通信的方式是發(fā)送方和接收方都必須采用同一個(gè)時(shí)鐘,收發(fā)雙方利用時(shí)鐘信號來確定每個(gè)信號位。如下圖所示:

圖片

這種方式把多個(gè)字符組成一個(gè)信息幀,每幀的開頭用同步字符來指示,是一種連續(xù)傳送數(shù)據(jù)的通信方式。即使在傳輸中沒有信息需要傳輸時(shí),因?yàn)橥絺鬏敳辉试S中間有空隙,所以也要填上空字符。如下圖所示:

圖片

3.2、異步串行通行方式

異步串行通信方式是指通信的雙方使用各自的時(shí)鐘,以一個(gè)字符作為數(shù)據(jù)傳輸單元并且發(fā)送方發(fā)送字符的時(shí)間間隔不一定,是一種不規(guī)則數(shù)據(jù)段傳送的通信方式。如下圖所示:

圖片

4、串行通信方式的傳送方向

根據(jù)串行數(shù)據(jù)的傳輸方向,可以將通信分為單工、半雙工、全雙工。

1)單工:是指數(shù)據(jù)傳輸僅能沿一個(gè)方向,不能實(shí)現(xiàn)反向傳輸。

2)半雙工:是指數(shù)據(jù)傳輸可以沿兩個(gè)方向,但需要分時(shí)進(jìn)行傳輸。

3)全雙工:是指數(shù)據(jù)可以同時(shí)進(jìn)行雙向傳輸。

圖片

5、常用到的 USART 通信方式

嵌入式中最常使用到的就是異步全雙工的USART通信方式,收發(fā)兩方各自使用自身的時(shí)鐘,收發(fā)可以相互獨(dú)立的進(jìn)行。數(shù)據(jù)傳輸?shù)氖疽鈭D如下:

圖片

異步串行通信是將一個(gè)字節(jié)數(shù)據(jù)加上起始位、校驗(yàn)位、停止位,構(gòu)成的字符幀。由于異步通信沒有同步時(shí)鐘,所以接收端要時(shí)刻處于接收狀態(tài)。

起始位: 在沒有數(shù)據(jù)需要傳送時(shí),此時(shí)通信線上為邏輯“1”狀態(tài)。當(dāng)發(fā)送端要發(fā)送一個(gè)字符時(shí),首先發(fā)送一個(gè)邏輯“0”信號,即起始位,告訴接收端要開始發(fā)送一幀數(shù)據(jù)了。接收端檢測到這個(gè)低電平時(shí),就開始準(zhǔn)備接收數(shù)據(jù)信息了。

數(shù)據(jù)位: 在起始位發(fā)送完畢之后,發(fā)送端發(fā)出的就是數(shù)據(jù)位了,數(shù)據(jù)位一般是沒有嚴(yán)格的規(guī)定的,5~9位都可以。一般是低位先發(fā),高位后發(fā),按位依次進(jìn)行傳輸。平時(shí)使用中一般都是選擇8bit的。

校驗(yàn)位: 數(shù)據(jù)位發(fā)送完成之后,為了檢驗(yàn)數(shù)據(jù)在傳輸過程中是否有出錯(cuò),可以選擇發(fā)送一個(gè)位進(jìn)行校驗(yàn)。使用的是奇偶校驗(yàn),當(dāng)然也可以選擇不進(jìn)行檢驗(yàn)。

波特率: 是指數(shù)據(jù)傳輸?shù)乃俾?。表示每秒鐘傳送的bit位數(shù)。比如,一秒鐘傳送了120個(gè)字符,每個(gè)字符傳送10個(gè)bit(1個(gè)起始位 + 8個(gè)數(shù)據(jù)位 + 1個(gè)停止位),那么:波特率 = 10x120 = 1200 (bit/s)。平常使用中常用的波特率有9600、115200、19200、25600等。

6、GD32STM32 的 USART 的差異

6.1、USART編號上的差異

通過對比GD32和STM32同樣內(nèi)核已經(jīng)同樣引腳數(shù)的MCU手冊可以知道,兩者是有區(qū)別的。如下圖:

圖片

6.2、通信協(xié)議上的細(xì)微差異

GD在連續(xù)發(fā)送數(shù)據(jù)的時(shí)候每兩個(gè)字節(jié)之間會有一個(gè)Bit的Idle,而STM32沒有,如下圖為GD的發(fā)送波形:

圖片

GD的串口在發(fā)送的時(shí)候停止位只有1/2兩種停止位模式。STM32有0.5/1/1.5/2四種停止位模式。

GD 和STM32 USART的這兩個(gè)差異對通信基本沒有影響,只是GD的通信時(shí)間會加長一點(diǎn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 收發(fā)器
    +關(guān)注

    關(guān)注

    10

    文章

    3370

    瀏覽量

    105789
  • 通信設(shè)備
    +關(guān)注

    關(guān)注

    3

    文章

    328

    瀏覽量

    31991
  • 嵌入式開發(fā)
    +關(guān)注

    關(guān)注

    18

    文章

    1018

    瀏覽量

    47470
  • USART
    +關(guān)注

    關(guān)注

    1

    文章

    195

    瀏覽量

    30760
收藏 人收藏

    評論

    相關(guān)推薦

    USART串口使用實(shí)例程序

    /***************************************************      AVR  USART
    發(fā)表于 10-31 21:37 ?82次下載

    USART串口通信

    printf函數(shù)到串口,使用中斷方式接收數(shù)據(jù),使用USART1,USB TO UART接口。 3-USART1接發(fā) 演示使用緩沖區(qū)接收數(shù)據(jù),并對數(shù)據(jù)進(jìn)行簡單的命令分析,使用
    發(fā)表于 12-12 19:17 ?9次下載
    <b class='flag-5'>USART</b>—<b class='flag-5'>串口</b>通信

    STM32的USART串口通訊程序

    STM32的USART串口通訊程序一、了解串口通信及準(zhǔn)備工作1.串口通信簡介2.STM32 的 USART 簡介二、
    發(fā)表于 11-18 18:51 ?10次下載
    STM32的<b class='flag-5'>USART</b><b class='flag-5'>串口</b>通訊程序

    STM32_USART 串口通訊

    STM32_USART 串口通訊通信方式的分類按照通信方式分類:按照數(shù)據(jù)傳送方向分類:通信接口及其說明如下圖所示:STM32的串口通信引腳接線串口通訊的過程
    發(fā)表于 11-26 12:06 ?13次下載
    STM32_<b class='flag-5'>USART</b> <b class='flag-5'>串口</b>通訊

    關(guān)于單片機(jī)中斷的理解(usart串口通信)

    關(guān)于單片機(jī)中斷的理解(usart串口通信)
    發(fā)表于 11-29 11:06 ?8次下載
    關(guān)于單片機(jī)中斷的理解(<b class='flag-5'>usart</b><b class='flag-5'>串口</b>通信)

    STM32CubeMX完成USART串口通信

    STM32CubeMX完成USART串口通信
    發(fā)表于 12-06 20:36 ?24次下載
    STM32CubeMX完成<b class='flag-5'>USART</b><b class='flag-5'>串口</b>通信

    完成STM32的USART串口通訊程序

    (win10)連續(xù)發(fā)送“hello windows!”。win10采用“串口助手”工具接收。4)使用Keil的軟件仿真邏輯分析儀功能觀察串口輸出波形。USART介紹通用同步異步收發(fā)器(
    發(fā)表于 12-07 11:06 ?10次下載
    完成STM32的<b class='flag-5'>USART</b><b class='flag-5'>串口</b>通訊程序

    基礎(chǔ)實(shí)驗(yàn)13-USART串口接收實(shí)驗(yàn)

    基礎(chǔ)實(shí)驗(yàn)13-USART串口接收實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康模赫莆斩〞r(shí)器USART接收字符串的方法。實(shí)驗(yàn)現(xiàn)象:打開串口調(diào)試助手,配置通訊通信波特率為115200,通過
    發(fā)表于 12-14 18:53 ?1次下載
    基礎(chǔ)實(shí)驗(yàn)13-<b class='flag-5'>USART</b><b class='flag-5'>串口</b>接收實(shí)驗(yàn)

    16 . USART 串口通信實(shí)驗(yàn)

    USART 串口通信實(shí)驗(yàn)我們知道STM32F1 內(nèi)部含有非常多的通信接口,我們就來學(xué)習(xí)下USART 串口通信。要實(shí)現(xiàn)的功能是:STM32F1 通過U
    發(fā)表于 12-20 19:22 ?20次下載
    16 . <b class='flag-5'>USART</b> <b class='flag-5'>串口</b>通信實(shí)驗(yàn)

    STM32下的USART串口通信程序

    STM32的USART串口通信實(shí)踐
    發(fā)表于 12-24 18:42 ?13次下載
    STM32下的<b class='flag-5'>USART</b><b class='flag-5'>串口</b>通信程序

    STM32的USART串口通訊程序

    STM32的USART串口通訊程序一、了解串口通信及準(zhǔn)備工作1.串口通信簡介2.STM32 的 USART 簡介二、
    發(fā)表于 12-24 18:44 ?12次下載
    STM32的<b class='flag-5'>USART</b><b class='flag-5'>串口</b>通訊程序

    STM32與串口Usart)的通俗介紹與使用(例子:串口控制小燈)

    STM32與串口Usart)的通俗介紹與使用(例子:串口控制小燈)一、說明寫本文目的是從 對串口知識了解不清或剛接觸的朋友 的角度出發(fā),幫助此類朋友了解掌握
    發(fā)表于 12-24 18:52 ?5次下載
    STM32與<b class='flag-5'>串口</b>(<b class='flag-5'>Usart</b>)的通俗介紹與使用(例子:<b class='flag-5'>串口</b>控制小燈)

    USART的使用

    USART1_Init(115200); //串口初始化(參數(shù)是波特率)/* 發(fā)送方法1 */ USART_SendData(USART1 , 0x55); //發(fā)送單個(gè)數(shù)值 whil
    發(fā)表于 12-28 19:00 ?10次下載
    <b class='flag-5'>USART</b>的使用

    使用STM32G4 ----串口發(fā)送數(shù)據(jù)USART_TX的使用

    一.引腳的配置串口對應(yīng)的引腳PA10 ---------- USART1_RX 串口一接收引腳 用于接收數(shù)據(jù)PA9 ---------- USART1_TX
    發(fā)表于 12-28 19:24 ?13次下載
    使用STM32G4 ----<b class='flag-5'>串口</b>發(fā)送數(shù)據(jù)<b class='flag-5'>USART</b>_TX的使用

    USART串口通信總結(jié)

    第五章usart串口通信USART:(UniversalSynchronous/Asynchronous Receiver/Transmitter)通用同步/異步串行接收/發(fā)送器USART
    發(fā)表于 01-14 10:31 ?9次下載
    <b class='flag-5'>USART</b><b class='flag-5'>串口</b>通信總結(jié)