查看: 3899|回復: 0
打印 上一主題 下一主題

一個(gè)與STM32 GPIO輸出速率有關(guān)的話(huà)題

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2016-10-13 16:28:02 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
對于STM32芯片,其GPIO輸出可以根據不同的應用需求而靈活選擇不同檔次的輸出速率。一般分為低、中、高或者很高幾個(gè)檔次,具體速率視不同的STM32芯片而定。

不妨以STM32F407為例,它分四個(gè)輸出檔次,具體的數值范圍參考芯片數據手冊的I/O的交流特性部分。
這個(gè)輸出速率主要體現I/O驅動(dòng)電路的輸出反應能力,通過(guò)選擇不同的輸出驅動(dòng)速率,實(shí)現最佳的噪聲與和功耗控制。不難理解,選擇輸出驅動(dòng)速率越高,噪聲也越大,相應的芯片功耗也會(huì )越大。所以對于這個(gè)輸出頻率的選擇,不要太隨意,合適就好。在滿(mǎn)足應用的需求的前提下,就不要隨意往高端速率選擇。

這里說(shuō)幾個(gè)簡(jiǎn)單的應用案例,以加深印象和理解。

1、LED閃爍快慢不一致
某客戶(hù)使用STM32F4芯片做產(chǎn)品開(kāi)發(fā),其中用到 while( count++ > 0xffffff) 做軟件delay,然后讓LED閃爍。相關(guān)代碼甚為簡(jiǎn)單,卻發(fā)現產(chǎn)品的一致性不好,LED 閃爍有的快有的慢。
反復排查代碼原因,未發(fā)現程序邏輯錯誤。后來(lái)嘗試將LED 驅動(dòng)腳的Output Speed設置從very high調整為 low 后一切正常。

2、Audio 噪聲
某客戶(hù)使用STM32芯片做產(chǎn)品開(kāi)發(fā)。其中有I2S的音頻播放功能?蛻(hù)在調試時(shí)用到Printf串口打印,發(fā)現使用printf輸出時(shí)會(huì )出現噪音,如果關(guān)閉printf則正常。
后來(lái),反復查看代碼,直到將UART的TX輸出端口的管腳輸出速率由very high改為L(cháng)ow后噪聲消失。

3、SPI通信異常
有人使用STM32芯片開(kāi)發(fā)產(chǎn)品,其中用到SPI通信。STM32做主,其它外圍器件做從,有時(shí)發(fā)現SPI讀取數據總是出錯。
對于這里的通信出錯,如果SPI通信端口腳的輸出速率選擇跟實(shí)際通信速率不合適的話(huà)也會(huì )出現。相比實(shí)際速率需求,過(guò)高或過(guò)低了都會(huì )導致通信出錯。

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

目前STM32家族的9大系列里面,其中高性能的STM32F2/STM32F4/STM32F7系列的芯片,都帶有GPIO補償單元。
該補償單元的功能就是對GPIO的輸出擺率進(jìn)行合理控制以降低I/O噪聲和功耗。當你在產(chǎn)品開(kāi)發(fā)中需要配置50M或更高的輸出速率時(shí),強烈建議開(kāi)啟該補償單元。

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





文章來(lái)源:微信公眾號  融創(chuàng )芯城(一站式電子元器件、PCB、PCBA購買(mǎi)服務(wù)平臺,電子項目眾包平臺)

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

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页