AD9850调相

  • 格式:pdf
  • 大小:199.49 KB
  • 文档页数:4

多相位电源信号发生器的设计*李岩1高宏2李宏2彭毅3黄勇31,2)西安石油大学3)中国空气动力研究中心摘 要介绍了基于4片AD9850设计的高精度信号发生器,通过计算机串口发送频率相位控制字,经过MAX232电平转换,再由单片机对数据格式转换后送入AD9850,从而产生4路频率可在1~6kKHz内连续可调相序正序与反序可变,且相位依次互差45°的正弦波,文中不但详细介绍了该多相位正弦波信号发生器的原理组成,而且给出了系统框图和程序流程图及实用效果。

关键词 多相位信号发生器, AD9850,单片机The design of multi-phase power signal generatorLi Yan1 Gao Hong2Li Hong2 Peng Yi3 Huang Yong31,2)Xi’an Shi You University 3)China air power research centerAbstract The design of the high-precision signal generator based on AD9850 is analyzed in this thesis. The computer serial-port send out frequency phase control words,which are level transformed by MAX232.Then singlechip change the data format and transmit it into AD9850. This causes four roads frequency which can be continually regulated from 1KHz to 6KHz .The phase is changeable between positive sequence and negative sequence and each phase has a 45º sine wave deviation from the last. The text not only introduces the components and work principles of multi-phase sine wave signal Generator in detail but also supplies its system chart , programme flowchart and practical results .Keywords multi-phase generator, AD9850, microprocessor AT89C511.引言随着“神六”顺利返回,我国的航空航天事业正在蓬勃发展,出于保证安全及节省成本的双重目的和需要,使设计出的飞行器更加合理,国内外通用的方法是先将设计好的飞行器按比例缩小制成研究模型,在风洞中先进行多次吹风实验,并根据实验数据对设计结果进行反复修改后再制成具体的飞行器。

本多相位电源就是为进行此种试验的某种模型供电而设计的。

该模型要求控制部分的多相位信号发生器产生频率1~6KHz可调,相序可正序亦可负序,相邻两相之间相位互差45°的4路正弦波,与频率适当的三角波相 比较后产生8路SPWM波,以驱动主电路逆变部分的电*本项目受某国防科研基金资助 力半导体器件,实现变频,从而获得具有一定功率的、相位与频率均可调节的变频电源,满足试验系统的频率与功率之双重需要,由此决定了4路相位互差45o正弦波的形成是实现该多相位电源的关键,本文重点介绍应用AD9850实现4路相位互差45°的正弦波的方法。

2.系统组成及工作原理该4路正弦波产生系统由PC机,电平转换芯片MAX232,看门狗芯片MAX813,单片机AT89C51和四片AD9850以及外围滤波电路组成,其构成原理框图如图1所示,其工作原理可以分析为:图1 系统组成框图首先在用户应用程序中,输入所要产生第一相正弦波信号的频率和相位,其余三相正弦波的相位在程序中根据第一相正弦波的相位便可自动算出,计算机串口在应用程序的控制下将已转换成AD9850的频率更新字数据发送出去。

数据进入RS232通过MAX232转换成TTL/COMS电平后送入单片机,单片机接收PC机发送过来的数据,把数据处理后得到AD9850所需要的控制字,存入寄存器内。

在全部频率更新字接收处理完后,再将寄存器内的数据按并行方式送入4片AD9850,同时给出五个控制信号。

4片AD9850在五个控制信号的配合控制下,根据控制字的内容进行相位和频率的更新,从而在输出口上产生新的正弦波信号(如图3所示为相邻两路正弦波信号)。

3.AD9850芯片简介有关AD9850的详细介绍可参见参考文献4,。

此处仅给出AD9850芯片频率与相位控制字的计算方法。

控制字与控制时序AD9850的频率/相位控制字一共有40位,其中32位为频率控制字,5位为相位控制字,1位是电源休眠控制,最后2位为工作方式控制,应用中将1位电源休眠控制、两位工作方式控制字设置为“000”。

频率控制字的计算设输出信号的频率为outf,参考频率为f CLKIN,AD9850的频率控制字为ΔPHASE,则三者的关系为:△PHASE=(outf×232)/CLKIN×f CLKIN (1)例如,参考频率为48MHz,输出频率为50Hz,则W1=00H,W2=00H,W3=11H,W4=7AH。

相位控制字的计算AD9850中有5位用于相位控制,所以,相位控制的精度为oo25.112/3605=,用二进制表示为00001,根据实际需要,设置不同的相位控制字,就可以实现精确的相位控制。

表1给出了相位与相位控制字之间的对应关系。

表1 相移与相位控制字之间的对应关系4.AD9850外围支持电路的选择与硬件连接4.1AD9850外围支持电路的选择由于计算机串口进行异步通信时数据是按帧发送的,每一帧可能有5~8位数据,但每帧 数据前后都会加上起始位和停止位。

