我正在研究一种通过 emiOS → BCTU → ADC 链触发信号 ADC 采样的设计。BCTU 从 配置在 OPWMT 模式下 的 emiOS PWM 通道 接收触发信号, 以便在触发事件之间创建精确的时间偏移。
时间顺序:
Time (µs): 0 1.3 2.6 3.6 4.9 6.2 7.2
|----------|----------|----------|----------|----------|----------|----------|
eMIOS_0_CH1 ---> adc_ch1 (start at 0 µs)
---> adc_ch2 (after 1.3 µs)
eMIOS_0_CH2 (offset by 3.6 µs)
---> adc_ch1 (start at 3.6 µs)
---> adc_ch2 (after 1.3 µs → ~4.9 µs)
eMIOS_0_CH4 (offset by 7.2 µs)
---> software trigger for ADC0 self-test当我在 CH4 回调中切换 GPIO 时,它如期触发。不过,为单个 ADC 实例运行 ADC 自检 需要约 13 µs (通过软件测量)。
目标: 确保对 ADC0 进行定期自检,同时不干扰其他 ADC 的实时采样。
我附上了我的项目,你可以看一看。
s32k344
RTD_6.0.0
感谢您关注我们的产品并为我们的社区做出贡献。
根据60.3.17.2 自检部分:在 80 MHz ADC 时钟频率下,单个步骤耗时可达 1 µs。
请参见所附示例。实际上,我无法让每个实例的运行时间少于 14us。
对于功能安全应用,必须定期验证操作是否正确。但也要考虑到,ADC 自检函数应在驱动程序初始化后的任何时间调用,并且没有正在进行的转换。
当您暂停调试会话时,在 “表达式” 税务摊销收益中可以观察结果:g_FIFO1Resul t,它对应于 BCTU 列表测量值,同时 g _FIFO1Volts 对应的是以伏特为单位的转换。
希望这能解决您的问题。
如有更多问题,请帮助我创建一个新职位。