你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何将MCO1输出50MHz时钟

[复制链接]
sang-383176 提问时间:2015-1-23 09:15 /
     使用STM32F407 + DP38348 进行有线网络的开发,STM32F407通过MCO1为DP38348提供时钟,使用RMII接口。现在的问题是我没有办法让MCO1输出50MHz的时钟。
     关于MCO1的说明如下:
RCC 时钟配置寄存器 (RCC_CFGR)
位 22:21  MCO1 :微控制器时钟输出 1 (Microcontroller clock output 1)
由软件置 1 和清零。时钟源选择可能会造成对 MCO1  的干扰。强烈建议仅在复位后且在使能   
外部振荡器和 PLL  之前来配置这些位。
00:选择 HSI 时钟输出到 MCO1  引脚
01:选择 LSE  振荡器输出到 MCO1  引脚
10:选择 HSE  振荡器时钟输出到 MCO1  引脚
11:选择 PLL  时钟输出到 MCO1  引脚


位 24:26 MCO1PRE :MCO1 预分频器 (MCO1 prescaler)
由软件置 1 和清零,用于配置 MCO1  的预分频器。对此预分频器进行修改可能会对  M C O 1
造成干扰。强烈建议仅在复位后且在使能外部振荡器和 PLL  之前进行此分频器的更改。
0xx:无分频
100 :2  分频
101 :3  分频
110 :4  分频
111 :5  分频

收藏 评论4 发布时间:2015-1-23 09:15

举报

4个回答
sang-383176 回答时间:2015-1-23 13:14:07
我已经回复吧。
通过修改PLL主频,将PLL主频设置为150MHz,在MCO输出时使用PLL的三分频即可。
MCO1为DP83848输出时钟,这样修改后,MAC的初始化可以通过,但是将网线连接F407至电脑后,电脑端显示网络时断时续。可能是什么原因。是否与我修改PLL主频有关?
    此固件程序已经在另一款F407开发板上调试通过,但开发板DP83848使用的自带晶振,没有使用MCU提供的晶振。
   
zhangdaijin 回答时间:2015-1-23 16:04:36
overheat 回答时间:2015-3-18 07:58:04
sang-383176 发表于 2015-1-23 13:14
我已经回复吧。
通过修改PLL主频,将PLL主频设置为150MHz,在MCO输出时使用PLL的三分频即可。
MCO1为DP838 ...

有没有测试过,这个输出是始终都有的吗?如果芯片睡眠是不是就没有了?
llbff 回答时间:2018-5-21 18:18:45
sang-383176 发表于 2015-1-23 13:14
我已经回复吧。
通过修改PLL主频,将PLL主频设置为150MHz,在MCO输出时使用PLL的三分频即可。
MCO1为DP838 ...

我也遇到了同样的问题, 这个应该是STM32F407 锁相环频率抖动造成的。
我这边把锁相环的输入频率改为5MHz(25/5),锁相环核心倍频60倍到300MHz, 再2分频到150M供核心使用,再3分频到50M由MCO1输出供以太网芯片使用。

    // 设置PLL时钟源及倍频系数
   RCC_PLLConfig(RCC_PLLSource_HSE, 5, 60, 2, 7);

    // MCO1 输出50MHz时钟
    RCC_MCO1Config(RCC_MCO1Source_PLLCLK, RCC_MCO1Div_3);

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版