来源:市场资讯
(来源:杭州晶华微)
前言
![]()
本章节介绍SD82F466芯片的WAVE_GEN波形发生器模块的使用方法及程序配置流程。
WAVE_GEN 介绍
Part.1
波形发生器的数字部分由一组分频计数器、预定的存储波形数据的寄存器阵列和阵列寻址计数器组成。
最终输出一连串12bits的码值,经过模拟滤波器后输出频率范围在1kHz~100kHz的任意波形。
波形数据存储在8k SRAM的末1kB空间范围,地址9C00H~9FFFH。用户可以选择从这1K地址范围内的任意偶地址开始,起始地址WG_SA[9:0] 对应地址9C00H~9FFFH范围如下表所示:
![]()
12bits的码值,低字节放在偶地址,高字节放在奇地址。
WAVE_GEN 功能描述
Part.2
波形发生器的结果是DAC1通道数据的一种选择。最终的DAC1数据经过DA1SEL选择后得到,默认是使用软件配置的数据。
由于波形数据是用户写入,因此可以输出任意波形。用户需要写入一周期的数据量。为了实现IQ模式下90°相移的波形,需要波形的数据量为4的倍数(实现方式:取N/4作为第一个数据地址,循环取数)。建议在作为正弦波发生器的时候,N至少有8个数据,否则波形看起来呈三角波状态。
![]()
图 3.1 N=4的正弦波情况
编程介绍
Part.3
示例程序是将波形发生器生成的波形在IO口上呈现,整体流程为波形发生器使DAC1模块输出对应设置值,通过OP模块将DAC1结果输出至IO口。包含了波形发生器模块配置、DAC1模块配置、OP模块配置等。
编程主体思路:先对芯片进行系统初始化,往SRAM写入自定义波形码值,再对波形发生器、DAC、OP模块进行配置。
函数分析
Part.4
WAVE_GEN函数的整体框架,如图5-1、5-2:
![]()
图5-1 WAVE_GEN函数调用的数组定义
如图5-1所示,波形发生器对应的128*4周期的码值定义。
![]()
图5-2 WAVE_GEN函数
如图5-2所示,首先配置WAVE时钟使能,再配置OP为跟随器,输出等于输入正端,正端输入选择DAO1,配置DAC1基准,最后配置波形的基本参数例如时钟、周期(与数组对应)、滤波器截止频率(推荐设置为大于两倍的实际频率),HCT功能与WAVE_GEN使能。
总结
Part.5
本文介绍了SD82F466波形发生器模块的原理和使用方法,其他功能将会在后续章节逐一分享。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.