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

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

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

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

【分享】什么是串口通信?串口常見(jiàn)通信問(wèn)題如何解決?

億佰特物聯(lián)網(wǎng)應(yīng)用專(zhuān)家 ? 2023-06-21 17:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在之前的文章中小編介紹了什么是CAN總線,包括CAN總線的數(shù)據(jù)格式和通信特點(diǎn)等方面的內(nèi)容,今天將分享串口通信相關(guān)知識(shí)內(nèi)容。CAN總線、串口通信都屬于比較常見(jiàn)的有線傳輸方式。

前文指路《還不知道什么是CAN總線?一定要看這篇文章!》

有線傳輸方式

第二期:串口通信

什么是串口通信?

串口通信(Serial Communication),是指外設(shè)和計(jì)算機(jī)之間通過(guò)數(shù)據(jù)信號(hào)線、地線等按位進(jìn)行傳輸數(shù)據(jù)的一種通信方式。

特點(diǎn):數(shù)據(jù)位的傳輸按位順序執(zhí)行,最少只需一根傳輸線即可完成;成本低但傳輸速度慢。串口通信的距離可以從幾米到幾千米。

串口通信的數(shù)據(jù)格式

一個(gè)完整的串口數(shù)據(jù)格式包括起始位、數(shù)據(jù)位、校驗(yàn)位、停止位、波特率等幾個(gè)參數(shù)。

5a2f52e8-1018-11ee-a579-dac502259ad0.png

起始位:起始位必須是持續(xù)一個(gè)bit時(shí)間的邏輯0電平,它標(biāo)志傳輸一個(gè)字符的開(kāi)始。接收端可通過(guò)起始位使自身時(shí)鐘與發(fā)送端的數(shù)據(jù)同步。

數(shù)據(jù)位:數(shù)據(jù)位在起始位的后面,是串口通信的有效信息。數(shù)據(jù)位的位數(shù)可以由通信雙方共同約定,通常為8個(gè)bit。傳輸數(shù)據(jù)時(shí)先傳輸字符的低位,后傳輸字符的高位。

奇偶校驗(yàn)位:奇偶校驗(yàn)位僅占一位,用于進(jìn)行奇校驗(yàn)或偶校驗(yàn)。該位不是必須有的。如果是奇校驗(yàn),需要保證傳輸?shù)臄?shù)據(jù)總共有奇數(shù)個(gè)邏輯高位;如果是偶校驗(yàn),需要保證傳輸?shù)臄?shù)據(jù)總共有偶數(shù)個(gè)邏輯高位。

5a4365bc-1018-11ee-a579-dac502259ad0.png

停止位:停止位可以是1位、1.5位或2位。必須是邏輯1電平,它標(biāo)志傳輸一個(gè)字符的結(jié)束。

空閑位:空閑位是指從一個(gè)字符的停止位結(jié)束到下一個(gè)字符的起始位開(kāi)始,表示傳輸線路處于空閑狀態(tài),串口空閑時(shí)處于高電平。

波特率:波特率是串口通信中最常用的重要參數(shù)。它指的是串口通信的速率,也就是串口通信時(shí)每秒鐘可以傳輸多少個(gè)二進(jìn)制位。例如波特率為9600,則說(shuō)明每秒鐘可以傳輸9600個(gè)二進(jìn)制位,即傳輸一個(gè)二進(jìn)制位需要的時(shí)間為1/9600秒。

電平標(biāo)準(zhǔn)

根據(jù)通訊使用的電平標(biāo)準(zhǔn)不同,串口通訊可分為T(mén)TL 標(biāo)準(zhǔn)及RS-232 標(biāo)準(zhǔn),見(jiàn)下表。

5a568322-1018-11ee-a579-dac502259ad0.png

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

因?yàn)?a target="_blank">控制器一般使用TTL電平標(biāo)準(zhǔn),所以常常會(huì)使用MA3232芯片對(duì)TTL及RS-232電平的信號(hào)進(jìn)行互相轉(zhuǎn)換。

主要的串口通信方式

先簡(jiǎn)單了解下什么是單雙工通訊。

單工:數(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ā)送端。

5a7a6ce2-1018-11ee-a579-dac502259ad0.png

串口通信主要分為RS232、RS422、RS485三種通信方式。

RS232

