首頁(yè) > 評(píng)測(cè) > 玩火|STM32超頻求點(diǎn)贊!
玩火|STM32超頻求點(diǎn)贊!
- [導(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)然也可以超頻,工作原理類(lèi)似。
然而說(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ù)。
圖1:NUCLEO-L073RZ
NUCLEO-L073RZ基本指標(biāo)如下
基于CORTEX-M0+,32MHZ
192KB/20KB的FLASH/SRAM組合
板載STLINK/V2-1
可選其它硬件包括邏輯分析儀及示波器,用來(lái)更好的測(cè)試實(shí)驗(yàn)結(jié)果。
圖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)。
圖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的工作頻率。
圖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中,引入的新的稱(chēng)之為MSI的時(shí)鐘,專(zhuān)門(mén)用于低功耗模式下的時(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)稱(chēng)的最大工作頻率,像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)
圖5:FLASH LATENCY參考值
在32MHZ的情況下,至少要插入一個(gè)延時(shí)等待狀態(tài)。
頻率提高了,系列還能正常工作么,溫度、發(fā)熱情況怎么樣?這才是重點(diǎn),為此,為MCU設(shè)計(jì)了一些任務(wù),看看在超頻的情況下,這些任務(wù)能不能完成,穩(wěn)定性如何?
圖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)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車(chē)啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前