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

如何将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 ...

有没有测试过,这个输出是始终都有的吗?如果芯片睡眠是不是就没有了?
LBF 回答时间: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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版