This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMDS64EVM:集成 TMDS64EVM 和 ADS8588SEVM-PDK 时、与 MCU SDK 中 ADC 示例的输入电压范围相关

Guru**** 2864540 points

Other Parts Discussed in Thread: ADC-PHI-PRU-EVM, ADS8588S, AM6442, TMDS64EVM, ADS8588SEVM-PDK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1628935/tmds64evm-issue-with-the-input-voltage-range-of-the-adc-example-in-the-mcu-sdk-when-integrating-the-tmds64evm-and-ads8588sevm-pdk

器件型号: TMDS64EVM
主题中讨论的其他器件: AM6442ADS8588SEVM-PDK、ADC-PHI-PRU-EVM、ADS8588S

存在许多风险
EVM 板:TMDS64EVM (AM6442、PROC101D)
ADC 板:ADS8588SEVM-PDK
连接适配器:ADC-PHI-PRU-EVM

MCU SDK 版本:10 和 11 均在使用中

你好
通过连接适配器连接 EVM 板和 ADC 板后、执行了来自 MCU SDK 的 ADC 示例。


更改如下

输入电压范围:将+–5V 更改为+–10V
使用中的信道:将 1 更改为 8

从 linker.cmd 更改为 example.syscfg 中生成的 ti_drivers_config.c
// PRU_IPC 使用的缓冲存储器
.bss.PRU_IPC_1buf_MEM1 (NoLoad):{}> PRU_IPC_BUF_MEM
.bss.PRU_IPC_1buf_MEM2 (NoLoad):{}> PRU_IPC_BUF_MEM
.bss.PRU_IPC_1buf_mem3 (NoLoad):{}> PRU_IPC_BUF_MEM
.bss.PRU_IPC_1buf_mem4 (NoLoad):{}> PRU_IPC_BUF_MEM
.bss.PRU_IPC_1buf_mem5 (NoLoad):{}> PRU_IPC_BUF_MEM
.bss.PRU_IPC_1buf_mem6 (NoLoad):{}> PRU_IPC_BUF_MEM
.bss.PRU_IPC_1buf_mem7 (NoLoad):{}> PRU_IPC_BUF_MEM
.bss.PRU_IPC_1buf_mem8 (NoLoad):{}> PRU_IPC_BUF_MEM

PRU_IPC_BUF_MEM     :origin = 0x78000040、length = 0x2000

 

 

ADS8588S 的分辨率为 16 位、因此将 execs/PRU_IO/adc/ads85x8/firmware/main.asm 路径的 main.asm 文件中的 m_sign_ext_32 位更改为 m_sign_ext_16to32_bits


此后、通过参考所有手册、将硬件环境设置为+–10V 输入电压范围。
例如、打开 ADC 板上的 J4 引脚(引脚之间的电压为 0V、但当我们使用 DMM 进行短路测试时,我们确认它是开路。)

运行示例时、ADC 结果从 PRU 传递到 R5F、您可以查看名为 Samples 的数组中每个通道的值。
当施加到+5V 时、波形非常干净、范围为+30000 至–30000。
当施加+–10V 电压时、波形会被切断、就像被钳位一样。 下图是在通道 8 上施加+–10V 电压时的图形。

image.png
此时、最大最小值也约为+30000 和–30000、类似于+–5V。

pru0_load_bin.h 文件还从导入 CCS 的工作区文件夹复制到原始文件夹。
此外、ADC 板使用评估工具确认了其在+–10V 电压下运行时没有任何问题。

 

这些问题在 MCU SDK 版本 10 和 11 中都出现。

我有办法解决这个问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用 ADS8588SEVM-PDK 的 GUI 工具时、将输入电压范围设置为±10V 会导致 DVDD 的 J4 引脚上的测量值为 3.3V。

    但是、在运行 MCU SDK 示例时、会向相应的 J4 引脚施加 0V 电压。 当然、使用 DMM 进行短路检查表明没有短路。

    我预测 R5F 默认会限制输入电压范围、用户似乎无法通过 syscfg 修改该设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Korshare:

    很抱歉延迟回复!

    我预测 R5F 默认会限制输入电压范围、并且用户似乎无法通过 syscfg 修改此设置。

    我想您就在这里、在提供修复之前、我还发现了 syscfg 设置中的一个问题、我想直接点击 Range(范围)引脚进行交叉检查。  


    应将 RANGE 引脚设置为逻辑高电平;要使 ADC 在+–10V 范围内运行、您可以点击 RANGE 引脚并与我分享这个状态吗?  

    此外、 当选择+–10V 和+–5V 时、您为 ADC 通道提供的模拟输入的振幅 (Vpp) 是多少?

    此致、
    Manoj。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    根据 ADS8588SEVM-PDK 用户指南、如果输入电压范围设置为±10V (20Vpp)、则与范围对应的 J4 引脚必须处于 3.3V 的逻辑高电平。 在 SDK 示例中、如果输入电压范围设置为±10V (20Vpp)、则 J4 引脚(在 ADS8588SEVM 上)不受电压的影响。 这意味着它处于逻辑低电平。

    这意味着、即使在.syscfg 中将输入电压范围设置为±10V (20Vpp)、也不会反映在电路板上。

    此外、当选择±10V 和±5V 时、ADC 通道模拟输入的振幅 (Vpp) 分别为 20Vpp 和 10Vpp。

    第一个问题中的图是在.syscfg 中将±10V 设置为输入电压范围且实际模拟输入振幅设置为 20Vpp 时的图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Korshare:

    根据 ADS8588SEVM-PDK 用户指南、如果输入电压范围设置为±10V (20Vpp)、则与范围对应的 J4 引脚必须处于 3.3V 的逻辑高电平。 在 SDK 示例中、如果输入电压范围设置为±10V (20Vpp)、则 J4 引脚(在 ADS8588SEVM 上)不受电压的影响。 这意味着它处于逻辑低电平。


    当您手动选择+–10V 范围时、请将默认值更改为 1、如下图所示。




    并在选择+/–5V 范围时将默认值改回 0。

    感谢您报告该错误。 在下一个版本中、我们将在+–10V 选择时将范围信号更改为高电平、在+–5V 选择时自动更改为低电平。

    此致、
    Manoj。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们已经意识到默认值不会自动更改的问题。
    我上面提到的问题是尽管将范围项的默认值从.syscfg 更改为 1、但仍然出现的情况。

    我使用以下代码将直接控制范围的引脚的输出设置为逻辑高电平、但读取引脚的电流值始终会使我处于逻辑低电平、并且使用示波器测量时看不到任何脉冲。

    baseAddr = (uint32_t) AddrTranslateP_getLocalAddr(CONFIG_GPIO6_BASE_ADDR);
    GPIO_setDirMode(baseAddr, CONFIG_GPIO6_PIN, GPIO_DIRECTION_OUTPUT);
    GPIO_pinWriteHigh(baseAddr, CONFIG_GPIO6_PIN);
    pinValue = GPIO_pinRead(baseAddr, CONFIG_GPIO6_PIN);

    我们分别有 5 个 TMDS64EVM、ADC-PHI-PRU-EVM、ADS8588SEVM-PDK。 所有电路板上都存在这些问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我通过向 ADS8588SEVM-PDK 的 J4 引脚施加与 DVDD 等效的 3.3V 电压来解决了这个问题。 我希望它可以在软件中解决、但它现在已经在物理上解决了。 如果将来有办法在软件中解决问题、请进行更新。