找回密码
 注册
关于网站域名变更的通知
查看: 331|回复: 1
打印 上一主题 下一主题

CPLD设计的函数信号发生器

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-2-2 14:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

传统的信号源设计常采用模拟分立元件或单片压控函数发生器MAX038,可产生正弦波、方波、三角波,并通过调整外部元件改变输出频率,但由于采用模拟器件,所用元件的分散性太大,即使使用单片函数发生器,也因参数与外部元件有关(外接的电阻电容对参数影响很大),使频率稳定度较差,精度低,抗干扰能力低,成本也高;况且其灵活性较差,而不能实现多种波形以及波形运算输出等功能。( a* ^. r- ^, W- \+ b! t
, d, B1 k2 r4 Q* z( a
在此,采用直接数字频率合成(DDFS)技术,并使用单片机控制cpld的方法。由于CPLD具有可编程重置特性,因而可以方便地改变控制方式或更换波形数据,而且简单易行,易于系统升级,同时具有很高的性价比。频率合成是将一个高稳定度和一个高精度的标准频率经过运算,产生同样稳定度和精度的大量离散频率技术,一定程度上解决了既要频率稳定、精确,又要频率在较大范围内可变的矛盾。
+ |; X6 D' |( C! o% W1 i' Y& H8 _8 K7 l7 S4 @4 j
1 DDFS的原理和特点9 L& \+ Q6 h5 z$ V" r
' B6 y' F' B: t6 u0 F, e# S4 l
1.1 DDFS的基本原理: _7 }" h; p, l2 N8 L- m
; F2 R8 \$ J6 E' B! t
DDFS的基本原理图如图1所示。
' I- b- Z. M! t, O* I: d, X' u) C0 g' Q% [


