精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通信接口背景知識與串口通信基本原理

GReq_mcu168 ? 來源:玩轉單片機 ? 作者:玩轉單片機 ? 2020-10-26 10:46 ? 次閱讀

通信接口背景知識

設備之間通信的方式

一般情況下,設備之間的通信方式可以分成并行通信和串行通信兩種。它們的區別是:

并、串行通信的區別

串行通信的分類

1、按照數據傳送方向,分為:

單工:數據傳輸只支持數據在一個方向上傳輸;

半雙工:允許數據在兩個方向上傳輸。但是,在某一時刻,只允許數據在一個方向上傳輸,它實際上是一種切換方向的單工通信;它不需要獨立的接收端和發送端,兩者可以合并一起使用一個端口

全雙工:允許數據同時在兩個方向上傳輸。因此,全雙工通信是兩個單工通信方式的結合,需要獨立的接收端和發送端。

2、按照通信方式,分為:

同步通信:帶時鐘同步信號傳輸。比如:SPI,IIC通信接口。

異步通信:不帶時鐘同步信號。比如:UART(通用異步收發器),單總線。

在同步通訊中,收發設備上方會使用一根信號線傳輸信號,在時鐘信號的驅動下雙方進行協調,同步數據。例如,通訊中通常雙方會統一規定在時鐘信號的上升沿或者下降沿對數據線進行采樣。

在異步通訊中不使用時鐘信號進行數據同步,它們直接在數據信號中穿插一些用于同步的信號位,或者將主題數據進行打包,以數據幀的格式傳輸數據。通訊中還需要雙方規約好數據的傳輸速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。

在同步通訊中,數據信號所傳輸的內容絕大部分是有效數據,而異步通訊中會則會包含數據幀的各種標識符,所以同步通訊效率高,但是同步通訊雙方的時鐘允許誤差小,稍稍時鐘出錯就可能導致數據錯亂,異步通訊雙方的時鐘允許誤差較大。

常見的串行通信接口

STM32串口通信基礎

STM32的串口通信接口有兩種,分別是:UART(通用異步收發器)、USART(通用同步異步收發器)。而對于大容量STM32F10x系列芯片,分別有3個USART和2個UART。

UART引腳連接方法

RXD:數據輸入引腳,數據接受;

TXD:數據發送引腳,數據發送。

對于兩個芯片之間的連接,兩個芯片GND共地,同時TXD和RXD交叉連接。這里的交叉連接的意思就是,芯片1的RxD連接芯片2的TXD,芯片2的RXD連接芯片1的TXD。這樣,兩個芯片之間就可以進行TTL電平通信了。

若是芯片與PC機(或上位機)相連,除了共地之外,就不能這樣直接交叉連接了。盡管PC機和芯片都有TXD和RXD引腳,但是通常PC機(或上位機)通常使用的都是RS232接口(通常為DB9封裝),因此不能直接交叉連接。RS232接口是9針(或引腳),通常是TxD和RxD經過電平轉換得到的。故,要想使得芯片與PC機的RS232接口直接通信,需要也將芯片的輸入輸出端口也電平轉換成rs232類型,再交叉連接。

經過電平轉換后,芯片串口和rs232的電平標準是不一樣的:

單片機的電平標準(TTL電平):+5V表示1,0V表示0;

Rs232的電平標準:+15/+13 V表示0,-15/-13表示1。

RS-232通訊協議標準串口的設備間通訊結構圖如下:

所以單片機串口與PC串口通信就應該遵循下面的連接方式:在單片機串口與上位機給出的rs232口之間,通過電平轉換電路(如下面圖中的Max232芯片) 實現TTL電平與RS232電平之間的轉換。

具體要了解RS232串口的,可以查看鏈接RS232串口簡介http://www.21ic.com/jichuzhishi/datasheet/RS232/jiekou/187973.htmlSTM32的UART特點

全雙工異步通信;

分數波特率發生器系統,提供精確的波特率。發送和接受共用的可編程波特率,最高可達4.5Mbits/s;

可編程的數據字長度(8位或者9位);

