【课程设计】基于AD9958直接数字频率合成器+662763A
简介
基于stm32单片机的ad9958直接数字频率合成器,给快要竞赛的小伙伴试试水,第一次使用这个芯片,特别是ucos和emwin,都是赶鸭子上架的,马马虎虎吧
简介:基于stm32单片机的ad9958直接数字频率合成器,给快要竞赛的小伙伴试试水,第一次使用这个芯片,特别是ucos和emwin,都是赶鸭子上架的,马马虎虎吧开源协议
:Public Domain
描述
AD9958简介
AD9958是Analog Devices公司生产的一款高性能、动态特性优异、可双路输出的DDS器件,每路可单独控制频率,相位/幅度。这种灵活性可用于校正信号之间由滤波、放大等模拟处理或PCB布局失配而引起的不平衡问题。由于两个通道共享一个公共系统时钟,因此它们具有固有的同步性,可支持多个设备的同步。AD9958内部集成了10 bit的输出幅度控制,内部工作频率高达500 MHz,使其可产生频率为250MHz的双路信号。其内部有许多用于控制输出信号参数的控制寄存器,具有32位频率调整分辨率、14位相位失调分辨率、10位输出幅度可缩放分辨率,有增强数据吞吐率的串行SPI口。可工作于多种模式,支持单频信号模式(single-tone)、调制模式(modulation mode)、线性扫频模式(linearsweep)以及混合信号模式。可以执行高达16阶的频率、相位或幅度调制(FSK、PSK、ASK)。
AD9958串口特点及工作模式
下表为4种模式的引脚配置表:
引脚/功能/模式 | 1位串行2线模式 | 1位串行3线模式 | 2位串行模式 | 4位串行模式 |
SCLK | 串行时钟 | 串行时钟 | 串行时钟 | 串行时钟 |
CS | 片选 | 片选 | 片选 | 片选 |
SDIO_0 | 串行数据IO | 串行数据IO | 串行数据IO | 串行数据IO |
SDIO_1 | 未用 | 未用 | 串行数据IO | 串行数据IO |
SDIO_2 | 未用 | 串行数据输出 | 未用 | 串行数据IO |
SDIO_3 | 同步IO | 同步IO | 同步IO | 串行数据IO |
在串行操作包括指令周期和通信周期,一般先传送指令周期,指令周期对应于SCLK的前8个上升沿,其对应的指令字(8比特)包含了以下信息:
下图为AD9958的写数据时序图,SCLK下降沿有效,读数据则是高电平有效
下图为频率和相位的计算公式
STM32F429BI驱动
由于裸机远远不比多任务,所以本次项目使用了uCOS-III实时操作系统。
轮询系统(裸机)
操作系统
emWin图形界面
光是按键和简单的屏幕显示已经满足不了我了,所以我就加了图形界面,看起来要美观一点(我才刚学,界面配置的简直不能看)
屏幕为5寸RGB屏(800*480)电容式触摸,为了更好发挥 STM32F429 的图形性能,强烈建议使用 32 位 SDRAM,使用16 位的 SDRAM 性能会降低一半。
!!!!!
我把这三个的代码整合了一下,其实感觉好像也不多,都是现学现做的。
基于STM32F429BI运行uCOS-III与emWin驱动AD9958+5寸屏。
前面全是介绍他们的,一点重要的东西都没有,接下来就讲讲我制作板子和调试中的问题吧:
- AD9958的板子其实不需要多大的注意,尽量画的标准一点,这块芯片的要点就在于灵活性,可用于校正信号之间由滤波、放大等模拟处理或PCB布局失配而引起的不平衡问题。
- AD9958的测试引脚为17脚,当完全焊接完整时,通电,该引脚的电压为1.2V左右。则芯片正常工作,如果出现虚焊或者芯片内部损坏,该引脚电压为0.(别问我为什么知道,我焊废了一块,我的300元就这样没了)这芯片的封装为LFCSP,特别容易虚焊。
- 使用单片机驱动时,SDIO_3脚必须为低电平
- AD9958和AD9959通用代码,唯一的区别就是阉割了两个通道
- 该芯片的调制和扫频还在研究中,估计之后会使用在幅频特性检测装置和多波形雷达信号原这两个项目上
- uCOS-III需要注意信号量和互斥量的释放和获取
- 电容式的触摸屏不需要校准,而且最多可支持5指触摸,但是在emWin中我还是单指触摸,防止误触
- 图形界面要慢慢优化,慢慢调试,网上的视频有很多,可以看看
- 由于身边没有什么放大增益模块,所以很多功能就没有做,再加上期末考试了,我复习去了,所以没多少时间弄了
- 由于我只焊接了一个通道接口,演示中就只有频率的改变,幅度的改变,相位看不出来(我不会使用示波器,我太菜了)
- 我们学校只有100M的示波器。。。。。。。所以我设置的频率范围是1Hz~99Mhz
- 我也添加了文件系统,想加截图的功能,加入sd卡,可以查看自己保存的配置,不过没时间了,活动快截止了,就没往下做了,只是添加了进去而已,后续会慢慢完善的
- 视频中只演示了频率,由于我只焊接了一个通道,所以刚开始的通道一是没有在示波器上显示的,相位和幅度也能设置,但是示波器玩不转,所以没有进行操作,暂时就这么多了0.0 0.0 0.0
评论