7814|12

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MCO输出失真,怎么办? [复制链接]

// Enable GPIOA clock
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  // Output HSE or other clock on MCO pin PA8 (pin 67)
  gpio_init.GPIO_Pin = GPIO_Pin_8;
  gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
  gpio_init.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOA, &gpio_init);
  // Output HSE or other clock on MCO pin
  RCC_MCOConfig(RCC_MCO_PLLCLK_Div2);

PA8开漏或上拉输出,我想做为外设的时钟信号,可是失真严重.不知道上拉怎么样.没试.先请教一下.
有什么办法可以让MCO输出24MHz的时钟信号.
此帖出自stm32/stm8论坛

最新回复

                                 从10楼贴出的波形看,至少36MHz的输出波形是很好的,所以楼主要求输出24MHz应该是没有问题的。请楼主贴出你的波形,比较一下。   详情 回复 发表于 2009-4-30 15:16
点赞 关注
 

回复
举报

69

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

MCO输出不应该有很大失真

请问你在MCO上接的负载有多大?

另外,你的USART1和TIM1怎么用的,是否与MCO有冲突?

最后一个问题,你用的什么芯片?
此帖出自stm32/stm8论坛
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

mco

STM32F103VE
测试时没接负载
TM1未使用,UART配置如下
  usart_init.USART_BaudRate            = baud_rate;
    usart_init.USART_WordLength          = USART_WordLength_8b;
    usart_init.USART_StopBits            = USART_StopBits_1;
    usart_init.USART_Parity              = USART_Parity_No ;
    usart_init.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    usart_init.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;

    usart_clk_init.USART_Clock           = USART_Clock_Disable;
    usart_clk_init.USART_CPOL            = USART_CPOL_Low;
    usart_clk_init.USART_CPHA            = USART_CPHA_2Edge;
    usart_clk_init.USART_LastBit         = USART_LastBit_Disable;
  gpio_init.GPIO_Pin   = GPIO_Pin_9;
    gpio_init.GPIO_Speed = GPIO_Speed_50MHz;
    gpio_init.GPIO_Mode  = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOA, &gpio_init);
    /* Configure GPIOA.10 as input floating                 */
    gpio_init.GPIO_Pin   = GPIO_Pin_10;
    gpio_init.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOA, &gpio_init);

请问斑竹,能用PWM输出24MHz的方波吗,占空比1:1
此帖出自stm32/stm8论坛
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 

屏蔽UART,也是失真

                                 屏蔽UART,也是失真
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 

请把失真波形贴出来看看

如果定时器的时钟频率为48MHz,则可以产生24MHz占空比是1:1的方波。
如果定时器的时钟频率为72MHz,则可以产生24MHz占空比是1:2的方波。
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 

STM32的MCO输出

                                   STM32的MCO输出,我试过,24MHz应该失真不大,48MHz就象正弦波了,72MHz基本上是正弦波。
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

7
 

re楼上的人

                                 那是因为你的测试工具不够档次
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 

STM32的MCO输出没有什么问题

STM32的输出速度最快为50MHz,所以只要输出频率小于等于50MHz,输出的信号都不会失真,这一点勿庸置疑,我已经测试过;当输出频率超过50MHz时,频率有失真现象,但是更主要的时频率变小了,我测试输出72MHz时,输出的频率只有71.6MHz。
此帖出自stm32/stm8论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

9
 

上图才是硬道理

我的测试环境:
8MHz = HSE
PLL输出 = 72MHz, 作为SYSCLK

MCO输出8MHz
MCO输出PLL/2 = 36MHz
MCO输出SYSCLK = 72MHz

P.S 我用的示波器:
型号:Agilent infiniim 54831D MSO
特性:600MHz带宽,4G次采样/每秒

此帖出自stm32/stm8论坛
 
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

10
 

无图无真相

MCO输出8MHz


MCO输出8MHz放大


MCO输出36MHz


MCO输出36MHz放大


MCO输出72MHz
此帖出自stm32/stm8论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

11
 

看来我没记错

                                 看来我没记错:“24MHz应该失真不大,48MHz就象正弦波了,72MHz基本上是正弦波。”跟上面的图比较符合。
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

12
 

72MHZ,请不 要忽略PCB走线的影响

                                 72MHZ失真,请不要忽略PCB走线的影响,输出的频率只有71.6MHz。检测你 的晶体频率离8.000MHZ(9倍频)有多远。
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

13
 

STM32 GPIO模块的最大带宽只有50MHz,不能输出72MHz方波

从10楼贴出的波形看,至少36MHz的输出波形是很好的,所以楼主要求输出24MHz应该是没有问题的。

请楼主贴出你的波形,比较一下。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表
  缈昏瘧锛