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

模拟技术

2414人已加入

描述

介绍

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

硬件准备

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

adc

软件部分

1打开RASC.EXE文件adc

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

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

adc

 

adc

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

adc

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

adc

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

adc

22定义相关的回调函数。

adc

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

adc

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

adc

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

adc

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

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

adc

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

结论

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

审核编辑:汤梓红

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

全部0条评论

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

×
20
完善资料,
赚取积分