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

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

3天内不再提示

AD转换时间的理论推算与测量简析

瑞萨MCU小百科 来源:瑞萨嵌入式小百科 2023-12-08 13:48 次阅读

AD转换时间指的是完成一次AD转换所需的时间,即从启动信号开始到转换结束并得到稳定的数字输出量所需要的时间。

RA2L1硬件手册(R01UH0853EJ0130)第1067页的电气特性“Table 41.35 A/D conversion characteristics (1) in high-speed A/D conversion mode (2 of 2) ”中的内容,看到RA2L1的AD转换时间在对应的测试条件下最小值为0.67us。

3510d3e2-958d-11ee-8b88-92fbcf53809c.png

那么如果用户测试AD转换时间,是否能得到跟硬件手册中电气特性的最小AD conversion time (0.67us) 一样的结果呢?

基于上述问题,我们从理论和实际两方面做了分析和测试。

理论分析

首先,基于RA2L1硬件手册中Figure 30.25和Figure 30.26, 单次扫描模式下所选通道数为n的扫描转换时间(tSCAN可按如下方式确定:

351ab024-958d-11ee-8b88-92fbcf53809c.png

tSCAN = tD + tDIS × n + tDIAG + tED + tCONV × n

tSCAN: 扫描转换时间

tD: 开始扫描延迟时间

tDIS: 断线检测辅助处理时间

tDIAG 和 tDSD: 自诊断A/D转换处理时间

tCONV: A/D转换处理时间

tED: 结束扫描延迟时间

另外,参考“Table 41.35 A/D conversion characteristics (1) in high-speed A/D conversion mode (2 of 2) ”中Note 1的内容,转换时间是采样时间和比较时间的总和。也就是说,这里的转换时间指的仅仅是tCONV,而并非扫描转换时间tSCAN。测试的话测量的是扫描转换时间,所以不能以“最小0.67us” 这个数值作为参考。

接下来,我们先从理论上计算一下如何获得扫描转换时间的最小值。参考RA2L1硬件手册,选取公式中每一项的最小值和其对应的条件。

tSCAN = tD + tDIS × n + tDIAG + tED + tCONV × n

tD = 2 PCLKB + 4 ADCLK: All other, Synchronous trigger. But this does not include the time consumed in the path from timer output to trigger input.

tDIS = 0: Setting in ADNDIS[3:0] (initial value = 0x00) × ADCLK

tDIAG = 0: DIAGST[1:0] = 00 (Self-diagnosis not executed after power-on.)

tCONV = 0.67us:Operation at PCLKD = 48 MHz, High-precision channel, ADCSR.ADHSC = 0, ADSSTRn.SST[7:0] = 0x0A, ADACSR.ADSAC = 1

tED = 2 PCLKB + 3 ADCLK: PCLKB to ADCLK frequency ratio = 1:2

从而确定测试条件为:PCLKD (ADCLK) = 48MHz、PCLKB = 24MHz(PCLKB不能超过32MHz)、快速转换模式、高速A/D转换模式、AN000(高精度通道)、不使用自诊断。

基于以上测试条件,计算AD扫描转换时间的理论值为:

351e04fe-958d-11ee-8b88-92fbcf53809c.png

实际测试

对照着AD扫描转换时间的理论值为0.90us,进行了以下3个测试:

1

使用GPT+ELC+ADC+中断方式进行测试

● GPT:设置周期为50ms,允许GTIOC0A输出

● ELC:设置GPT的计数值发生Overflow时触发AD转换

● ADC:设置为Single Scan模式,选择Channel 0,允许扫描完成时产生中断,在中断Callback函数中翻转端口(P301:H→L)

352a74e6-958d-11ee-8b88-92fbcf53809c.png

通过以上波形,可以得到实际测试结果为7.31us。根据测试情况进行分析,这个时间包括了中断响应时间和端口执行时间。

采用在中断中翻转端口测量ADC转换时间,结果较理论值长很多,接下来使用DTC来翻转端口。

2

使用GPT+ELC+ADC+DTC方式进行测试

● GPT:设置周期为50ms,允许GTIOC0A输出

● ELC:设置GPT的计数值发生Overflow时触发AD转换

● ADC:设置为Single Scan模式,选择Channel 0,允许扫描完成时产生中断

● DTC:触发源为每次ADC扫描结束,进行DTC传送,即翻转IO口(P301:H→L)

353f9d4e-958d-11ee-8b88-92fbcf53809c.png

通过以上波形,可以得到实际测量结果为1.36us (VS理论值0.67us)。根据测试情况进行分析,这个时间包括DTC的响应时间和端口执行时间。

单独测试端口执行时间,大概为0.21us。

355adc76-958d-11ee-8b88-92fbcf53809c.png

采用单次转换测量ADC转换时间,结果较理论值偏长,接下来使用多次转换测量总时间,用来消除端口翻转时间的影响。

3

使用GPT+ELC+ADC+DTC方式(500次)进行测试

● GPT:设置周期为50ms,允许GTIOC0A输出

● ELC:设置GPT的计数值发生Overflow时触发AD转换

● ADC:设置为Continuous Scan模式,选择Channel 0,允许扫描完成时产生中断

● DTC:触发源为每次ADC扫描结束,进行一次DTC传送,500次传送后,在中断Callback函数中,翻转IO口(P301:H→L)

3568abc6-958d-11ee-8b88-92fbcf53809c.png

通过以上波形,可以得到实际测量结果为337.31us/500 = 0.67us (=理论值)。根据测试情况进行分析,这个时间包括DTC的响应时间、中断响应时间和端口执行时间。

这个测试结果和理论值相符,因为这个时间还包括DTC的响应时间、中断响应时间和端口执行时间,所以可以推断实际测量结果优于电气特性中内容。

测试代码请点击文末阅读原文或通过以下链接下载:(复制网址到浏览器中打开)

https://gitee.com/recn-mcu-ae/ra2-l1-ad-conversion-time

最后,总结一下AD转换时间的计算和测量。

● 手册中的“0.67 μs/channel”仅仅是采样时间和比较时间的总和,并非一个通道的全部扫描转换时间。

● 在实测③的情况下,我们可以得到比较理想并且合理的结果,一次AD扫描转换时间大概为0.67us。

● 使用FSP自动生成代码的情况下,中断响应时间是比较长的,所以建议采用DTC传送数据,或者客户采用自己的ADC中断响应函数。







审核编辑:刘清

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

    关注

    14

    文章

    1917

    浏览量

    60698
  • AD转换
    +关注

    关注

    3

    文章

    166

    浏览量

    45103
  • GPT
    GPT
    +关注

    关注

    0

    文章

    335

    浏览量

    15101
  • DTC控制
    +关注

    关注

    0

    文章

    18

    浏览量

    1143

原文标题:AD转换时间的理论推算与测量

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

收藏 人收藏

    评论

    相关推荐

    单片机AD转换时间理论推算测量

    AD转换时间指的是完成一次AD转换所需的时间,即从启动信号开始到转换结束并得到稳定的数字输出量所需要的
    的头像 发表于 12-12 09:19 1351次阅读
    单片机AD<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>

    【设计技巧】rtos的核心原理

    rtos的核心原理rtos全称real-time operating system(实时操作系统),我来简单分析下:我们都知道,c语句中调用一个函数后,该函数的返回地址都是放在堆栈中的(准确
    发表于 07-23 08:00

    【至设计案例系列】基于FPGA的频率、电压测量

    本文为明德扬原创及录用文章,转载请注明出处!一、总体设计1.概述本文基于明德扬至设计法和明德扬设计规范,设计了一个基于FPGA的频率、电压测量仪器,实现了测量AD采集后的波形频率和电压(峰峰
    发表于 04-23 10:52

    如何用电阻设定增益的单端至差分转换

    用电阻设定增益的单端至差分转换
    发表于 02-25 06:53

    延时函数的延时时间

    CPU频率一般为晶振频率,当接入外部晶振时,CPU频率为外频乘以内频。延时函数通过运行一次计算CPU所用的时间来达到延时的延时的目的,延时时间为:计算次数/cpu频率(MHZ)=延时时间(us)
    发表于 01-17 06:10

    逻辑与或非基础理论

    一、逻辑与或非基础理论:逻辑与或非,运算对象是布尔值(1或0,真或假),类似于数字电路的与门,或门,非门。与关系运算符配合,一般用于选择语句与循环语句中1、逻辑与符号为&&。 参与
    发表于 01-24 06:30

    请问ADC转换后的值推算还原实际测量电量有哪些步骤呢

    请问ADC转换后的值推算还原实际测量电量有哪些步骤呢?
    发表于 02-23 07:53

    Armv8.1-M PAC和BTI扩展

    1、Armv8.1-M PAC和 BTI 扩展Armv8-M通过Trustzone for Armv8-M, Memory Protection Unit (MPU) 和Privileged
    发表于 08-05 14:56

    RK3288 Android6.0系统RT5640播放时的Codec寄存器列表

    1、RT5640播放时的Codec寄存器列表Platform: RockchipOS: Android 6.0Kernel: 3.10.92Codec: RT5640此文给调试RT5640播放
    发表于 11-24 18:12

    OpenHarmony智慧设备开发-芯片模组T507

    降噪,自动调色系统和梯形校正模块可以提供提供流畅的用户体验和专业的视觉效果。 典型应用场景: 工业控制、智能驾舱、智慧家居、智慧电力、在线教育等。 、*附件:OpenHarmony智慧设备开发-芯片模组T507.docx
    发表于 05-11 16:34

    OpenHarmony智慧设备开发-芯片模组RK3568

    产品需求。 典型应用场景: 影音娱乐、智慧出行、智能家居,如烟机、烤箱、跑步机等。 *附件:OpenHarmony智慧设备开发-芯片模组RK3568.docx
    发表于 05-16 14:56

    OpenHarmony应用核心技术理念与需求机遇

    一、核心技术理念 图片来源:OpenHarmony官方网站 二、需求机遇 新的万物互联智能世界代表着新规则、新赛道、新切入点、新财富机会;各WEB网站、客户端( 苹果APP、安卓APK)、微信
    发表于 09-22 16:12

    分辨矩阵法耗时推算

    分辨矩阵法耗时推算:针对粗集理论的分辨矩阵方法求解知识约简过程中时空性能上存在的问题,提出分辨矩阵法耗时推算的原理和算法,包括2 个耗时段的推算
    发表于 10-17 23:06 17次下载

    缩短积分时间可以提高航位推算导航系统的精度

    缩短积分时间可以提高航位推算导航系统的精度
    发表于 01-04 17:41 0次下载

    ADC转换后的值推算还原实际测量电量

    ADC转换后的值推算还原实际测量电量1.确定ADC用几位表示,最大数值是多少;例如一个8位的ADC,最大值是0XFF,就是2552.确定最大值时对应的参考电压值;一般而言最大值对应5V,具体
    发表于 12-31 19:34 21次下载
    ADC<b class='flag-5'>转换</b>后的值<b class='flag-5'>推算</b>还原实际<b class='flag-5'>测量</b>电量