0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞萨RA系列FSP库开发实战指南之使用DAC输出正弦波信号实验

瑞萨嵌入式小百科 来源:野火电子 2026-04-14 16:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

26.5

实验:使用DAC输出正弦波信号

26.5.1

硬件设计

野火启明6M5开发板的引出引脚电路图如图所示。

83183ffc-37b7-11f1-90a1-92fbcf53809c.png

点击可查看大图

野火启明4M2开发板的引出引脚电路图如图所示。

837e724a-37b7-11f1-90a1-92fbcf53809c.png

点击可查看大图

RA6M5和RA4M2都有2个DAC通道,两个通道分别可以连接到P014和P015引脚上。

表5:RA6M5和RA4M2的DAC引脚

DAC通道0 P014
DAC通道1 P015

野火启明2L1开发板的引出引脚电路图如图所示。

83d9505c-37b7-11f1-90a1-92fbcf53809c.png

点击可查看大图

RA2L1只有1个DAC通道,该通道可以连接到P014引脚上。

表6:RA2L1的DAC引脚

DAC通道0 P014

注意

在本实验中,启明6M5、启明4M2和启明2L1开发板使用的都是P014引脚(DAC通道0)来输出模拟正弦波信号。

26.5.2

软件设计

26.5.2.1

新建工程

对于e2studio开发环境:拷贝一份我们之前的e2s工程模板“19_UART_Receive_Send”,然后将工程文件夹重命名为“26_DAC”,最后再将它导入到我们的e2studio工作空间中。

对于Keil开发环境:拷贝一份我们之前的Keil工程模板“19_UART_Receive_Send”,然后将工程文件夹重命名为“26_DAC”,并进入该文件夹里面双击Keil工程文件,打开该工程。

工程新建好之后,在工程根目录的“src”文件夹下面新建“dac”文件夹,再进入该文件夹里面新建源文件和头文件:“bsp_dac.c”和““bsp_dac.h”。工程文件结构如下。

列表3:文件结构

左右滑动查看完整内容

25_DAC
├─ ......
└─src
 ├─ led
 │ ├─ bsp_led.c
 │ └─ bsp_led.h
 ├─ debug_uart
 │ ├─ bsp_debug_uart.c
 │ └─ bsp_debug_uart.h
 ├─ adc
 │ ├─ bsp_dac.c
 │ └─ bsp_dac.h
 └─ hal_entry.c

26.5.2.2

FSP配置

打开该工程的FSP配置界面进行配置。

首先依次点击“Stacks”->“Pins”->“Peripherals”->“DAC0”来配置通道DA0对应的引脚为P014。如下图所示。

843cd4ce-37b7-11f1-90a1-92fbcf53809c.png

点击可查看大图

然后依次点击“Stacks”->“New Stack”->“Analog”->“DAC(r_dac)”来配置DAC模块。如下图所示。

8497b970-37b7-11f1-90a1-92fbcf53809c.png

点击可查看大图

DAC的属性配置:

850a12d6-37b7-11f1-90a1-92fbcf53809c.png

点击可查看大图

除了DA0引脚选择按照默认值即可。

表7:DAC属性介绍

856fe192-37b7-11f1-90a1-92fbcf53809c.png

配置完成之后可以按下快捷键“Ctrl+S”保存,最后点右上角的“Generate Project Content”按钮,让软件自动生成配置代码即可。

26.5.2.3

DAC初始化函数

DAC初始化函数如下:

列表4:代码清单26‑3DAC初始化函数

左右滑动查看完整内容

/**
* @brief初始化 DAC
* @param无
* @retval无
*/
voidDAC_Init()
{
R_DAC_Open(&g_dac0_ctrl, &g_dac0_cfg);
R_DAC_Start(&g_dac0_ctrl);
}

R_DAC_Open()配置单个DAC通道,启动通道,并提供用于DAC API写入和关闭函数的句柄。

R_DAC_Start()启动D/A转换输出。

