AURIX™ MCU: TC3xx EVADC Converter Diagnostics

这篇博客详细介绍了AURIX™ MCU EVADC的转换器诊断功能,包括如何配置诊断测试,使用内部电压进行测试以验证转换器的正常工作,并强调了在使用诊断功能时需要注意的事项,如断开用户输入电压以避免短路。内容涵盖芯片手册的相关章节,如转换器诊断、测试功能配置和自动执行测试序列,同时提供了具体的实现代码示例。
摘要由CSDN通过智能技术生成

概述

  EVADC具有转换器诊断功能。具体实现:对转换器施加已知的内部电压(除了或者没有原始用户输入电压),然后检查转换结果是否与期望值匹配,匹配则表示EVADC转换器正常,否则该模块异常。
  为了避免内部电压与用户输入电压之间的潜在短路电流的影响,必须确保在使用软件进行转换器诊断的过程中断开用户输入电压。(注:具体详解请见芯片手册32.12.3 Converter Diagnostics)

配置示例

  测试EVADC Group0转换器:

  1. 选择VDDM(ADC模拟电源电压)作为测试输入电压。
  2. 测试转换诊断通过组0的通道1进行。
  3. 使用组0的排队请求源Q2触发此测试转换。
  4. 如果计划测试更多的转换组,则可以在GLOBTF寄存器中全局启用转换诊断功能。具体详解见芯片手册“32.12.6 Configuration of Test Functions”和“Securing the Test Functions”章节。
/*
根据数据表,转换器诊断至少需要1.1us采样时间。
根据具体的fApci(转换器参考时钟)频率调整采样持续时间(由STCS定义)。
*/
EVADC_G0ICLASS0.B.STCS = 0x11;

/*
使能组0的转换诊断功能。
*/
EVADC_GLOBTE.B.TFEP = 1;

/*
重定向Group0Channel1到不存在的Channel24用于断开用户输入电压。
*/
EVADC_G0ALIAS.B.ALIAS1 = 24;    

/*
bit12 使能此转换的转换器诊断功能。
触发转换与转换器诊断使用Q2。
bit13 bit14用于选择测试电压。——00B:VDDM
bit0 表示要转换的通道。
*/
EVADC_G0QINR2.U = (0 << 14) | (0 << 13) | (1 << 12) | 1;

/*
转换结束后,用户将转换结果与期望值进行比较,确认是否符合预期,由此确认该转换组功能是否正常。
*/

详解

芯片手册-“32.12.3 Converter Diagnostics”

  为了测试转换器本身的正常工作,可以将几个信号连接到转换器的输入端。测试信号可以连接到转换器输入,或者代替标准输入信号,或者与标准输入信号并行。
  要在没有连接输入的情况下使用转换器诊断,通过别名特性选择一个不存在的通道号(第32.7.2节)。将通道0或1重定向到通道24(未连接),然后可以从通道0或1的选择结果寄存器中读取转换结果。推荐使用这种工作模式,因为在这种情况下,测试信号不受外部电路的影响。
  寄存器GLOBTF或GxQINRi (i=0-2;x=0-11)中的位域CDSEL选择了四种不同的测试信号(见图275):VoDM, VssM, 1/2x VDDM, 2/3x VoDM
注意:转换器可以生成的最大结果值(使用VDDM时)为4 095 (FFFH),最小结果值(使用VSSM时)为0(000H)。结果根据VAREP生成。

芯片手册-“32.12.6 Configuration of Test Functions”

  测试功能允许软件控制上拉和下拉设备和内部参考通道。可以应用各种测试级别以适当的方式控制设备。由于这些测试功能会干扰A/D转换器的正常工作,因此它们由一个单独的寄存器集控制。
  并非所有的测试选项都可用于每个通道。选择不可用的功能无效。
  测试转换序列(即带有激活测试功能的转换)可以通过请求源Q2自动执行。

Global Test Functions Register

注意:针对所选组(CDGR)激活所有诊断功能。转换器诊断(CDEN, CDSEL)和下拉诊断(PDD)通过设置相关位直接激活,多路复用诊断(MDPD, MDPU)为所选通道(CDCH)激活。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  当自动测试序列(参见章节32.12.7)被启用时,预定的转换将激活已配置的测试设备。为了确保这不会在不经意间发生,必须特别启用测试功能的激活。
  释放是通过在Global Test Enable register (GLOBTE)中设置相应的位来完成的。这可以防止虚假的控制信号破坏配置的测试序列。GLOBTE可以通过寄存器ACCPROT2中的位APTF进行写保护(ACCPROT2本身是安全端保护的)。
注意:当寄存器GLOBTE中相应的控制位为零时,寄存器GLOBTF中的上拉设备控制位只能激活组中的测试上拉设备。

Global Test Enable Register

在这里插入图片描述

芯片手册-“32.12.7 Automatic Execution of Test Sequences”

  根据待转换信号的性质,验证系统中输入信号(传感器)与转换器的正确连接需要一些操作。例如,具有有限信号范围的传感器可以通过检查在定义的信号范围之外的值的转换结果来验证。
  在其他情况下,可以将拉装置(上/下)连接到信号输入端,从而改变信号电平,从而以已知的方式转换结果。当信号源阻抗已知时,就可以预料到这种变化。
  时间的考虑在系统初始化期间执行的测试序列通常不是时间关键的。它们增加了启动时间,但对应用程序没有其他影响。然而,安全关键系统在运行期间监视系统的可操作性。在这种情况下,测试序列必须与正常应用序列交错。一个测试序列应在一个应用序列之后立即执行,因此直到下一个应用序列的松弛时间是最长的。
  测试序列可以由每个可用的请求源触发。
  在任何一种情况下,必须选择总体时间,以避免重叠。
在这里插入图片描述
注意,测试转换可以针对任意通道。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值