第3期 姜建国等.基于STM32的新型信号发生器设计 273 基于STM32的新型信号发生器设计 姜建国 王梦谦 王海星 (东北石油大学电气信息工程学院) 摘要给出信号发生器的硬件组成,阐述DDS芯片AD9833的工作原理,SPI通信过程,正弦波、三角 波、方波3种信号的软件实现方法。搭建控制平台验证信号发生器的性能,结果表明:该信号发生器信 号输出高频噪声少、频率精度高。 关键词 信号发生器 STM32 DDS芯片AD9833 C语言 中图分类号TH89 文献标识码 A 文章编号 1000—3932(2017)03—0273 ̄4 信号发生器又叫函数信号源,广泛应用于自 动控制、电子电路及科学试验等领域¨ 。信号发 生器按工作原理可分为模拟和数字两种类型,随 着科技的进步,由模拟器件组成的信号发生器已 经极少了,取而代之的是电路简洁、功能多样、功 耗低的数字型信号发生器。由数字电路组成的信 号发生器一般由单片机控制数模转换芯片,但存 在噪声大、功耗大、高频性能差及频率不准等缺 片;按键电路,负责人机交互,控制输出波形的类 型和频率;DAC8830,负责输出直流信号;集成 DDS芯片AD9833,负责输出正弦波、方波等多种 信号。 按键电路H STM32最小系统 图1 信号发生器结构框图 S— S一 STM32是一种基于Cortex—M3内核的32位 点。目前,最先进的信号发生技术是直接数字频 率合成技术(Direct Digital Synthesizer,DDS),该技 ARM处理器,具有价格便宜、功耗低及性能优越 等优点 ]。STM32内部集成了3个SPI通信接 口,与普通的51单片机相比,可极大地简化系统 设计。STM32最小系统由电源电路、时钟电路、复 位电路和程序下载电路组成。 DAC8830是一个16位超低功耗、电压输 出的数模转换器,具有精确度高、干扰小、噪声 低及快速稳定等优点 ,广泛应用于工业过程 术具有成本低、功耗低、分辨率高及转换时间短等 优点,广泛应用于电信与电子仪器领域,是一种实 现设备全数字化的关键技术 。由DDS芯片组 成的信号发生器可以把其输出频率的稳定度、准 确度提高到与基准频率相同的水平,并且可以在 很宽的频率范围内进行精细的频率调节,采用这 种方法设计的信号源可工作于调制状态。据此, 笔者利用DDS集成芯片AD9833实现了一个基于 STM32的函数信号发生器,通过按键选择波形种 控制、数据采集系统、便携式设备及自动测试 设备等领域。DAC8830采用SPI通信方式,SPI 接口速度最高可达50MHz。DAC8830的电路 原理如图2所示,在输出端加入OPAl 88运放 类和输出频率,实现高精度的波形输出。 1 硬件部分 基于STM32的信号发生器(图1)由4部分 组成:STM32最小系统,负责控制DDS和DAC芯 可组成电压跟随器,以保证输出波形的带负载 能力并起到隔离作用。 作者简介:姜建国(1966一),教授,从事电力电子与电力传动的研究。 联系人:王海星(1991一),硕士研究生,从事电力电子与电力传动的研究,whx1237@163.com。 274 化工自动化及仪表 第44卷 图2 DAC8830的电路原理 DDS芯片AD9833是一个完全集成的DDS 频率最高可达40MHz。AD9833采用5.0V电源 供电,与STM32通过SPI1引脚相连。AD9833外 电路,无需外接其他元件,仅需一个外部参考时 钟、解耦电容就能产生高达12.5MHz的正弦波, 同时输出频率、相位等可通过软件编程设置 。 主控制器通过SPI接口将数据写入AD9833,工作 部时钟由10MHz有源晶振提供,利用2201)阻尼 电阻可改善时钟波形。AD9833正弦波发生电路 如图3所示。 图3 AD9833正弦波发生电路 2软件部分 把输入的地址相位信息映射成正弦波幅度的数字 量信号,驱动DAC输出模拟量。相位寄存器每经 过22s/M个外部时钟后回到初始状态,相应地,正 弦查询表经过一个循环也回到初始位置,这样就 输出了一个正弦波 。正弦波的输出频率 为: ,out=M 通过信号发生器软件的设计实现扫描键盘的 输入,控制芯片输出相应的波形。STM32与 AD9833和DAC8830之间选择SPI通信方式。程 序使用C语言编程,在MDK5编程环境下实现编 译。 AD9833的核心是28位相位累加器(由加法 器和相位寄存器组成),每来一个时钟信号,相位 寄存器步长增加,相位寄存器的输出与相位控制 字相加后输入到正弦查询表地址中。正弦查询表 其中, 为频率控制字,由编程给定,0≤M≤ 2拍一1 为外部晶振频率。当外部晶振频率为 25MHz时,若输出400Hz正弦波,则计算得到 为0x10C7。因为AD9833的频率控制器是28位 的,STM32的SPI最多可发送16位数据,所以需 包含一个周期正弦波的数字幅度信息,每个地址 对应正弦波中0~360。的一个相位点 。查询表 第3期 275 要发送两次,每次发送l4位数据。低l4位LSB 为0xl0C7,高14位MSB为0。 根据AD9833数据手册进行SPI通信设置: SPI为单向传输、主模式、l6位数据传输、空闲状 态SCLK为高、第2个沿捕获、软件控制、波特率 有高精度的特点 懂用在实际工程中时,可以通 过在信号发 器后端加入信号放大环节来增加其 256、数据传输时高位在前 。 外部晶振为 10MHz时发生10kHz的正弦波需要发送以下控 制字:0x2100(将一个完整控制字通过两次连续写 入频率寄存器)、0x5893(频率寄存器0的LSB)、 0x4010(频率寄存器0的MSB)、0xCO00(相位寄 存器0设置为0)、0x2000(退出复位,在RESET 置0后的7个SCLK周期内DAC输出端出现信 号)。输出直流量相对容易,通过STM32输出对 应的数字信号给DAC8830即可。 程序流程如图4所示,首先扫描键盘来判断 输出的波形,当选择函数信号时,初始化SPII,来 准备控制AD9833,再通过控制字求取方法求出对 应波形频率的控制字;当选择非函数信号时,初始 化SPI2,来控制DAC8830输出对应的直流信号 选择两个SPI口是因为AD9833和DAC8830对 SPI的通信设置是不同的。 习6 三角波 图4程序流程 3 结果分析 结合软硬件设计,组成基于STM32的信号发 生器,通过按键设置发出l kHz的正弦波、三角波、 方波,结果如图5~7所示。可以看出,信号输出 高频噪声少、频率精度高。方波信号的振铃现象 是鉴别信号发生器品质的一个重要标志,从图7 4结束语 中可以看出,方波信号振铃小,表明信号发生器具 笔者利用DDS 片AD9833设计了一个基于 276 化工自动化及仪表 第44卷 STM32的函数信号发生器,完成了硬件部分的制 作与测试、软件部分的编程。波形输出结果表明, 笔者设计的信号发生器精度高、系统集成度高、功 耗低,具有很好的工程应用价值和借鉴意义。 无线智能家居控制系统[J].自动化技术与应用, 2011,30(8):98~101. [5] 毛敏,张玲娜.基于DDS的高精度信号发生器设计 [J].电子科技,2009,22(7):37—4O. [6] 刘朝军,许人灿,陈曾平.DDS输出信号频谱结构的 系统分析[J].国防科技大学学报,2005,27(6):53 参 考 文 献 张美仙,王红亮,丁海飞.基于DDS芯片的信号源设 计[J].仪表技术与传感器,2010,(9):54—56. [2] 刘伟,胡仁杰,王峥.基于AD9850芯片的信号发生 ~56. [7] 李海松,张奇荣,权海洋.DDS的相位截断及相应的 杂散信号分析[J].微电子学与计算机,2006,23 (2):141—143. r R] 杨国渝,粟显义.采用DDS+PLL技术实现s波段 频率合成的一种方法[J].电子科技大学学报, 1999,28(4):388—391. 器的研究[J].电工电气,2009,(11):19—21. [3] 周立功,王祖麟,陈明计,等.ARM嵌入式系统基础 教程[M].北京:北京航空航天大学出版社,2008, [4] 张逢雪,王香婷,王通生,等.基于STM32单片机的 (收稿日期:2016—11-07) Design of New Signal Generator Based on STM32 JIANG Jian—guo,WANG Meng—qian,WANG Hai—xing (College of Electrical Engineering and Information,Northeast Petroleum University) Abstract The hardware structure of the signal generator was presented and the working principle of AD9833 chip(DDS)was expounded,including the SPI communication process and the software implementation of sine signals,triangle signals and square wave signals.Verifying the performance of waveform generator on the con— trol platform established shows that,this signal generator has less high・frequency noise in signals output and higher frequency accuracy. Key words signal generator,STM32,DDS AD983 3 chip,C language (上接第252页) Simulation Study of Atmospheric.vacuum Distillation Unit with Different Crude O_l Blending Ratios 、LI Min 一,WEI Qi—ye ,CHI Liang (1.Jilin Institute of Chemical Technology;2.College of Chemistry,Jilin University; 3.Ethylene Plant,Jilin Petrochemical Company) Abstract Petro・-Sim sohware was adopted to simulate atmospheric・-vacuum distillation unit SO as to analyze whether the existing equipment can meet different blending ratios and to provide the guidance for adjusting the device’S operating conditions under different working conditions.To prevent high load at the vacuum tower 0一 verhead,the vacuum furnace tube didn’t implement steam injection in the actual production,and increasing the residence time of the oil in the furnace tube may lead to a large number of oil cracking and coking.Having the results of simulating vacuum furnace based to create coking curves can visually determine oil coking tend— ency and determine safe operating area as well as guide the production. Key words atmospheric—vacuum distillation unit,Petro-Sim,mixing ratio,cut yield,vacuum furnace