晶华微SD82F46X芯片的WAVE_GEN波形发生器模块的使用方法及程序配置流程

描述

前言

本章节介绍SD82F466芯片的WAVE_GEN波形发生器模块的使用方法及程序配置流程。

Part.1 WAVE_GEN 介绍

波形发生器的数字部分由一组分频计数器、预定的存储波形数据的寄存器阵列和阵列寻址计数器组成。

最终输出一连串12bits的码值,经过模拟滤波器后输出频率范围在1kHz~100kHz的任意波形。

波形数据存储在8k SRAM的末1kB空间范围,地址9C00H~9FFFH。用户可以选择从这1K地址范围内的任意偶地址开始,起始地址WG_SA[9:0] 对应地址9C00H~9FFFH范围如下表所示:

adc

12bits的码值,低字节放在偶地址,高字节放在奇地址。

Part.2 WAVE_GEN 功能描述

波形发生器的结果是DAC1通道数据的一种选择。最终的DAC1数据经过DA1SEL选择后得到,默认是使用软件配置的数据。

由于波形数据是用户写入,因此可以输出任意波形。用户需要写入一周期的数据量。为了实现IQ模式下90°相移的波形,需要波形的数据量为4的倍数(实现方式:取N/4作为第一个数据地址,循环取数)。建议在作为正弦波发生器的时候,N至少有8个数据,否则波形看起来呈三角波状态。

adc

图 3.1 N=4的正弦波情况

Part.3 编程介绍

示例程序是将波形发生器生成的波形在IO口上呈现,整体流程为波形发生器使DAC1模块输出对应设置值,通过OP模块将DAC1结果输出至IO口。包含了波形发生器模块配置、DAC1模块配置、OP模块配置等。

编程主体思路:先对芯片进行系统初始化,往SRAM写入自定义波形码值,再对波形发生器、DAC、OP模块进行配置。

Part.4 函数分析

WAVE_GEN函数的整体框架,如图5-1、5-2:

adc

图5-1 WAVE_GEN函数调用的数组定义

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

adc

图5-2 WAVE_GEN函数

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

Part.5 总结

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分