91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

一文淺談串口通信

哈哈hfgfdf ? 來源:嵌入式學(xué)習(xí)資料 ? 作者:嵌入式學(xué)習(xí)資料 ? 2023-01-09 12:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

0、串行通信

串行通信技術(shù)(Serial Communication),是指通信雙方按位bit進行,遵守時序的一種通信方式。串行通信中,將數(shù)據(jù)按位依次傳輸, 每位數(shù)據(jù)占據(jù)固定的時間長度,僅用一根接收線和一根發(fā)送線就可以完成系統(tǒng)間交換信息

盡管串行通訊的比按字節(jié)傳輸?shù)牟⑿型ㄐ怕?,但是串口具有通信線路少,布線簡便易行,施工方便,結(jié)構(gòu)靈活,系統(tǒng)間協(xié)商協(xié)議,自由度及靈活度較高的特點。

同步通信:

同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信傳送一幀信息。這里的信息幀與異步通信中的字符幀不同,通常含有若干個數(shù)據(jù)字符。它們均由同步字符、數(shù)據(jù)字符和校驗字符(CRC)組成。

同步字符位于幀開頭,用于確認(rèn)數(shù)據(jù)字符的開始。

數(shù)據(jù)字符在同步字符之后,個數(shù)沒有限制,由所需傳輸?shù)臄?shù)據(jù)塊長度來決定;

校驗字符有1到2個,用于接收端對接收到的字符序列進行正確性的校驗。

同步通信的缺點是要求發(fā)送時鐘和接收時鐘保持嚴(yán)格的同步。

異步通信:

異步通信中,有兩個比較重要的指標(biāo):字符幀格式和波特率,在發(fā)送端和接收端要保持一致。

數(shù)據(jù)通常以字符或者字節(jié)為單位組成字符幀傳送。字符幀由發(fā)送端逐幀發(fā)送,通過傳輸線被接收設(shè)備逐幀接收。

發(fā)送端和接收端可以由各自的時鐘來控制數(shù)據(jù)的發(fā)送和接收,這兩個時鐘源彼此獨立,互不同步。

接收端檢測到傳輸線上發(fā)送過來的低電平邏輯"0"(即字符幀起始位)時,確定發(fā)送端已開始發(fā)送數(shù)據(jù),每當(dāng)接收端收到字符幀中的停止位時,就知道一幀字符已經(jīng)發(fā)送完畢。

雖然異步技術(shù)使用簡單,但起始和停止位是額外開銷,浪費了帶寬。

一、不同接口之間的區(qū)別:

USB(Universal Serial Bus,通用串行總線)
是一個外部總線標(biāo)準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊。

f91442ca-8fd9-11ed-92c9-dac502259ad0.png

COM口(串口)
串行接口簡稱串口,也稱串行通信接口(通常指COM接口),是采用串行通信方式的擴展接口。

(1) D型9針串口(DB9):RS-232電平標(biāo)準(zhǔn)

f93ac918-8fd9-11ed-92c9-dac502259ad0.png

(2)4針串口:TTL電平標(biāo)準(zhǔn)
f95b5dcc-8fd9-11ed-92c9-dac502259ad0.png

二、串口通信

典型的串口通信使用3根線完成,分別是地線GND、發(fā)送TXD(transport)、接收RXD(receive)。

由于串口通信是異步的,所以端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。

串口通信(異步)最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶的校驗。對于兩個需要進行串口通信的端口,這些參數(shù)必須匹配,這也是能夠?qū)崿F(xiàn)串口通訊的前提。

串口通信(如RS232接口)的數(shù)據(jù)傳輸都是0和1,在單總線、I2C、UART中都是通過一根線的高低電平來判斷邏輯1或者邏輯0,但這種信號線的GND再與其他設(shè)備形成共地模式的通信,這種共地模式傳輸容易產(chǎn)生干擾,并且抗干擾性能也比較弱。而差分通信、支持多機通信、抗干擾強的RS485則能夠?qū)崿F(xiàn)更適合長距離、高速傳輸。

對于通訊協(xié)議,最基本的是把它分為物理層和協(xié)議層。

物理層

物理層規(guī)定通訊系統(tǒng)中具有機械、電子功能部分的特性, 確保原始數(shù)據(jù)在物理媒體的傳輸。

串口通訊的物理層有很多標(biāo)準(zhǔn)及變種,例如RS-232標(biāo)準(zhǔn)主要規(guī)定了信號的用途、通訊接口以及信號的電平標(biāo)準(zhǔn)。

