一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

串行通訊講解與分析

嵌入式悅翔園 ? 來源:嵌入式悅翔園 ? 作者:嵌入式悅翔園 ? 2022-11-21 11:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

最近在做一個通過ESP8266STM32通訊從而實現(xiàn)遠程控制,中間需要用到串口來發(fā)送報文,通過報文來實現(xiàn)兩者之間的通訊。

今天剛好趁著這個機會來給大家講解一下串行通訊,希望能給大家以后的學習提供一些思路。

串行通訊介紹

串口通信線最少需要2根(GND和信號線),可以實現(xiàn)單工通信,也可以使用3根通信線(Tx、Rx、GND)來實現(xiàn)全雙工。

通過串口不管發(fā)數(shù)字、文本還是命令,都要先對發(fā)送內(nèi)容進行編碼,編碼成二進制再進行逐個位的發(fā)送。我們使用串口發(fā)送的一般都是字符,都是ASCII碼編碼后的字符,所以一般設置數(shù)據(jù)位都是8,方便剛好一幀發(fā)送1個字符。

那么現(xiàn)在我們就知道了,如果我們想要串口進行通訊,我們首先需要將我們想要發(fā)送的信息轉(zhuǎn)換成為ASCII碼,再通過串口線將信息以二進制的形式發(fā)送出去。

UART作為異步串口通信協(xié)議的一種,工作原理是將傳輸數(shù)據(jù)的每一個字符一位一位地傳輸,也就是我們上面說的ASCII碼編碼。其中每一位(bit)的意義如下:

起始位:先發(fā)出一個邏輯“0”的信號,表示傳輸字符開始。

數(shù)據(jù)位:緊接著起始位之后。數(shù)據(jù)位的個數(shù)可以是4、5、6、7、8等,構(gòu)成一個字符。

奇偶校驗位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),依次來校驗數(shù)據(jù)傳送的正確性。

停止位:它是一個字符數(shù)據(jù)的結(jié)束標志。可以是1位、1.5位、2位的高電平。

空閑位:處于邏輯“1”狀態(tài),表示當前線路上沒有數(shù)據(jù)傳輸。

其中數(shù)據(jù)位通常采用ASCII碼。從最低位開始傳送,靠時鐘定位。

1a2ceeaa-694f-11ed-8abf-dac502259ad0.png

串行數(shù)據(jù)傳輸?shù)幕灸J?/p>

二進制脈沖用于串行數(shù)據(jù)傳輸中的數(shù)據(jù)傳輸。二進制數(shù)字一由五伏或高邏輯表示。相反,二進制零表示為邏輯低電平或零伏。為了實現(xiàn)串行通信,需要源和目標。他們也被稱為發(fā)送者和接收者??梢圆捎酶鞣N類型的串行通信,并指定為單工、半雙工和全雙工。

Simplex 方法單向數(shù)據(jù)傳輸。在此方案中,在任何給定時間只有源或目標處于活動狀態(tài)。如果源正在發(fā)送數(shù)據(jù),接收方別無選擇,只能接受傳輸。廣播電視或無線電信號時使用單工模式。

半雙工模式允許源和目標都處于活動狀態(tài),但不能同時處于活動狀態(tài)。傳輸一次只發(fā)生在一個方向。使用互聯(lián)網(wǎng)時可以看到一個恰當?shù)睦?。當您從計算機發(fā)出網(wǎng)頁請求時,服務器會處理該請求。然后,當將信息返回到您的計算機(現(xiàn)在是接收方)時,它就成為發(fā)送方。

全雙工模式是世界上使用最廣泛的串行通信形式。源和目標都處于活動狀態(tài),可以同時發(fā)送和接收數(shù)據(jù)。您的智能手機是全雙工模式實際應用的典型示例。

討論串行通信時的另一個考慮因素是兩臺主機的協(xié)議和字節(jié)順序。字節(jié)順序是指使用特定的內(nèi)存地址來存儲數(shù)據(jù)的方法。這是將數(shù)據(jù)存儲在特定內(nèi)存地址的方式。關于數(shù)據(jù)對齊字節(jié)序有兩種分類。

UART串口通信的工作原理

(1)發(fā)送數(shù)據(jù)過程

空閑狀態(tài),線路處于高電平;當收到發(fā)送指令后,拉低線路的一個數(shù)據(jù)位的時間T,接著數(shù)據(jù)按低位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后,接著發(fā)送奇偶校驗位和停止位,一幀數(shù)據(jù)發(fā)送完成。

