来源:市场资讯

(来源:杭州晶华微)

前言

打开网易新闻 查看精彩图片

本章节介绍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的正弦波情况
打开网易新闻 查看精彩图片
图 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 WAVE_GEN函数调用的数组定义

如图5-1所示,波形发生器对应的128*4周期的码值定义。

图5-2 WAVE_GEN函数
打开网易新闻 查看精彩图片
图5-2 WAVE_GEN函数

如图5-2所示,首先配置WAVE时钟使能,再配置OP为跟随器,输出等于输入正端,正端输入选择DAO1,配置DAC1基准,最后配置波形的基本参数例如时钟、周期(与数组对应)、滤波器截止频率(推荐设置为大于两倍的实际频率),HCT功能与WAVE_GEN使能。

总结

Part.5

本文介绍了SD82F466波形发生器模块的原理和使用方法,其他功能将会在后续章节逐一分享。