电工基础

电工基础知识_电工技术-电工最常见电路

RA系列PWM触发ADC组采集功能

时间:2023-03-29 11:29来源:未知 作者:admin 点击:
介绍 针对客户的开发需求,基于 Keil 的开发环境,使用RA6M4开发板,通过配置RASC设置相关配置,实现PWM触发 ADC 组采集功能。 硬件 准备 准备一块RA6M4开发板(CPK-RA6M4), 芯片 是用R7

介绍

针对客户的开发需求,基于Keil的开发环境,使用RA6M4开发板,通过配置RASC设置相关配置,实现PWM触发ADC组采集功能。

硬件准备

准备一块RA6M4开发板(CPK-RA6M4),芯片是用R7FA6M4AF3CFB,主频200MHz,Pin脚是144pin,1MB内存的,如下图所示。

268149aa-5bf6-11ed-a3b6-dac502259ad0.jpg

软件部分

1打开RASC.EXE文件2700c342-5bf6-11ed-a3b6-dac502259ad0.png

271734e2-5bf6-11ed-a3b6-dac502259ad0.png

2填写工程名称和工程的保存位置,注意路径中不要包含中文和空格,点击Next。

27424132-5bf6-11ed-a3b6-dac502259ad0.png

3RASC支持IAR和Keil,在IDE Project Type选择Keil,选择芯片对应型号,点Next。

275e869e-5bf6-11ed-a3b6-dac502259ad0.png

4选择工程模板,具体如下图,确认无误点击Finish。

27809b08-5bf6-11ed-a3b6-dac502259ad0.png

5工程新建完成后,出现下图界面,此时可以确认一下自己的配置信息是否正确。

27a353f0-5bf6-11ed-a3b6-dac502259ad0.png

6打开Stacks,添加相关的代码模块。点击New Stack-Timers-Timer,General PWM(r_gpt)。

27d43150-5bf6-11ed-a3b6-dac502259ad0.png

7添加完成后,单击PWM模块。再点击Properties打开配置界面,再点击Common,将Pin Output Support设置为Enabled。

280d8978-5bf6-11ed-a3b6-dac502259ad0.png

8再点击General,然后将Mode设置为PWM模式,Period为100,Period Unit为Microseconds。

28347222-5bf6-11ed-a3b6-dac502259ad0.png

9在Output中将GTIOCA Output Enabled设置为True。

28567b74-5bf6-11ed-a3b6-dac502259ad0.png

10打开Pins,选择Peripherals-Timers:GPT-GPT0,Operation Mode选择GTIOCA or GTIOCB,将GTIOC0A的引脚设置为P213。

2870b8b8-5bf6-11ed-a3b6-dac502259ad0.png

11打开Stacks,添加相关的代码模块。点击New Stack-Analog-ADC (r_adc)。

28dfd02c-5bf6-11ed-a3b6-dac502259ad0.png

12添加完成后,单击ADC模块。再点击Properties打开配置界面,再点击General,将Mode设置为Group Scan,这时g_adc0 ADC (r_adc)会出现错误,这里可以先不用理睬,后续设置完成后,就没有错误了。

2903263a-5bf6-11ed-a3b6-dac502259ad0.png

13点击Input 将Channel0、Channel1、Channel2打开并在同一组A。

293206d0-5bf6-11ed-a3b6-dac502259ad0.png

14点击Interrupts,将Normal/Group A Trigger即触发ADC采集触发源设置为GPT0 CAPTURE COMPARE A (Compare match A),然后设置中断回调函数名还有优先级。

293206d0-5bf6-11ed-a3b6-dac502259ad0.png

15打开Pins,选择Peripherals-Analog:ADC-ADC0,Operation Mode选择Custom,设置AN000、AN001、AN002引脚为P000、P001、P002。

29647674-5bf6-11ed-a3b6-dac502259ad0.png

16打开Stacks,添加相关的代码模块。点击New Stack-System-Event Link Controller (r_elc)。

2985f81c-5bf6-11ed-a3b6-dac502259ad0.png

17添加ELC后ADC就不会有错误了。

29aed854-5bf6-11ed-a3b6-dac502259ad0.png

18配置完成后点击右上角的三角按钮(Generate Project Content),关闭RASC再打开Keil生成的工程项目。

29cf8d7e-5bf6-11ed-a3b6-dac502259ad0.png

 

29f3f484-5bf6-11ed-a3b6-dac502259ad0.png

19打开Keil-Customize Tools Menu,在Command设置RASC的路径,在Initial Folder填写$P,在Arguments写入--device $D --compiler ARMv6 configuration.xml。

2a159e22-5bf6-11ed-a3b6-dac502259ad0.png

20如果需要打开RASC进行重新配置,需要在Keil的界面点击Tools-RA Smart Configurator。

2a3c0a9e-5bf6-11ed-a3b6-dac502259ad0.png

21打开hal_entry.c,找到可以添加自己代码的地方,添加相应的应用函数。

2a5f58d2-5bf6-11ed-a3b6-dac502259ad0.png

22定义相关的回调函数。

2a8f5b2c-5bf6-11ed-a3b6-dac502259ad0.png

23在hal_entry.c文件中的void hal_entry(void)函数中添加相关的初始化代码,初始化PWM、ADC、ELC,并且设置ELC去链接PWM触发ADC的采集。

2ac9fa2a-5bf6-11ed-a3b6-dac502259ad0.png

24在ADC的回调函数中添加断点,如果程序进入断点则说明PWM已经触发ADC去完成采集。

2af1a962-5bf6-11ed-a3b6-dac502259ad0.png

25编译并运行程序,用逻辑分析仪查看PWM的波形,占空比为50%,说明PWM功能正常。

2b082070-5bf6-11ed-a3b6-dac502259ad0.png

26给P000输入3.3v,P001悬空,P002接地,测试采集结果是否P000为4095,P001有悬空状态下的电压值,P002为0。

27测试结果正确,P000的值为0x0FFF即为4095,P001有值,P002的值为0。

2b452cae-5bf6-11ed-a3b6-dac502259ad0.png

28说明PWM触发ADC组采集功能正常使用了。

结论

以上就是根据客户开发需求,实现PWM触发ADC组采集功能,通过该项目可以学会使用RASC在Keil环境下的新建项目如何配置一个新的外设,如何调取相应的函数库,以及如何基于RASC进行应用开发。

审核编辑:汤梓红

(责任编辑:admin)
织梦二维码生成器
相关文章
------分隔线----------------------------
栏目列表
推荐内容