chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32F407的晶振選型分析

jf_43510033 ? 來源:jf_43510033 ? 作者:jf_43510033 ? 2025-11-07 12:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

要讓 STM32F407 同時(shí)穩(wěn)定運(yùn)行 USB(OTG FS)、以太網(wǎng)(ETH)、CAN 三大功能,核心是選擇能滿足所有外設(shè)時(shí)鐘精度要求、且適配 STM32F4 PLL 時(shí)鐘樹的 HSE 晶振 ——最佳方案是:HSE 頻率選 25MHz,類型選「無源貼片晶振(Parallel Resonant 型)」,其次可選 8MHz 無源晶振(兼容性稍弱)。

一、選擇核心邏輯:三大外設(shè)的時(shí)鐘硬約束

STM32F407 的 USB/ETH/CAN 對(duì)時(shí)鐘有明確要求,HSE 作為核心時(shí)鐘源,必須同時(shí)滿足:

外設(shè) 關(guān)鍵時(shí)鐘要求 精度要求
USB OTG FS 必須提供 48MHz 精確時(shí)鐘(來自 PLL_Q 分頻輸出) ±0.25%(USB 2.0 標(biāo)準(zhǔn))
以太網(wǎng)(ETH) RMII 模式需 50MHz 參考時(shí)鐘(可由 PHY 自供或 MCU 輸出);MAC 時(shí)鐘來自 AHB1(168MHz 系統(tǒng)時(shí)鐘下穩(wěn)定) ±1%(主流 PHY 要求)
CAN 時(shí)鐘來自 APB1(最大 42MHz,168MHz 系統(tǒng)時(shí)鐘下由 APB1 4 分頻得到) ±1%(CAN 協(xié)議要求)

同時(shí),STM32F4 的 PLL 時(shí)鐘樹有固定規(guī)則(PLL 輸入頻率 1-2MHz 最優(yōu),PLL_Q 需分頻出 48MHz),HSE 頻率需適配這一規(guī)則,才能讓系統(tǒng)時(shí)鐘(SYSCLK)穩(wěn)定跑滿 168MHz(F407 最高性能)。

二、最佳 HSE 選擇:25MHz 無源晶振

1. 頻率選擇理由:完美適配 PLL 時(shí)鐘樹,兼顧所有外設(shè)

STM32F4 的 PLL 時(shí)鐘樹配置邏輯(目標(biāo):SYSCLK=168MHz + USB=48MHz + ETH 兼容):

PLL 核心公式:PLL_OUT = (HSE / PLL_M) * PLL_N

為了 USB 輸出 48MHz:PLL_OUT / PLL_Q = 48MHz → 最優(yōu)解是 PLL_OUT=336MHz,PLL_Q=7(336/7=48,整數(shù)分頻無誤差);

為了 SYSCLK=168MHz:PLL_OUT / PLL_P = 168MHz → PLL_P=2(336/2=168);

為了 PLL 穩(wěn)定:HSE / PLL_M = 1MHz(PLL 輸入頻率 1MHz 是最優(yōu)區(qū)間)→ PLL_M=HSE(因 1MHz×PLL_M=HSE)。

當(dāng) HSE=25MHz 時(shí),PLL 配置為:

PLL_M=25(25MHz /25=1MHz,滿足 PLL 輸入要求);

PLL_N=336(1MHz×336=336MHz,PLL_OUT 目標(biāo)值);

PLL_P=2(336MHz/2=168MHz,SYSCLK 滿速);

PLL_Q=7(336MHz/7=48MHz,USB 時(shí)鐘精準(zhǔn))。

此時(shí):

CAN 時(shí)鐘:APB1 4 分頻 → 168MHz/4=42MHz(符合 CAN 最大時(shí)鐘要求);

ETH 時(shí)鐘:25MHz 是以太網(wǎng) PHY 的「標(biāo)準(zhǔn)參考頻率」,PHY 可直接用 25MHz 晶振生成 50MHz RMII 參考時(shí)鐘(無需 MCU 額外輸出,簡化配置、降低干擾)。

