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

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

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

串口通信的分類

jf_78858299 ? 來(lái)源:嵌入式基地 ? 作者:嵌入式基地 ? 2023-04-04 15:20 ? 次閱讀

口是串行接口(serial port)的簡(jiǎn)稱,也稱為串行通信接口或COM接口。

串口通信是指采用串行通信協(xié)議(serial communication)在一條信號(hào)線上將數(shù)據(jù)一個(gè)比特一個(gè)比特地逐位進(jìn)行傳輸?shù)耐ㄐ拍J健?/p>

串口按電氣標(biāo)準(zhǔn)及協(xié)議來(lái)劃分,包括RS-232-C、RS-422、RS485等。

一、按通信方式分類

同步通信

  • 時(shí)鐘同步信號(hào)傳輸,比如SPI,IIC通信接口。
  • 在同步通訊中,收發(fā)設(shè)備上方會(huì)使用一根信號(hào)線傳輸信號(hào),在時(shí)鐘信號(hào)的驅(qū)動(dòng)下雙方進(jìn)行協(xié)調(diào),同步數(shù)據(jù)。例如,通訊中通常雙方會(huì)統(tǒng)一規(guī)定在時(shí)鐘信號(hào)的上升沿或者下降沿對(duì)數(shù)據(jù)線進(jìn)行采樣。

異步通信

  • 不帶時(shí)鐘同步信號(hào),比如UART(通用異步收發(fā)器),單總線。
  • 在異步通訊中不使用時(shí)鐘信號(hào)進(jìn)行數(shù)據(jù)同步,它們直接在數(shù)據(jù)信號(hào)中穿插一些用于同步的信號(hào)位,或者將主題數(shù)據(jù)進(jìn)行打包,以數(shù)據(jù)幀的格式傳輸數(shù)據(jù)。通訊中還需要雙方規(guī)約好數(shù)據(jù)的傳輸速率(也就是波特率)等,以便更好地同步。常用的波特率有4800bps、9600bps、115200bps等。
異步通信數(shù)據(jù)格式

異步通信規(guī)定傳輸?shù)臄?shù)據(jù)格式由起始位(start bit)、數(shù)據(jù)位(data bit)、奇偶校驗(yàn)位(parity bit)和停止位(stop bit)組成。

圖片

  • 起始位:起始位必須是持續(xù)一個(gè)比特時(shí)間的邏輯0電平,標(biāo)志傳輸一個(gè)字符的開始,接收方可用起始位使自己的接收時(shí)鐘與發(fā)送方的數(shù)據(jù)同步。
  • 數(shù)據(jù)位:數(shù)據(jù)位緊跟在起始位之后,是通信中的真正有效信息。數(shù)據(jù)位的位數(shù)可以由通信雙方共同約定,一般可以是5位、7位或8位,標(biāo)準(zhǔn)的ASCII碼是0127(7位),擴(kuò)展的ASCII碼是0255(8位)。傳輸數(shù)據(jù)時(shí)先傳送字符的低位,后傳送字符的高位。
  • 奇偶校驗(yàn)位:奇偶校驗(yàn)位僅占一位,用于進(jìn)行奇校驗(yàn)或偶校驗(yàn),奇偶檢驗(yàn)位不是必須有的。如果是奇校驗(yàn),需要保證傳輸?shù)臄?shù)據(jù)總共有奇數(shù)個(gè)邏輯高位;如果是偶校驗(yàn),需要保證傳輸?shù)臄?shù)據(jù)總共有偶數(shù)個(gè)邏輯高位。

舉例來(lái)說(shuō),假設(shè)傳輸?shù)臄?shù)據(jù)位為01001100,如果是奇校驗(yàn),則奇校驗(yàn)位為0(要確保總共有奇數(shù)個(gè)1),如果是偶校驗(yàn),則偶校驗(yàn)位為1(要確??偣灿信紨?shù)個(gè)1)。

由此可見,奇偶校驗(yàn)位僅是對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的置邏輯高位或邏輯低位,不會(huì)對(duì)數(shù)據(jù)進(jìn)行實(shí)質(zhì)的判斷,這樣做的好處是接收設(shè)備能夠知道一個(gè)位的狀態(tài),有可能判斷是否有噪聲干擾了通信以及傳輸?shù)臄?shù)據(jù)是否同步。

  • 停止位:停止位可以是是1位、1.5位或2位,可以由軟件設(shè)定。它一定是邏輯1電平,標(biāo)志著傳輸一個(gè)字符的結(jié)束。
  • 空閑位:空閑位是指從一個(gè)字符的停止位結(jié)束到下一個(gè)字符的起始位開始,表示線路處于空閑狀態(tài),必須由高電平來(lái)填充。
