国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

串行通訊講解與分析

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

掃碼添加小助手

加入工程師交流群

前言

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

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

串行通訊介紹

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

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

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

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

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

數據位:緊接著起始位之后。數據位的個數可以是4、5、6、7、8等,構成一個字符。

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

停止位:它是一個字符數據的結束標志。可以是1位、1.5位、2位的高電平。

空閑位:處于邏輯“1”狀態,表示當前線路上沒有數據傳輸。

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

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

串行數據傳輸的基本模式

二進制脈沖用于串行數據傳輸中的數據傳輸。二進制數字一由五伏或高邏輯表示。相反,二進制零表示為邏輯低電平或零伏。為了實現串行通信,需要源和目標。他們也被稱為發送者和接收者。可以采用各種類型的串行通信,并指定為單工、半雙工和全雙工。

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

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

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

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

UART串口通信的工作原理

(1)發送數據過程

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

(2)數據接收過程:

空閑狀態,線路處于高電平;當檢測到線路的下降沿(高電平變為低電平)時說明線路有數據傳輸,按照約定的波特率從低位到高位接收數據,數據接收完畢后,接著接收并比較奇偶校驗位是否正確,如果正確則通知后續設備接收數據或存入緩沖。

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

串行通訊和并行通訊

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

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

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

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

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

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

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

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

單片機中的串口通訊

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

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

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

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

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

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

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

分析串口通訊波形

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

起始位:先發出一個邏輯”0”的信號,表示傳輸數據的開始。

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

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

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

停止位:它是一幀數據的結束標志。可以是1bit、1.5bit、2bit的空閑電平。

空閑位:沒有數據傳輸時線路上的電平狀態,為邏輯1。

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

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

波形1

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

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

波形如圖所示:

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

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

波形2

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

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

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

同理,最左側的為起始位,低電平0, 然后LSB傳輸。1010 1110依次傳輸到示波器。

波形3

用串口發送0x75,就是二進制 0111 0101,

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

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

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

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

波形4

連發發送兩個16進制數據0x75(0111 0101) 0x6B (0110 1011)

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

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

結語

當然串行通訊不僅這一種,還是很多其他的例如I2C、SPI、CAN等,大家可以多了解一下,每個通訊方法都有著自己的通訊協議,我們如果想要使用的話需要根據自己實際需求,選擇合適的通訊方式。

審核編輯 :李倩

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

    關注

    9

    文章

    2201

    瀏覽量

    67586
  • 通信
    +關注

    關注

    18

    文章

    6389

    瀏覽量

    140047
  • 串口
    +關注

    關注

    15

    文章

    1619

    瀏覽量

    82825

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單片機中的串口通訊串行同步通信與串行異步通信

    串口是串行接口(serial port)的簡稱,也稱為串行通信接口或COM接口。串口通信是指采用串行通信協議(serial communicaTIon)在一條信號線上將數據一個比特一個比特地逐位進行
    發表于 01-15 08:06

    汽車BMS電池管理——菊花鏈通訊保護方案

    行業圖譜EMC保護方案大全國外品牌替代表EMC行業標準雷卯實驗室免費測試雷卯產品規格書講解請點擊以上內容了解更多汽車BMS電池管理已從CAN通訊向菊花鏈橋接通訊的方式轉變,在菊花鏈的環體系結構中
    的頭像 發表于 12-23 09:20 ?360次閱讀
    汽車BMS電池管理——菊花鏈<b class='flag-5'>通訊</b>保護方案

    串行通訊與并行通訊介紹

    按數據傳送的方式,通訊可分為串行通訊與并行通訊串行通訊是指設備之間通過少量數據信號線(一般是8
    發表于 12-11 06:52

    Xilinx FPGA串行通信協議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設計。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統設計中關鍵的串行通信協議。介紹了它們的特性、優勢和應用場景
    的頭像 發表于 11-14 15:02 ?2535次閱讀
    Xilinx FPGA<b class='flag-5'>串行</b>通信協議介紹

    藍牙打印機電路怎么設計?芯片如何選型?APP和小程序的BLE通訊協議如何制定?

    與藍牙芯片通訊的BLE協議怎么制定?藍牙BLE芯片如何選型?一文給你講解清楚
    的頭像 發表于 09-08 10:02 ?1183次閱讀
    藍牙打印機電路怎么設計?芯片如何選型?APP和小程序的BLE<b class='flag-5'>通訊</b>協議如何制定?

    通訊中浮點數數據的處理

    Modbus 通訊在工業現場應用非常廣泛,當然也會有多技術難點,本文主要講解基于通訊的數據處理,不講通訊的基礎知識,你過你連Modbus通訊
    的頭像 發表于 08-19 13:48 ?1848次閱讀
    <b class='flag-5'>通訊</b>中浮點數數據的處理

    PLC之間跨區域通訊!無線通訊方案全解析

    。 在這種情況下,可以給PLC配備相應的無線通訊模塊來實現 PLC與PLC無線通訊。 串口無線通訊模塊和以太網無線通訊模塊,都可以妥善地實現PLC之間的遠距離數據傳遞與共享。 一、串口
    的頭像 發表于 07-21 16:57 ?818次閱讀
    PLC之間跨區域<b class='flag-5'>通訊</b>!無線<b class='flag-5'>通訊</b>方案全解析

    【微五科技CF5010RBT60開發板試用體驗】+串行通訊及使用

    CF5010RBT60開發板,可提供4個通訊串口,見圖1所示。 圖1 串口電路 其中USART1被用作ISP下載接口,當然它也可以用于常規的串行通訊,其電路如圖2所示。 圖2 串口電路 而在例程中
    發表于 07-19 21:03

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

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

    modbusRTU轉profinet網關與HMLDM-UD100A激光測距儀通訊案例

    在現代工業生產與自動化控制領域,精確的距離測量以及設備間的高效通訊至關重要。今天,就為大家詳細講解一下HMLDM-UD100A型工業激光測距儀與modbusRTU轉profinet網關的通訊案例。
    的頭像 發表于 06-28 14:28 ?620次閱讀
    modbusRTU轉profinet網關與HMLDM-UD100A激光測距儀<b class='flag-5'>通訊</b>案例

    如何用普源DHO924示波器構建高速串行信號分析系統

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

    第十三章 通訊的基本概念

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

    RS485串行通信協議介紹

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

    ModbusRTU與PROFIBUS DP網關通訊技巧!

    在工業自動化領域,隨著系統的不斷升級和技術的發展,不同通訊協議之間的兼容性問題成為一大挑戰。Modbus RTU作為一種廣泛應用的串行通信協議,因其簡單、可靠而被廣泛使用;而PROFIBUS DP
    的頭像 發表于 04-28 14:18 ?760次閱讀
    ModbusRTU與PROFIBUS DP網關<b class='flag-5'>通訊</b>技巧!

    電容屏串行接口

    帝晶智慧屏電容屏串行接口
    的頭像 發表于 03-11 17:21 ?1802次閱讀