如果将带有起始位和停止位的数据直接送入AD9850,则AD9850无法区分真正的数据,故需将数据处理后再送出。

本电路中设计应用AT89C51单片机来完成数据格式的转换,并产生AD9850工作时所需要的两个控制信号。

用单片机实现对AD9850的控制具有编程控制简便、接口简单、成本低、容易实现系统的小型化等优点。

单片机与AD9850的接口既可采用并行方式也可采用串行方式,但为了充分发挥芯片的高速性能,应在单片机资源允许的情况下尽可能选择并行方式。

I/O 方式的并行接口电路比较简单,但占用单片机资源相对较多, 4片AD9850数据线D0~D7均与P1口相连,FQ_U 均与P2.4相连,W_CLK 分别与P2.0(21引脚),P2.1(22引脚),P2.2(23引脚)和P2.3(24引脚) 相连,所有的时序关系均可通过软件控制实现。

4.2 硬件设计与调试时应注意的事项在电路设计及调试过程中,需要注意以下几点: (1)给AD9850的时钟信号必须用地线屏蔽,且不能低于1MHz,低于这个数值时,芯片将自动进入休眠状态,高于此频率时,系统恢复正常工作。

(2)AD9850的输出频率要小于参考频率的33%,以免混叠或使谐波信号落入有用输出频带内,这样可降低对外部滤波器的要求。

(3)MAX813的工作电压要在4.65V 以上,否则MAX813一直给单片机提供复位信号,使单片机一直运行在复位状态,无法正常工作,根据我们实验的结果,电源电压要达到4.9V 以上MAX813才可稳定工作。

(4)在实际应用中,用户经常需要双极性的正弦波,而AD9850的21脚(IOUT)发出的正弦波是单极性的,需要采取外加双电源运放或其他措施将其变为双极性的。

(5)AD9850本身可以产生方波,当频率较大时,产生的正弦波幅度偏小,片内的高速比较器产生的方波边沿不好或无法产生方波,此种情况下可采用片外连接电压比较器将正弦波转化为方波。

5. 软件设计5.1 程序设计中应特别注意的问题在本系统中,应用VB 程序语言来设计整个控制软件,VB 提供了三种方法实现串口通信,一种是用VB 提供的具有强大功能的MSComm 通信控件;另一种方法是调用WINDOWS API 函数,使用WINDOWS 提供的通信函数编写移植性强的应用程序;第三是利用文件的输入/输出完成。

在本设计中,采用第一种方法。

通过VB 程序发送频率,与相位控制字,因为4片AD9850的频率相同,故只发一组,而相位每路互差45°,所以相位控制字要发4组,本设计中采用前4字节为4个相位控制字,后4字节为频率控制字,一起送入单片机,由单片机程序再进行处理。

值得注意的是,在通信控件MSComm 中有一INPUTMODE 属性,这个属性指明了当前发送缓冲区的数据是以什么格式被发送出去的,一是文本格式,二是二进制格式。

在进行程序设计时是将这个属性设计为二进制格式的。

使用一根串口线将COMM1端与COMM2端相连接,编制程序令两串口一发一收,理应能够实现串口传输的功能,但在对电路板进行调试时,却出现了虽然串口送出的数据进入到单片机,读取单片机的数据,结果发现并不是所发送的数据,尽管在设置属性时设成二进制格式,但还是以文本形式发送。

于是要将发送数据的每四位转换成十进制数,再利用函数CHR()将这个十进制数作为某个字符的ASSCII 码图2 单片机程序框图(a)主程序框图 (b)中断处理子程序 (c)数据处理子程序发送出去,接收端的单片机接收到的恰好就是所需要的十六进制数,。

只所以是每四位一组进行转换,是由于发送的数据大于128时接到的数据全为0。

所以本设计中发送的控制字共占16个字节。

5.2单片机程序设计单片机与AD9850的接口既可采用并行方式也可采用串行方式,但为了充分发挥芯片的高速性能,应在单片机资源允许的情况下尽可能选择并行方式。

首先将VB发送过来的16字节控制字存在自己设定的缓冲区中,由于上述原因,单片机在接收时需要进行数据处理,将16字节转换成8字节,前4 字节为分别为4片AD9850的相位控制字,后4字节为频率控制字。

程序设计中要注意AD9850的时序要求,对每1片AD9850 来说,在并行加载方式时,每次加载通过8位数据线,连续5次将数据写入AD9850。

WCLK和FQUD用来确定地址及加载数据次序,WCLK的上升沿写入W i(i =0,1,2,3,4),所以在WCLK的上升沿,DATA应准备好并且保持稳定,FQUD的上升沿将40位数据写入频率/相位数据寄存器,同时地址指针指向第一个寄存器Wo。