(2)數(shù)據(jù)接收過程:

空閑狀態(tài),線路處于高電平;當檢測到線路的下降沿(高電平變?yōu)榈碗娖剑r說明線路有數(shù)據(jù)傳輸,按照約定的波特率從低位到高位接收數(shù)據(jù),數(shù)據(jù)接收完畢后,接著接收并比較奇偶校驗位是否正確,如果正確則通知后續(xù)設備接收數(shù)據(jù)或存入緩沖。

1a780c28-694f-11ed-8abf-dac502259ad0.png

串行通訊和并行通訊

在常見的通訊中有兩種基本的數(shù)據(jù)傳輸形式,分別是并行和串行通信。串行通信是逐位進行數(shù)據(jù)傳輸。它基本上使用兩根電線,一根用于發(fā)送器,另一根用于接收器。

串行通信:計算機與I/O設備之間,同一時刻,只能傳輸一個bit位的信號。傳輸數(shù)據(jù)按順序依次一bit位接一bit位進行傳輸,通常數(shù)據(jù)在一根數(shù)據(jù)線或一對差分線上傳輸。

比如,當傳輸1字節(jié)信息時,并行通訊有8根信號線實現(xiàn)同時傳輸,假如耗時為1T,而串行是在一根信號線上,把數(shù)據(jù)排成一行、一位一位傳輸,需要傳8次,因此耗時為8T。

1a9074d4-694f-11ed-8abf-dac502259ad0.png

并行通信:計算機與I/O設備之間,通過多條傳輸線,可以同時傳輸多個bit位的信號。

并行通訊的效率高,但是成本高、對信號線路要求高,一般應用于快速設備之間近距離傳輸,譬如CPU 與存儲設備、存儲器與存儲器、主機與打印機等都采用并行通訊。

串行通訊效率較低,但是對信號線路要求低,抗干擾能力強,同時成本也相對較低,一般用于計算機與計算機、計算機與外設之間遠距離通訊。

1aa343ca-694f-11ed-8abf-dac502259ad0.png

單片機中的串口通訊

大家需要注意這里的串口通訊和我們上面談到的串行通訊不是一個東西,串口通訊是串行通訊中的一種,在單片機調(diào)試中非常常見,也是學習單片機必須進行學習的知識,這里我們以單片機中常用的RS-232串口來進行講解。

1ab9c1ea-694f-11ed-8abf-dac502259ad0.png

在上面的通訊方式中,兩個通訊設備之間通過串口信號線建立起連接,串口信號線中使用"RS-232標準"傳輸數(shù)據(jù)信號。由于RS-232電平標準的信號不能直接被控制器直接識別,所以這些信號會經(jīng)過一個"電平轉(zhuǎn)換芯片"轉(zhuǎn)換成控制器能識別的"TTL校準"的電平信號,才能實現(xiàn)通訊。

我們知道常見的電子電路中常使用TTL的電平標準,理想狀態(tài)下,使用5V表示二進制邏輯1,使用0V表示邏輯0;而為了增加串口通訊的遠距離傳輸及抗干擾能力,它使用-15V表示邏輯1,+15V表示邏輯0。

1ad61804-694f-11ed-8abf-dac502259ad0.png

因為控制器一般使用TTL電平標準,所以常常會使用CH340芯片對TTL及RS-232電平的信號進行互相轉(zhuǎn)換。

1af5a91c-694f-11ed-8abf-dac502259ad0.png

分析串口通訊波形

在分析波形之前我們先來看一些基礎概念,這樣有利于我們對波形的分析:

起始位:先發(fā)出一個邏輯”0”的信號,表示傳輸數(shù)據(jù)的開始。

校驗位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),以此來校驗數(shù)據(jù)傳送的正確性。就比如傳輸“A”(01000001)為例。(字符‘A’的二進制是 0100 0001)此位還可以去除,即不需要奇偶校驗位。

當為奇數(shù)校驗:”A”字符的8個bit位中有兩個1,那么奇偶校驗位為1才能滿足1的個數(shù)為奇數(shù)(奇校驗)。

當為偶數(shù)校驗:”A”字符的8個bit位中有兩個1,那么奇偶校驗位為0才能滿足1的個數(shù)為偶數(shù)(偶校驗)。

停止位:它是一幀數(shù)據(jù)的結(jié)束標志??梢允?bit、1.5bit、2bit的空閑電平。

空閑位:沒有數(shù)據(jù)傳輸時線路上的電平狀態(tài),為邏輯1。

