電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 78|回復(fù): 0
收起左側(cè)

單片機(jī)IO配置不同速度有啥區(qū)別?

[復(fù)制鏈接]

319

主題

319

帖子

2727

積分

三級(jí)會(huì)員

Rank: 3Rank: 3

積分
2727
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2024-10-20 20:12:00 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
作者 | strongerHuang
微信公眾號(hào) | strongerHuang
這是一個(gè)初學(xué)者不會(huì)去了解的問(wèn)題,但,會(huì)使老司機(jī)掉坑的問(wèn)題。
這也是最近在技術(shù)交流群看到的一個(gè)問(wèn)題,所以,就出來(lái)簡(jiǎn)單分享一下。
概述
這個(gè)問(wèn)題看起來(lái)比較簡(jiǎn)單,我相信很多人都能說(shuō)出答案。
但是,很多人都只是停留在表面,沒(méi)有在項(xiàng)目中經(jīng)歷過(guò),也沒(méi)有更深入的去了解。

很早之前年的單片機(jī)可能沒(méi)有輸出速度這個(gè)配置選項(xiàng),但是這后面的單片機(jī)基本都有配置速度的選項(xiàng),下面結(jié)合STM32來(lái)簡(jiǎn)單介紹一下。
GPIO輸出速度
不管標(biāo)準(zhǔn)外設(shè)庫(kù),還是STM32CubeMX配置GPIO輸出引腳,都會(huì)有速度GPIO_InitStruct.Speed這個(gè)選項(xiàng)。
類(lèi)似如下:
  • GPIO_InitStruct.Pin = GPIO_PIN_5;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    根據(jù)不同MCU型號(hào),速度選項(xiàng),有些有3個(gè),有些有4個(gè)。一般定義在xxx_gpio.h文件中。
  • #define GPIO_Speed_2MHz  GPIO_Speed_Level_1   /*!#define GPIO_Speed_10MHz GPIO_Speed_Level_2   /*!#define GPIO_Speed_50MHz GPIO_Speed_Level_3   /*!
  • #define  GPIO_SPEED_FREQ_LOW        (0x00000000u)  /*!#define  GPIO_SPEED_FREQ_MEDIUM     (0x00000001u)  /*!#define  GPIO_SPEED_FREQ_HIGH       (0x00000002u)  /*!#define  GPIO_SPEED_FREQ_VERY_HIGH  (0x00000003u)  /*!
    對(duì)于普通輸出GPIO,使用STM32CubeMX配置,默認(rèn)配置低:

    當(dāng)然,如果配置成其他模式,有可能是中,或高。
    比如:配置UART、CAN引腳,速度會(huì)是高。
    提問(wèn):你想過(guò)為什么會(huì)是低、高嗎?
    測(cè)量GPIO輸出波形
    不知道大家用示波器測(cè)量過(guò)GPIO輸出波形沒(méi)有,特別是在高速(單位M)的時(shí)候。
    我以前經(jīng)常測(cè)量MCO引腳輸出時(shí)鐘,測(cè)量過(guò)的人應(yīng)該都知道,如果輸出速度高于配置速度,會(huì)明顯看到波形不正常。
    波形會(huì)出現(xiàn)不完整,幅度低等失真現(xiàn)象。
    相信不用我說(shuō),有一定常識(shí)的人都能理解。
    差異原因
    速度的配置,就是決定IO口驅(qū)動(dòng)電路的響應(yīng)速度。
    我們需要結(jié)合實(shí)際情況配置速度,不同速度會(huì)有不同的影響。
    高低速差異:配置高速:輸出頻率高,噪音大,功耗高,電磁干擾強(qiáng);
    配置低速:輸出頻率低,噪音小,功耗低,電磁干擾弱;提高系統(tǒng)EMI(電磁干擾)性能;
    看到差異,相信很多人就能理解了。
    實(shí)際情況中,比如:低功耗的產(chǎn)品,你會(huì)考慮功耗。
    環(huán)境不好的場(chǎng)合,通信不穩(wěn)定,你會(huì)考慮電磁干擾等。
    舉例:如果你使用9600波特率UART通信,建議速度配置為低。
    所以,如果你想使產(chǎn)品更加完美,速度配置也是關(guān)鍵的一項(xiàng)。------------ END ------------

    ●專(zhuān)欄《嵌入式工具●專(zhuān)欄《嵌入式開(kāi)發(fā)》●專(zhuān)欄《Keil教程》●嵌入式專(zhuān)欄精選教程
    關(guān)注公眾號(hào)回復(fù)“加群”按規(guī)則加入技術(shù)交流群,回復(fù)“1024”查看更多內(nèi)容。
    點(diǎn)擊“閱讀原文”查看更多分享。
  • 發(fā)表回復(fù)

    本版積分規(guī)則

    關(guān)閉

    站長(zhǎng)推薦上一條 /1 下一條


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表