在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

通信接口背景知識(shí)與串口通信基本原理

GReq_mcu168 ? 來(lái)源:玩轉(zhuǎn)單片機(jī) ? 作者:玩轉(zhuǎn)單片機(jī) ? 2020-10-26 10:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通信接口背景知識(shí)

設(shè)備之間通信的方式

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

并、串行通信的區(qū)別

串行通信的分類

1、按照數(shù)據(jù)傳送方向,分為:

單工:數(shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一個(gè)方向上傳輸;

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

全雙工:允許數(shù)據(jù)同時(shí)在兩個(gè)方向上傳輸。因此,全雙工通信是兩個(gè)單工通信方式的結(jié)合,需要獨(dú)立的接收端和發(fā)送端。

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

同步通信:帶時(shí)鐘同步信號(hào)傳輸。比如:SPI,IIC通信接口。

異步通信:不帶時(shí)鐘同步信號(hào)。比如:UART(通用異步收發(fā)器),單總線。

在同步通訊中,收發(fā)設(shè)備上方會(huì)使用一根信號(hào)線傳輸信號(hào),在時(shí)鐘信號(hào)的驅(qū)動(dòng)下雙方進(jìn)行協(xié)調(diào),同步數(shù)據(jù)。例如,通訊中通常雙方會(huì)統(tǒng)一規(guī)定在時(shí)鐘信號(hào)的上升沿或者下降沿對(duì)數(shù)據(jù)線進(jìn)行采樣。

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

在同步通訊中,數(shù)據(jù)信號(hào)所傳輸?shù)膬?nèi)容絕大部分是有效數(shù)據(jù),而異步通訊中會(huì)則會(huì)包含數(shù)據(jù)幀的各種標(biāo)識(shí)符,所以同步通訊效率高,但是同步通訊雙方的時(shí)鐘允許誤差小,稍稍時(shí)鐘出錯(cuò)就可能導(dǎo)致數(shù)據(jù)錯(cuò)亂,異步通訊雙方的時(shí)鐘允許誤差較大。

常見(jiàn)的串行通信接口

STM32串口通信基礎(chǔ)

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

UART引腳連接方法

RXD:數(shù)據(jù)輸入引腳,數(shù)據(jù)接受;

TXD:數(shù)據(jù)發(fā)送引腳,數(shù)據(jù)發(fā)送。

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

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

經(jīng)過(guò)電平轉(zhuǎn)換后,芯片串口和rs232的電平標(biāo)準(zhǔn)是不一樣的:

單片機(jī)的電平標(biāo)準(zhǔn)(TTL電平):+5V表示1,0V表示0;

Rs232的電平標(biāo)準(zhǔn):+15/+13 V表示0,-15/-13表示1。

RS-232通訊協(xié)議標(biāo)準(zhǔn)串口的設(shè)備間通訊結(jié)構(gòu)圖如下:

所以單片機(jī)串口與PC串口通信就應(yīng)該遵循下面的連接方式:在單片機(jī)串口與上位機(jī)給出的rs232口之間,通過(guò)電平轉(zhuǎn)換電路(如下面圖中的Max232芯片) 實(shí)現(xiàn)TTL電平與RS232電平之間的轉(zhuǎn)換。

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

全雙工異步通信;

分?jǐn)?shù)波特率發(fā)生器系統(tǒng),提供精確的波特率。發(fā)送和接受共用的可編程波特率,最高可達(dá)4.5Mbits/s;

可編程的數(shù)據(jù)字長(zhǎng)度(8位或者9位);

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

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

單獨(dú)的發(fā)送器和接收器使能位;

檢測(cè)標(biāo)志:

① 接受緩沖器

②發(fā)送緩沖器空

③傳輸結(jié)束標(biāo)志;

多個(gè)帶標(biāo)志的中斷源,觸發(fā)中斷;

其他:校驗(yàn)控制,四個(gè)錯(cuò)誤檢測(cè)標(biāo)志。

串口通信過(guò)程

STM32中UART參數(shù)

串口通訊的數(shù)據(jù)包由發(fā)送設(shè)備通過(guò)自身的TXD接口傳輸?shù)浇邮赵O(shè)備的RXD接口,通訊雙方的數(shù)據(jù)包格式要規(guī)約一致才能正常收發(fā)數(shù)據(jù)。STM32中串口異步通信需要定義的參數(shù):起始位、數(shù)據(jù)位(8位或者9位)、奇偶校驗(yàn)位(第9位)、停止位(1,15,2位)、波特率設(shè)置。

UART串口通信的數(shù)據(jù)包以幀為單位,常用的幀結(jié)構(gòu)為:1位起始位+8位數(shù)據(jù)位+1位奇偶校驗(yàn)位(可選)+1位停止位。

如下圖所示:

