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

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

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

串口通信為什么采用并行模式?

454398 ? 來源:dfrobot ? 作者:dfrobot ? 2021-03-22 17:33 ? 次閱讀

單片機(jī)與外圍設(shè)備,單片機(jī)與單片機(jī)之間進(jìn)行通信,通俗點(diǎn)說就是數(shù)據(jù)傳輸,數(shù)據(jù)傳輸?shù)姆绞接卸喾N,我們經(jīng)常用到的就有串口通信、IIC通信、RS232,485,CAN總線等等。目前在中小學(xué)實(shí)驗(yàn)室中,學(xué)生們操作開源硬件,用到的通信方式以IIC,串口通信居多。今天咱們就先來聊聊串口通信。

單片機(jī)的CPU和外界通信時采用的是并行模式,為什么采用并行模式?大家只要稍微一思考就能想出答案。并行通信指的是數(shù)據(jù)(以8位為基數(shù))在傳輸時一次同時發(fā)送8個位,打個比方,這就像8個人同時去打水,每人提一個水桶,那怎樣才能在最短的時間內(nèi)將8個水桶裝滿水呢?那當(dāng)然是用8個水龍頭同時為8個水桶裝水,每個水龍頭裝一個桶,8個水龍頭相互之間各不影響。單片機(jī)的接口與外部設(shè)備進(jìn)行通信時則是采用串行通信模式,所謂串行通信模式,就是數(shù)據(jù)按照順序一位一位的傳輸,數(shù)據(jù)的傳輸具有時間上的先后順序。同樣打個比方,8個人去提水,只有一個水龍頭,這8個人就要一個一個排隊,裝滿一個水桶再裝下一個水桶。很顯然,并行通信比串行通信速度更快。

采用并行通信,由于在同一時間內(nèi)需要同時發(fā)送或接收8個位的數(shù)據(jù),每個數(shù)據(jù)占據(jù)一個數(shù)據(jù)位,就需要8條數(shù)據(jù)線來進(jìn)行數(shù)據(jù)傳送與接收,在提高傳輸速度的同時犧牲了硬件資源;而采用串行通信,數(shù)據(jù)是一個位一個位的按順序發(fā)送或接收,那就只需要兩條數(shù)據(jù)線就夠了,一條用于發(fā)送數(shù)據(jù),一條用于接收數(shù)據(jù)。數(shù)據(jù)傳輸?shù)乃俣缺炔簧喜⑿型ㄐ?,但是?jié)省了大量的硬件資源。

至此,也許你已經(jīng)對串口通信有了初步認(rèn)識,但是,還沒結(jié)束。我們在應(yīng)用串口通信時還會遇到一些專業(yè)術(shù)語知識,下面我再給大家簡單介紹一下:

1、串口連接。單片機(jī)進(jìn)行串口通信時總是要求實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,即發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。在我們的單片機(jī)上你會找到串口通信接口,TXD(Transmit Data)數(shù)據(jù)發(fā)送端口和RXD(Receive Data)數(shù)據(jù)接收端口。單片機(jī)在進(jìn)行串行通信連接時,一方的TX數(shù)據(jù)發(fā)送端要接另一方的RX數(shù)據(jù)接收端;RX數(shù)據(jù)接收端接另一方的TX數(shù)據(jù)發(fā)送端。即你發(fā)我收,我發(fā)你收。當(dāng)然還要為單片機(jī)提供電源,這個就不用多說了吧!

2、波特率(bps)。bits per second,比特/秒。也叫做比特率,只是音譯上的區(qū)別而已。它反應(yīng)的是每秒進(jìn)行通訊的位數(shù)。我們經(jīng)??吹?a target="_blank">電腦網(wǎng)絡(luò)連接速度XXMbps,即是指每秒鐘處理數(shù)據(jù)的個數(shù)為XX兆位。

3、數(shù)據(jù)模式。這里就要為大家介紹下數(shù)據(jù)位、停止位、校驗(yàn)位的概念。

數(shù)據(jù)位是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計算機(jī)發(fā)送一個信息包時,實(shí)際的數(shù)據(jù)不一定全是8位的,標(biāo)準(zhǔn)的值是5、6、7和8位。究竟是幾位取決于實(shí)際傳送的信息。我們都知道一個字節(jié)是8個位。標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。而擴(kuò)展的ASCII碼則是0~255(8位)。如果數(shù)據(jù)使用標(biāo)準(zhǔn) ASCII碼,那么每個數(shù)據(jù)包就是7個數(shù)據(jù)位。每個數(shù)據(jù)包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語“包”指任何通信的情況。

停止位用于表示一個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的時差,導(dǎo)致不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,它還提供計算機(jī)校正時鐘同步的機(jī)會。停止位的位數(shù)越多,時鐘校正的程度越大,數(shù)據(jù)傳輸率同時也越慢。

檢驗(yàn)位是串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。也可以沒有校驗(yàn)位。對于偶和奇校驗(yàn)的情況,串口會設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶數(shù)個或者奇數(shù)個邏輯1。例如,如果數(shù)據(jù)是011,那么對于偶校驗(yàn),校驗(yàn)位為0,保證邏輯1的位數(shù)是偶數(shù)個。如果是奇校驗(yàn),校驗(yàn)位為1,這樣就有3個邏輯1位。高位和低位不是真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),判斷通信是否受到干擾或者傳輸和接收數(shù)據(jù)是否同步。

