当前位置:首页 > 单片机 > 单片机
[导读]1. 引言信号发生器在教学、试验、测控等各个领域有十分广泛的应用,其输出信号的频率范围覆盖了各个频段,从甚低频到甚高频,操作方式也从手动旋钮到程控,产生的波形从传统的正(余)弦波和脉冲波形,发展到现在能

1. 引言

信号发生器在教学、试验、测控等各个领域有十分广泛的应用,其输出信号的频率范围覆盖了各个频段,从甚低频到甚高频,操作方式也从手动旋钮到程控,产生的波形从传统的正(余)弦波和脉冲波形,发展到现在能产生各种任意波形。以前的信号发生器往往独占一个机箱,而现在的一些应用中,它只是一块插在计算机中的扩展卡,还有一些信号发生器设计成一个独立的小模块,通过RS-232C或RS-422,RS-485等串行总线和计算机连接。

其实,在许多固定的控制应用中,只要求信号发生器产生单一波形,或可数的几个波形。如果仅仅要求产生单一的正(余)弦波或者脉冲波形,可以利用传统的振荡器电路。当信号频率有所选择时,问题仍然比较简单。但若产生的信号波形比较复杂时,电路的设计也同样变得很复杂。加之传统振荡器电路由于有较大的温度漂移,需要较长的预热时间,为达到较高的频率精度,需仔细调节电路各个参数。

数字频率合成技术的采用,大大简化了信号发生器的设计。但在某些特定情况,需要的仅仅是几个单独的波形,这时我们可以使用单片机和DAC芯片,用十分简单的电路产生所需要的波形。

2. 电路设计及编程考虑

单片机简易信号发生器电路框图如图1,仅由一片AT89C2051单片机,一片DAC0832和由运放组成的低通滤波器组成。AT89C2051内部有 2KB的FLASH存储器,可以保存运行程序和波形参数,128字节的RAM可以用于存放波形参数。由于采用了数字合成技术,可以产生各种简单或复杂的波形。

工作过程说明如下;(1)决定产生的信号波形;通电稳定工作以后,单片机首先读取P3.0和P3.1引脚信号,决定程序应跳转的地址。每个跳转地址有一个输出波形。(2)将保存在FLASH中的样本数据送往DAC0832,供其转换成模拟电压。

首先应将波形参数转换成样本数据。假若每周期有N个样本数据,则第K个样本数据的计算方法为:
    DK=127(1+SIN(2πK/N)  K=0,1,2,……N-1

由于在实际产生波形的过程中,数据由运行程序逐个取得送出,在产生周期波时是一个循环过程。因此必须考虑程序取数、送数、循环等操作的时间开销。对于 MCS51系列单片机,在晶振频率为12MHz时,每条指令的执行时间为1~2μs。为了使波形足够光滑,每周期的点数应尽可能多,这样要求单片机发送样本数据的速率尽量快。由于送数周期的限制,在增加样本点数时,输出信号频率会降低。同时从程序存储器空间取数时需要较长的时间,当样本数据的个数不多时,可以把样本数据先移到RAM中,程序执行时直接从RAM中取数送往DAC,就能增加发送样本数据的速率。

下面以产生单一4800Hz正弦波为例,说明程序设计过程。参数N的计算见后面的说明。
 ORG    0000H
         MOV    R0,#0
         MOV    R1,#4
         MOV    R2,#124
         MOV    DPTR,#200H
         MOV     A,#0
MOVD:  MOVC    A,@A+DPTR  ;将样本数据从FLASH
         MOV     @R1,A   ;移到内部RAM中,
         INC     R0   ;可以减少送数时间
         INC R1
         MOV     A,R0
         DJNZ    R2,MOVD
         MOV     R0,#04
DOUT:   MOV     A,@R0   ;轮流送数到DAC
         MOV     P1,A
         INC  R0
         CJNE    R0,#128,DOUT
         MOV     P1,#128  ;从起点开始重新送样本数据
         MOV     R0,#04  ;
         SJMP  DOUT   ;送数循环结束
      ;
 ORG 0200H   ;样本数据表
 DB 0147
 DB 165
 ……  

以上程序中,DOUT标号开始的一段循环程序送样本数据。该段循环程序指令经过精心选择,N个样本数据共用4条指令,执行时间为5μs。但对4800 Hz的信号频率,信号周期为208.3333μs,计算得到样本数据的个数N=208.3333/5=41.6667。由于样本数据的个数不能为小数,可以考虑采用4舍5入,以得到最接近的信号频率。因此取样本个数为42,但信号周期变为210μs,信号频率为4762Hz,频率误差很大,达不到使用要求。

为此,可采用多周期综合技术。多周期综合的方法就是在计算样本数据时,将M个周期一并考虑。即N个样本数据代表了M个信号周期的波形,使每个周期的样本数与要求值最接近。计算公式如下:
DK=127(1+SIN(2лMK/N)    K=0,1,2,3……N-1

为此,需合理确定N和M的值。

M的值可如下确定;取单周期样本数据个数的小数部分,除1的结果既为M。对f0=4800Hz,可知M恰好等于3。

下面计算N;已知每个样本数据需要5μs,样本周期数为3,信号频率为4800 Hz,则
             N=3/4800*1000000/5=125

由此可知样本数据的计算公式:
    DK=127(1+SIN(6л/125))  K=0,1,2……124

实用中,用该信号源产生了4800Hz正弦波,400Hz正弦波、480Hz正弦波和1000Hz方波四种波形。400Hz、480Hz正弦波和1000Hz方波的波形参数计算此处略。实测表明四种信号的频率误差都小于0.5Hz。

如果信号频率比较低,样本数据很多,就不需要把样本数据先移到RAM中,而直接从FLASH中取得样本数据送往DAC。对正弦波来说,当每周期有20个以上的样本数据时,就有比较好的波形。对于矩形波来说,每周期只需要2个样本数据。

3. 小结

以上电路虽然简单,但有比较精确的波形。由于波形参数完全由软件预先设定,除了产生正弦波、方波以外,还能产生梯形波或sin(x)/x等形状复杂的波形。可以将电路设计成嵌入式结构,从而在一些工业生产现场得到应用。

参考文献
1  余永权.ATMEL89系列(MCS-51兼容)FLASH单片机原理及应用.电子工业出版社.1997年
2 蒋焕文,孙续.电子测量.中国计量出版社.1988年
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