2. 類型選擇理由:無源晶振(Parallel Resonant 型)

優(yōu)先選 無源貼片晶振,而非有源晶振 / 溫補(bǔ)晶振(TCXO),原因:

晶振類型 優(yōu)勢 劣勢 適配性
無源晶振(推薦) 成本低、體積?。ㄙN片封裝如 3225/2520)、功耗低、STM32F4 原生支持(僅需外接負(fù)載電容 需 MCU 提供振蕩電路(簡單) ? 最佳選擇(滿足所有精度)
有源晶振 精度極高(±1ppm)、抗干擾強(qiáng) 成本高、需額外供電(VCC/GND)、PCB 設(shè)計(jì)復(fù)雜 ? 沒必要(無源已滿足精度)
溫補(bǔ)晶振(TCXO) 極端溫度下精度高(±0.1ppm) 成本高、體積大、功耗高 ? 僅極端環(huán)境(-40℃~85℃+)考慮

具體選型參數(shù)

封裝:優(yōu)先 3225(3.2×2.5mm)或 2520(2.5×2.0mm)貼片(節(jié)省 PCB 空間),插件 HC-49S 也可(適合面包板 / 原型機(jī));

精度:±10ppm(工業(yè)級(jí),-40℃~85℃),嚴(yán)苛環(huán)境可選 ±5ppm(足夠覆蓋 USB±0.25% 要求);

負(fù)載電容:12pF(STM32F407 HSE 引腳典型推薦值,需與晶振規(guī)格書匹配,否則頻率偏移);

頻率容差:±10ppm(常溫下),溫漂:±10ppm(-40℃~85℃)。

三、次選方案:8MHz 無源晶振(兼容性備選)

若供應(yīng)鏈中 25MHz 晶振不易獲取,可選擇 8MHz 無源晶振(經(jīng)典通用頻率),配置邏輯如下:

PLL 配置:PLL_M=8(8MHz/8=1MHz)、PLL_N=336、PLL_P=2、PLL_Q=7(與 25MHz 配置一致,同樣滿足 USB=48MHz、SYSCLK=168MHz);

ETH 適配:需 PHY 自帶 25MHz 晶振生成 50MHz RMII 參考時(shí)鐘(8MHz 晶振無法通過 MCU 直接生成 50MHz 整數(shù)分頻時(shí)鐘,需 PHY 自供);

優(yōu)缺點(diǎn):兼容性強(qiáng)(8MHz 晶振隨處可得),但 ETH 配置需依賴 PHY 自供時(shí)鐘,靈活性稍弱于 25MHz。

四、不推薦的頻率(避坑)

12MHz/16MHz:雖能通過 PLL 配置滿足 USB / 系統(tǒng)時(shí)鐘,但 ETH 兼容性差(PHY 少見 12/16MHz 參考晶振);

26MHz:部分 PHY 支持,但晶振通用性不如 25MHz/8MHz,成本稍高;

32MHz 以上:PLL_M 分頻后難以滿足 1MHz 輸入要求,PLL 穩(wěn)定性下降。

五、關(guān)鍵配置注意事項(xiàng)(避免踩坑)

晶振布局:負(fù)載電容需緊貼晶振引腳(引線長度<3mm),避免電磁干擾(ETH/USB 對(duì)時(shí)鐘干擾敏感);

PLL 時(shí)鐘配置代碼(HAL 庫示例):

// 25MHz HSE 配置:SYSCLK=168MHz,USB=48MHz,APB1=42MHz(CAN)
void SystemClock_Config(void) {
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};

  // 1. 使能 HSE 并等待就緒
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; // HSE 不分頻(25MHz)
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLM = 25;        // 25MHz/25=1MHz
  RCC_OscInitStruct.PLL.PLLN = 336;       // 1MHz×336=336MHz
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; // 336MHz/2=168MHz(SYSCLK)
  RCC_OscInitStruct.PLL.PLLQ = 7;         // 336MHz/7=48MHz(USB)
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
    Error_Handler();
  }

  // 2. 配置系統(tǒng)時(shí)鐘、AHB/APB 分頻
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;    // AHB=168MHz
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;     // APB1=42MHz(CAN)
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;     // APB2=84MHz(ETH 等)

  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK) {
    Error_Handler();
  }
}

