原创 单片机简易信号源

2009-8-13 11:23 1923 6 6 分类: 工程师职场
来源 CEPARK网站http://www.cepark.com/Index.html  作者: hnrain

摘要:使用单片机和DAC芯片,采用多周期综合技术,可以组成电路十分简单,但频率、幅度和波形都具有较高精度的信号源,输出波形参数可以在编程时设定,能满足一些特定场合的需要。电子园51单片机学习网s"[ u E-_}`
关键字:单片机,数字频率合成,信号源,多周期综合
1ccm.~L!c0M,}0
D D4A3m.h7](T/q2IY01. 引言
S;iv [ \3J0    信号发生器在教学、试验、测控等各个领域有十分广泛的应用,其输出信号的频率范围覆盖了各个频段,从甚低频到甚高频,操作方式也从手动旋钮到程控,产生的波形从传统的正(余)弦波和脉冲波形,发展到现在能产生各种任意波形。以前的信号发生器往往独占一个机箱,而现在的一些应用中,它只是一块插在计算机中的扩展卡,还有一些信号发生器设计成一个独立的小模块,通过RS-232C或RS-422,RS-485等串行总线和计算机连接。电子园51单片机学习网7`&S'Qv.gB O
    其实,在许多固定的控制应用中,只要求信号发生器产生单一波形,或可数的几个波形。如果仅仅要求产生单一的正(余)弦波或者脉冲波形,可以利用传统的振荡器电路。当信号频率有所选择时,问题仍然比较简单。但若产生的信号波形比较复杂时,电路的设计也同样变得很复杂。加之传统振荡器电路由于有较大的温度漂移,需要较长的预热时间,为达到较高的频率精度,需仔细调节电路各个参数。电子园51单片机学习网c\[^`WUg
    数字频率合成技术的采用,大大简化了信号发生器的设计。但在某些特定情况,需要的仅仅是几个单独的波形,这时我们可以使用单片机和DAC芯片,用十分简单的电路产生所需要的波形。电子园51单片机学习网GUQb mDsUq

电子园51单片机学习网0IM0r5N,hr

2. 电路设计及编程考虑
R*m~hUnD0
    单片机简易信号发生器电路框图如图1,仅由一片AT89C2051单片机,一片DAC0832和由运放组成的低通滤波器组成。AT89C2051内部有2KB的FLASH存储器,可以保存运行程序和波形参数,128字节的RAM可以用于存放波形参数。由于采用了数字合成技术,可以产生各种简单或复杂的波形。电子园51单片机学习网!X(q,U[,T~1xL^


^1\,?0bT:G&g+d0

wLD L)Y[4`2@)V$i0

"S-w%e B(}en0电子园51单片机学习网x9qY6vTt
     工作过程说明如下;(1)决定产生的信号波形;通电稳定工作以后,单片机首先读取P3.0和P3.1引脚信号,决定程序应跳转的地址。每个跳转地址有一个输出波形。(2)将保存在FLASH中的样本数据送往DAC0832,供其转换成模拟电压。电子园51单片机学习网,A%vz2u$j`.AC4f
    首先应将波形参数转换成样本数据。假若每周期有N个样本数据,则第K个样本数据的计算方法为:电子园51单片机学习网1ORsLlX
    DK="127"(1+SIN(2πK/N)  K=0,1,2,……N-1电子园51单片机学习网U$Kb\I1l;H8z#py
    由于在实际产生波形的过程中,数据由运行程序逐个取得送出,在产生周期波时是一个循环过程。因此必须考虑程序取数、送数、循环等操作的时间开销。对于MCS51系列单片机,在晶振频率为12MHz时,每条指令的执行时间为1~2μs。为了使波形足够光滑,每周期的点数应尽可能多,这样要求单片机发送样本数据的速率尽量快。由于送数周期的限制,在增加样本点数时,输出信号频率会降低。同时从程序存储器空间取数时需要较长的时间,当样本数据的个数不多时,可以把样本数据先移到RAM中,程序执行时直接从RAM中取数送往DAC,就能增加发送样本数据的速率。电子园51单片机学习网]-?/R*dy
    下面以产生单一4800Hz正弦波为例,说明程序设计过程。参数N的计算见后面的说明。电子园51单片机学习网+p [(a3V \2X
 ORG    0000H
1A vl@3|m"o%vr5a0         MOV    R0,#0
nB A_S.m,O2f0         MOV    R1,#4
5^9zl DL.d)S W%_P0         MOV    R2,#124电子园51单片机学习网9NVr8P"r[ V-_7W
         MOV    DPTR,#200H
)R|0Yjoi2@5oq:c5t?:s0         MOV     A,#0电子园51单片机学习网8f\)o[B,H\
MOVD:  MOVC    A,@A+DPTR  ;将样本数据从FLASH
4a-Z}tC9L0         MOV     @R1,A   ;移到内部RAM中,电子园51单片机学习网in\(?5O?w|Q5F
         INC     R0   ;可以减少送数时间电子园51单片机学习网*~R4v6[?)dd[W
         INC R1电子园51单片机学习网d-D9[-\9U3}
         MOV     A,R0电子园51单片机学习网!vjs.~b/_C7Y
         DJNZ    R2,MOVD电子园51单片机学习网L'K8NN@l `$^
         MOV     R0,#04
D^'TW#yAE0DOUT:   MOV     A,@R0   ;轮流送数到DAC电子园51单片机学习网4cf'_xF9cv2Of%r
         MOV     P1,A电子园51单片机学习网(i O;O"wGJ}I | `
         INC  R0电子园51单片机学习网Y,| Z&[K/N
         CJNE    R0,#128,DOUT电子园51单片机学习网&UL j#C'C wV(LTll C
         MOV     P1,#128  ;从起点开始重新送样本数据
lB&^8PQH)h0         MOV     R0,#04  ;电子园51单片机学习网 F-]6cxG$]Hp0E
         SJMP  DOUT   ;送数循环结束
A7girw0      ;电子园51单片机学习网&N(R+?6`8G/I _
 ORG 0200H   ;样本数据表
0HA#LWs$n#P'A5pV0 DB 0147电子园51单片机学习网&S!T6_f)@V
 DB 165
Tx&b\!D&dl)Z0 ……   电子园51单片机学习网$J A'j/S f)yT8I
    以上程序中,DOUT标号开始的一段循环程序送样本数据。该段循环程序指令经过精心选择,N个样本数据共用4条指令,执行时间为5μs。但对4800 Hz的信号频率,信号周期为208.3333μs,计算得到样本数据的个数N=208.3333/5=41.6667。由于样本数据的个数不能为小数,可以考虑采用4舍5入,以得到最接近的信号频率。因此取样本个数为42,但信号周期变为210μs,信号频率为4762Hz,频率误差很大,达不到使用要求。电子园51单片机学习网*a%`Gx0B'tw%L
    为此,可采用多周期综合技术。多周期综合的方法就是在计算样本数据时,将M个周期一并考虑。即N个样本数据代表了M个信号周期的波形,使每个周期的样本数与要求值最接近。计算公式如下:电子园51单片机学习网 JW:Xga/B P
DK=127(1+SIN(2лMK/N)    K="0",1,2,3……N-1电子园51单片机学习网x9hI)E@yCh(}Je
    为此,需合理确定N和M的值。
(r!s \*|3fg0    M的值可如下确定;取单周期样本数据个数的小数部分,除1的结果既为M。对f0=4800Hz,可知M恰好等于3。
gH0z%axw l0    下面计算N;已知每个样本数据需要5μs,样本周期数为3,信号频率为4800 Hz,则电子园51单片机学习网0tM`V!yox
             N="3/4800"*1000000/5=125
TD3Z*pd`7E/m5X0    由此可知样本数据的计算公式:电子园51单片机学习网AyZnxfd ]/^XW
    DK="127"(1+SIN(6л/125))  K=0,1,2……124
8w0sx PZ.a2m0    实用中,用该信号源产生了4800Hz正弦波,400Hz正弦波、480Hz正弦波和1000Hz方波四种波形。400Hz、480Hz正弦波和1000Hz方波的波形参数计算此处略。实测表明四种信号的频率误差都小于0.5Hz。
+D%RAD \M)y$w#`0如果信号频率比较低,样本数据很多,就不需要把样本数据先移到RAM中,而直接从FLASH中取得样本数据送往DAC。对正弦波来说,当每周期有20个以上的样本数据时,就有比较好的波形。对于矩形波来说,每周期只需要2个样本数据。

G(~0d"^X!U0电子园51单片机学习网%Gzye Y#S \_1m

3. 小结
2rU8kr:Ey#{0
    以上电路虽然简单,但有比较精确的波形。由于波形参数完全由软件预先设定,除了产生正弦波、方波以外,还能产生梯形波或sin(x)/x等形状复杂的波形。可以将电路设计成嵌入式结构,从而在一些工业生产现场得到应用。电子园51单片机学习网Y{vw @M;AMq)|cT


9Oby UG(e0参考文献电子园51单片机学习网Tf&R4zT.n
1  余永权.ATMEL89系列(MCS-51兼容)FLASH单片机原理及应用.电子工业出版社.1997年电子园51单片机学习网;^7TOmN)A,kCb
2 蒋焕文,孙续.电子测量.中国计量出版社.1988年电子园51单片机学习网s0w6fn`"M@,M

q7mYF|4_9f0
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条