首頁(yè) > 評(píng)測(cè) > 玩火|STM32超頻求點(diǎn)贊!

玩火|STM32超頻求點(diǎn)贊!

  • 作者:netlhx
  • 來(lái)源:21ic
  • [導(dǎo)讀]
  • 吹客=Trick ; 這是評(píng)測(cè)頻道打造地一個(gè)全新欄目,旨在用輕松活潑的方式讓大家一起來(lái)分享開(kāi)發(fā)板使用開(kāi)發(fā)的技巧和心得。只要你的文章是原創(chuàng)的,并且有觀點(diǎn)有干貨,一切內(nèi)容和題材都可以被我們所接受。投稿請(qǐng)至stitch-sk@hotmail.com(采用有驚喜!)

根據(jù)微軟學(xué)術(shù)的定義,所謂超頻(OVERCLOCKING)就是強(qiáng)制將計(jì)算機(jī)或硬件運(yùn)行于廠商指定的時(shí)鐘頻率之上,以達(dá)到更高的性能。通俗的來(lái)說(shuō),就是榨干硬件的最后一絲潛力。

事實(shí)上,不止是電腦可以超頻,MCU當(dāng)然也可以超頻,工作原理類似。

然而說(shuō)到MCU的超頻,自然會(huì)有潑冷水的諸君,也有口水唾沫若干,原因當(dāng)然是穩(wěn)定性第一。不過(guò)任何事物一體兩面,有利有弊。本文并非鼓勵(lì)大家超頻,只是把細(xì)節(jié)呈現(xiàn)給各位,如人飲水,冷暖自知,作到心中有數(shù)即可。

準(zhǔn)備工作

硬件

本次測(cè)試準(zhǔn)備使用NUCLEO-L073RZ評(píng)估板作為硬件平臺(tái),如果是其它STM32評(píng)估板,請(qǐng)適當(dāng)調(diào)整相關(guān)參數(shù)。

image001.jpg

圖1:NUCLEO-L073RZ

NUCLEO-L073RZ基本指標(biāo)如下

基于CORTEX-M0+,32MHZ

192KB/20KB的FLASH/SRAM組合

板載STLINK/V2-1

可選其它硬件包括邏輯分析儀及示波器,用來(lái)更好的測(cè)試實(shí)驗(yàn)結(jié)果。

image002.png

圖2:DSLOGIC邏輯分析儀

