基于C8051F060和AD9834的频率响应测试仪设计

时间:2010-12-13

     摘要: 为了测试电路系统的频率响应特性, 通常需要在电路系统输入端加上不同频率的激励, 然后再测量电路的输出以得到频率响应函数。文中介绍了由单片机和DDS构成的频率响应测试仪设计方法, 同时给出了单片机中的软件处理流程。试验结果表明, 本测试仪测量高, 操作方便。

  0 引言

  在模拟电路设计和调试过程中, 测量系统的频率响应特性是非常重要的一步。而市场上能购买到的具有分析系统频率响应的仪器通常都比较昂贵, 而且体积较大, 一般很难接受。为此, 本文介绍了一种成本较低、体积小、操作简单, 能满足大部分系统测量要求的频率响应测试仪的设计方法。

  1 系统总体设计

  本文介绍的是基于单片机C8051F060和频率合成芯片AD9834开发的、可测量系统频率响应曲线的仪器系统。其系统总体设计框图如图1所示。

系统总体设计框图

图1 系统总体设计框图。

  本设计中的单片机C8051F060可控制扫频信号源, 以产生一系列不同频率的正弦信号, 然后将这些信号进行滤波、放大后作为被测对象的输入送到被测网络中, 而被测对象的输出信号则经过调理电路输入到单片机C8051F060中进行数据采集与处理, 并将其幅频特性曲线、相频特性曲线通过LED显示出来。键盘可通过控制单片机来设置频率的步进值。

  2 各部分模块的设计

  2.1 主要芯片简介

  本系统中的C8051F060是美国Cygnal公司推出的完全集成混合信号片上系统型MCU。

  C8051F060采用与8051兼容的内核CIP-51,速度高达25MIPS, 并具有59个数字I/O 引脚、5个16位通用定时器、6个带有捕捉/比较模块的可编程定时器/计数器阵列。同时, 片内还集成了两个16 位、1 Msps 的ADC和2个12位DAC、3个电压比较器、看门狗定时器, VDD监视器和温度传感器。该芯片上集成有64KB的FLASH和4352B内部RAM, 以及硬件实现的SPI、SMBus/I2C和2个UART 串行接口。为便利的是, C8051F060还集成了CAN总线控制器, 这使得用CAN总线开发C8051F060具有开发费用低廉、抗干扰性强、可适用于工业现场应用等特点。

  本设计选用的频率合成芯片AD9834是AD公司生产的具有高集成度、低功耗的直接数字频率合成器, 它使用的DDS技术是一种利用正弦信号相位随时间线性增加的原理, 并由数字累加和数/模转换来合成所需频率的技术。它主要由数控振荡器(NCO)、相位调制器、正弦查询表ROM和1个10位D/ A转换器组成。数控振荡器和相位调制器主要由2个频率选择寄存器、1个相位累加器、2个相位偏移寄存器和1个相位偏移加法器构成, 其工作频率可达50 MHz。在参考时钟1MHz下的频率分辨率达0.004 Hz。同时, AD9834还具有三总线串行(SPI) 接口, 可以较好地与DSP或单片机兼容, 并可以输出正弦波、三角波和方波信号。

  2.2 扫频信号源设计

  本设计采用C8051F020单片机作为控制器件,它的工作频率可达到25 MHz, 并可提供一个串行外设接口SPI器件, 然后利用SPI总线向AD9834发送频率控制字, 以使AD9834产生正弦信号, 将此差分信号通过引脚IOUT和引脚IOUTB输出。本系统中的扫频信号源电路如图2所示。

扫频信号源设计电路图

图2 扫频信号源设计电路图。

  2.3 调理电路设计

  在设计调理电路时, 可选用模拟开关ADG408来控制放大电路的增益, 以将±5 V的信号经过调理电路衰减后, 再和ADC的参考电压相加, 从而使信号的幅度范围达到ADC允许的范围内(0~2.5 V)。

  3 单片机C8051F060与AD9834的通讯接口

  本设计采用单片机C8051F060并通过SPI接口向AD9834发送命令和数据, 再由AD9834 产生系统需要的扫频信号。C8051F060 的SPI是一个高速同步串行输入/输出口, 可支持主/从形式的多机通信, 通常用于DSP 控制器和外设或另一个处理器之间以串行方式进行通信和数据交换。通信时一般使用四条线, 即串行时钟线SPICLK、主机输入/从机输出线SPIMISO、主机输出/从机输入线SPIMOSI、从传送使能线SPISTE。而AD9834有三根串行接口线, 且与SPI等接口标准兼容。

  由于单片机只向AD9834发送数据, 而不需要接收数据, 因此, 设计时可将单片机的SPI设置为主器件, NSS置为高电平。C8051F060与AD9834的具体接口电路如图3所示。

C8051F060与AD9834的接口电路

图3 C8051F060与AD9834的接口电路。

  4 软件设计

  本系统的软件主要完成系统的初始化、程控放大、数据采集与处理及LCD显示等功能。其主程序流程图如图4所示。

主程序流程图

图4 主程序流程图。

  初始化包括系统初始化、单片机初始化、DDS初始化和液晶屏初始化。初始化之后, 就可以读键值, 如果步长改变, 则清计数器和液晶屏, 没有改变, 则可写频率控制字, 用程序控制其放大倍数, 采集输出信号。如果输出电压超过满量程, 则应减小放大倍数, 以使其被控制到合适的范围内。刚好满足时, 就可以对输入、输出信号两端同时采集, 待采集完成后, 再对输入信号和输出信号分别进行傅里叶变换, 然后计算出各自的幅度和相位, 再用输出端的幅度除以输入端的幅度, 就可以得到被测网络对应频率的放大倍数, 然后用输出端信号的相位减去输入端信号的相位, 就可以得到被测网络对应频率的相频响应。将计算出的结果通过LCD显示出来。本系统选用320240B液晶显示器, 并使用功能强大的RA8835/ SED1335作为控制器, 一屏多可显示320个点, 当这320个点全部显示完成时, 扫频结束, 扫频结束后, 还可以进行频率响应函数的计算。否则就返回, 以进行下一个频率的测量。

  5 结束语

  通过本文所设计的频率响应测试仪可测出被测网络的响应信号与激励信号的幅值比和相位差, 从而求出系统的幅频特性和相频特性, 再由求得的频率特性进一步求出系统的传递函数。该设计由于输入信号频率成分单一, 信号稳定, 能量集中, 因此, 求出的结果度高, 从而克服了其他方法中激励信号成分复杂, 各成分的能量分布不均匀, 持续时间短, 能量不足, 噪声影响较大等缺点。


  

参考文献:

[1]. C8051F060 datasheet https://www.dzsc.com/datasheet/C8051F060_1095791.html.
[2]. AD9834 datasheet https://www.dzsc.com/datasheet/AD9834_251785.html.
[3]. ROM datasheet https://www.dzsc.com/datasheet/ROM_1188413.html.
[4]. C8051F020 datasheet https://www.dzsc.com/datasheet/C8051F020_209830.html.
[5]. ADG408 datasheet https://www.dzsc.com/datasheet/ADG408_123649.html.


上一篇:采用电感电流内环的单相逆变器设计
下一篇:新技术与芯片在对高性能微处理器供电中的应用

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料