奇偶校驗(yàn)位分為奇校驗(yàn)和偶校驗(yàn)兩種,是一種簡(jiǎn)單的數(shù)據(jù)誤碼校驗(yàn)方法。奇校驗(yàn)是指每幀數(shù)據(jù)中,包括數(shù)據(jù)位和奇偶校驗(yàn)位的全部9個(gè)位中1的個(gè)數(shù)必須為奇數(shù);偶校驗(yàn)是指每幀數(shù)據(jù)中,包括數(shù)據(jù)位和奇偶校驗(yàn)位的全部9個(gè)位中1的個(gè)數(shù)必須為偶數(shù)。

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

UART(USART)框圖

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

框圖的上部分,數(shù)據(jù)從RX進(jìn)入到接收移位寄存器,后進(jìn)入到接收數(shù)據(jù)寄存器,最終供CPU或者DMA來(lái)進(jìn)行讀取;數(shù)據(jù)從CPU或者DMA傳遞過(guò)來(lái),進(jìn)入發(fā)送數(shù)據(jù)寄存器,后進(jìn)入發(fā)送移位寄存器,最終通過(guò)TX發(fā)送出去。

然而,UART的發(fā)送和接收都需要波特率來(lái)進(jìn)行控制的,波特率是怎樣控制的呢?

這就到了框圖的下部分,在接收移位寄存器、發(fā)送移位寄存器都還有一個(gè)進(jìn)入的箭頭,分別連接到接收器控制、發(fā)送器控制。而這兩者連接的又是接收器時(shí)鐘、發(fā)送器時(shí)鐘。也就是說(shuō),異步通信盡管沒(méi)有時(shí)鐘同步信號(hào),但是在串口內(nèi)部,是提供了時(shí)鐘信號(hào)來(lái)進(jìn)行控制的。而接收器時(shí)鐘和發(fā)送器時(shí)鐘有是由什么控制的呢?

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

這里需要知道一個(gè)知識(shí)點(diǎn):

UART1的時(shí)鐘:PCLK2(高速);

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

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

版權(quán)聲明:本文為CSDN博主「Yngz_Miao」的原創(chuàng)文章
遵循CC 4.0 by-sa版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_38410730/article/details/79887200

責(zé)任編輯:xj

原文標(biāo)題:【STM32】串口通信基本原理(超基礎(chǔ)、詳細(xì)版)

文章出處:【微信公眾號(hào):玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    18

    文章

    6204

    瀏覽量

    137738
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11031

    瀏覽量

    364321
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1588

    瀏覽量

    79796