異步通信的數(shù)據(jù)發(fā)送過(guò)程
  • (1)初始化后或者沒(méi)有數(shù)據(jù)需要發(fā)送時(shí),發(fā)送端輸出邏輯1,可以有任意數(shù)量的空閑位。
  • (2)當(dāng)需要發(fā)送數(shù)據(jù)時(shí),發(fā)送端首先輸出邏輯0,作為起始位。
  • (3)接著就可以開始輸出數(shù)據(jù)位了,發(fā)送端首先輸出數(shù)據(jù)的最低位D0,然后是D1,最后是數(shù)據(jù)的最高位。
  • (4)如果設(shè)有奇偶檢驗(yàn)位,發(fā)送端輸出檢驗(yàn)位。
  • (5)最后,發(fā)送端輸出停止位(邏輯1)。
  • (6)如果沒(méi)有信息需要發(fā)送,發(fā)送端輸出邏輯1(空閑位),如果有信息需要發(fā)送,則轉(zhuǎn)入步驟(2)。
異步通信的數(shù)據(jù)接收過(guò)程

在異步通信中,接收端以接收時(shí)鐘和波特率因子決定每一位的時(shí)間長(zhǎng)度。下面以波特率因子等于16(接收時(shí)鐘每16個(gè)時(shí)鐘周期使接收移位寄存器移位一次)為例來(lái)說(shuō)明。

  • (1)開始通信,信號(hào)線為空閑(邏輯1),當(dāng)檢測(cè)到由1到0的跳變時(shí),開始對(duì)接收時(shí)鐘計(jì)數(shù)。
  • (2)當(dāng)計(jì)到8個(gè)時(shí)鐘的時(shí)候,對(duì)輸入信號(hào)進(jìn)行檢測(cè),若仍然為低電平,則確認(rèn)這是起始位,而不是干擾信號(hào)。
  • (3)接收端檢測(cè)到起始位后,隔16個(gè)接收時(shí)鐘對(duì)輸入信號(hào)檢測(cè)一次,把對(duì)應(yīng)的值作為D0位數(shù)據(jù)。
  • (4)再隔16個(gè)接收時(shí)鐘,對(duì)輸入信號(hào)檢測(cè)一次,把對(duì)應(yīng)的值作為D1位數(shù)據(jù),直到全部數(shù)據(jù)位都輸入。
  • (5)檢驗(yàn)奇偶檢驗(yàn)位。
  • (6)接收到規(guī)定的數(shù)據(jù)位個(gè)數(shù)和校驗(yàn)位之后,通信接口電路希望收到停止位(邏輯1),若此時(shí)未收到邏輯1,說(shuō)明出現(xiàn)了錯(cuò)誤,在狀態(tài)寄存器中置“幀錯(cuò)誤”標(biāo)志;若沒(méi)有錯(cuò)誤,對(duì)全部數(shù)據(jù)位進(jìn)行奇偶校驗(yàn),無(wú)校驗(yàn)錯(cuò)時(shí),把數(shù)據(jù)位從移位寄存器中取出送至數(shù)據(jù)輸入寄存器,若校驗(yàn)錯(cuò),在狀態(tài)寄存器中置“奇偶錯(cuò)”標(biāo)志。
  • (7)本幀信息全部接收完,把線路上出現(xiàn)的高電平作為空閑位。
  • (8)當(dāng)信號(hào)再次變?yōu)榈蜁r(shí),開始進(jìn)入下一幀的檢測(cè)。

區(qū)別

  • 在同步通訊中,數(shù)據(jù)信號(hào)所傳輸?shù)膬?nèi)容絕大部分是有效數(shù)據(jù),而異步通訊中會(huì)則會(huì)包含數(shù)據(jù)幀的各種標(biāo)識(shí)符,所以同步通訊效率高。
  • 同步通訊雙方的時(shí)鐘允許誤差小,稍稍時(shí)鐘出錯(cuò)就可能導(dǎo)致數(shù)據(jù)錯(cuò)亂,異步通訊雙方的時(shí)鐘允許誤差較大。

