色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

USART波特率與SPI速率對比

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-01-15 16:37 ? 次閱讀

本文主要結(jié)合STM32,講述UART和SPI有關(guān)速率相關(guān)的知識。

1.串口和SPI內(nèi)部時鐘 在回答上面問題之前,需要先了解STM32內(nèi)部時鐘的概念,尤其是串口和SPI的內(nèi)部時鐘。

STM32里包含有系統(tǒng)時鐘、AHB時鐘和APB時鐘。APB時鐘來源于AHB,AHB時鐘來源于系統(tǒng)時鐘。

從上圖中可以看出,時鐘就像流水一樣,從時鐘源匯聚到系統(tǒng)時鐘上,再從系統(tǒng)時鐘繼續(xù)分頻或者說是繼續(xù)分發(fā)到AHB、APB。

通常我們談?wù)摰?a target="_blank">MCU能跑到多少M、主頻多少M,其實所指的就是系統(tǒng)時鐘。

這些時鐘在不同的STM32系列中是不一樣的,我們以STM32F401為例,手冊上說它的APB1的最高時鐘是42MHz,APB2的最高時鐘是84MHz,不同的外設(shè)因為掛在不同的總線上,所以速度就不太相同了。比如USART1掛在APB2上,所以它的時鐘最高就是84MHz, USART2是掛在APB1上,它的總線時鐘最快就是42MHz。當我們配置串口的時候會發(fā)現(xiàn),USART2的baudrate最高是2.625Mbit/s,但是同樣配置的USART1卻可以達到5.25Mbit/s,這就是因為所在的總線時鐘的不同而不同。

那我們怎么知道使用的USART1、USART2到底掛在哪條總線上呢?去從數(shù)據(jù)手冊里尋找,直接在手冊里搜索關(guān)鍵詞APB1或者APB2就可以快速找到列表。 2.串口的過采樣技術(shù)規(guī)范

比如說做數(shù)據(jù)的接收,我們可以看到串口是通過過采樣技術(shù)來實現(xiàn)對數(shù)據(jù)的接收,因為它沒有時鐘線,只能通過高于波特率的16倍或者8倍對總線上的數(shù)據(jù)一個一個地進行采集,根據(jù)最后采集到的情況來判斷信號的狀態(tài)。

舉個例子,當我們采集START信號的時候,實際上它要求采集到1110 x0x0x0 000這樣固定的序列的時候才認為是一個起始信號。START信號在串口里是一個bit的低電平信號,我們用16倍的速率進行采樣,首先它在前面會做一個下降沿檢測,這個檢測是要在前面的4個bit能檢測到1110,硬件會對總線上的數(shù)據(jù)根據(jù)采樣點一直進行檢測,這里的采樣點就是APB的時鐘,串口掛在不同的APB上用的時鐘不一樣。采樣的時候采集到1110就知道是一個下降沿,后面的x意思是任意的,后面的幾個位中至少需要檢測到三個0,而最后邊的三個位需要是連續(xù)的三個0,這樣才能被判定是一個起始位。其實只是判斷了3、5、7、8、9、10這六個點,只要是0,就可以確認了。這里我們是以START信號為例,其他信號也是這樣的。

可能有人會有疑問,x是任意的,不去檢測,如果0不滿足要求應(yīng)該怎么辦呢?

如果3、5、7、8、9、10這六個點都是0,那就可以認為這是一個起始信號;如果在3、5、7和8、9、10這兩個階段都滿足至少有兩個bit是0的話,那就可以確認它是起始信號,確認的意思是說它里面的接收緩沖區(qū)非空,標志位就已經(jīng)置上了,承認這個信號,但是還要給一個NE的標志位,因為雖然承認了這個信號,但里面是存在噪聲的。我們看串口的中斷標志位的時候就可以看到,在它的錯誤事件里就有一個NOISE FLAG,這個位就表示當串口在接收的時候,在總線上檢測到的電平并不是一個標準的、完整的高電平或者低電平,會有錯誤但不影響整個數(shù)據(jù)的接收,如果在接收的時候開啟了EIE位,錯誤可以產(chǎn)生一個中斷,讓MCU對總線上的情況有一個了解。

如果前三個bit滿足條件,而后三個bit沒有滿足的話,那就說明這個數(shù)據(jù)是錯誤的,就不會置標志位了,只要在3、5、7和8、9、10這兩個階段中有一個階段不滿足條件,就不會置位,并且還會有噪聲的說明。

當然了,這些都是在檢測下降沿沒有問題的情況下來說的,如果說在檢測下降沿1110都不完整或者是錯誤的,直接就會回到ideal狀態(tài),重新等待下一個數(shù)據(jù)發(fā)送過來。

3.SPI的速度為什么這么快?

我們可以看一下SPI的時序圖,圖中上面兩根線是CLOCK線,它根據(jù)配置的不同而不同,在CPHA=0時,即在第一個時鐘沿進行采樣,CPOL表示的是時鐘的默認電平是高電平(CPOL=1)還是低電平(CPOL=0),這里看到的每個時鐘都可以傳輸一個bit。