一般在默認(rèn)的情況下為“8N1”模式,即8位數(shù)據(jù)位,無(None)校驗(yàn),1位停止位。

相信通過以上介紹,你已經(jīng)對串口通信又有了更深的理解。真正掌握串口通信原理還需要在實(shí)踐中不斷探索。

編輯:hfy

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

    關(guān)注

    68

    文章

    10778

    瀏覽量

    210483
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1605

    瀏覽量

    55328
  • 并行通信
    +關(guān)注

    關(guān)注

    1

    文章

    31

    瀏覽量

    10800
收藏 人收藏

    評論

    相關(guān)推薦

    串口通信,Omron使用并行通信,有點(diǎn)慢

    串口通信,Omron使用并行通信,有點(diǎn)慢在Omron232通信中發(fā)現(xiàn)連續(xù)讀取內(nèi)存區(qū)有點(diǎn)慢,怎么回事求大俠幫助
    發(fā)表于 07-15 18:58

    串口通信有哪幾種方式?串行通信并行通信分別有哪些優(yōu)點(diǎn)以及缺點(diǎn)?

    串口通信有哪幾種方式?串行通信并行通信分別有哪些優(yōu)點(diǎn)以及缺點(diǎn)?串行通信的必要過程是怎樣進(jìn)行的?
    發(fā)表于 07-06 06:19

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

    目錄通信基礎(chǔ)知識STM32串口通信基礎(chǔ)(UART)串口通信過程UART中設(shè)置的參數(shù)通信基礎(chǔ)知識?
    發(fā)表于 07-27 08:05

    并行通信和串行通信的優(yōu)缺點(diǎn)是什么?

    并行通信和串行通信的優(yōu)缺點(diǎn)是什么?STM32的串口通信原理是什么?常用的串口相關(guān)寄存器是什么?
    發(fā)表于 12-09 06:55

    什么是并行通信和串行通信

    基礎(chǔ)知識介紹什么是并行通信和串行通信串行通信:串行通信是指利用一條傳輸線將數(shù)據(jù)一位位地順序傳送。傳輸方式:傳輸一個字節(jié)(8個位)的數(shù)據(jù)時,
    發(fā)表于 01-13 06:09

    如何采用中斷模式進(jìn)行點(diǎn)燈和串口通信編程?

    如何采用中斷模式進(jìn)行點(diǎn)燈和串口通信編程?
    發(fā)表于 02-08 06:17

    如何配置STM32串口異步通信的輸入輸出模式

    STM32串口異步通信需要定義的參數(shù)奇偶矯正位如果GPIO作為串口,如何配置輸入輸出模式?異步串口通信
    發(fā)表于 02-18 06:14

    怎樣采用DMA模式進(jìn)行串口通信

    DMA是什么呢?有何功能?怎樣采用DMA模式進(jìn)行串口通信呢?
    發(fā)表于 02-28 11:10

    對于串口通信程序的LabView不同編程模式之探討

    對隊列處理器模式作了改進(jìn),將元素入隊列和元素出隊列分在二個while循環(huán)中并行完成。圖6所示的串口通信程序框圖中,元素入隊列在圖6下面的while循環(huán)(生產(chǎn)者循環(huán))中完成,元素出隊列在
    發(fā)表于 06-15 09:54

    串口通信并行通信有什么區(qū)別

    串行接口是一種可以將接受來自CPU的并行數(shù)據(jù)字符轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時可將接受的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符供給CPU的器件。并行通信在計算機(jī)和終端之間的數(shù)據(jù)傳輸通常是
    發(fā)表于 02-01 09:28 ?1.6w次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>與<b class='flag-5'>并行</b><b class='flag-5'>通信</b>有什么區(qū)別

    java串口通信編程實(shí)例

    串口通信串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在
    的頭像 發(fā)表于 02-01 10:15 ?2.4w次閱讀
    java<b class='flag-5'>串口</b><b class='flag-5'>通信</b>編程實(shí)例

    串口通信的原理和使用教程及使用代碼免費(fèi)下載

    串口通信(Serial Communications)的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信
    發(fā)表于 09-09 17:26 ?2次下載
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>的原理和使用教程及使用代碼免費(fèi)下載

    51單片機(jī)之串口通信詳解

    串口通信基本通信方式有兩種:并行通信和串行通信。串行通信
    發(fā)表于 11-11 10:36 ?13次下載
    51單片機(jī)之<b class='flag-5'>串口</b><b class='flag-5'>通信</b>詳解

    STM32中的串口通信的基礎(chǔ)知識

    STM32串口異步通信需要定義的參數(shù)奇偶矯正位如果GPIO作為串口,如何配置輸入輸出模式?異步串口通信
    發(fā)表于 12-24 18:37 ?4次下載
    STM32中的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>的基礎(chǔ)知識

    fpga串口通信的verilog驅(qū)動編程解析

    串口的全程為串行接口,也稱為串行通信接口,是采用串行通信方式的擴(kuò)展接口。與串口對應(yīng)的并行接口,例
    發(fā)表于 04-21 11:18 ?760次閱讀