多路并行模拟输入的同步 ADC 转换

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

各位社区居民,大家好、

我正在尝试使用AURIX™ TC387 COOLDIM_PRG_BOARD实现多个并行模拟输入的同步 ADC 转换,即使用来自 GTM-ATOM 或 -TOM 的相同触发信号同时对多个 ADC 输入进行采样。

因此,我将 iLLD_TC375_ADS_EADC_Master_Slave_GTM_ATOM_Trig DEMO_5QR0680AG_42W1导入AURIX™ Development Studio,以了解如何配置 GTM 来触发 ADC。

我从这个DEMO_5QR0680AG_42W1中学到了很多东西,并在 ADS 中为 TC387 创建了一个项目,并尝试在我的 TC387 开发TDA5235_868_5_BOARD中实现相同的功能。 考虑到适配我的COOLDIM_PRG_BOARD ,我对部分代码做了一点改动,只有 groupID 和一些注释。

更改了 c.file 中的部分内容:adc_synch_slave1, adc_synch_slave2

#defineADC_SYNCH_MASTER IfxEvadc_GroupId_0 /* EVADC 主控组 */

#defineADC_SYNCH_SLAVE1 IfxEvadc_GroupId_1 /* EVADC Slave1 组 */

#defineADC_SYNCH_SLAVE2 IfxEvadc_GroupId_2 /* EVADC 从站 2 组 */

 

 

#defineadc_synch_num_groups 3 /* 使用的组数 */

#defineadc_synch_num_channels 3 /* 使用的通道数 */

#defineADC_SYNCH_CH_U IfxEvadc_ChannelId_0 /* 针脚 AN0 的通道 ID:TC387 */

#define ADC_SYNCH_CH_VIfxEvadc_ChannelId_0 /* 针脚 AN8 的通道 ID:TC387 */

#defineADC_SYNCH_CH_W IfxEvadc_ChannelId_0 /* 针脚 AN16 的通道 ID:TC387 */

 

您可以将其与DEMO_5QR0680AG_42W1项目'iLLD_TC375_ADS_EADC_Master_Slave_GTM_ATOM_Trig'中的代码进行比较,我不会导致测试失败,我根据用户手册检查了它,groupID也应该是正确的。

测试模拟输入信号为三角波(振幅 5 V)。 三个通道连接到相同的模拟信号(三角波),然后我做了一个测试,用一个表达式来显示三个输入通道的转换结果,在允许误差范围内,三个通道的预期结果应该相等。

但是测试失败了,测试结果也不一样。 我检查了很多次代码,但还是不知道为什么,您能帮帮我吗? 我不知道问题出在哪里。

以下是理解整个概念所需的文件。

AURIX™项目 iLLD_TC375_ADS_EADC_Master_Slave_GTM_ATOM_Trig 中的文件“README.md”,您可以使用AURIX™ Development 导入此项目并阅读它们,它可以提供有关整个理想的更多信息。

下面是我从三个输入通道得出的部分结果,其中出现了一些问题。

Screenshot 2024-02-13 181531.pngScreenshot 2024-02-13 181543.pngScreenshot 2024-02-13 181553.pngScreenshot 2024-02-13 181603.pngScreenshot 2024-02-13 181616.png

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/Synchronized-ADC-conversions-for-multiple-parallel-analog-inputs/td-p/694311

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

你好@Wenxiang_Wang

1. 三角波的频率是多少? 如果速度非常快,可能会出现测量问题。
2.您是否尝试过使用 winIDEA 调试器来查看是否得到了相同的结果?

最好的问候
Ulises

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/Synchronized-ADC-conversions-for-multiple-parallel-analog-inputs/m-p/694387

在原帖中查看解决方案

0 点赞
4 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

你好@Wenxiang_Wang

1. 三角波的频率是多少? 如果速度非常快,可能会出现测量问题。
2.您是否尝试过使用 winIDEA 调试器来查看是否得到了相同的结果?

最好的问候
Ulises

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/Synchronized-ADC-conversions-for-multiple-parallel-analog-inputs/m-p/694387

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好@Ulises_L

谢谢你的回答。

我使用 winIDEA 调试器尝试了您的建议 2 ,它很有效,在允许的错误下我得到了相同的结果。

Screenshot 2024-02-15 133419.png

当我使用 TASKING C/C++ 调试器时,我没有得到预期的结果,后来我改用了 winIDEA 调试器,它就能正常工作了我无法理解。

最诚挚的问候,

王文祥

 

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/Synchronized-ADC-conversions-for-multiple-parallel-analog-inputs/m-p/695014

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

您好@Wenxiang_Wang

这是因为 winIDEA 的功能之一是能够实时观察变量,包括数组和结构在内的各种复杂变量都可以添加到观察窗口中,甚至可以不断地实时更新。

最佳回复
Ulises

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/Synchronized-ADC-conversions-for-multiple-parallel-analog-inputs/m-p/695780

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

谢谢@Ulises_L,我想,我的问题解决了。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/Synchronized-ADC-conversions-for-multiple-parallel-analog-inputs/m-p/696676

0 点赞