6093|13

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

单片机产生正弦信号 [复制链接]

请问下大家,利用单片机通过DA能产生一个频率在1KHZ-4KHZ的可程控正弦信号吗?要于何产生?  给点建议,  还有别的法字没?  (不考滤用DDS芯片)

最新回复

建议问问题之前,先看看相关资料。PWM和浮点运算都是基本知识,就算手边没有书,google一下也好啊。  详情 回复 发表于 2007-8-19 20:25
点赞 关注

回复
举报

68

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
理论上应该不难吧,

一个算法的问题,

不过不知道D/A的速度能否达到?
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
通过定时器呀,可以改变定时器的值,在定时器内输出sin不就可以了,应该不难,关键是速度。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
单片机里进行浮点运算,这个很是郁闷哈
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
怎么个“通过定时器呀,可以改变定时器的值,在定时器内输出sin”  而进行实现可程控频率!
我要实现的是程控 步进1HZ  我的关键就是程控这里,  给点指点
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

6
 
这实际就是一个DDS。
   可以这样实现:用一个定时器(计数器),根据目标频率*每周期显示的点数 来确定中断间隔,在中断服务程序中,向D/A输出一个电压值(通常查表,用软件实现比较麻烦,费时)。
   这个方案主要影响因素有:单片机中断和指令的处理能力,每周期需要显示的点数,目标频率,D/A精度,D/A速度等等。
   比如你一个周期打算显示256个点,那么4KHZ的正弦波就需要256*4kHz的中断频率,还需要一张256*DA分辨率bit 的正弦表。
   假设单片机中断达不到那么快,你就只有降低每周期显示的点数了,那么出来的正弦波波形就变差了。要是你每周期变成4个点。。。。那就输出一个三角波。。。
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

7
 
我来解释一下楼上的,
如果是8位的分辨率,用pwm波实现,单片机是单周期的指令
需要单片机的频率是:
4000(频率)X256(每个正弦波的点数)X256(每个点的分辨率8位)==264MHZ,一般的单片机恐怕达不到
如果波形差点,32个点,需要的单片机主频,4000(频率)X32(每个正弦波的点数)X256(每个点的分辨率8位)==32M,高速单片机勉强达到
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
可以编一个小的c程序,产生spwm的开关数据,将此数据存入rom如2764之类,2764的地址接计数器。计数器的时钟为rom地址线条数*正弦频率。数据输出接滤波网络。不用单片机。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

9
 
如果楼主真要用单片机,还是建议用查表法,简单可靠方便。控制数据输出速度也就控制了输出正弦信号频率。
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

10
 
需要单片机的频率是:
"4000(频率)X256(每个正弦波的点数)X256(每个点的分辨率8位)== " 为什么要 X256(每个点的分辨率8位 啊! ,  不是 目标频率*每周期显示的点数 就行了吗?  还有问下这里单片机的频率 换算出来对应的时间就是单片机的一个机器周期的时间吗?
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

11
 
上面说的那个,"4000(频率)X256(每个正弦波的点数)X256(每个点的分辨率8位)== "
是指用pwm方式实现的,不是指DA方式。单片机的指令周期不一定等于时钟周期。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

12
 

好难啊~~  单片机里需要进行浮点运算,该怎么办???


 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

13
 
“pwm方式”到底是个什么方式呢?  还有这里所说的 “浮点运算”到底是什么回事!  我对单片机里面的用 C51  不熟! 指点
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

14
 
建议问问题之前,先看看相关资料。PWM和浮点运算都是基本知识,就算手边没有书,google一下也好啊。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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