可配置的停止位(支持1或者2位停止位);

可配置的使用DMA多緩沖器通信;

單獨的發送器和接收器使能位;

檢測標志:

① 接受緩沖器

②發送緩沖器空

③傳輸結束標志;

多個帶標志的中斷源,觸發中斷;

其他:校驗控制,四個錯誤檢測標志。

串口通信過程

STM32中UART參數

串口通訊的數據包由發送設備通過自身的TXD接口傳輸到接收設備的RXD接口,通訊雙方的數據包格式要規約一致才能正常收發數據。STM32中串口異步通信需要定義的參數:起始位、數據位(8位或者9位)、奇偶校驗位(第9位)、停止位(1,15,2位)、波特率設置。

UART串口通信的數據包以幀為單位,常用的幀結構為:1位起始位+8位數據位+1位奇偶校驗位(可選)+1位停止位。

如下圖所示:

奇偶校驗位分為奇校驗和偶校驗兩種,是一種簡單的數據誤碼校驗方法。奇校驗是指每幀數據中,包括數據位和奇偶校驗位的全部9個位中1的個數必須為奇數;偶校驗是指每幀數據中,包括數據位和奇偶校驗位的全部9個位中1的個數必須為偶數。

校驗方法除了奇校驗(odd)、偶校驗(even)之外,還可以有:0 校驗(space)、1 校驗(mark)以及無校驗(noparity)。0/1校驗:不管有效數據中的內容是什么,校驗位總為0或者1。

UART(USART)框圖

這個框圖分成上、中、下三個部分。本文大概地講述一下各個部分的內容,具體的可以看《STM32中文參考手冊》中的描述。

框圖的上部分,數據從RX進入到接收移位寄存器,后進入到接收數據寄存器,最終供CPU或者DMA來進行讀??;數據從CPU或者DMA傳遞過來,進入發送數據寄存器,后進入發送移位寄存器,最終通過TX發送出去。

然而,UART的發送和接收都需要波特率來進行控制的,波特率是怎樣控制的呢?

這就到了框圖的下部分,在接收移位寄存器、發送移位寄存器都還有一個進入的箭頭,分別連接到接收器控制、發送器控制。而這兩者連接的又是接收器時鐘、發送器時鐘。也就是說,異步通信盡管沒有時鐘同步信號,但是在串口內部,是提供了時鐘信號來進行控制的。而接收器時鐘和發送器時鐘有是由什么控制的呢?

可以看到,接收器時鐘和發送器時鐘又被連接到同一個控制單元,也就是說它們共用一個波特率發生器。同時也可以看到接收器時鐘(發生器時鐘)的計算方法、USRRTDIV的計算方法。

這里需要知道一個知識點:

UART1的時鐘:PCLK2(高速);

UART2、UART3、UART4的時鐘:PCLK1(低速)。

框圖的中部分,涉及到UART(USART)的中斷控制部分,在后面的文章中會具體介紹到。

版權聲明:本文為CSDN博主「Yngz_Miao」的原創文章
遵循CC 4.0 by-sa版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38410730/article/details/79887200

責任編輯:xj

原文標題:【STM32】串口通信基本原理(超基礎、詳細版)

文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    5971

    瀏覽量

    135857
  • STM32
    +關注

    關注

    2266

    文章

    10871

    瀏覽量

    354815
  • 串口
    +關注

    關注

    14

    文章

    1543

    瀏覽量

    76198