26.5.2.4

设置DAC输出电压函数

列表5:代码清单26‑4设置DAC输出电压函数

左右滑动查看完整内容

/**
*@brief设置当前的电压
*@param需要控制的电压
*@retval无
*/
voidDAC_SetVoltage(float voltage)
{
 uint16_t dac_data;
 dac_data = (uint16_t)(4095*((voltage)/3.3f));
R_DAC_Write(&g_dac0_ctrl, dac_data);
}

通过电压转换公式将输入的模拟量转换为数值量,输入到R_DAC_Write()函数里,R_DAC_Write()会将数据写入到D/A转换器里。

26.5.2.5

DAC输出正弦波

列表6:代码清单26‑5DAC输出正弦波

左右滑动查看完整内容

//正弦波数据数组变量
uint16_tvar[] = {
2048,2460,2856,3218,3532,3786,3969,4072,4093,4031,3887,3668,
3382,3042,2661,2255,1841,1435,1054,714,428,209,65,3,24,127,
310,564,878,1240,1636,2048
};
/**
*@brief生成正弦波波形
*@param输入的值可以调节波形的周期
*@retval无
*/
voidDAC_SinWave_Cycle(uint32_ttime_interval)
{
for(uint32_ti =0;i <(sizeof(var)/sizeof(var[0]));i++)
  {
    R_DAC_Write(&g_dac0_ctrl,var[i]);
    R_BSP_SoftwareDelay(time_interval,BSP_DELAY_UNITS_MILLISECONDS);
  }
}

通过轮循的方式将之前python生成的正弦波数据输入到R_DAC_Write()函数里面,并且延时一段时间。而延时时间就是我们输入到函数里面的数值,通过改变这一数值我们就可以调节正弦波的周期以及频率。

26.5.2.6

hal_entry入口函数

列表7:代码清单26‑6hal_entry入口函数

左右滑动查看完整内容

/* 用户头文件包含 */#include"led/bsp_led.h"
#include"debug_uart/bsp_debug_uart.h"
#include"dac/bsp_dac.h"


