请教马老师,关于论坛中您说的M8在16M晶振下可以输出125KHZ的正弦波,是怎么算出来的?【
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=762992&bbs_page_no=1&search_mode=1&search_text=正弦波&bbs_id=9999这是原帖
【3楼】 machao
积分:4674
派别:
等级:------
来自:
m8的系统时钟采用16M。一个正弦波周期中输出8点的话,125KHz可以。但可能干不了其它的时了。
m8的系统时钟采用16M,用M8+DAC,一个正弦波周期中输出16点的话,125KHz也可以。
m8系统时钟是8M时,PWM的频率为30KHZ,也就是说16M时是60KHZ,一个正弦波周期输出8个点的话,
那正弦波的频率应该是7点几KHZ啊,125KHZ是怎么得出的?
很是不解,望马老师指点
最近在做关于单片机输出20KHZ的正弦波,并要求采样点不能过低,而且正弦波一定要稳定,
按照PWM取采样点的方法,怎么算也无法得出结果,希望马老师能指条明路 谢谢马老师的回复,把问题弄明白了 2009年第一问,应该支持。
LZ说的对,我在那个帖子没有给出PWM的精度,它下面的跟贴已经有人指出了。
我只是给出一个最低的限度:采用16M,一个正弦波周期中输出8点的话,要达到125KHz时,PWM的精度只能为4位。这对于AVR是可以实现的。
16000000/8/125000 = 16 (4bit)
如果是8位精度的PWM,一个正弦波周期中输出8点的话,只能做到是7.8k。如果输出波型要求高的话,连这个也做不到的。
16000000/8/256 = 7812.5
AVR的PWM主要应用面是适合工业控制,因为工业控制频率低,一般在几十HZ。
根据你的具体要求,采用PWM的方式输出20K,而且“采样点不能过低,而且正弦波一定要稳定”,基本上是不行的。
页:
[1]