RS-232是IBM-PC及其兼容機(jī)上的串行連接標(biāo)準(zhǔn)。全雙工通信,需要地線、發(fā)送線和接收線三條線。RS-232只限于PC串口和設(shè)備間點(diǎn)對(duì)點(diǎn)的通信,抗干擾能力較差,最遠(yuǎn)通信距離是50英尺。RS-232可用于許多用途,比如連接鼠標(biāo)、打印機(jī)、工業(yè)儀器儀表,也用于驅(qū)動(dòng)和連線的改進(jìn),實(shí)際應(yīng)用中RS-232的傳輸長(zhǎng)度或者速度常常超過(guò)標(biāo)準(zhǔn)的值。

RS422

RS-422(EIA RS-422-A Standard)是Apple的Macintosh計(jì)算機(jī)的串口連接標(biāo)準(zhǔn)。采用全雙工通訊方式,有4根信號(hào)線,收與發(fā)是分開(kāi)的,可以同時(shí)進(jìn)行收和發(fā)。RS-422接口的最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mb/s。

RS-422使用差分信號(hào)以及非平衡參考地的信號(hào)。差分傳輸使用兩根線發(fā)送和接收信號(hào),對(duì)比RS-232,它能更好地抗噪聲和有更遠(yuǎn)的傳輸距離,在工業(yè)環(huán)境中尤為適用。

RS485

RS-485采用半雙工通訊方式,支持多點(diǎn)數(shù)據(jù)通信。因?yàn)樗黾恿嗽O(shè)備的個(gè)數(shù),同時(shí)定義了在最大設(shè)備個(gè)數(shù)情況下的電氣特性,以保證足夠的信號(hào)電壓。RS-485具有出色抗噪和多設(shè)備能力,RS-485可用超過(guò)4000英尺的線進(jìn)行串行通行。RS485采用平衡發(fā)送和差分接收,具有良好的抗干擾能力,信號(hào)能傳輸上千米。RS-422設(shè)備可以被RS-485控制。

串口通信問(wèn)題排查

我們排查串口通信問(wèn)題的方向基本為以下幾部分,如圖所示。

5a9910d4-1018-11ee-a579-dac502259ad0.png

1.檢查中間件

串口通信必然存在發(fā)送端和接收端,且兩者通過(guò)中間件(例如導(dǎo)線),遇到問(wèn)題,首先應(yīng)該保證導(dǎo)線連接正常。如果這一部分沒(méi)有確定,直接排查其他方向,很可能在做無(wú)用功。

2.排查硬件層

通過(guò)邏輯分析儀、示波器等儀器來(lái)判斷發(fā)送端、接收端在發(fā)送、接收、空閑時(shí)的引腳波形是否正常。串口空閑時(shí)為高電平,有數(shù)據(jù)時(shí)才會(huì)有電平變化。同時(shí)需要確定電壓是否正常。波形測(cè)量的位置先從最終點(diǎn)開(kāi)始測(cè)量,然后依次排查中間部分的探測(cè)點(diǎn),來(lái)判斷問(wèn)題位置。

如果發(fā)現(xiàn)波形變形、失真、電壓不正常等情況,請(qǐng)讓硬件工程師協(xié)助進(jìn)行排查。在其起始點(diǎn)可以看到波形,但是終點(diǎn)看不到,需要使用萬(wàn)用表來(lái)確定是否引腳存在虛焊。

3.檢查串口驅(qū)動(dòng)層

如果排查了硬件無(wú)問(wèn)題以后,但是發(fā)送端串口沒(méi)有波形,這時(shí)候就需要檢查串口驅(qū)動(dòng)是否配置成功了。可以先將發(fā)送端的Tx、Rx引腳短接,進(jìn)行回環(huán)測(cè)試。最好先用一個(gè)簡(jiǎn)單例程進(jìn)行測(cè)試,盡量排除多個(gè)變量的影響。排查時(shí)需要特別注意的是,不能只看代碼邏輯,要注重實(shí)際調(diào)試,善于利用軟件調(diào)試窗口來(lái)觀察相關(guān)寄存器的值。

4.應(yīng)用協(xié)議層

通過(guò)以上方向的排查,可以證明自發(fā)自收沒(méi)有問(wèn)題。接下來(lái)就驗(yàn)證雙方是否可以正常通信。應(yīng)用協(xié)議層可能存在的問(wèn)題有:

①發(fā)送端與接收端數(shù)據(jù)協(xié)議有問(wèn)題,例如CRC、幀頭幀尾校驗(yàn)、解析數(shù)據(jù)包等方面。

②發(fā)送端與接收端串口配置的參數(shù):波特率、校驗(yàn)位不一致,導(dǎo)致無(wú)法通信。

另外大家也需要注意下面這幾點(diǎn):

