频率计数
请教各位一个问题,就是一个频率为10M的方波输入到一个单片机,怎样从单片机输出一个5M的方波,望各位不吝赐教 普通单片机很难处理这么高的信号,不如外部直接2分频 用PWM外设,周期数设定4,比较值设定2,10M作为外部输入时钟。比较输出,用示波器看看。ayb_ice 发表于 2021-12-22 11:39
普通单片机很难处理这么高的信号,不如外部直接2分频
多谢答复,忘了说一句,用ARM 也可以 xdqfc 发表于 2021-12-22 11:40
用PWM外设,周期数设定4,比较值设定2,10M作为外部输入时钟。比较输出,用示波器看看。
...
您好,多谢您的回复(忘了说,用ARM也可以),请问您说的方法哪种单片机或ARM 有这样的功能? 为啥用单片机,用个触发器不香么? wangjunn 发表于 2021-12-22 13:41
您好,多谢您的回复(忘了说,用ARM也可以),请问您说的方法哪种单片机或ARM 有这样的功能? ...
GD32跟CH32的定时器都有外部计数功能,比较输出功能,推荐CH32,国产内核。
用一个STC的8位机的定时器对外部信号做2N分频输出,没有任何问题。 xdqfc 发表于 2021-12-22 16:38
GD32跟CH32的定时器都有外部计数功能,比较输出功能,推荐CH32,国产内核。
...
好的,十分感谢您的答复,现在恰好准备用 沁恒 CH32V103C8T6 coody 发表于 2021-12-22 21:12
用一个STC的8位机的定时器对外部信号做2N分频输出,没有任何问题。
感谢您的答复,您说的方法是使用定时器的外部计数功能吗?是否需要用到中断?如果用到中断,会不会中断时间太短,而不能执行其他程序?就像 二楼大哥所说的情形 可能可以用DMA 输出5MHZ。外部输入10MHZ触发DMA,dma 在GPIO上反转输出。一般GPIO输入不能直接触发DMA,需要一个高速可触发外设来转换。比如定时器捕获。 这么一个小要求,居然要用DMA,还要用中断,捕获,是不是夸张了点。定时器比较硬件PWM输出,不香吗。 xdqfc 发表于 2021-12-23 10:18
这么一个小要求,居然要用DMA,还要用中断,捕获,是不是夸张了点。定时器比较硬件PWM输出,不香吗。 ...
不确定定时器能输出1/2分频。 用中断处理肯定来不及。只能用定时器比较PWM输出。 STC8定时器的频率输出功能,实现非常简单
wangjunn 发表于 2021-12-23 09:22
感谢您的答复,您说的方法是使用定时器的外部计数功能吗?是否需要用到中断?如果用到中断,会不会中断时 ...
不需要中断,设置好了之后,硬件自动分频输出。
比如Timer0,从P3.4输入信号,从P3.5输出分频信号,输出频率 = 输入频率 / 2 / N,N=1~65535,我常用此功能来配合PLL芯片做信号输出。 比较输出是靠谱的方案,如果软件处理肯定是处理不过来的
页:
[1]