二、按照數(shù)據(jù)傳輸方向分類

  • 單工:數(shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一個(gè)方向上傳輸,如圖a所示。
  • 半雙工:允許數(shù)據(jù)在兩個(gè)方向上傳輸。但是,在某一時(shí)刻,只允許數(shù)據(jù)在一個(gè)方向上傳輸,它實(shí)際上是一種切換方向的單工通信;它不需要獨(dú)立的接收端和發(fā)送端,兩者可以合并一起使用一個(gè)端口,如圖b所示。
  • 全雙工:允許數(shù)據(jù)同時(shí)在兩個(gè)方向上傳輸。因此,全雙工通信是兩個(gè)單工通信方式的結(jié)合,需要獨(dú)立的接收端和發(fā)送端,如圖c所示。
    圖片
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    840

    瀏覽量

    40215
  • RS485
    +關(guān)注

    關(guān)注

    39

    文章

    1135

    瀏覽量

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

    關(guān)注

    34

    文章

    1607

    瀏覽量

    55381
  • Com
    Com
    +關(guān)注

    關(guān)注

    1

    文章

    107

    瀏覽量

    40589
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是串口波特率?串口波特率的分類及應(yīng)用詳解

    直接影響到通信的質(zhì)量和效率。本文將介紹串口波特率的分類、選擇以及應(yīng)用。串口波特率的分類根據(jù)不同的應(yīng)用需求,
    的頭像 發(fā)表于 08-08 10:09 ?5693次閱讀
    什么是<b class='flag-5'>串口</b>波特率?<b class='flag-5'>串口</b>波特率的<b class='flag-5'>分類</b>及應(yīng)用詳解

    串口通信基本原理是什么?

    串口通信基本原理是什么?串行通信分類有哪些?
    發(fā)表于 12-03 06:08

    STM32_USART串口通訊通信方式

    STM32_USART 串口通訊通信方式的分類按照通信方式分類:按照數(shù)據(jù)傳送方向分類
    發(fā)表于 12-09 06:36

    串口通信分類及原理

    錄【實(shí)驗(yàn)?zāi)康摹俊緦?shí)驗(yàn)原理】一、USART接口簡(jiǎn)介二、串口通信分類及原理三、硬件連接和USART庫(kù)函數(shù)介紹四、軟件流程圖【實(shí)驗(yàn)環(huán)境】操作系統(tǒng):設(shè)備簡(jiǎn)介:【實(shí)驗(yàn)步驟】一、配置工程環(huán)境二、開啟時(shí)鐘...
    發(fā)表于 12-24 08:16

    常見的串口有哪些

    communication port :串行通訊端口), 嵌入式里面說(shuō)的串口,一般是指UART口。計(jì)算機(jī)上的串口常指RS232電平標(biāo)準(zhǔn)的COM口。? UART口和COM口是指的物理接口形式(硬件),而TTL、RS-232、RS-485是指的電平標(biāo)準(zhǔn)(電信號(hào))。二、
    發(fā)表于 02-17 07:04

    單片機(jī)中各種通信方式的分類

    目錄一、單片機(jī)中各種通信方式的分類1. 串行通信中的單工、半雙工、全雙工2.串行通信中的同步和異步3. 單片機(jī)中的串行通信方式
    發(fā)表于 02-17 06:21

    STM32串口通訊基礎(chǔ)知識(shí)點(diǎn)大合集,絕對(duì)實(shí)用

    4.2、 UART(USART)框圖02、設(shè)備之間通訊的方式并行通訊與串行通訊串行(串口)通信分類分為兩類:按照數(shù)據(jù)傳送方向、按照通信方式按照數(shù)據(jù)傳送方向:?jiǎn)喂ぃ簲?shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一
    發(fā)表于 02-21 06:04

    串口通信調(diào)試(PC與PC串口通信

    【LabVIEW從入門到精通】4.1.6 串口通信調(diào)試(PC與PC串口通信
    發(fā)表于 01-08 15:43 ?0次下載

    串口通信調(diào)試(PC與智能儀器串口通信

    【LabVIEW從入門到精通】4.1.6 串口通信調(diào)試(PC與智能儀器串口通信
    發(fā)表于 01-08 15:42 ?0次下載

    niosii的UART串口通信

    niosii的UART串口通信niosii的UART串口通信。
    發(fā)表于 04-06 17:03 ?1次下載

    STM32_USART 串口通訊

    STM32_USART 串口通訊通信方式的分類按照通信方式分類:按照數(shù)據(jù)傳送方向分類
    發(fā)表于 11-26 12:06 ?13次下載
    STM32_USART <b class='flag-5'>串口</b>通訊

    stm32_常見串口、串口通信分類、UART編程套路以及注意事項(xiàng)

    communication port :串行通訊端口), 嵌入式里面說(shuō)的串口,一般是指UART口。計(jì)算機(jī)上的串口常指RS232電平標(biāo)準(zhǔn)的COM口。? UART口和COM口是指的物理接口形式(硬件),而TTL、RS-232、RS-485是指的電平標(biāo)準(zhǔn)(電信號(hào))。二、
    發(fā)表于 12-20 19:26 ?2次下載
    stm32_常見<b class='flag-5'>串口</b>、<b class='flag-5'>串口</b><b class='flag-5'>通信</b><b class='flag-5'>分類</b>、UART編程套路以及注意事項(xiàng)

    stm32串口通信

    通信的概念通信分類:串行通信,并行通信。串行通信:usart,iic,spi并行:SDIO,F(xiàn)
    發(fā)表于 12-20 19:32 ?3次下載
    stm32<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    【嵌入式】STM32通訊方式

    4.2、 UART(USART)框圖02、設(shè)備之間通訊的方式并行通訊與串行通訊串行(串口)通信分類分為兩類:按照數(shù)據(jù)傳送方向、按照通信方式按照數(shù)據(jù)傳送方向:?jiǎn)喂ぃ簲?shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一
    發(fā)表于 12-24 19:06 ?10次下載
    【嵌入式】STM32通訊方式

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

    在之前的文章中小編介紹了什么是CAN總線,包括CAN總線的數(shù)據(jù)格式和通信特點(diǎn)等方面的內(nèi)容,今天將分享串口通信相關(guān)知識(shí)內(nèi)容。CAN總線、串口通信
    的頭像 發(fā)表于 06-21 17:45 ?2245次閱讀
    【分享】什么是<b class='flag-5'>串口</b><b class='flag-5'>通信</b>?<b class='flag-5'>串口</b>常見<b class='flag-5'>通信</b>問(wèn)題如何解決?