voidhal_entry(void)
{
/*TODO:add your own code here */
 
LED_Init(); // LED 初始化
Debug_UART4_Init();// SCI4 UART 调试串口初始化
DAC_Init();// DAC 初始化
printf("这是一个 DAC 输出正弦波的实验例程
");printf("使用示波器测量 P014 引脚(DAC 0)
");

while(1)
 {
DAC_SinWave_Cycle(1);
 }


#ifBSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}

26.5.3

下载验证

USB TYPE-C线连接开发板“USB TO UART”接口电脑,在电脑端打开串口调试助手,把编译好的程序下载到开发板。

使用示波器测量P014引脚输出的正弦波形,参考波形如下图所示。注意观察示波器测量出波形的频率值和电压峰值。

85cb406e-37b7-11f1-90a1-92fbcf53809c.png

点击可查看大图

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

    关注

    10501

    文章

    10765

    浏览量

    558321
  • 正弦波
    +关注

    关注

    11

    文章

    663

    浏览量

    59455
  • dac
    dac
    +关注

    关注

    44

    文章

    2857

    浏览量

    197722
  • 开发板
    +关注

    关注

    26

    文章

    6476

    浏览量

    121300

原文标题:实验:使用DAC输出正弦波信号——瑞萨RA系列FSP库开发实战指南(96)

文章出处:【微信号:瑞萨嵌入式小百科,微信公众号:瑞萨嵌入式小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RA系列FSP开发实战指南I2C读写EEPROM实验

    使用官方提供的FPS进行编程,官方提供的FPS具有方便、快捷、简洁的特性。
    的头像 发表于 01-27 10:02 3891次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>FSP</b><b class='flag-5'>库</b><b class='flag-5'>开发</b><b class='flag-5'>实战</b><b class='flag-5'>指南</b><b class='flag-5'>之</b>I2C读写EEPROM<b class='flag-5'>实验</b>

    RA系列FSP开发实战指南DAC简介和结构框图

    DAC为数字/模拟转换模块,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与ADC相反。在常见的数字信号系统中,大部分传感器信号被转化成电压
    的头像 发表于 04-11 16:32 8334次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>FSP</b><b class='flag-5'>库</b><b class='flag-5'>开发</b><b class='flag-5'>实战</b><b class='flag-5'>指南</b><b class='flag-5'>之</b><b class='flag-5'>DAC</b>简介和结构框图

    e2studio(1)----芯片搭建FSP环境

    视频教学 样品申请 请勿添加外链 e2studio软件 e2studio是的集成开发环境,FSP 提供了众多可提高效率的工具,用于开发
    发表于 09-30 15:28

    stm32用dac输出正弦波

    stm32用dac输出正弦波实验要求用STM32F103的DAC功能完成以下波形输出,用示波器
    发表于 08-09 07:39

    DAC输出正弦波原理

    、数字音频歌曲数据转换为模拟音频波形输出1. 音频制作正弦波信号输出2. 音频歌曲数据转换为模拟音频波形总结基于STM32用DAC功能
    发表于 08-17 08:54

    RA4系列开发板体验】7. 用DAC输出正弦波以及余弦

    测量摇杆模块偏移量前言本文的目的在与使用DAC模块输出正弦波与余弦波波形,用于测试RA4M2单片机的DAC
    发表于 12-09 22:56

    RA4系列开发板体验】9. 用两路DAC在示波器上显示一个爱心

    测量摇杆模块偏移量【RA4系列开发板体验】7. 用DAC
    发表于 12-10 22:12

    RA4系列开发板体验】10. 我的试用总结

    测量摇杆模块偏移量【RA4系列开发板体验】7. 用DAC
    发表于 12-10 22:34

    RA4系列开发板体验】体验过程

    拿到板子之后,做了几个实验过程,过程如下:1、在好奇心驱动下,逐步接触;参照网上的实例,学习开发环境一、开箱验货二、搭建环境参考“ 【
    发表于 12-18 16:20

    【野火启明6M5开发板体验】开箱+认识开发板+资料

    按键检测29. WiFi——模块通讯板尺寸:3、资料:*附件:[野火EmbedFire]《RA系列FSP
    发表于 12-20 23:28

    DAC输出正弦波

    程序简介 -工程名称:DAC 输出正弦波 -实验平台: 秉火STM32 F429 开发板 -MDK版本:5.16 -ST固件
    发表于 12-13 15:41 74次下载

    DAC输出正弦波实验程序和工程文件免费下载

    本文档的主要内容详细介绍的是DAC输出正弦波实验程序和工程文件免费下载,运行后可在LCD屏幕上看到正弦波形。
    发表于 12-20 08:00 10次下载

    利用DAC实现正弦波输出

    利用DAC实现正弦波输出(电源技术投稿快吗)-该资料详细介绍了利用DAC实现正弦波输出
    发表于 09-28 11:03 78次下载
    利用<b class='flag-5'>DAC</b>实现<b class='flag-5'>正弦波</b><b class='flag-5'>输出</b>

    【有奖直播预报名】电子RA系列产品开发工具FSP4.0.0新特性介绍

    为使用电子RA系列ARM微控制器的嵌入式系统设计提供简单易用且可扩展的高质量软件。 直播主题
    的头像 发表于 11-22 12:20 1788次阅读

    使用e² studio FSP基于RA2E1定时器配置PWM输出

    使用e² studio FSP基于RA2E1定时器配置PWM输出
    的头像 发表于 08-01 00:13 2330次阅读
    使用<b class='flag-5'>瑞</b><b class='flag-5'>萨</b>e² studio <b class='flag-5'>FSP</b>基于<b class='flag-5'>RA</b>2E1定时器配置PWM<b class='flag-5'>输出</b>