OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7811|回复: 12

STM32F429IGT6频率设定超150Mhz死机

[复制链接]

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
发表于 2018-9-16 16:50:50 | 显示全部楼层 |阅读模式
1金钱
现象如题,自己画的板子,现运行以下最简单程序,超过150Mhz,就一直进Hard_fault,有大神遇到过这类问题吗?Stm32_Clock_Init用的是原子的程序。也不是第一次用stm32f429了,以前都这么用,都没问题,难道是硬件问题?晶振用的是25M晶振
#include "sys.h"

unsigned int i = 0, j = 0;

void Stm32_Clock_Init(u32 plln,u32 pllm,u32 pllp,u32 pllq)
{
    HAL_StatusTypeDef ret = HAL_OK;
    RCC_OscInitTypeDef RCC_OscInitStructure;
    RCC_ClkInitTypeDef RCC_ClkInitStructure;

    __HAL_RCC_PWR_CLK_ENABLE(); //使能PWR时钟

    //下面这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作
    //时使性能与功耗实现平衡,此功能只有STM32F42xx和STM32F43xx器件有,
    __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1

    RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSE;    //时钟源为HSE
    RCC_OscInitStructure.HSEState = RCC_HSE_ON;                      //打开HSE
    RCC_OscInitStructure.PLL.PLLState = RCC_PLL_ON;//打开PLL
    RCC_OscInitStructure.PLL.PLLSource = RCC_PLLSOURCE_HSE;//PLL时钟源选择HSE
    RCC_OscInitStructure.PLL.PLLM = pllm; //主PLL和音频PLL分频系数(PLL之前的分频),取值范围:2~63.
    RCC_OscInitStructure.PLL.PLLN = plln; //主PLL倍频系数(PLL倍频),取值范围:64~432.  
    RCC_OscInitStructure.PLL.PLLP = pllp; //系统时钟的主PLL分频系数(PLL之后的分频),取值范围:2,4,6,8.(仅限这4个值!)
    RCC_OscInitStructure.PLL.PLLQ = pllq; //USB/SDIO/随机数产生器等的主PLL分频系数(PLL之后的分频),取值范围:2~15.
    ret = HAL_RCC_OscConfig(&RCC_OscInitStructure);//初始化
    if(ret!=HAL_OK) while(1);

    ret=HAL_PWREx_EnableOverDrive(); //开启Over-Driver功能
    if(ret!=HAL_OK) while(1);

    //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK2
    RCC_ClkInitStructure.ClockType = (RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2);
    RCC_ClkInitStructure.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;//设置系统时钟时钟源为PLL
    RCC_ClkInitStructure.AHBCLKDivider = RCC_SYSCLK_DIV1;//AHB分频系数为1
    RCC_ClkInitStructure.APB1CLKDivider = RCC_HCLK_DIV4; //APB1分频系数为4(即PCLK1)
    RCC_ClkInitStructure.APB2CLKDivider = RCC_HCLK_DIV2; //APB2分频系数为2(即PCLK2)
    ret=HAL_RCC_ClockConfig(&RCC_ClkInitStructure,FLASH_LATENCY_5);//同时设置FLASH延时周期为5WS,也就是6个CPU周期。
               
    if(ret!=HAL_OK) while(1);
}


void SysTick_Handler(void)
{
                HAL_IncTick();
}

int main(void)
{
        HAL_Init();
        Stm32_Clock_Init(310,25,2,8); //155Mhz
        while(1){
                i++;
                if(i == 1000000){
                        i = 0;
                        j++;
                }
        }
}

最佳答案

查看完整内容[请看2#楼]

高手,什么是cap2啊,是起振电容的问题吗?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
 楼主| 发表于 2018-9-16 16:50:51 | 显示全部楼层
gotofly21 发表于 2018-9-17 09:11
基本上是cap2的问题

高手,什么是cap2啊,是起振电容的问题吗?
回复

使用道具 举报

18

主题

323

帖子

1

精华

高级会员

Rank: 4

积分
935
金钱
935
注册时间
2017-12-11
在线时间
196 小时
发表于 2018-9-16 17:32:44 来自手机 | 显示全部楼层
时钟开启不正常(参数错误)
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2018-9-17 02:17:28 | 显示全部楼层
板子变了?
回复

使用道具 举报

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
 楼主| 发表于 2018-9-17 08:53:11 | 显示全部楼层
wlq390934605 发表于 2018-9-16 17:32
时钟开启不正常(参数错误)

怎么确定是时钟开启不正常(参数错误)呢? 关键是怎么解决呢?
回复

使用道具 举报

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
 楼主| 发表于 2018-9-17 08:54:12 | 显示全部楼层

板子照着开发板画的
回复

使用道具 举报

49

主题

341

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5259
金钱
5259
注册时间
2012-8-25
在线时间
1025 小时
发表于 2018-9-17 09:11:37 | 显示全部楼层
基本上是cap2的问题
回复

使用道具 举报

3

主题

259

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2317
金钱
2317
注册时间
2016-12-2
在线时间
354 小时
发表于 2018-9-17 17:51:42 | 显示全部楼层
y309976659 发表于 2018-9-17 13:51
高手,什么是cap2啊,是起振电容的问题吗?

VCAP - 81 , 125脚接的电容, 换一个看看, 可能容量不足.
回复

使用道具 举报

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
 楼主| 发表于 2018-9-18 15:39:34 | 显示全部楼层
sammy902583 发表于 2018-9-17 17:51
VCAP - 81 , 125脚接的电容, 换一个看看, 可能容量不足.

多谢老铁提醒,确实是这个问题。
回复

使用道具 举报

7

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
258
金钱
258
注册时间
2016-12-30
在线时间
75 小时
发表于 2018-9-18 18:59:48 来自手机 | 显示全部楼层
你这个问题和我之前遇到的一样,就是vcap的问题
回复

使用道具 举报

49

主题

341

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
5259
金钱
5259
注册时间
2012-8-25
在线时间
1025 小时
发表于 2018-9-19 10:54:15 | 显示全部楼层
这个楼主真是,可怜就1个金币,还选自己答案。谁也不给!真有意思
回复

使用道具 举报

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2016-12-2
在线时间
35 小时
 楼主| 发表于 2018-9-19 16:49:11 | 显示全部楼层
gotofly21 发表于 2018-9-19 10:54
这个楼主真是,可怜就1个金币,还选自己答案。谁也不给!真有意思

我搞错了
回复

使用道具 举报

5

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2018-10-10
在线时间
11 小时
发表于 2021-11-18 18:08:23 | 显示全部楼层
本人亲测就是cap1,vcap2没有焊接就会导致
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 15:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表