傳輸方向:即數(shù)據(jù)是從高位(MSB)開始傳輸還是從低位(LSB)開始傳輸。

uart數(shù)據(jù)傳輸格式:剛開始傳輸一個起始位——傳輸數(shù)據(jù)位——校驗位(可不需要此位)——停止位。這樣一幀的數(shù)據(jù)就傳輸完了。接下來接著像這樣一直傳送。

波形1

用串口工具發(fā)送0XD6,即二級制 1101 0110 ,在示波器上如此顯示。

串口設置:波特率9600,停止位1位,無奇偶校驗位。

波形如圖所示:

1b10cdb4-694f-11ed-8abf-dac502259ad0.png

由示波器可以看出,最左邊一個低電平表示0,起始位;然后依次是0110 1011,正好和發(fā)送的數(shù)據(jù)最高位和最低位反過來,至于為什么會反過來我們上面也介紹過了,相比大家也能夠理解。

波形2

用串口發(fā)送0x75,就是二進制 0111 0101,如下圖所示。

串口設置:波特率9600,停止位1位,無奇偶校驗位。

1b73c950-694f-11ed-8abf-dac502259ad0.png

同理,最左側(cè)的為起始位,低電平0, 然后LSB傳輸。1010 1110依次傳輸?shù)绞静ㄆ鳌?/p>

波形3

用串口發(fā)送0x75,就是二進制 0111 0101,

串口設置:波特率9600,停止位1位,奇校驗。

1bf66f0e-694f-11ed-8abf-dac502259ad0.png

奇校驗就是要保證這一幀里的所有BIT 有1的數(shù)為奇數(shù),0x75已經(jīng)有5個1了,所以奇偶校驗位為0即可。

如果為偶校驗,那么最后一位應該是高電平1,就會有6個1,以此保證所有的1的數(shù)量為偶數(shù)。

波形4

連發(fā)發(fā)送兩個16進制數(shù)據(jù)0x75(0111 0101) 0x6B (0110 1011)

串口設置:波特率9600,停止位1位,無奇偶校驗位。

1c6ac3a4-694f-11ed-8abf-dac502259ad0.png

結(jié)語

當然串行通訊不僅這一種,還是很多其他的例如I2C、SPI、CAN等,大家可以多了解一下,每個通訊方法都有著自己的通訊協(xié)議,我們?nèi)绻胍褂玫脑捫枰鶕?jù)自己實際需求,選擇合適的通訊方式。

審核編輯 :李倩

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

    關注

    9

    文章

    2019

    瀏覽量

    66080
  • 通信
    +關注

    關注

    18

    文章

    6206

    瀏覽量

    137829
  • 串口
    +關注

    關注

    15

    文章

    1588

    瀏覽量

    79954

原文標題:串行通訊講解與分析,看了就明白了!

