想问一下,STM8的PWM最高能输出多快?2MHZ可以吗?

thedegree   2009-12-21 20:23 楼主
                                 想问一下,STM8的PWM最高能输出多快?2MHZ可以吗?

回复评论 (9)

                                 应该可以吧
点赞  2009-12-21 23:24
typedef enum
{
    GPIO_Mode_In_FL_No_IT      = (uint8_t)0b00000000,         /*!< Input floating, no external interrupt */
    GPIO_Mode_In_PU_No_IT      = (uint8_t)0b01000000,         /*!< Input pull-up, no external interrupt */
    GPIO_Mode_In_FL_IT         = (uint8_t)0b00100000,         /*!< Input floating, external interrupt */
    GPIO_Mode_In_PU_IT         = (uint8_t)0b01100000,         /*!< Input pull-up, external interrupt */
    GPIO_Mode_Out_OD_Low_Fast  = (uint8_t)0b10100000,         /*!< Output open-drain, low level, 10MHz */
    GPIO_Mode_Out_PP_Low_Fast  = (uint8_t)0b11100000,         /*!< Output push-pull, low level, 10MHz */
    GPIO_Mode_Out_OD_Low_Slow  = (uint8_t)0b10000000,         /*!< Output open-drain, low level, 2MHz */
    GPIO_Mode_Out_PP_Low_Slow  = (uint8_t)0b11000000,         /*!< Output push-pull, low level, 2MHz */
    GPIO_Mode_Out_OD_HiZ_Fast  = (uint8_t)0b10110000,         /*!< Output open-drain, high-impedance level, 10MHz */
    GPIO_Mode_Out_PP_High_Fast = (uint8_t)0b11110000,         /*!< Output push-pull, high level, 10MHz */
    GPIO_Mode_Out_OD_HiZ_Slow  = (uint8_t)0b10010000,         /*!< Output open-drain, high-impedance level, 2MHz */
    GPIO_Mode_Out_PP_High_Slow = (uint8_t)0b11010000          /*!< Output push-pull, high level, 2MHz */
点赞  2009-12-22 11:04
速度那么快的话
占空比的分辨率就不够了吧?
点赞  2010-3-16 11:54
回3楼,这个定义与I/O能输出到少频率无管,影响的只是EMI特征。

定时器的时钟来自fMASTER,这个最快可以到24MHz(10x系列是16MHz),如果用16MHz时钟驱动定时器,2MHz PWM,每个周期8 cycle? 占空比的分辨率基本没剩下什么可调的了。

直接翻转IO也许更快些
点赞  2010-3-16 20:36
用timer counter 来输出2MHz是不可能的,只有直接控制引脚输出
PWM才有可能
点赞  2010-3-18 14:37
用timer counter 来输出2MHz是不可能的,只有直接控制引脚输出
PWM才有可能
楼上为什么会这样说?

不必直接控制引脚输出,用TIM可以很容易地输出2MHz,12MHz都没有问题。
点赞  2010-3-18 21:20
                                 是的,很容易实现
点赞  2010-3-18 21:35
                                 输出2M没什么问题,输出更高的话输出明显失真,俺发现输出9M已经不行了,上升沿大概20ns,稳定时间大概为160ns
点赞  2010-3-19 13:06
输出2M没什么问题,输出更高的话输出明显失真,俺发现输出9M已经不行了,上升沿大概20ns,稳定时间大概为160ns
输出9MHz时,请选用50MHz的输出驱动,不要使用2MHz或10MHz的驱动。
点赞  2010-3-19 21:36
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复