4.SPI速率是不是應(yīng)該和系統(tǒng)時鐘一樣? 其實不是,因為系統(tǒng)需要時間去獲取采集到的數(shù)據(jù),所以SPI的時鐘分頻系數(shù)最小是二分之一的分頻,那么就是說SPI的速度是系統(tǒng)時鐘的一半了。

有人覺得同步傳輸明顯優(yōu)于異步傳輸,因為有時鐘線,傳輸速率會更高。

但其實這種說法并不是完全正確的,因為每一種傳輸方式都有自己的優(yōu)勢。比如串口有自動波特率的功能,就是說在接收的時候并不知道主機是按照什么樣的波特率進行傳輸?shù)模蔷椭荒艿戎鳈C發(fā)一個特定字節(jié)的數(shù)據(jù)過來并且檢測數(shù)據(jù)的狀態(tài),然后自己硬件去設(shè)置波特率的寄存器,這樣就可以在下一次傳輸?shù)臅r候和主機使用相同的波特率。其次,在不同的溫度范圍內(nèi),內(nèi)部的RC振蕩器是有溫漂的并且很大,最標準的校準方法是給它一個時鐘沿,但是很多時候并沒有這個時鐘沿,那我們就可以用自動波特率。每次通訊的時候都采用自動波特率,就是每次都先接收,接收之后BRR寄存器里面的值就會隨著溫度的變化發(fā)生改變,MCU就可以根據(jù)BRR的值來調(diào)節(jié)HSITRIM。這個方法的好處是不需要提供一個非常標準的時鐘,通過串口通訊這種異步的方式就可以把時鐘信息傳給單片機內(nèi)部。

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

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355743
  • 波特率
    +關(guān)注

    關(guān)注

    2

    文章

    307

    瀏覽量

    34115
  • spi模式、spi速率
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    2287
收藏 人收藏

    評論

    相關(guān)推薦

    RS232通信的波特率設(shè)置說明

    RS232通信中,波特率的選擇需要根據(jù)設(shè)備的通信能力和通信距離來確定。 二、波特率的設(shè)置范圍 RS232通信的波特率可以設(shè)置多種不同的速率,常見的
    的頭像 發(fā)表于 12-10 16:26 ?500次閱讀

    波特率設(shè)置中的常見問題解析

    在數(shù)字通信系統(tǒng)中,波特率是一個關(guān)鍵參數(shù),它直接影響數(shù)據(jù)傳輸?shù)男屎涂煽啃浴H欢趯嶋H應(yīng)用中,波特率的設(shè)置往往會引起一些常見的問題。 一、波特率與數(shù)據(jù)速率的混淆 問題描述: 許多人會將
    的頭像 發(fā)表于 11-22 10:06 ?328次閱讀

    波特率與串行通信的關(guān)系 各種設(shè)備波特率轉(zhuǎn)換的方法

    波特率(Baud Rate)是串行通信中的一個重要參數(shù),它指的是信號傳輸?shù)?b class='flag-5'>速率,即單位時間內(nèi)傳輸?shù)姆枺ɑ蛐盘枲顟B(tài))的數(shù)量。在串行通信中,波特率決定了數(shù)據(jù)傳輸?shù)乃俣龋虼藢τ谕ㄐ判屎驮O(shè)備兼容性
    的頭像 發(fā)表于 11-22 10:01 ?297次閱讀

    常見的波特率標準和協(xié)議

    波特率是指在數(shù)據(jù)通信中,每秒鐘傳輸?shù)姆枖?shù)(或比特數(shù)),是衡量數(shù)據(jù)通信速度的重要指標。在不同的通信協(xié)議和場景中,常見的波特率標準和協(xié)議有所不同。以下是一些常見的波特率標準和協(xié)議: 一、串口通信
    的頭像 發(fā)表于 11-22 09:56 ?940次閱讀

    Wi-Fi與藍牙的波特率對比分析

    Wi-Fi與藍牙是兩種不同的無線通信技術(shù),它們在波特率(或稱數(shù)據(jù)傳輸速率)方面存在顯著的差異。以下是對Wi-Fi與藍牙波特率對比分析: 一、Wi-Fi的
    的頭像 發(fā)表于 11-22 09:54 ?256次閱讀

    波特率的定義和計算方法 波特率與數(shù)據(jù)傳輸速度的關(guān)系

    波特率的定義 波特率(Baud Rate),又稱調(diào)制速率或傳符號,是指每秒傳輸?shù)姆枖?shù)目,單位為波特(Bd)。它是一個數(shù)字信號通信中重要的
    的頭像 發(fā)表于 11-22 09:49 ?1069次閱讀

    波特率9600和115200的區(qū)別

    在現(xiàn)代通信技術(shù)中,數(shù)據(jù)傳輸速率是一個關(guān)鍵的性能指標。對于串行通信,波特率是衡量數(shù)據(jù)傳輸速度的基本單位。波特率9600和115200是兩種常見的設(shè)置,它們在不同的應(yīng)用場景中有著各自的優(yōu)勢和局
    的頭像 發(fā)表于 10-18 14:56 ?1420次閱讀

    波特率與比特有何關(guān)系 波特率與數(shù)據(jù)傳輸速率的關(guān)系

    狀態(tài)變化的次數(shù),即每秒鐘傳輸?shù)姆枖?shù)。它通常用于衡量調(diào)制解調(diào)器、無線通信設(shè)備等的數(shù)據(jù)傳輸速率波特率的單位是波特(Baud),1波特等于每秒傳輸一個符號。 比特
    的頭像 發(fā)表于 10-18 14:55 ?760次閱讀

    uart波特率和傳輸頻率的關(guān)系 UART串口的常用波特率為多少

    UART(Universal Asynchronous Receiver/Transmitter)是一種廣泛使用的異步串行通信技術(shù),它允許兩臺設(shè)備之間進行雙向數(shù)據(jù)傳輸。在UART通信中,波特率和傳輸
    的頭像 發(fā)表于 10-06 16:12 ?2541次閱讀
    uart<b class='flag-5'>波特率</b>和傳輸頻率的關(guān)系 UART串口的常用<b class='flag-5'>波特率</b>為多少

    如何使用示波器測量串口波特率

    在通信和電子測量領(lǐng)域,串口波特率是一個至關(guān)重要的參數(shù),它決定了數(shù)據(jù)在串行通信線上的傳輸速率。使用示波器來測量串口波特率是一種常見且有效的方法,尤其是在沒有專業(yè)串口調(diào)試工具或需要更精確測量時。本文將
    的頭像 發(fā)表于 05-27 16:25 ?4902次閱讀

    芯海應(yīng)用筆記:通用 MCU USART 自動波特率檢測

    本文檔介紹和說明芯海科技旗下 CS32 系列 MCU 的自動波特率檢測功能,并為不具備硬件自動波特率檢測的 MCU 產(chǎn)品提供替代軟件方法 。*附件:應(yīng)用筆記:芯海通用MCU USART自動波特
    發(fā)表于 05-16 11:42

    波特率有什么危害尼?又該如何避免?

    深入探討了波特率過高可能帶來的危害,并提供了一些實用建議來保護設(shè)備不受影響。在通信領(lǐng)域,波特率是決定數(shù)據(jù)傳輸速度的重要參數(shù)。然而,波特率設(shè)置不當可能會對設(shè)備造成嚴重的影響。本文旨在揭示波特率
    的頭像 發(fā)表于 04-03 16:45 ?1375次閱讀

    為啥要轉(zhuǎn)換波特率 波特率和傳輸速率的關(guān)系

    對于串行多主 CAN 總線,如果波特率被稱為“500000波特”,則 CAN 上的該端口每秒最多可傳輸500000位。
    的頭像 發(fā)表于 03-06 17:38 ?5003次閱讀
    為啥要轉(zhuǎn)換<b class='flag-5'>波特率</b> <b class='flag-5'>波特率</b>和傳輸<b class='flag-5'>速率</b>的關(guān)系

    波特率發(fā)生器使用哪個定時器 波特率發(fā)生器的時鐘來源是什么

    波特率發(fā)生器是一種用于控制串行數(shù)據(jù)通信速率的設(shè)備,它可以生成特定波特率的時鐘信號。在嵌入式系統(tǒng)、通信設(shè)備和計算機硬件中,波特率發(fā)生器的使用十分常見。
    的頭像 發(fā)表于 01-24 09:56 ?2156次閱讀

    什么是串口波特率?串口通信為什么要設(shè)置波特率

    什么是串口波特率?串口通信為什么要設(shè)置波特率波特率與比特的關(guān)系 如何選擇串口波特率?? 串口波特率
    的頭像 發(fā)表于 01-22 16:10 ?2144次閱讀
    主站蜘蛛池模板: 亚洲国产精品久久人人爱| 久久精品影院永久网址| 攻把受做得合不拢腿play| metart中国撒尿人体欣赏| 99久久久久国产精品免费| a级毛片高清免费视频| 凹凸精品视频分类视频| 高h辣h双处全是肉一对一| 国产免费啪嗒啪嗒视频看看 | 久久er国产精品免费观看2| 最近韩国HD免费观看国语| 亚洲男人天堂网| 2019伊人查蕉在线观看| a在线视频免费观看| 国产www视频| 久久yy99re66| 女性露出奶头流出精子| 涩涩电影网| 伊人久久精品AV无码一区| old老男人野外树林tv| 国产精品日本欧美一区二区| 花蝴蝶高清观看免费| 欧美高清69vivo| 亚洲 欧美 日本 国产 高清| 色多多污网站在线观看| 青青草国拍2018| 美国一级黄色| 色琪琪丁香婷婷综合久久| 一个人的免费高清影院| 芳草地社区在线视频| 久久亚洲免费视频| 午夜伦理:伦理片| bbwvideoa欧美老妇| 久久成人免费观看全部免费| 色姣姣狠狠撩综合网| 99久久免费国产精品特黄| 久久99AV无色码人妻蜜柚| 婷婷综合亚洲爱久久| 白丝萝莉喷水| 免费观看男生桶美女私人部位| 亚洲精品一区国产欧美|