原文標題:【STM32】串口通信基本原理(超基礎、詳細版)

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    串口通信的開發環境配置

    串口通信的開發環境配置涉及多個方面,包括選擇編程語言、安裝必要的庫或驅動程序、配置串口參數等。以下是一個基于Python的串口通信開發環境配
    的頭像 發表于 11-22 09:21 ?169次閱讀

    串口通信的硬件接口要求 串口通信與網絡通信的比較

    重要角色。 串口通信的硬件接口要求 1. 接口類型 串口通信通常使用RS-232、RS-422或
    的頭像 發表于 11-22 09:14 ?155次閱讀

    使用Python進行串口通信的案例

    當然!以下是一個使用Python進行串口通信的簡單示例。這個示例展示了如何配置串口、發送數據以及接收數據。我們將使用 pyserial 庫,這是一個非常流行的用于串口
    的頭像 發表于 11-22 09:11 ?65次閱讀

    串口通信設備連接方法 串口通信在嵌入式開發中的應用

    硬件連接 串口通信通常涉及兩個設備:一個發送器和一個接收器。連接這兩個設備需要以下步驟: 選擇正確的接口 :確保發送器和接收器的接口類型相匹配,如DB9、DB25、RJ45等。 連接
    的頭像 發表于 11-22 09:07 ?210次閱讀

    串口通信與并口通信的區別

    在計算機和電子設備的數據傳輸領域,串口通信(Serial Communication)和并口通信(Parallel Communication)是兩種基本的通信方式。它們各自有著獨特的
    的頭像 發表于 11-22 09:04 ?202次閱讀

    串口通信協議解析 串口通信應用實例

    串口是顯控設備與信號處理板之間通信的主要接口,也是顯控設備與其他設備、設備與設備之間的協議數據幀通信傳輸的重要接口
    的頭像 發表于 11-21 17:03 ?284次閱讀

    為什么通信要使用虛擬串口串口助手?

    是軟件模擬的串行通信接口,可在計算機上創建虛擬串口設備。操作與實際硬件串口相似,解決無硬件串口設備的通信
    的頭像 發表于 11-15 01:04 ?406次閱讀
    為什么<b class='flag-5'>通信</b>要使用虛擬<b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

    了解藍牙模塊串口通訊基礎知識

    許多嵌入式系統和物聯網(IoT)設備中廣泛應用。以下是藍牙串口UART的一些基礎知識:一、UART基本概念接口又稱串口,又稱串行通信
    的頭像 發表于 09-02 16:16 ?1603次閱讀
    了解藍牙模塊<b class='flag-5'>串口</b>通訊基礎<b class='flag-5'>知識</b>

    串口通信的基本概念

    串口通信(Serial Communications)的基本概念可以歸納為以下幾個方面:
    的頭像 發表于 06-12 09:28 ?546次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>的基本概念

    什么是串口通信?它有哪些特點和應用?

    在現代電子通信和計算機領域中,串口通信(Serial Communications)扮演著至關重要的角色。它是一種按位(bit)發送和接收字節的通信方式,能夠實現數據的遠距離傳輸和高效
    的頭像 發表于 05-23 16:23 ?2184次閱讀

    USB轉多協議串口通信

    、232、TTL多協議串口通信。板子上預留了5V和3.3V的供電輸出,輸出電流最大500mA。 一. 產品簡介: 1)項目背景是在實際應用中需要多種串口調試工具,攜帶起來也不太方便就
    的頭像 發表于 04-29 16:23 ?533次閱讀
    USB轉多協議<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    串口通信如何控制步進電機轉動?

    要點。 首先,我們需要了解串口通信基本原理和配置方法。串口通信是一種常用的數據通信方式,通過串
    的頭像 發表于 04-19 16:23 ?1734次閱讀

    工業以太網的基本原理及優勢

    工業以太網,作為現代工業通信的基石,正逐漸改變著傳統工業網絡的格局。它以其高效、靈活和可靠的特點,在工業自動化領域得到了廣泛應用。本文將從工業以太網的基本原理出發,深入探討其優勢及其在工業領域
    的頭像 發表于 03-25 14:40 ?618次閱讀

    UART串口通信協議是什么?

    UART (Universal Asynchronous Receiver/Transmitter) 是一種通信接口協議,用于實現串口通信。它是一種簡單的、可靠的、廣泛應用的
    的頭像 發表于 03-19 17:26 ?1260次閱讀

    QT串口通信的簡單使用

    QT串口通信是上位機和下位機通信常用的通信方式, 也是學習QT必須學會的基礎知識, 這篇就簡單介紹一下QT
    的頭像 發表于 01-15 09:27 ?1824次閱讀
    QT<b class='flag-5'>串口</b><b class='flag-5'>通信</b>的簡單使用