原文標(biāo)題:【STM32】串口通信基本原理(超基礎(chǔ)、詳細(xì)版)

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    知識(shí)|廣州唯創(chuàng)電子藍(lán)牙音頻語(yǔ)音芯片IC通信接口配置與常見(jiàn)問(wèn)題解析

    實(shí)際應(yīng)用中,開(kāi)發(fā)者可能會(huì)遇到IC芯片通過(guò)串口或MCU通信時(shí)無(wú)響應(yīng)的問(wèn)題。本文將從通信接口配置與故障排查角度,普及相關(guān)知識(shí)并提供解決方案。一、
    的頭像 發(fā)表于 05-19 09:45 ?190次閱讀
    芯<b class='flag-5'>知識(shí)</b>|廣州唯創(chuàng)電子藍(lán)牙音頻語(yǔ)音芯片IC<b class='flag-5'>通信</b><b class='flag-5'>接口</b>配置與常見(jiàn)問(wèn)題解析

    六天專修課程!電子電路基本原理66課

    本資料內(nèi)容主要分為模擬電路、數(shù)字電路及應(yīng)用技術(shù)三個(gè)部分,基本涵蓋了與電子電路相關(guān)的全部技術(shù)內(nèi)容及必要的知識(shí)點(diǎn)。從電路的基本元件開(kāi)始,介紹了模擬電路的晶體管及場(chǎng)效應(yīng)晶體管放大電路的基本原理
    發(fā)表于 04-08 16:21

    無(wú)刷電機(jī)電調(diào)的基本原理

    應(yīng)用目的。理論性的內(nèi)容涉及模擬電路 知識(shí)、基礎(chǔ)電子線路,理論性強(qiáng)的關(guān)鍵內(nèi)容會(huì)在文中用圖表的形式加以說(shuō)明。下載附件可查看全文,免費(fèi)下載。*附件:關(guān)于無(wú)刷電機(jī)和電調(diào)的基本原理.docx
    發(fā)表于 03-17 19:57

    串口通信原理解析 串口與并口的區(qū)別

    在計(jì)算機(jī)硬件和通信領(lǐng)域,串口(Serial Port)和并口(Parallel Port)是兩種常見(jiàn)的數(shù)據(jù)傳輸接口。它們?cè)跀?shù)據(jù)傳輸方式、速度、應(yīng)用場(chǎng)景等方面有著明顯的區(qū)別。 串口
    的頭像 發(fā)表于 12-27 09:50 ?1894次閱讀

    量子通信基本原理 量子通信網(wǎng)絡(luò)的構(gòu)建

    量子通信基本原理 1. 量子疊加原理 量子疊加原理是量子通信的基礎(chǔ)之一。在量子力學(xué)中,一個(gè)量子系統(tǒng)可以同時(shí)處于多個(gè)狀態(tài)的疊加。例如,一個(gè)光子可以同時(shí)處于水平偏振和垂直偏振的狀態(tài)。這種疊加狀態(tài)可以用
    的頭像 發(fā)表于 12-19 15:50 ?2226次閱讀

    串口通信的開(kāi)發(fā)環(huán)境配置

    串口通信的開(kāi)發(fā)環(huán)境配置涉及多個(gè)方面,包括選擇編程語(yǔ)言、安裝必要的庫(kù)或驅(qū)動(dòng)程序、配置串口參數(shù)等。以下是一個(gè)基于Python的串口通信開(kāi)發(fā)環(huán)境配
    的頭像 發(fā)表于 11-22 09:21 ?909次閱讀

    串口通信的硬件接口要求 串口通信與網(wǎng)絡(luò)通信的比較

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

    使用Python進(jìn)行串口通信的案例

    當(dāng)然!以下是一個(gè)使用Python進(jìn)行串口通信的簡(jiǎn)單示例。這個(gè)示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial 庫(kù),這是一個(gè)非常流行的用于串口
    的頭像 發(fā)表于 11-22 09:11 ?1409次閱讀

    串口通信設(shè)備連接方法 串口通信在嵌入式開(kāi)發(fā)中的應(yīng)用

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

    串口通信與并口通信的區(qū)別

    在計(jì)算機(jī)和電子設(shè)備的數(shù)據(jù)傳輸領(lǐng)域,串口通信(Serial Communication)和并口通信(Parallel Communication)是兩種基本的通信方式。它們各自有著獨(dú)特的
    的頭像 發(fā)表于 11-22 09:04 ?2348次閱讀

    串口通信協(xié)議解析 串口通信應(yīng)用實(shí)例

    串口是顯控設(shè)備與信號(hào)處理板之間通信的主要接口,也是顯控設(shè)備與其他設(shè)備、設(shè)備與設(shè)備之間的協(xié)議數(shù)據(jù)幀通信傳輸?shù)闹匾?b class='flag-5'>接口。
    的頭像 發(fā)表于 11-21 17:03 ?2101次閱讀

    串口屏如何與主控制器進(jìn)行通信

    一、串口通信基礎(chǔ) 串口通信是一種通過(guò)串行數(shù)據(jù)傳輸?shù)姆绞竭M(jìn)行通信的方法。在串口
    的頭像 發(fā)表于 11-20 09:32 ?763次閱讀
    <b class='flag-5'>串口</b>屏如何與主控制器進(jìn)行<b class='flag-5'>通信</b>?

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

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

    通信技術(shù):UART串口通信開(kāi)源代碼實(shí)操!

    今天我們分享的是關(guān)于UART串口通信示例,歡迎大家探討
    的頭像 發(fā)表于 11-05 11:56 ?3923次閱讀
    <b class='flag-5'>通信</b>技術(shù):UART<b class='flag-5'>串口</b><b class='flag-5'>通信</b>開(kāi)源代碼實(shí)操!

    了解藍(lán)牙模塊串口通訊基礎(chǔ)知識(shí)

    許多嵌入式系統(tǒng)和物聯(lián)網(wǎng)(IoT)設(shè)備中廣泛應(yīng)用。以下是藍(lán)牙串口UART的一些基礎(chǔ)知識(shí):一、UART基本概念接口又稱串口,又稱串行通信
    的頭像 發(fā)表于 09-02 16:16 ?2399次閱讀
    了解藍(lán)牙模塊<b class='flag-5'>串口</b>通訊基礎(chǔ)<b class='flag-5'>知識(shí)</b>
    主站蜘蛛池模板: 天天摸日日添狠狠添婷婷 | 久久国产精品久久久久久 | 亚洲国产成人久久一区www | 欧美成人午夜视频 | 久久国产视频一区 | 天天色天天碰 | 天天干夜夜操视频 | 中文字幕123| 女人张开腿双腿让男人桶 | 欧美影欧美影院免费观看视频 | 黄网站视频 | 福利视频一区二区牛牛 | se94se亚洲欧美在线 | 美国一级毛片不卡无毒 | 久久99国产精品久久99 | 久艹精品| 天堂网中文字幕 | 看免费一级片 | 欧美 亚洲 国产 丝袜 在线 | 婷婷综合久久中文字幕 | 久久久伊香蕉网站 | 手机看福利片 | 成人男女啪啪免费观看网站 | 男人j进人女人j 的视频 | 中文字幕天天躁夜夜狠狠综合 | 99精品国产在热久久 | 天天干天| 一 级 黄 色 片生活片 | 天天夜约| 一级做a爱 一区 | 天天色天天做 | 天天好b| 亚洲无线码一区在线观看 | 日本天天射 | 天天躁狠狠躁狠狠躁夜夜躁 | 恨恨操 | 色草视频 | 韩漫免费网站无遮挡羞羞漫画 | 天天干天天操天天射 | xyx性爽欧美视频 | 免费看的黄网站 |