f97c0e5a-8fd9-11ed-92c9-dac502259ad0.png

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

RS232與TTL的電平標(biāo)準(zhǔn)

不平衡傳輸、相對于信號地的單端通訊、全雙工

f9bc2256-8fd9-11ed-92c9-dac502259ad0.png

RS485 差分信號

為了提高抗干擾特性和增大傳輸距離,RS485采用差分信號進行數(shù)據(jù)傳輸,是一種半雙工通信方式;

在RS485通信網(wǎng)絡(luò)中一般采用的是主從通信方式,即一個主機帶多個從機。

相對于單信號線傳輸?shù)姆绞剑褂貌罘中盘杺鬏斁哂腥缦聝?yōu)點:


1)抗干擾能力強,當(dāng)外界存在噪聲干擾時,幾乎會同時耦合到兩條信號線上,而接收端只關(guān)心兩個信號的差值,所以外界的共模噪聲可以被完全抵消。

2)能有效抑制它對外部的電磁干擾,同樣的道理,由于兩根信號的極性相反,他們對外輻射的電磁場可以相互抵消,耦合的越緊密,泄放到外界的電磁能量越少。

3)時序定位精確,由于差分信號的開關(guān)變化是位于兩個信號的交點,而不像普通單端信號依靠高低兩個閾值電壓判斷,因而受工藝,溫度的影響小,能降低時序上的誤差,同時也更適合于低幅度信號的電路。

由于差分信號線具有這些優(yōu)點,所以在USB協(xié)議、485協(xié)議、以太網(wǎng)協(xié)議及CAN協(xié)議的物理層中,都使用了差分信號傳輸。

2. 協(xié)議層

串口通訊的數(shù)據(jù)包由發(fā)送設(shè)備通過自身的TXD接口傳輸?shù)浇邮赵O(shè)備的RXD接口。在串口通訊的協(xié)議層中, 規(guī)定了通訊邏輯(數(shù)據(jù)包的內(nèi)容),它由起始位、主體數(shù)據(jù)、校驗位以及停止位組成,通訊雙方的數(shù)據(jù)包格式(幀格式)要約定一致才能正常收發(fā)數(shù)據(jù);通常兩個設(shè)備之間通信要約定好波特率、數(shù)據(jù)長度、檢驗位和停止位。

f9d9f7e0-8fd9-11ed-92c9-dac502259ad0.png

波特率:數(shù)據(jù)信號對載波的調(diào)制速率,串口異步通訊中由于沒有時鐘信號(如DB9接口中是沒有時鐘信號的), 所以兩個通訊設(shè)備之間需要約定好波特率,即每個碼元的長度,以便對信號進行解碼。比如波特率為9600bps;代表的就是每秒中傳輸9600bit,也就是相當(dāng)于每一秒中劃分成了9600等份。【比特率 = 波特率 X 單個調(diào)制狀態(tài)對應(yīng)的二進制位數(shù)】

起始位:起始位必須是持續(xù)一個比特時間的邏輯0電平,標(biāo)志傳輸一個字符的開始,接收方可用起始位使自己的接收時鐘與發(fā)送方的數(shù)據(jù)同步。