ETH PHY 時(shí)鐘:若用 25MHz HSE,可將 PHY 的 XTAL 引腳直接接 HSE 晶振(需確認(rèn) PHY 支持 25MHz 輸入),無需額外配置 MCO1 輸出;

電源與復(fù)位:HSE 晶振啟動(dòng)時(shí)間約 1ms,需在代碼中等待 HSE 就緒(HAL 庫 HAL_RCC_OscConfig 已包含),避免時(shí)鐘未穩(wěn)定就啟動(dòng)外設(shè)。

總結(jié)

STM32F407 同時(shí)使用 USB/ETH/CAN 時(shí),最佳 HSE 方案是 25MHz 無源貼片晶振(3225 封裝,±10ppm,12pF 負(fù)載電容)—— 既完美適配 PLL 時(shí)鐘樹,滿足所有外設(shè)的精度和頻率要求,又能簡化 ETH 配置,是工業(yè)級(jí)應(yīng)用的主流選擇。若 25MHz 晶振不可得,8MHz 無源晶振可作為備選(需 PHY 自供 50MHz 時(shí)鐘)。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 晶振
    +關(guān)注

    關(guān)注

    35

    文章

    3437

    瀏覽量

    72547
  • STM32F407
    +關(guān)注

    關(guān)注

    15

    文章

    189

    瀏覽量

    31374
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32的那些小關(guān)系

    STM32 適配,以及解剖圖
    的頭像 發(fā)表于 11-21 15:37 ?4418次閱讀
    <b class='flag-5'>晶</b><b class='flag-5'>振</b>與<b class='flag-5'>STM32</b>的那些小關(guān)系

    STM32F030內(nèi)部怎么設(shè)置,內(nèi)部是延時(shí)函數(shù)怎么設(shè)置?

    STM32F030內(nèi)部怎么設(shè)置,內(nèi)部是延時(shí)函數(shù)怎么設(shè)置 使用STM32F030時(shí)沒使用
    發(fā)表于 04-23 07:45

    使用STM32F030時(shí)沒使用內(nèi)部怎么設(shè)置,使用內(nèi)部時(shí)延時(shí)函數(shù)怎么寫?

    STM32F030內(nèi)部怎么設(shè)置,內(nèi)部是延時(shí)函數(shù)怎么設(shè)置 使用STM32F030時(shí)沒使用
    發(fā)表于 03-07 08:13

    stm32f407這個(gè)STM32_RCC_PERIPHCLK_SDMMC是哪里定義的?

    stm32f407這個(gè)STM32_RCC_PERIPHCLK_SDMMC 是哪里定義的 函數(shù)調(diào)用這個(gè)會(huì)報(bào)錯(cuò) Error[Pe020]: identifier \"
    發(fā)表于 03-07 07:34

    STM32F407的高速USB,采用的是虛擬串口方式,VCP驅(qū)動(dòng)有l(wèi)inux系統(tǒng)的嗎?

    STM32F407使用高速USB的Device模式,使用的是虛擬串口VCP方式,網(wǎng)站上有Window7和Window8的驅(qū)動(dòng),是否也有l(wèi)inux系統(tǒng)下的驅(qū)動(dòng)?
    發(fā)表于 03-07 06:42

    車規(guī)怎么選型,需要注意事項(xiàng)有哪些

    車規(guī)是汽車電子設(shè)備中常用的頻率元件,其選型和使用對(duì)于保證汽車電子設(shè)備的穩(wěn)定性和可靠性具有重要意義。本文將介紹車規(guī)
    的頭像 發(fā)表于 02-24 14:09 ?1675次閱讀
    車規(guī)<b class='flag-5'>晶</b><b class='flag-5'>振</b>怎么<b class='flag-5'>選型</b>,需要注意事項(xiàng)有哪些

    求一份在STM32F407的CS1239的驅(qū)動(dòng)程序

    求一份STM32F407的CS1239的驅(qū)動(dòng)程序,目前沒有調(diào)試通,讀不到數(shù)據(jù),郵箱:298487317@qq.com謝謝?
    發(fā)表于 02-10 16:52

    STM32F407輸出的2片ADC的轉(zhuǎn)換值與輸入ADC的電壓值相同了,不知道是何原因?

    采用STM32F407 控制2片ADS125550sps速率進(jìn)行ADC采樣,使用外部基準(zhǔn),單元上電后偶然會(huì)出現(xiàn)STM32F407 輸出的2片ADC的轉(zhuǎn)換值,較輸入ADC的電壓值大20%的現(xiàn)象,測量
    發(fā)表于 01-22 08:15

    STM32F407的SPI操作ADS1282的疑問誰來解答一下

    ADS1282你好:我在用STM32F407的SPI操作ADS1282,我首先進(jìn)行讀寄存器測試,流程是:RESET PIn, 發(fā)送SDATAC命令,再發(fā)送0x24和0x00(讀地址為0x04的寄存器值,它的RESET值為0x03),但是我讀出的值卻是零,麻煩您有空時(shí)幫我看一下,十分感謝!!
    發(fā)表于 01-20 07:45

    STM32F405xx和STM32F407xx微控制器數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F405xx和STM32F407xx微控制器數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 14:49 ?4次下載

    使用STM32F407的硬件SPI接口去讀取ADS8694的18位ad數(shù)據(jù)怎樣才能讀取出來?

    使用STM32F407的硬件SPI接口去讀取ADS8694的18位ad數(shù)據(jù)怎樣才能讀取出來,因?yàn)?b class='flag-5'>STM32F407的硬件SPI接口只能設(shè)置每次讀取的數(shù)據(jù)位是8位或者16位,看了TI的ADS8694芯片手冊(cè)上的SPI時(shí)序圖發(fā)現(xiàn) 是不是直接產(chǎn)生16個(gè)SCLK就可以輸出18位
    發(fā)表于 12-27 06:23

    STM32F407和ADS8684進(jìn)行SPI通信,寄存器怎么配置?

    通過STM32F407和ADS8684進(jìn)行SPI通信,閱讀了ADS8684的手冊(cè),配置STM32F407為主,CPOL為0,CPHA為1,這樣對(duì)嗎? 配置好后應(yīng)該先設(shè)置ADS8684的程序寄存器還是發(fā)送命令寄存器后再設(shè)置程序寄存器呢?
    發(fā)表于 12-20 06:25

    STM32F407可以同時(shí)輸出四路信號(hào)嗎?

    使用STM32F407驅(qū)動(dòng)DAC7615輸出單路信號(hào)時(shí)沒有問題,現(xiàn)在想同時(shí)輸出四路信號(hào)時(shí),就出現(xiàn)了問題,請(qǐng)問這個(gè)該怎么實(shí)現(xiàn)了? 現(xiàn)在采取的四路是,先利用地址和REG引腳分別更新A、B、C、D四個(gè)
    發(fā)表于 12-13 06:23

    STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案

    STM32F407微控制器單元(MCU)與SD NAND的結(jié)合提供了強(qiáng)大的存儲(chǔ)解決方案。然而,不斷電初始化失效問題可能會(huì)導(dǎo)致系統(tǒng)穩(wěn)定性和數(shù)據(jù)完整性受損。我們將STM32F407與SD NAND集成時(shí)可能遇到的初始化問題,并提供專業(yè)的解決方案。
    的頭像 發(fā)表于 12-11 10:51 ?1437次閱讀
    <b class='flag-5'>STM32F407</b> MCU使用SD NAND?不斷電初始化失效解決方案

    選型指南與注意事項(xiàng) 低功耗的優(yōu)勢和應(yīng)用

    選型指南與注意事項(xiàng) 1. 的基本概念 ,
    的頭像 發(fā)表于 12-09 09:35 ?2243次閱讀