找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6388|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

一個與STM32 GPIO輸出速率相關(guān)的話題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2016-10-12 00:07 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
對于STM32芯片,其GPIO輸出可根據(jù)不同的應(yīng)用需求而靈活選擇不同檔次的輸出速率。一般分為低、中、高或者很高幾個檔次,具體速率視不同的STM32芯片而定。

不妨以STM32F407為例,它分四個輸出檔次,具體的數(shù)值范圍參考芯片數(shù)據(jù)手冊的I/O的交流特性部分。




這個輸出速率主要體現(xiàn)I/O驅(qū)動電路的輸出反應(yīng)能力,通過選擇不同的輸出驅(qū)動速率,實(shí)現(xiàn)最佳的噪聲與和功耗控制。不難理解,選擇輸出驅(qū)動速率越高,噪聲也越大,相應(yīng)的芯片功耗也會越大。所以對于這個輸出頻率的選擇,不要太隨意,合適就好。在滿足應(yīng)用的需求的前提下,就不要隨意往高端速率選擇。


這里說幾個簡單的應(yīng)用案例,以加深印象和理解。


1、LED閃爍快慢不一致

某客戶使用STM32F4芯片做產(chǎn)品開發(fā),其中用到 while( count++ > 0xffffff) 做軟件delay,然后讓LED閃爍。相關(guān)代碼甚為簡單,卻發(fā)現(xiàn)產(chǎn)品的一致性不好,LED 閃爍有的快有的慢。

反復(fù)排查代碼原因,未發(fā)現(xiàn)程序邏輯錯誤。后來嘗試將LED 驅(qū)動腳的Output Speed設(shè)置從very high調(diào)整為 low 后一切正常。


2、Audio 噪聲

某客戶使用STM32芯片做產(chǎn)品開發(fā)。其中有I2S的音頻播放功能�?蛻粼谡{(diào)試時(shí)用到Printf串口打印,發(fā)現(xiàn)使用printf輸出時(shí)會出現(xiàn)噪音,如果關(guān)閉printf則正常。

后來,反復(fù)查看代碼,直到將UART的TX輸出端口的管腳輸出速率由very high改為Low后噪聲消失。


3、SPI通信異常

有人使用STM32芯片開發(fā)產(chǎn)品,其中用到SPI通信。STM32做主,其它外圍器件做從,有時(shí)發(fā)現(xiàn)SPI讀取數(shù)據(jù)總是出錯。

對于這里的通信出錯,如果SPI通信端口腳的輸出速率選擇跟實(shí)際通信速率不合適的話也會出現(xiàn)。相比實(shí)際速率需求,過高或過低了都會導(dǎo)致通信出錯。


好,拋磚引玉似地羅列上面幾個案例。這里順便聊下跟GPIO輸出速率有關(guān)的I/O補(bǔ)償單元。


目前STM32家族的9大系列里面,其中高性能的STM32F2/STM32F4/STM32F7系列的芯片,都帶有GPIO補(bǔ)償單元。



該補(bǔ)償單元的功能就是對GPIO的輸出擺率進(jìn)行合理控制以降低I/O噪聲和功耗。當(dāng)你在產(chǎn)品開發(fā)中需要配置50M或更高的輸出速率時(shí),強(qiáng)烈建議開啟該補(bǔ)償單元。


總之,對于STM32 GPIO輸出速率的選擇問題,我們在開發(fā)應(yīng)用中要多加注意。如果因?yàn)檫@個輸出速率選擇導(dǎo)致麻煩,原因往往比較隱晦,很難直接從代碼語句或程序邏輯上找到突破。在滿足實(shí)際應(yīng)用需求的前提下,速率就低不就高,這對降低功耗、減少噪聲、改善EMI都有好處。當(dāng)然,如果選擇過低于實(shí)際需求的輸出速率也不可取,那樣會導(dǎo)致輸出失真、通信異常等問題,自然也違背了ST設(shè)計(jì)多檔位輸出速率的初衷。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:142395 發(fā)表于 2016-10-12 02:51 | 只看該作者
高知識,學(xué)習(xí)中
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表