①由于信號(hào)容易被干擾,建議使用帶屏蔽線,并且接線一定要嚴(yán)格,需要接地的最好接地。有些485通信,還需要考慮接上終端電阻來(lái)匹配。如果是RS232通信,盡量不要讓線太長(zhǎng)。

②因?yàn)楹芏嘣O(shè)備通過(guò)外部晶振或者內(nèi)部時(shí)鐘計(jì)算的波特率都是存在誤差的。這樣的話一旦報(bào)文過(guò)長(zhǎng),會(huì)導(dǎo)致誤差累積,進(jìn)而出現(xiàn)串口識(shí)別亂碼或者收不到的情況。

③在一些可能會(huì)存在干擾的地方,可以考慮使用奇校驗(yàn)或者偶校驗(yàn),這樣可以將錯(cuò)誤的報(bào)文過(guò)濾掉或者盡量使用一些數(shù)據(jù)校驗(yàn)協(xié)議,防止數(shù)據(jù)出錯(cuò)。

聲明:本文內(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

    文章

    6206

    瀏覽量

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

    關(guān)注

    15

    文章

    1588

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    第七章 串口通信

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

    常見(jiàn)串口故障及解決方案 串口轉(zhuǎn)藍(lán)牙模塊使用技巧

    在現(xiàn)代電子設(shè)備和計(jì)算機(jī)系統(tǒng)中,串口通信是一種常見(jiàn)的數(shù)據(jù)傳輸方式。然而,串口通信可能會(huì)遇到各種故障,影響數(shù)據(jù)的傳輸效率和準(zhǔn)確性。
    的頭像 發(fā)表于 12-27 10:08 ?1828次閱讀

    常見(jiàn)串口通信協(xié)議 如何設(shè)置串口參數(shù)

    串口通信是一種常見(jiàn)通信方式,廣泛應(yīng)用于計(jì)算機(jī)、嵌入式系統(tǒng)和各種電子設(shè)備之間。串口通信協(xié)議主要是
    的頭像 發(fā)表于 12-27 09:51 ?3422次閱讀

    串口通信原理解析 串口與并口的區(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 ?1926次閱讀

    串口通信中常見(jiàn)的錯(cuò)誤碼含義

    串口通信中,常見(jiàn)的錯(cuò)誤碼及其含義對(duì)于診斷和解決通信問(wèn)題至關(guān)重要。以下是一些常見(jiàn)串口
    的頭像 發(fā)表于 11-22 09:26 ?2999次閱讀

    基于Arduino的串口通信項(xiàng)目

    基于Arduino的串口通信項(xiàng)目涉及多個(gè)方面,包括硬件連接、軟件編程、串口參數(shù)配置等。 一、硬件準(zhǔn)備 Arduino開(kāi)發(fā)板 :確保你有一塊Arduino開(kāi)發(fā)板,如Arduino Uno
    的頭像 發(fā)表于 11-22 09:24 ?2187次閱讀

    串口通信的開(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 ?928次閱讀

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

    在現(xiàn)代計(jì)算機(jī)和電子設(shè)備中,數(shù)據(jù)通信是信息交換的基礎(chǔ)。串口通信作為一種傳統(tǒng)的數(shù)據(jù)傳輸方式,盡管在某些應(yīng)用場(chǎng)景中逐漸被網(wǎng)絡(luò)通信所取代,但在特定的工業(yè)控制、嵌入式系統(tǒng)和設(shè)備間
    的頭像 發(fā)表于 11-22 09:14 ?1542次閱讀

    使用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 ?1466次閱讀

    串口通信常見(jiàn)問(wèn)題及解決方案

    串口通信常見(jiàn)問(wèn)題及解決方案 1. 串口通信原理簡(jiǎn)述 串口通信
    的頭像 發(fā)表于 11-22 09:06 ?6096次閱讀

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

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

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

    串口通信協(xié)議解析 串口通信協(xié)議是指規(guī)定了數(shù)據(jù)包的內(nèi)容,內(nèi)容包含了起始位、主體數(shù)據(jù)、校驗(yàn)位及停止位,雙方需要約定一致的數(shù)據(jù)包格式才能正常收發(fā)數(shù)據(jù)的有關(guān)規(guī)范。以下是
    的頭像 發(fā)表于 11-21 17:03 ?2135次閱讀

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

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

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

    串口助手和虛擬串口是什么?串口助手和虛擬串口串口通信中很
    的頭像 發(fā)表于 11-15 01:04 ?3774次閱讀
    為什么<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 ?3944次閱讀
    <b class='flag-5'>通信</b>技術(shù):UART<b class='flag-5'>串口</b><b class='flag-5'>通信</b>開(kāi)源代碼實(shí)操!