文章出處:【微信號:嵌入式悅翔園,微信公眾號:嵌入式悅翔園】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LXM18與M241進行MODBUS串行通訊案例

    Lexium18 系列伺服驅(qū)動器具有RS-485的串行通訊功能,使用此功能可實現(xiàn)控制 伺服系統(tǒng)、讀取和寫入驅(qū)動器參數(shù)以及監(jiān)視伺服系統(tǒng)狀態(tài)等功能。
    的頭像 發(fā)表于 07-10 10:56 ?571次閱讀
    LXM18與M241進行MODBUS<b class='flag-5'>串行</b><b class='flag-5'>通訊</b>案例

    如何用普源DHO924示波器構(gòu)建高速串行信號分析系統(tǒng)

    在高速數(shù)字通信領域,如USB、PCIe、以太網(wǎng)等協(xié)議的測試與調(diào)試中,準確分析串行信號的時序、抖動、眼圖等參數(shù)是確保系統(tǒng)穩(wěn)定性和數(shù)據(jù)傳輸可靠性的關鍵。普源DHO924示波器憑借其200MHz帶寬、高
    的頭像 發(fā)表于 06-23 14:15 ?187次閱讀
    如何用普源DHO924示波器構(gòu)建高速<b class='flag-5'>串行</b>信號<b class='flag-5'>分析</b>系統(tǒng)

    第十三章 通訊的基本概念

    本章介紹通訊基本概念,包括串行/并行、全雙工/半雙工/單工、同步/異步通訊,還提及通訊速率中比特率與波特率的概念。
    的頭像 發(fā)表于 05-22 17:29 ?1227次閱讀
    第十三章 <b class='flag-5'>通訊</b>的基本概念

    RS485串行通信協(xié)議介紹

    在上期我們介紹了RS232串行通訊,本期我們將進一步深入探討另一種廣泛應用于工業(yè)自動化和數(shù)據(jù)通信領域的串行通信標準——RS485。
    的頭像 發(fā)表于 05-15 11:42 ?490次閱讀
    RS485<b class='flag-5'>串行</b>通信協(xié)議介紹

    一看就懂!動畫圖解常見串行通訊協(xié)議:SPI、I2C、UART、紅外

    通過UART來調(diào)試MCU 圖1.3.2:RS-232通過電平轉(zhuǎn)換芯片與MCU通訊 四、紅外控制 圖1.4.1:紅外控制信號也是一個串行通訊信號 圖1.4.2:紅外信號接收與放大整形電路 圖1.4.3
    發(fā)表于 02-10 11:45

    一文解讀MCU與電腦的通訊方式-串口

    你這個小板子和電腦通訊,做個上位機,最常用的接口是什么?我想大家閉眼說-串口! 串口是什么? 串行接口(Serial port),也稱串行接口或串行端口,
    的頭像 發(fā)表于 01-13 09:36 ?1133次閱讀
    一文解讀MCU與電腦的<b class='flag-5'>通訊</b>方式-串口

    JDSU Xgig1000 12G SAS/SATA 分析儀應對高速串行總線挑戰(zhàn)的理想平臺

    Xgig SAS/SATA分析儀是一款非常重要的工具設備,它擁有先進的性能和專家分析功能,使其成為應對高速串行總線挑戰(zhàn)的理想平臺
    的頭像 發(fā)表于 11-22 11:10 ?763次閱讀
    JDSU Xgig1000 12G SAS/SATA <b class='flag-5'>分析</b>儀應對高速<b class='flag-5'>串行</b>總線挑戰(zhàn)的理想平臺

    運放概述、案例講解、運算分析

    運放概述案例講解運算分析 一:基本概念 反向放大器 優(yōu)點:兩個輸入端電位始終近似為零(同相端接地,反相端虛地),只有差模信號,抗干擾能力強; 缺點:輸入阻抗很小,等于信號到輸入端的串聯(lián)電阻的阻值
    的頭像 發(fā)表于 11-16 11:42 ?2041次閱讀
    運放概述、案例<b class='flag-5'>講解</b>、運算<b class='flag-5'>分析</b>

    【驅(qū)動教程】iTOP-RK3568開發(fā)板進行講解第十三期,主要講解輸入子系統(tǒng),共計24 講

    驅(qū)動視頻全新升級,并持續(xù)更新~更全,思路更科學,入門更簡單。 迅為基于iTOP-RK3568開發(fā)板進行講解,本次更新內(nèi)容為第十三期,主要講解輸入子系統(tǒng),共計24 講。 學習鏈接 本期視頻教程已上傳至
    發(fā)表于 10-11 11:31

    串行接口PCB設計指南:優(yōu)化布局與布線策略

    、RS485、SPI為例,介紹這些接口的特點和應用。 1、RS232接口 RS232接口是美國電子工業(yè)協(xié)會(EIA)制定的一種串行物理接口標準, 用于數(shù)據(jù)終端設備(DTE)和數(shù)據(jù)通訊設備(DCE)之間的串行
    發(fā)表于 09-18 12:02

    電感技術的講解

    詳細講解電感的原理及計算
    的頭像 發(fā)表于 09-06 02:07 ?2941次閱讀
    電感技術的<b class='flag-5'>講解</b>

    TI電量計通訊異常的分析經(jīng)驗

    電子發(fā)燒友網(wǎng)站提供《TI電量計通訊異常的分析經(jīng)驗.pdf》資料免費下載
    發(fā)表于 08-23 10:12 ?1次下載
    TI電量計<b class='flag-5'>通訊</b>異常的<b class='flag-5'>分析</b>經(jīng)驗

    第14章-藍牙遙控小車 藍牙串口通訊講解藍牙APP遙控小車 藍牙串口通訊講解

    第14章-藍牙遙控小車 手把手做藍牙APP遙控小車 藍牙串口通訊講解
    的頭像 發(fā)表于 08-21 16:24 ?1376次閱讀
    第14章-藍牙遙控小車 藍牙串口<b class='flag-5'>通訊</b><b class='flag-5'>講解</b>藍牙APP遙控小車 藍牙串口<b class='flag-5'>通訊</b><b class='flag-5'>講解</b>