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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

編輯:hfy

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

    關注

    68

    文章

    10896

    瀏覽量

    212520
  • 串口通信
    +關注

    關注

    34

    文章

    1627

    瀏覽量

    55630
  • 并行通信
    +關注

    關注

    1

    文章

    31

    瀏覽量

    10843
收藏 人收藏

    評論

    相關推薦

    串口通信,Omron使用并行通信,有點慢

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

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

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

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

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

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

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

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

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

    如何采用中斷模式進行點燈和串口通信編程?

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

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

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

    怎樣采用DMA模式進行串口通信

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

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

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

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

    串行接口是一種可以將接受來自CPU的并行數(shù)據(jù)字符轉換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時可將接受的串行數(shù)據(jù)流轉換為并行的數(shù)據(jù)字符供給CPU的器件。并行通信在計算機和終端之間的數(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串口通信編程實例

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

    串口通信的原理和使用教程及使用代碼免費下載

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

    51單片機之串口通信詳解

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

    STM32中的串口通信的基礎知識

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

    fpga串口通信的verilog驅動編程解析

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