DSLOGIC邏輯分析儀,用來(lái)檢測(cè)PWM信號(hào)輸出。關(guān)于DSLOGIC的更多信息,請(qǐng)參考評(píng)測(cè)文章《成功眾籌11萬(wàn)美金的開(kāi)源LA》(http://lujuzi.cn/eva/instrument/201601/661325.htm)。

image003.jpg

圖3:DSCOPE數(shù)字示波器

DSCOPE數(shù)字示波器,用來(lái)檢測(cè)MCO輸出頻率。詳情參考評(píng)測(cè)文章《借你一雙慧眼》(http://lujuzi.cn/eva/instrument/201602/662610.htm)。

注:使用任何一款STM32評(píng)估板都可以體驗(yàn)本文的冒險(xiǎn)之旅,不過(guò)要修改相應(yīng)的硬件設(shè)置。本文提供配套的工程文件,助您再現(xiàn)測(cè)試場(chǎng)景。

設(shè)計(jì)

玩過(guò)PC機(jī)超頻的朋友都知道,超頻是非常EASY的事情。要么改FSB,要么改倍頻系數(shù),反正就是那幾個(gè)值的組合。然后,然后就超頻了。當(dāng)然還有其它情況,比如CPU被玩壞了!

STM32系列MCU都有自己的時(shí)鐘樹(shù),通過(guò)調(diào)整時(shí)鐘樹(shù)的一些基本參數(shù),就可以設(shè)定內(nèi)部相關(guān)設(shè)備特別是MCU的工作頻率。

image004.jpg

圖4:STM32 MCU時(shí)鐘樹(shù)

上面是STM32CUBEMX圖形化配置工具中的截圖,STM32CUBEMX是一個(gè)非常有用的代碼生成工具,可以用來(lái)生成工程文件的框架。

從圖4可以看到,要配置MCU的時(shí)鐘樹(shù),我們需要選擇一個(gè)時(shí)鐘源,這是整個(gè)MCU工作的基礎(chǔ)。時(shí)鐘源可以來(lái)自外部晶振,也可以是內(nèi)部高速時(shí)鐘。在STM32的L系列MCU中,引入的新的稱之為MSI的時(shí)鐘,專門用于低功耗模式下的時(shí)鐘信號(hào)生成。

NUCLEO-L073評(píng)估板上沒(méi)有焊接8MHZ的外部晶振,不過(guò)ST-LINK上有啊。不過(guò)不能直接供L073RZ使用,ST-LINK上的MCO輸出8MHZ的時(shí)鐘信號(hào),默認(rèn)已配置好,可以直接用來(lái)給STM32L073提供時(shí)鐘,記得將L073RZ的HSE配置為BYPASS模式即可。

如果使用PLL電路來(lái)生成最終的時(shí)鐘信號(hào),需要指定PLL的相關(guān)參數(shù),PLLMUL和PLLDIV,對(duì)輸入的時(shí)鐘進(jìn)行倍頻,以產(chǎn)生高頻時(shí)鐘信號(hào),供MCU或總線使用,最終經(jīng)調(diào)整后輸出到具體的片內(nèi)設(shè)備。

在本例中,使用的外部信號(hào)為8MHZ,經(jīng)PLL調(diào)整后的SYSCLK的頻率是這樣計(jì)算的:8MHZ * 8 / 2 = 32MHZ,即SYSCLK = HSE * PLLMUL / PLLDIV。一般情況下MCU的工作頻率就是這個(gè)啦。所以通過(guò)調(diào)整PLLMUL和PLLDIV加上AHB PRESCALER這三個(gè)參數(shù)值就可以調(diào)整MCU的工作頻率,AHB PRESCALER通常設(shè)定為1。

STM32系列都有一個(gè)標(biāo)稱的最大工作頻率,像NUCLEO-L073RZ的產(chǎn)品說(shuō)明上就標(biāo)注了該MCU的最大工作頻率為32MHZ。超過(guò)了這個(gè)值會(huì)發(fā)生什么情況呢?ST沒(méi)說(shuō),你們自己看著辦!

當(dāng)然不要忘記還有個(gè)FLASH,頻率提高了,F(xiàn)LASH的等待狀態(tài)也要相應(yīng)變化。打開(kāi)L073的參考手冊(cè),會(huì)發(fā)現(xiàn)

image005.jpg

圖5:FLASH LATENCY參考值

在32MHZ的情況下,至少要插入一個(gè)延時(shí)等待狀態(tài)。

頻率提高了,系列還能正常工作么,溫度、發(fā)熱情況怎么樣?這才是重點(diǎn),為此,為MCU設(shè)計(jì)了一些任務(wù),看看在超頻的情況下,這些任務(wù)能不能完成,穩(wěn)定性如何?

image006.jpg

圖6:MCU功能引腳配置

這是為MCU指定的一些要執(zhí)行的任務(wù),TIM2輸出兩路PWM信號(hào);UART2用來(lái)輸出一些基本的信息,如MCU內(nèi)部溫度;同時(shí)將MCO信號(hào)輸出,來(lái)測(cè)試主時(shí)鐘信號(hào)的頻率。

當(dāng)然還有,我們需要一段CPU任務(wù)密集的的代碼,看看在高負(fù)荷的情況下,超頻后的設(shè)備還能不能穩(wěn)定工作。為此,將COREMARK BENCH移植到STM32并進(jìn)行測(cè)試,一方面檢測(cè)CPU的穩(wěn)定性,另一方面測(cè)試超頻后的性能。為什么不用DMIPS來(lái)測(cè)試,按官方的說(shuō)法,COREMARK比DMIPS更優(yōu)秀。關(guān)于COREMARK的詳細(xì)說(shuō)明,請(qǐng)參考http://www.eembc.org/coremark/about.php。

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評(píng)論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開(kāi)放投稿

熱門標(biāo)簽
項(xiàng)目外包 more+