基于瑞萨RA2L1微控制器的波形生成系统设计

发布者:Serendipity99最新更新时间:2026-02-12 来源: 瑞萨嵌入式小百科作者: Lemontree关键字:瑞萨  MCU  波形生成  系统设计 手机看文章 扫描二维码
随时随地手机看文章

导言

在开发与测试中,稳定、精确的测试生成是一项常见且关键的需求。传统方法依赖于实时计算并搬运数据,这会持续占用资源,增加系统功耗,并可能影响主程序的实时性。为解决这一问题,本文介绍一种利用RA2L1()的、DTC和AGT三个外设模块协同工作的解决方案。该方案能够以极低的CPU参与度,高效生成正弦波、三角波等多种标准波形,为需要信号输出的应用提供了一种高性能、低功耗的设计范例。

核心模块

DTC(数据传输)模块

DTC(Data Transfer Controller)模块根据传输信息进行数据传输,需要先在S区域存储传输信息。DTC被激活时,会读取与向量号相关联的DTC向量,从DTC向量中引用的传输信息存储地址读取传输信息并进行数据传输。

传输模式包括普通传输模式(Normal transfer mode)、重复传输模式(Repeat transfer mode)和块传输模式(Block transfer mode)。DTC在DTC传送源(SAR)中指定传输源地址,在DTC传送目标寄存器(DAR)中指定传输目的地址。在数据传输后,这些寄存器的值可以独立地增减或保持不变。

AGT(低功耗异步通用)模块

AGT(Low Power Asynchronous General Purpose mer)模块是一个灵活的16位定时器,可在低功耗模式下运行。在本设计中,它被配置为周期定时模式,用于产生固定时间间隔的中断。这些中断信号作为“触发源”,定期激活DTC,从而精确控制DAC输出每个数据点的时间间隔,决定了最终输出波形的频率。

DAC()模块

RA2L1提供一个带输出的12位数模转换器(DAC12),由AVCC0和AVSS0提供模拟电源及模拟参考电压源,输出引脚为DA0。DAC12的D/A数据寄存器0(DADR0)适用于存储数模转换数据的16位读/写寄存器,启动模拟输出后,DADR0中的数值会被转换并输出到模拟输出引脚(DA0)中。

系统设计方案

系统架构

12fb288a-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图1.系统架构

DAC模块:负责最终的数模转换与电压输出。

AGT模块:作为系统的“节拍器”,产生固定周期的中断来触发数据传输。

DTC模块:作为“数据搬运工”,在每次AGT中断时,自动将LUT中的下一个数据点送至DAC。

波形查找表

波形查找表机制

两种波形的数据都预先计算并存储在查找表(LUT)中。系统运行时,DTC模块按固定时间间隔依次读取表中数据并传输到DAC寄存器,实现波形的周期性输出。这种方式避免了实时计算,大幅降低CPU负载。

正弦波查找表