數(shù)據(jù)位:數(shù)據(jù)位緊跟在起始位之后,是通信中的真正有效信息。數(shù)據(jù)位的位數(shù)可以由通信雙方共同約定(通常為5、6、7或8位。傳輸數(shù)據(jù)時先傳送字符的低位,后傳送字符的高位。

校驗位:在有效數(shù)據(jù)之后,有一個可選的數(shù)據(jù)校驗位。由于數(shù)據(jù)通信相對更容易受到外部干擾導(dǎo)致傳輸數(shù)據(jù)出現(xiàn)偏差, 可以在傳輸過程加上校驗位來解決這個問題。

(1)奇校驗(odd):數(shù)據(jù)位加上校驗位中的“邏輯高位1”的個數(shù)保持為奇數(shù);
(2)偶校驗(even):數(shù)據(jù)位加上校驗位中的“邏輯高位1”的個數(shù)保持為偶數(shù)(3)0校驗(space):校驗位永遠是0;

(4)1校驗(mark):校驗位永遠是1;

(5)無校驗(noparity):沒有校驗位。

停止位:由0.5、1、1.5或2個邏輯1的數(shù)據(jù)位表示,只要雙方約定一致即可。

空閑位:空閑位是指從一個字符的停止位結(jié)束到下一個字符的起始位開始,表示線路處于空閑狀態(tài),必須由高電平來填充。

例如,對于16進制數(shù)據(jù)55aaH,當(dāng)采用8位數(shù)據(jù)位、1位停止位傳輸時,它在信號線上的波形如下圖所示。
(先傳第一個字節(jié)55,再傳第二個字節(jié)aa,每個字節(jié)都是從低位向高位逐位傳輸)

fa0fb7ae-8fd9-11ed-92c9-dac502259ad0.png

fa2798f6-8fd9-11ed-92c9-dac502259ad0.png

3、數(shù)據(jù)傳輸方向

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

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

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

fa3d3580-8fd9-11ed-92c9-dac502259ad0.png

4、設(shè)備間通信


原生的串口通信主要是控制器跟串口的設(shè)備或者傳感器通信,不需要經(jīng)過電平轉(zhuǎn)換芯片來轉(zhuǎn)換電平,直接就用TTL電平通信。例如GPS模塊、GSM模塊、串口轉(zhuǎn)WIFI模塊、HC04藍牙模塊等與控制器之間的通訊。

fa627372-8fd9-11ed-92c9-dac502259ad0.png

RS232轉(zhuǎn)TTL,通過電平轉(zhuǎn)換芯片將 標(biāo)準(zhǔn) RS232 串口信號轉(zhuǎn)換為 TTL電平的 RS232 串口信號,不需要安裝驅(qū)動。

fa8d5998-8fd9-11ed-92c9-dac502259ad0.png

USB轉(zhuǎn)串口(TTL)實現(xiàn)計算機USB接口到物理串口之間的轉(zhuǎn)換。主要用于設(shè)備跟電腦通信,電平轉(zhuǎn)換芯片一般有CH340、PL2303、CP2102、FT232 使用的時候電腦端需要安裝電平轉(zhuǎn)換芯片的驅(qū)動。

faaf12f4-8fd9-11ed-92c9-dac502259ad0.png

串口發(fā)送
串口應(yīng)用發(fā)送數(shù)據(jù)->USB串口驅(qū)動獲取數(shù)據(jù)->驅(qū)動將數(shù)據(jù)經(jīng)過USB通道發(fā)送給USB串口設(shè)備->USB串口設(shè)備接收到數(shù)據(jù)通過串口發(fā)送

串口接收
USB串口設(shè)備接收串口數(shù)據(jù)->將串口數(shù)據(jù)經(jīng)過USB打包后上傳給USB主機->USB串口驅(qū)動獲取到通過USB上傳的串口數(shù)據(jù)->驅(qū)動將數(shù)據(jù)保存在串口緩沖區(qū)提供給串口應(yīng)用讀取

4、USART、UART簡介

通用同步異步收發(fā)器(USART,Universal Synchronous Asynchronous Receiver and Transmitter)是一個串行通信設(shè)備, 可以靈活地與外部設(shè)備進行全雙工數(shù)據(jù)交換。

通用同步異步收發(fā)器(USART,Universal Synchronous Asynchronous Receiver and Transmitter)是一個串行通信設(shè)備, 可以靈活地與外部設(shè)備進行全雙工數(shù)據(jù)交換。

通用異步收發(fā)器(UART,Universal Asynchronous Receiver and Transmitter), 它是在USART基礎(chǔ)上裁剪掉了同步通信功能,只有異步通信。

數(shù)據(jù)通信方式包括同步和異步通信,發(fā)送方和接收方按照同一個時鐘周期工作就叫同步,發(fā)送方和接收方?jīng)]有提供時鐘輸出、不按照統(tǒng)一的時鐘周期、而各自按照自己的時鐘周期工作就叫異步。

異步通信時接收方不必一直在意發(fā)送方,發(fā)送方需要發(fā)送信息時會首先給接收方一個信息開始的起始信號,接收方接收到起始信號后就認(rèn)為后面緊跟著的就是有效信息,才會開始注意接收信息,直到收到發(fā)送方發(fā)過來的結(jié)束標(biāo)志。串口通信是屬于異步的,這個時候的波特率及數(shù)據(jù)包規(guī)則(幀格式)就顯得很重要了。

5、串口流控

在兩個串口設(shè)備間傳輸數(shù)據(jù)時經(jīng)常有必要進行數(shù)據(jù)流控。這可能是受到中間串口通信線路、其中一個設(shè)備或者其他存儲介質(zhì)的限制。異步數(shù)據(jù)流控通常使用的有兩種方法。

第一種方法通常稱為軟件流控,使用特殊字符開始(XON or DC1)或者停止(XOFF or DC3)數(shù)據(jù)流。這些字符定義參見 ASCII 碼表。這些碼值在傳輸文本信息時很有用,但不能在未經(jīng)特殊編程時用于傳輸其他類型的信息。

第二種方法稱作硬件流控,使用RTS和CTS信號線取代特殊字符。當(dāng)接收方準(zhǔn)備好接收數(shù)據(jù)時會將RTS置為邏輯0以請求對方發(fā)送數(shù)據(jù),當(dāng)未準(zhǔn)備好時置為邏輯1,因此發(fā)送方會通過檢測 CTS 電平狀態(tài)判斷是否可以發(fā)送數(shù)據(jù)。

使用硬件流控至少需要連接的信號線有GND、RXD、TXD、RTS、CTS。

使用軟件流控只需要GND、RXD、TXD。

審核編輯黃昊宇

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

    關(guān)注

    18

    文章

    6393

    瀏覽量

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

    關(guān)注

    15

    文章

    1620

    瀏覽量

    82872
  • 異步通信
    +關(guān)注

    關(guān)注

    1

    文章

    59

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    串口通信基石:Air8000下Modbus RTU串口初始化詳解!

    串口初始化是Modbus RTU通信穩(wěn)定可靠的關(guān)鍵起點。本篇深入剖析Air8000開發(fā)板串口參數(shù)配置、初始化代碼實現(xiàn)及調(diào)試要點,結(jié)合master_rtu示例,分享實際操作中的經(jīng)驗與避坑指南,讓您
    的頭像 發(fā)表于 10-28 16:33 ?1662次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>基石:Air8000下Modbus RTU<b class='flag-5'>串口</b>初始化詳解!

    基于FPGA開發(fā)板TSP的串口通信設(shè)計

    本文詳細介紹基于Terasic FPGA開發(fā)板TSP(又名C5P和OSK)和其板載CP2102N USB-UART橋接芯片的串口通信系統(tǒng)設(shè)計與實現(xiàn)。系統(tǒng)采用Verilog HDL編寫UART收發(fā)控制器,通過CP2102N實現(xiàn)FPGA與PC間的快速穩(wěn)定
    的頭像 發(fā)表于 10-15 11:05 ?4474次閱讀
    基于FPGA開發(fā)板TSP的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>設(shè)計

    基于FPGA開發(fā)板DE23-Lite的串口通信設(shè)計

    DE23-Lite開發(fā)板提供了個UART通信接口(物理接口是下圖的Type C接口),用戶能夠通過主機與Agilex 3 FPGA進行串口通信。
    的頭像 發(fā)表于 10-15 10:57 ?4424次閱讀
    基于FPGA開發(fā)板DE23-Lite的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>設(shè)計

    串口通信有哪些方式

    串口通信(Serial Communication)是種通過串行方式逐位傳輸數(shù)據(jù)的通信方式,廣泛應(yīng)用于嵌入式系統(tǒng)、工業(yè)控制、儀器儀表等領(lǐng)域。其通信
    的頭像 發(fā)表于 09-28 18:02 ?1112次閱讀

    又短又好用:單片機就串口,如何和多個從機串口通信串口如何實現(xiàn)主多從?

    ? 原文授權(quán)自公眾號:24c01硬件電子 有時候電路上需要實現(xiàn)主多從時,通常用到的通訊協(xié)議通常是SPI,IIC或者說是RS485這種總線形式的。尤其是IIC,更是板內(nèi)通信最為簡單便捷的,僅需兩根線
    的頭像 發(fā)表于 09-17 11:49 ?1493次閱讀
    又短又好用:單片機就<b class='flag-5'>一</b>個<b class='flag-5'>串口</b>,如何和多個從機<b class='flag-5'>串口</b><b class='flag-5'>通信</b>?<b class='flag-5'>串口</b>如何實現(xiàn)<b class='flag-5'>一</b>主多從?

    Air780EGH串口通信優(yōu)化:硬件電路設(shè)計核心要素剖析

    要充分發(fā)揮Air780EGH的串口通信效能,硬件電路設(shè)計必須精準(zhǔn)把控核心要素。下面將深入分析UART接口的電平標(biāo)準(zhǔn)、流控信號配置、波特率適配及調(diào)試串口管理,為優(yōu)化通信穩(wěn)定性提供技術(shù)依據(jù)
    的頭像 發(fā)表于 08-11 15:44 ?758次閱讀
    Air780EGH<b class='flag-5'>串口</b><b class='flag-5'>通信</b>優(yōu)化:硬件電路設(shè)計核心要素剖析

    PLC串口自由協(xié)議通信概述

    串口自由協(xié)議通信種靈活的串行通信方式。在該模式下,開發(fā)者無需遵循特定標(biāo)準(zhǔn)協(xié)議,可根據(jù)實際需求自由定義數(shù)據(jù)格式與交互規(guī)則。
    的頭像 發(fā)表于 08-07 09:15 ?2170次閱讀
    PLC<b class='flag-5'>串口</b>自由協(xié)議<b class='flag-5'>通信</b>概述

    智嵌物聯(lián)串口轉(zhuǎn)光纖轉(zhuǎn)換器-延長串口通信距離,增強抗干擾性能

    智嵌物聯(lián)研發(fā)的串口光纖收發(fā)器是將RS-485/422/RS232接口信號轉(zhuǎn)換為光纖接口傳輸,通信距離可達20Km,大大延長串口通信距離以及抗干擾性能。設(shè)備可自適應(yīng)
    的頭像 發(fā)表于 06-27 17:08 ?747次閱讀
    智嵌物聯(lián)<b class='flag-5'>串口</b>轉(zhuǎn)光纖轉(zhuǎn)換器-延長<b class='flag-5'>串口</b><b class='flag-5'>通信</b>距離,增強抗干擾性能

    ESP32用作經(jīng)典藍牙串口透傳模塊與手機進行串口通信

    本文介紹了如何把ESP32用作個藍牙串口透傳設(shè)備使用,其功能和常用的HC-05/06串口藍牙設(shè)備樣。并與手機藍牙串口APP進行雙向藍牙
    的頭像 發(fā)表于 06-20 17:45 ?3018次閱讀
    ESP32用作經(jīng)典藍牙<b class='flag-5'>串口</b>透傳模塊與手機進行<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    串口網(wǎng)關(guān)是什么

    串口網(wǎng)關(guān)是什么? 串口網(wǎng)關(guān)(Serial Gateway) 是種硬件或軟件設(shè)備,用于將 串口通信協(xié)議 (如RS-232、RS-485、TT
    的頭像 發(fā)表于 06-05 11:31 ?799次閱讀

    常用通信接口串口、RS232、RS485、USB、TYPE-C原理與區(qū)別)

    、什么是串口通信?常見的串口通信般是指異步串行通信
    的頭像 發(fā)表于 05-29 15:44 ?3935次閱讀
    常用<b class='flag-5'>通信</b>接口<b class='flag-5'>一</b>(<b class='flag-5'>串口</b>、RS232、RS485、USB、TYPE-C原理與區(qū)別)

    第七章 串口通信

    本章介紹了W55MH32的串口通信,講述了數(shù)據(jù)通信基礎(chǔ)概念、串口通信協(xié)議和特性與功能,以及DMA在串口
    的頭像 發(fā)表于 05-26 17:00 ?1002次閱讀
    第七章 <b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    發(fā)個比較少有串口通信電路

    最近幫網(wǎng)友維修個進口的設(shè)備,設(shè)備是兩個模塊,中間用4芯電纜連接,發(fā)現(xiàn)兩個模塊之間通信用的是串口通信,之前沒有見到過這樣的電路,于是抄了
    發(fā)表于 05-11 21:13

    輕松解碼串口通信

    說到通信,在我們的生活方方面面體現(xiàn)的淋漓盡致,比如手機信號,WiFi 等這些無線通信更是近些年 熱點并且各種通信設(shè)備都出來了,真的是科技社會,對我們的生活太方便了對于通信,我們今天聊
    發(fā)表于 03-24 14:22 ?4次下載

    串口通信的優(yōu)勢與缺點

    串口通信以其簡單實現(xiàn)、低成本、遠距離傳輸、良好兼容性和強實時性著稱,適用于多種場景,但也存在傳輸速度慢、抗干擾能力弱、距離受限、靈活性不足及資源占用多的缺點,需根據(jù)實際需求選擇使用。
    的頭像 發(fā)表于 03-13 15:01 ?1611次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>的優(yōu)勢與缺點