; S( ~3 ?6 t% n4 `% p5 A% _
" ^: r( z8 o2 W! u# E一个完整输出波形的周期、幅值都被顺序地存放在RAM中。当RAM的地址变化时,DAC将该波形数据转换成电压波形,该电压波形的频率与RAM地址变化的速率成正比。DDFS发生器使用了相位累加技术,以控制波形在RAM中的地址。它用一个加法器代替计数器来产生RAM的顺序地址。在每一个时钟周期,存储于相位递增寄存器(Phase Increment Register,PIR)中的常数都被加到相位累加器的当前结果上。相位累加器输出的最大有效位数被用来确定波形在RAM中的地址。通过改变PIR的常数,确定每个周期中的点数,而这些点数正是用来改变整个波形的频率。当一个新相位递增寄存器的(PIR)常数被存进寄存器中,波形的输出频率便随下一个时钟周期连续地改变相位。相位累加器将依据PIR中存储的常数来改变RAM的地址,若PIR数值很小(即频率较低)时,累加器便逐步地经过每个RAM地址;当PIR的值较大时,相位累加器将跳跃某些RAM地址。% q' F; q2 m9 \. Q5 M5 d
; A, L) u+ Q* C) Z( D
1.2 DDFS的特点. s4 e0 \( z% T( R# }/ Y
7 g$ K7 n+ ^5 X- h8 d
DDFS的特点如下:
0 s  S1 z0 I" S7 R2 l1 _3 F7 T9 L- \
(1)DDFS的频率分辨率在相位累加器的位数N足够大时,理论上可以获得相应的分辨精度,这是传统方法难以实现的。
- z' K0 P9 }" Y2 |5 X. p+ i2 S1 ]: i- z# ~7 J
(2)由于DDFS中不需要相位反馈控制,频率建立及频率切换快,并且与频率分辨率、频谱纯度相互独立,这一点明显优于PPL。
1 j5 N7 u+ J2 G( P. C( u
" B. s+ d  ^( L5 }(3)DDFS的相位误差主要依赖于时钟的相位特性,相位误差小。另外,DDFS的相位是连续变化的,形成的信号具有良好的频谱,这是传统的直接频率合成方法无法实现的。9 Z8 o5 @0 H! p( i- `( D2 z! U3 x

2 h0 u; |8 x7 D(4)DDFS的失真度除了受到D/A转换器本身的噪声影响外,还与离散点数N和D/A字长有着密切的关系。在高输出频率取样点数32和相应的量化级数256条件下,失真度(5.676%)已经足够小了。* p: I. ]- i" u  O* ]5 n

5 q- G+ z! r; N3 ?  K' ]/ a2 系统设计
$ F! P; Q  C/ a9 H( X
8 |* r) x5 _/ l6 |& a2.1 总体设计
' r6 e0 R7 Y2 E
6 n; o8 E6 u# d0 b8 X2 e系统框图如图2所示。
% G6 i5 ?) ~) Q- M  N2 [
5 R, N0 V! B$ Z# ~0 K/ a5 R+ H
0 k( N6 Q9 o: F
: V5 ~9 k4 j9 \! _: U/ c2.2 主要模块设计. @$ Y" l. R: b' V1 q4 i. l
0 ]3 \0 w$ k) N  g
(1)波形产生电路模块。用CPLD产生方波、正弦波、三角波和占空比可调的矩形波,从存储器读出波形数据,把数据交给D/A转换器DAC0832进行转换得到模拟波形。在CPLD内部采用层次化设计方法产生波形,底层采用硬件描述语言描述波形。8 Q, W. p& [; k7 |# b* f
0 ]3 {& j  z8 O$ s, V# j
(2)键盘控制模块。用单片机80C196接8255芯片控制4&TImes;5键盘,8255得到键盘码,通过中断服务程序把键盘信息送给单片机。
4 T. c: p- p$ n4 z* Z2 e4 m5 y( W  _/ t8 G
(3)LED显示模块。用8个LED数码管显示占空比和频率值,接口电路简单,控制方便。LED数码管的质量轻,体积小,功耗低,接口简单方便可与8位微处理器或控制器相连。
9 t3 X& [! |/ b$ h- Z5 h3 x  \+ r! Q
(4)单片机控制模块。是系统的主控制器,用于控制其他模块协调工作。该系统程序的代码比较长,约几十KB,使用80C196单片机,片内有ROM,不必扩展外部ROM。, Y# }' ^- c( [! G, N
* d1 Y, ?) h) v7 v: d7 I( u/ G1 m
该程序需要较大的RAM,以便进行波形存储、失真度分析等操作。  W% ~. N% S0 _8 R

+ E( z5 j  R$ c! Q: x* D! u7 q5 A* Q2.3 参数计算
" _/ C4 G0 ~( R5 [5 F5 o
2 L! C+ {$ W  V5 m$ [频率参数计算如下:. P! u% u2 x% U  ~& y

* w, X! N, r7 i; K1 H波形频率范围为20 Hz~20 kHz;步进为10 Hz。因为根据公式:fout=Nfclk/2M,△f=fclk/2M=10 Hz,因此选取的时钟频率必须为2 MHz。另外要保证20 kHz以上时,取样点数都是64点,这样时钟频率必须大于10 MHz。该系统的时钟频率采用80 MHz。综合考虑,相位累加器的时钟频率fx根据公式fx=fclk/(2Nfout)选取,相位累加器位数为16位,频率步进为fs=fx/216=10。相位增量寄存器为16位,故最高输出频率为20 kHz。8 Y' l* q; @& M9 w* `' {' _. D
2 B: }: ?' l7 x0 c9 N$ l
D/A转换器的转换时间为1μs,可以保证在输出频率为1 MHz时,输出64个样点。用单片机输出控制信号与数据,CPLD芯片作为系统实现。! m; @5 x0 Z% W! u
" k6 Z  O2 e* l- p
2.4  幅度控制1 X6 B3 ~( p  S0 J. O
( S5 @! O% E0 Y
D/A转换器是实现幅度可调和任意输出的关键,以此来控制信号发生器的输出电压。D/A转换器中电流的建立时间将直接影响到输出的最高频率。该系统采用的是DAC0832,电流建立时间为1μs,在最高频率点,一个周期输出64个点,可输出20 Hz~20 kHz的频率信号。幅度控制用8位D/A控制,最高峰值为12.7 V,因此幅度分辨率为0.1 V。! P" \! j* q+ M7 q& u; F- u/ Q
: J- t! l, u, C0 _5 i( M  }
2.5  滤波、缓冲输出电路  [# S$ H) e7 }& t8 i% D

5 g- A" v. o/ \0 b# K" a' r1 ], iD/A转换器输出后,正弦波通过滤波电路、输出缓冲电路对信号去毛刺,使信号平滑且具有负载能力。运放选用高速宽带运放TL084,截止频率约为1 MHz,20 kHz以内幅度平坦。& Y5 C( ?: ?/ l+ s0 h6 W) ~

! C. G: p; A! Q7 a+ `! G3 b4 n为了保证稳幅输出,选用OCL功放电路,得到的频率特性好,波形失真小,具有很强大的电流驱动能力。实际电路测量结果表明,当负载为100 Ω,输出电压峰值为12 V时,带宽大于20 kHz,幅度变化小于±1/100。
: T8 ~' |/ ^1 d* T3 c# t: R) ?6 b* L9 l9 r" q) @4 x) {! L0 `
3 调  试, `& F- n' |# D3 h  b) V2 y
: V- r  u/ }9 q' E" `$ @9 O
调试过程分三大部分:硬件调试、软件调试、软硬件联调。电路按模块调试,各模块逐个调试通过后再联调。单片机软件先在最小系统板上调试,确保外部EPROM和RAM工作正常之后,再与硬件系统联调。" S: Q& J) W9 {
$ q1 W) G  K! n  q# t( ^9 C
3.1 软件调试3 I. S/ E! s! I7 Q& z
' b- Z/ z: W9 Y- ?6 L/ H( R  ^
该系统的软件系统很大,全部用80C196来编写,由于一般仿真器对196的支持都有一定的缺陷,调试比较复杂。除了语法差错和逻辑差错外,当确认程序没问题时,通过直接下载到单片机来调试。采取的是自上到下的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统调试。
8 Y* g7 x( a% k0 l
# U+ b# ^  @7 r/ b5 R% @3.2 硬件调试+ k9 B$ K4 l& l5 p) t& s. E
, e+ P2 C) f" l; M, ^" ^: ]
(1)CPLD控制电路的调试。该系统的CPLD采用EPM7128SLC84-15。调试时,使用存储示波器显示CPLD的输出波形,以发现时序与仿真结果是否有出入,便于找出硬件电路中的故障。: E* H7 ~  J# g. d8 |: c$ N8 v
2 Q# K# [/ f  ?) b" ~
(2)高频电路抗干扰设计。CPLD的时钟频率很高,对周围电路有一定影响。这里采取一些抗干扰措施,如尽量缩短引线,减少交叉,使每个芯片的电源与地之间都接有去耦电容,并将数字地与模拟地分开、敷铜等。实践证明,这些措施对消除某些引脚上的“毛刺”及高频噪声的效果很好。
& o$ u2 _$ h/ l6 z6 w
# S8 ?1 m( b- E! k9 u! ~(3)运算放大器的调试。由于输出频率为20 Hz~20 kHz,因此对放大器的带宽有一定要求,所以在调试滤波电路和缓冲输出电路时,都选择了高速宽带运放TL084。
  x, d- r9 T# T6 ?: t$ L. i  r" Q$ J1 D
3.3  软、硬联调( k8 l, n+ X' ]7 I) s0 ?
5 |: a0 d8 j! n" D# M7 L3 k- I
该系统软件与硬件之间的联系不是十分紧密,一般是软件计算完毕后,将数据存入ROM,CPLD读取单片机系统的数据,进行运算、逻辑分析,从而产生波形。因此在软、硬件都基本调通的情况下,系统的软、硬件联调难度不大。输出波形的频率范围测试数据如表1所示。
- P. R* v4 |9 l) T) D+ Z+ @
8 g. {. B1 l9 F, R2 n由表1可以看出,在频率稳定度方面,正弦波、方波、三角波在带负载的情况下均十分稳定,这正体现了DDFS技术的特点,输出频率稳定度和晶振稳定度在同一数量级。脉冲波占空比的调试如表2所示。5 S( V. b  ^# x( @
* E. |4 ?2 H2 U3 b. I4 [  a
7 J2 k( R" ~" F  e$ A/ i4 {

& r! r' Z% L1 Q4 V4 [3 ~由表2可以看出,占空比可以在10%~90%范围内预置。在20 kHz正弦波条件下测得的输出波形幅度数据如表3所示。
5 n4 u4 t5 r4 \
* b. d  P3 n) q! X. l& d: X
. w6 `* E( I+ Q7 U3 i7 i: M  }, `' ?
由表3可见,电压稳定度方面,在电压的绝对值和预置值之差及带负载和不带负载的情况下,输出电压之差均小于±1/100。1 \  P/ ^& d) ?$ W8 Z7 B% k7 S. a7 }
! f2 `0 y4 {+ @8 ^8 ^

/ {/ a3 L5 D; Y1 i" e/ c/ r: S! k& ]" N
4 结  语
: o$ n- S* D3 \# _/ y
" T; y" h. g  J! K" M, V7 q系统采用DDFS技术和单片机控制CPLD的方法,实现了常用的正弦波、方波、三角波和占空比可调的矩形波,频率范围为20 Hz~20 kHz。利用LED显示波形的类型、频率和幅值,并具有输出电路保护功能。经实际调试,该系统的频率范围宽,步进小,幅度和频率的精度高。


; b) [& o% Y1 V, \5 {% q2 R! F/ e2 i; ]. a0 Y" R

该用户从未签到

2#
发表于 2021-2-2 14:20 | 只看该作者
当RAM的地址变化时,DAC将该波形数据转换成电压波形,该电压波形的频率与RAM地址变化的速率成正比
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-14 11:48 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表