使用余弦函数计算一个完整周期(T=input_spp)的采样点数据。通过cos(2πi/input_spp)计算每个采样点的瞬时值(i=0,1,˴˴˴,input_spp-1)。由于余弦函数输出范围是[-1,1],需要加1后乘以DAC中间值((DAC_MID_VAL),将其映射到DAC的有效输出范围(0~4095)。采样点数越多,生成的波形越平滑。

正弦波查找表函数

左右滑动查看完整内容

voidgenera_sin(void)
{
 /* Calculate look up table for sin function */
 for(int i=0; i< input_spp; ++i)
    {
        look_up_table[i] = (uint16_t) 
14041fa2-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/100014041fa2-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

三角波查找表

采用分段线性计算方式。前半周期线性递增,从0上升到最大值;后半周期线性递减,从最大值下降到0,形成对称的三角波形。计算公式基于当前采样点位置与总采样点数的比例关系,通过简单的线性插值即可得到每个点的输出值。

三角波查找表函数

14041fa2-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/100015577886-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

软件流程

14041fa2-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000160674bc-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图2. 主流程

系统时序

1663c842-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图3.系统时序图

开发环境

表1 开发环境

项目 内容
所用微控制器 RA2L1(R7FA2L1AB2)
工作频率 HOCO:48MHz,PCLKB:24MHz
工作电压 3.3V(工作电压范围1.6V~5.5V)
开发板 CPK-RA2L1 MCU评估板(LQFP64)
集成开发环境 e2studio v2025-07(瑞萨电子开发)
FSP v6.0.0
LLVM for v18.1.3
BSP文件 Rene.RA_board_ra2l1_cpk.3.7.0.pack

RA2L1 - 48MHz Arm Cortex-M23超低功耗通用微控制器 | Renesas瑞萨电子

https://www.renesas.cn/zh/products/ra2l1?queryID=01350652010d335ce3d718259fb7b4

CPK-RA2L1 - RA2L1 MCU群组中国本地评估板 | Renesas瑞萨电子

https://www.renesas.cn/zh/design-resources/boards-kits/cpk-ra2l1?queryID=7488f1b4dfae70a40b8d81382c878554

e²studio | Renesas瑞萨电子

https://www.renesas.cn/zh/software-tool/e2-studio?queryID=c68ed897f8fb82511bedafe733272066

RA可扩展性强的配置软件包(FSP) | Renesas瑞萨电子

https://www.renesas.cn/zh/software-tool/ra-flexible-software-package-fsp?queryID=a5545772de53314f3a65441b56a71922

硬件配置

18214cfe-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图4.硬件配置示例

参考例程

为便于读者快速上手,本文提供了一个完整的波形生成参考例程。该例程实现了正弦波和三角波的生成与切换功能,读者可以在此基础上进行测试、二次开发和功能扩展。

dac_cpkcor_ra2l1_ep.zip

https://e.gitee.com/recn-mcu-ae/repos/recn-mcu-ae/dac_cpkcor_ra2l1_ep/sources

gitee下载链接

https://e.gitee.com/recn-mcu-ae/repos/recn-mcu-ae/dac_cpkcor_ra2l1_ep/sources

14041fa2-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

例程操作说明

硬件准备

参考例程使用的是瑞萨中国本地推广板CPK-RA2L1 MCU评估板(LQFP64),如图5所示。开发板调试为J11,波形输出(P014)从J2的n 21引出(见图5中红框)。

198d2a5e-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图5.CPK-RA2L1 MCU评估板(LQFP64)

工程配置

由于例程中使用的开发板为CPK开发板,因此在首次使用时需要导入BSP文件,导入方法见《向FSP中添加CPK评估板的BSP》。导入BSP文件后可选择CPK-RA2L1评估版,请确认configuration.xml中的BSP信息与图6一致。

向FSP中添加CPK评估板的BSP

https://www.renesas.cn/zh/document/gde/fsp-cpk-bsp?r=1596841

1a4fd586-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图6.参考例程中BSP信息

编译与烧录:

确认BSP信息无误后即可对工程进行编译,烧录到开发板中并运行程序。

交互控制

打开J-Link RTT Viewer,选择连接方式,将“Specify Target Device”设定为“R7FA2L1AB”,“RTT Control Block”选择为“Auto Detection”,点击“OK”后即可连接到开发板。

1aaf2950-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图7.J-Link RTT Viewer配置信息

成功连接到开发板后可看到如图8的工程信息,包括工程版本、FSP版本、例程说明等等。

1b08cc26-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图8.J-Link RTT Viewer工程信息显示

如图9所示,用户需要对J-Link RTT Viewer中发送数据的方式进行以下设置。

1b698f48-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图9.J-Link RTT Viewer输入设置

参照图8中的提示,用户输入“0”可以选择生成正弦波,输入“1”可以选择生成三角波,首先输入“0”选择正弦波输出,如图10所示。

1bc11ad8-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图10.选择正弦波输出

根据图10中的信息,下一步需要输入期望采样点数,注意输入值需要在2到256之间。

1c19988e-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图11.输入期望采样点数

最后需要输入期望输出波形频率,注意波形频率的最大值已根据期望采样点数计算得出,因此输入的期望频率需要小于最大波形频率。

1c74b868-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图12.输入期望频率

波形观测

图13为输入“0”后生成采样点为256,频率为100Hz的正弦波输出结果。

1cccdfa2-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图13.正弦波输出结果

图14为输入“1”后生成采样点为256,频率为100Hz的三角波输出结果。

1d2a9124-fcc8-11f0-92de-92fbcf53809c.png?imageView2/2/w/1000

图14.三角波输出结果

代码说明

常量一览

例程中所用常量见表2。

表2 常量说明

常量名称 数值 说明
SPP_MIN_VAL 2 最小采样点数
SPP_MAX_VAL 256 最大采样点数
DAC_MID_VAL 2047.5 波形放缩系数
DADR0 0x4005E000 DADR0
寄存器地址
DAC_MAX_
CONVERSION_PERIOD
30 DAC最大采样周期

变量一览

例程中所用变量见表3。

表3 变量说明

类型 变量名称 内容
uint16_t look_up_table
[SPP_MAX_VAL]
波形查找表
uint16_t input_spp 用户期望采样点数
uint32_t input_freq 用户期望输出波形频率
uint32_t wave_output 用户期望输出波形类型
double sample_freq DAC采样频率
uint32_t freq_max_val 最大输出频率
double dac_max_samp_rate DAC最大采样率

函数一览

例程中所用函数见表4。

表4 函数说明

类型 内容
R_FSP_VersionGet() 获取FSP版本
R_IOPORT_PinCfg() 配置引脚设置
R_DAC_Open() 初始化DAC
R_DAC_Start() 开启数模转换输出
R_DTC_Open() 启用DTC
R_DTC_Enable() 启用传输
R_AGT_Open() 初始化AGT
R_AGT_Start() 启动定时器
R_DTC_Reconfigure() 配置DTC
R_FSP_SystemClockHzGet() 获取系统频率
R_AGT_PeriodSet() 更新AGT周期
generate_sin() 生成正弦波波形查找表
generate_triangle() 成三角波波形查找表

结语

本文详细阐述了基于RA2L1 MCU的硬件协同波形生成方案。通过巧妙运用AGT定时触发、DTC自动搬运、DAC转换输出三者形成的“硬件流水线”,成功将CPU从频繁的数据搬运任务中解放出来,实现了极低的处理器占用与功耗。预存波形查找表的方法不仅保证了输出,也预留了强大的扩展能力,可轻松支持方波、锯齿波或任意自定义波形。

该设计理念突出了利用MCU丰富外设实现功能卸载、优化系统效率的设计思想。读者可基于提供的参考例程,快速进行原型验证,并灵活调整采样率、输出频率及波形种类,以满足各类嵌入式应用中对模拟信号生成的需求。

关键字:瑞萨  MCU  波形生成  系统设计 引用地址:基于瑞萨RA2L1微控制器的波形生成系统设计

上一篇:手把手教程:在1GHz单片机上部署大模型对话系统 | 技术集结
下一篇:Positron 公布 AI 推理芯片 Asimov

推荐阅读最新更新时间:2026-03-25 15:01

使用STM32微控制器系列中的DAC生成音频和波形之应用实例
《使用DAC生成正弦波形》 1、说明 本示例分步说明如何生成正弦波形。 正弦波形也称作单频正弦波音,它是一种纯音或绝对音。在确定听觉系统的各种响应时,正弦音一般用作刺激源。 2、准备数字模式的正弦波形 要准备数字模式的波形,需要进行一些数学运算。这里的目标是产生正弦波的 10 个数字模式数据(采样),变化范围为 0 到 2*PI。 采样间隔为 (2*PI)/ ns (采样数)。 sin(x) 的结果值在 -1 到 1 之间,经过必要的重新校准后,可以生成 0 和 0xFFF 之间(对应电压范围为 0 V 到 3.3 V)的正向正弦波。 经过线性转换后,数字输入会转换为 0 到 VREF+ 之间的输出电压。 各 DAC 通道
[单片机]
使用STM32<font color='red'>微控制器</font>系列中的DAC<font color='red'>生成</font>音频和<font color='red'>波形</font>之应用实例
时域反射计示波器与矢量网络分析仪生成时域波形的比较
时域分析(TDA)是一种通过TDR 时域反射计示波器使用来评估传输线路的常见方法。同时,基于矢量网络分析仪(VNA)的TDR测量作为一种时域分析的替代方法,越来越受到人们的关注。 E5071C选件TDR为基于VNA的TDR 时域反射计测量提供了一种同一平台的综合解决方案,并且提供了传统TDR示波器中所没有的独特功能。本应用指南的目的是通过将使用E5071C ENA 矢量网络分析仪和86100D Infiniium DCA-X 宽带宽示波器主机测定的数据进行对比,从而验证E5071C选件TDR 时域反射计的用途。 TDR 时域反射计示波器和VNA 矢量网络分析仪基本要素 TDR 时域反射计示波器历来被用于时域分析。它向被测设
[测试测量]
时域反射计示波器与矢量网络分析仪<font color='red'>生成</font>时域<font color='red'>波形</font>的比较
神舟IV学习笔记(十一)DAC波形生成
数字/模拟转换模块(DAC)是12位数字输入,电压输出的数字/模拟转换器。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。 DAC主要特征 ● 2个DAC转换器:每个转换器对应1个输出通道 ● 8位或者12位单调输出 ● 12位模式下数据左对齐或者右对齐 ● 同步更新功能 ● 噪声波形生成 ● 三角波形生成 ● 双DAC通道同时或者分别转换 ● 每个
[单片机]
采用基于SMC的任意波形发生器生成I/Q信号的优势
在快速发展的蜂窝通信市场中,数字系统大约在十年前就已经取代了模拟系统,并已经从频分多路复用(FDMA)和时分多路复用(TDMA)系统发展成为GSM和CDMA系统。数字通信系统已在生活中得到了广泛的应用,它们在能源消耗、频谱效率、质量和成本等方面具有明显的优势,以至于因此整个模拟电视的基础设施都要被更换成数字通信的方式。因为大量的数字通信系统构架采用直角坐标系下的I/Q信号(即同相信号和正交信号)来描述数据符号,所以工程师们必须能够生成准确的基带I/Q信号以进行研究、设计和生产测试。 在研究中,灵活的I/Q发生系统是快速原型化并评估新型调制方法和收发装置性能的关键。在新产品设计中,I/Q信号将测试大量I/Q调制器/解调器的物理层参数,
[测试测量]
采用基于SMC的任意<font color='red'>波形</font>发生器<font color='red'>生成</font>I/Q信号的优势
5Hz三档三相SPWM波形生成方法
给纺织机供电的一种5Hz变频电源,由于工作场合的不同,其输出电压分为50V、60V、70V三档。本文将着重讨论采用单片机8098为主控芯片生成这三档SPWM波形的硬件电路和软件设计方法。   SPWM的计算机实现,其原理仍然是基于正弦控制波与三角载波相交以确定开关器件通断时刻点。随着采样方式的不同,软件编程的方法也不同,而且还要结合硬件定时器的工作方式,因此其实现方法有多种多样。本文采用了利用高级语言按照规则采样法原理离线计算出对应脉宽数据,由8098单片机查表实现输出的方法,实现了逆变器输出三相线电压为50V、60V、70V三档5Hz低频正弦电压。 1规则采样法原理   由于正弦波与三角波的交点具有任意性,脉冲中心在一个周
[单片机]
5Hz三档三相SPWM<font color='red'>波形</font>的<font color='red'>生成</font>方法
用双滤波器生成扫频正弦/余弦波形
  解调器、定向电路,以及其它电子应用等都常常要用到两个相差为90°的正弦波,即一个正弦波和它的余弦波。工程师们通常采用 模拟 滤波 器产生这个相移。不过,这种方法提供的频率范围有限。使用图1中的电路,就可以在1 Hz~25 kHz的频率范围内,获得一个扫频的正弦/余弦对。   电路采用了Mixed Signal Integration公司的MSFS5可选低通/带通的开关电容滤波器,用于消除加在其输入端的一个方波的谐波。MSFS5的时钟是输入方波的100倍。74HC390与74HC74构成了一个25分频和2分频电路。74HC74的Q输出连接到74HC390A的两个2分频电路上,所产生方波频率为滤波器时钟频率的1/100,
[测试测量]
用双滤波器<font color='red'>生成</font>扫频正弦/余弦<font color='red'>波形</font>
双滤波器生成扫频正弦/余弦波形
解调器、定向电路,以及其它电子应用等都常常要用到两个相差为90°的正弦波,即一个正弦波和它的余弦波。工程师们通常采用模拟滤波器产生这个相移。不过,这种方法提供的频率范围有限。使用图1中的电路,就可以在1 Hz~25 kHz的频率范围内,获得一个扫频的正弦/余弦对(点击放大)。      图1,此电路可以在1Hz至25kHz频率范围内,产生扫频的正弦/余弦对。   电路采用了Mixed Signal IntegratiON公司的MSFS5可选低通/带通的开关电容滤波器,用于消除加在其输入端的一个方波的谐波。MSFS5的时钟是输入方波的100倍。74HC390与74HC74构成了一个25分频和2分频电路。74HC74的Q
[模拟电子]
双滤波器<font color='red'>生成</font>扫频正弦/余弦<font color='red'>波形</font>
使用混合信号源生成波形
  当前先进的混合信号源(特别是AWG)为创建和编辑波形提供了多种方式。此外,某些仪器包括随时可以使用的专用波形。图35 说明了使用AWG 生成信号要求的步骤。一旦创建波形文件,通常会永久存储波形文件。通过这种方式,可以在完成原始应用工作后很长时间内,仍可以使用波形文件。因此,为工程师设计的AWG 拥有一个本地硬盘,用来永久存储波形文件和序列。那么,生成波形的第一步是为文件分配一个目的地。一系列用户友好的编辑器可以协助完成波形编辑或生成步骤。波形编辑器采用基本“原始”波形段,为以各种方式修改这些波形段提供了工具,包括数学运算、剪切和粘贴等等。   码型编辑器是为了处理数字数据波形而优化的。尽管真正的码型发生器通常更适合数字工作
[测试测量]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved