全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

基于低功耗STM32F103C8芯片的数字可调共振源的设计

[复制链接]
3927 1

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

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

x
1 系统结构
     根据系统的性能要求,共振源系统主要由计算机控制软件、USB通信、CPU模块、信号发生模块、信号滤波放大电路模块、显示及键盘控制模块、外围实验装置等6部分组成。图1为该系统框图。
   

图1 系统框图
     系统以高速低功耗STM32F103C8为主控芯片,通过按键设置输出频率与幅度,并将频率和幅度值显示在LCD屏上,并控制DDS芯片AD9850合成相应的信号,该信号经过滤波放大模块将信号的功率放大后输出到外围的振动装置上。同时,振动源可以通过USB与计算机相连,PC机在软件中设置输出信号频率和幅度。
     2 系统硬件设计
     2.1 CPU主控部分
     系统采用STM32F103C8作为主控制芯片。STM32F103C8是ST公司于2008年推出的以高性能的ARM Cortex-M3 32位的RISC内核的ARM。工作频率可达72 MHz,内置高速存储器(高达512 kB的闪存和64 kB的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。Thumb-2指令集带来了更高的指令效率和更强的性能,通过紧耦合的嵌套矢量中断控制器,对中断事件的响应比以往更迅速,工作电压可以在2.0~3.6 V之间,能够实现耗电最优化。在工业实时控制、计算机外部设备、建筑和安防、仪器仪表、通讯设备、家电消费等各个领域应用广泛。
     将STM32F103C8的PA0~PA7口与AD9850的8位并行数据接收端口相连,PB12、PB13、PB14分别与W_CLK、FQ_UD、CLKIN相连作为控制总线,用于控制AD9850的工作。具体控制连接,如图2所示所示。
    20121112053330179871642.jpg

图2 控制连接图
     2.2 信号发生模块
     信号发生模块选用DDS芯片AD9850,它是高稳定度的直接数字频率合成器件,内部包含:输入寄存器、数据寄存器、数字合成寄存器(D-DS)、10位高速D/A转换器和高速比较器。AD9850高速的直接数字合成器(DDS),核心根据设定的32位频率控制字和5位相移控制字,可产生0.029 Hz~62.5 MHz的正弦信号或者标准的方波信号。该器件可通过并行接口或串行接口实现控制字写入,以改变输出频率和相位。本文采用并行输入方式,通过8位总线D0~D7将外部控制字输入到寄存器。5个W-CLK的上升沿读入5 bit数据到输入寄存器后。FQ-UD(频率更新时钟)上升沿到40位数据加载到频率/相位控制寄存器,输出波形频率和相位更新一次。AD9850输出频率数据F与频率控制字M(4 bit)之间的关系为
    20121112053330211121643.jpg

  其中,CLKin为外部参考时钟,本设计采用50 MHz。
     2.3 信号滤波及功放模块
     AD9850输出信号直接由器件内部的D/A转换合成的,而D/A的位数有限,难免会产生数字量化噪声,这种量化噪声进而会造成输出信号产生畸变。本系统选用了椭圆低通滤波器,可有效抑制120 MHz以上的高频干扰。图3为信号滤波电路。
    20121112053330226751644.jpg

图3 椭圆低通滤波电路
     功放模块采用TDA2030作为核心芯片,是德律风根生产的音频功放电路,采用V型5脚单列直插式塑料封装结构,具有体积小、输出功率大、失真小、外接元件少等特点,内部具有多种保护电路,工作安全可靠,可以满足系统设计的要求。本文选用12 V单电源供电模式,对输出信号功率进行放大以驱动外围振动实验装置。图4所示为信号放大驱动电路。
    20121112053330273631645.jpg

图4 信号放大驱动电路
     2.4 键盘显示及信号输出端装置
     键盘和显示作为人机交互平台,控制键盘设有5个按键,包括两个光标左右移位键、两个数字加减键和一个确认键,以实现对频率的调节设定。显示部分采用LCD1602液晶模块,用于实时显示输出信号的频率值。
     2.5 USB通信模块
     通用串行总线(USB)由于具有高传输速率、即插即用和易于扩展等优点而被广泛应用于计算机外设、数字设备和仪器仪表等领域。系统的USB通信部分采用了CPU自带的USB接口。PC上位机可通过USB接口将AD9850的频率/相位控制字发送到MCU,用于设置AD9850的输出频率,同时AD9850也可以经MCU将输出频率发送回PC上位机上,用于对系统监视。
     3 系统软件简介
     系统的软件包括计算机虚拟仪器以及ARM软件程序。虚拟仪器采用NI公司的LahWindows开发平台,虚拟仪器面板用于实现PC机与共振源通信并实时显示输出频率、幅度等信息。ARM软件部分采用基于ST公司的最新3.0版本的固件库编写。此次只介绍ARM软件部分。
     ARM软件设计采用C语言编写,C语言对机器底层硬件操作方便,模块化程度高,可读性与可移植性好。该软件设计主要包括两部分组成:共振源控制程序由初始化模块、功能模块组成。初始化模块用于配置系统时钟、端口工作方式、嵌套中断向量控制器。功能模块是由显示、键盘输入和信号发生组成。系统软件设计流程图,如图5所示。
    20121112053330304881646.jpg

图5 系统软件设计流程图
     4 实验
     表1为该共振源在设定频率时相应的输出频率。
    20121112053330336131647.jpg

  实验过程中由于信号发生模块、滤波功放模块以及外围电子元件之间连线存在一定电磁干扰,难免使输出信号产生小幅度漂移,但是误差已经控制在设计要求范围之内。
     下图6和图7为1 Hz和1 kHz理论频率下用示波器TDS3201B测试的共振源输出的波形图。
    20121112053330367391648.jpg
  
   图6 1 Hz信号输出波形图
    20121112053330508031649.jpg
图7 1 kHz信号输出波形图
     5 结束语
     基于Cortex-M3的数字可调共振源,实现了对信号频率的连续可调,其输出信号的稳定性、精确性和模拟类共振源相比都有较大提高。实测表明,该共振源在1~10 kHz范围内的相对误差控制在0.41%以内,且响应快,满足物理实验中心的共振实验以及超声波发声信号源的要求。

举报

回复

1 个评论

wan***  中级会员  发表于 2015-11-5 12:13:41  | 显示全部楼层
楼主发布资源辛苦了,谢谢分享!!!!!!!!!!!!!
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表