日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]在開始之前先解釋幾個(gè)名詞:HSI: High Speed Internal clock, 高速內(nèi)部時(shí)鐘, STM32F429xx默認(rèn)為16MHz.HSE: High Speed External clock, 高速外部時(shí)鐘, 最大可接受50MHz時(shí)鐘(可外接最大的晶振為26MHz).LSI: Low Speed

在開始之前先解釋幾個(gè)名詞:
HSI: High Speed Internal clock, 高速內(nèi)部時(shí)鐘, STM32F429xx默認(rèn)為16MHz.
HSE: High Speed External clock, 高速外部時(shí)鐘, 最大可接受50MHz時(shí)鐘(可外接最大的晶振為26MHz).
LSI: Low Speed Internal clock, 低速內(nèi)部時(shí)鐘, 32KHz.
LSE: Low Speed External clock, 低速外部時(shí)鐘, 一般為32.768KHz.
PLL: Phase-Locked loops, 鎖相環(huán), 用于倍頻時(shí)鐘.
VCO: Voltage-Controlled Oscillator, 壓控振蕩器, PLL的組成部分.

AHB: Advanced High Performance Bus, 高性能總線, 用于高性能模塊之間的連接, 如CPU, DMA.
APB: Advanced Peripheral Bus, 外設(shè)總線, 用于連接低速設(shè)備, 如UART, Timer.
STM32有兩條APB總線, APB1和APB2, APB2的工作頻率大于APB1.
APB2最高工作頻率為84MHz, APB1最高工作頻率為42MHz, AHB最高工作頻率同系統(tǒng)時(shí)鐘, 168MHz.

SYSCLK: 系統(tǒng)時(shí)鐘.可被HSI, HSE, Main PLL直接驅(qū)動(dòng), 最大168MHz.
HCLK: CPU, AHB, DMA, 存儲器的時(shí)鐘, 經(jīng)AHB預(yù)分頻器得到.
PCLK1: APB1時(shí)鐘.
PCLK2: APB2時(shí)鐘.

下圖是STM32時(shí)鐘樹的一部分, 這里注要研究一下STM32F4系統(tǒng)時(shí)鐘和PLL配置相關(guān)的東西.

從圖中可以看出,HSI和HSE可以直接向SYSCLK提供時(shí)鐘(紅線), 它們經(jīng)過一個(gè)預(yù)分頻器/M(綠色方框)后向PLL提供時(shí)鐘, 同時(shí)這個(gè)時(shí)鐘(藍(lán)線)也提供給PLLI2S和PLLSAI(圖中未標(biāo)出).
從VCO倍頻出來后的時(shí)鐘一路經(jīng)過預(yù)分頻器 /P 就是PLLCLK(紫色),可以提供給系統(tǒng)時(shí)鐘SYSCLK.
一路經(jīng)過預(yù)分頻器 /Q 后就是PLL48CK(黃色線),這個(gè)時(shí)鐘提供給USB OTG FS, SDIO, 一般這個(gè)時(shí)鐘需要固定48MHz.
水綠色方框里的xN 是VCO倍頻的倍數(shù),VCO輸出的頻率為HSE/HSI的頻率經(jīng)過 /M 分頻后的數(shù)值乘以N.
接下來看一下ST固件庫中提供的PLL配置函數(shù):

12345
voidRCC_PLLConfig(uint32_tRCC_PLLSource,uint32_tPLLM,uint32_tPLLN,uint32_tPLLP,uint32_tPLLQ);

RCC_PLLSource為PLL的時(shí)鐘源選擇, 可選擇為RCC_PLLSource_HSE或者RCC_PLLSource_HSI.
這里的PLLM, PLLN, PLLP, PLLQ便指的是上述的幾個(gè)分頻器的分頻因子.
并且這些分頻因子取值是有限制如下:
2 <= PLLQ <= 15
2 <= PLLM <= 63
192 <= PLLN <= 432
PLLP 只能是2, 4, 6, 8其中之一.
其中PLLN就是PLL的倍頻倍數(shù)N.
并且, PLL之后得到的頻率不得超過器件的限制頻率.
舉個(gè)實(shí)際的例子, 外部晶振為8MHz, 我們想讓CPU運(yùn)行于168MHz, 該怎么配置?
因?yàn)镻LLM最小只能是2, 所以選擇PLLM為2.
這里8MHz的HSE被PLLM二分頻后只有4MHz了.
PLLP最小也只能是2, 我們所需要的SYSCK為168MHz, 所以從VCO出來的頻率為168 * 2 = 336MHz.
則倍頻倍數(shù)N為336 / 4 = 84, 所以PLLN為84.
PLLQ是USB OGT FS的時(shí)鐘, 固定為48MHz, 所以預(yù)分頻因子為336 / 48 =7.
則PLL配置函數(shù)應(yīng)該為:

1
RCC_PLLConfig(RCC_PLLSource_HSE,2,84,2,7);

當(dāng)然只使用這一句就不可能讓PLL工作的, 還需要配合其它配置才行.

(全文完)


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