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.

[参考译文] ADS124S08EVM:如何配置GUI以监控外部电压?

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1095208/ads124s08evm-how-to-configure-the-gui-to-monitor-an-external-voltage

部件号:ADS124S08EVM
主题中讨论的其他部件:ADS124S08

我有一个外部电压(2.0V)连接到AIN0。 如何配置GUI以监控此电压?

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

    您好,Tony:

    欢迎参加E2E论坛!  ADS124S08EVM用户指南 是一个有用的工具,可帮助您了解GUI和各种连接选项。  将外部电压连接到ADS124S08时,需要两个连接,因为输入是差分的。  例如,2.0V将连接到ADC的AINP (或在GUI中为AINP或MUXP选择AIN0),电压源的公共或接地需要连接到EVM的AGND,还需要连接到选定的AINN输入 (或在GUI中显示为MUXN)。  我建议将源的接地侧连接到J9 (ACOM处),同时将JP13连接到GND。

    在GUI寄存器映射中,在INPMUX寄存器中为MUXP选择AIN0,为MUXN选择AINCOM。  其余寄存器设置可以使用默认设置。  要收集数据,请单击Data Analysis (数据分析)按钮。  客户端窗口打开后,您可以收集数据。  请记住,默认数据速率为20sps,要采集的默认样本为2048,需要102秒才能完成。  如果您不想等待那么长时间才能看到结果,请将样本数量降低到较小的值。

    此致,

    Bob B

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

    我想使用命令读取数据(连接到AIN10的外部电压(2.5V),以及连接到GND的ACOM,参考电压= 5V,时钟= 409.6万Hz)。 我应该使用什么命令?  

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

    其实我想用我们的MCU来读取数据,并想知道设置。 我确实看到了GUI中使用的命令(collect)。 能否提供此命令的源代码?

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

    我还需要COLLECTSETUP命令的源代码。

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

    您好,Tony:

    我并不完全清楚你想做什么。  您可以遵循名为电压测量的脚本,通过运行该脚本将设置电压测量。  作为脚本的一部分,您还可以发出collect 命令,这与在数据分析中按collect按钮基本相同。  有关这些脚本的信息和详细信息,请参阅 ADS124S08EVM用户指南 的第4.3 .2节。

    如果使用自己的MCU,则需要编写固件并创建自己的GUI应用程序。  EVM上使用的固件非常专业,并使用USB_Bulk数据传输与PC通信。  我们不为GUI或EVM上使用的固件提供源代码。

    那么,您是否可以更清楚地了解您真正想要实现的目标?  该EVM并非为开发而设计,而是演示ADS124S08的特性和功能。  

    如果要使用EVM开发代码,您可以通过在JP1上安装跳线,将板载TIVA处理器保持在重置状态来禁用它。  然后,您可以在J3连接器上进行指示性连接,以便进行通信和控制ADS124S08。

    此致,

    Bob B   

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

    我已经有固件了,我可以通过MCU正确地进行寄存器读写。 我唯一需要的是读取数据的步骤(设置)。 我确实看到您的GUI正在使用COLLECTSETUP和COLLECT命令。 我只是想了解这两个命令并在固件中创建类似的功能。

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

    您好,Tony:

    这两个命令没有什么特别之处。  COLLECTSETUP通知固件数据收集即将开始,并且固件返回返回的数据格式化方式。  例如,仅转换数据,状态和转换数据,转换数据和CRC等。  返回的内容基于寄存器设置。

    collect命令启动请求的样本数的数据收集。  这里发生的是:

    1. 中断监控DRDY引脚已启用。
    2. 当DRDY中断跳闸时,将发送RDATA命令。
    3. 收集的数据将以COLLECTSETUP命令返回的格式作为二进制批量数据从USB接口传输。
    4. 循环回2以了解collect命令中给出的样本数
    5. 中断已禁用

    因此,除了设备数据表中讨论的内容之外,这里没有发生任何变化。  DRDY受高到低转换的监控,发出RDATA命令并将结果发送回GUI。

    此致,

    Bob B

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

    请您为我解释上述数据模式吗? 我需要先了解数据模式,然后在固件中创建类似的命令。 请记住,我正在使用在MCU中运行的FW通过J3 SPI控制(读/写) ADS124S08。  在这种情况下,您的GUI和FW未运行。 因此,EVM USB,COLLECTSETUP和COLLECT命令不可用。

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

    您好,Tony:

    我仍然不清楚你要做什么。  您是否希望使用GUI收集数据?  我需要准确地了解您的最终目标,以帮助您获得您希望实现的结果。

    简而言之,COLLECTSETUP和COLLECT命令是特定于特定设备操作的。  COLLECTSETUP命令根据设备配置返回字符串。  换言之,它是动态的,表示二进制数据在收集后的传输方式。   

    这些命令与ADS124S08操作无关,而仅与数据如何传输到GUI有关。

    此致,

    Bob B

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

    正如我提到的,我正在使用我们的MCU,并且我已经将跳线连接到JP1上,并且J3上的RST引脚已经拉高了。 因此,无法再访问GUI和板载MCU。 我尝试的是通过J3 SPI使用MCU和我的固件收集数据。 为此,我需要在固件中开发类似的两个命令。 我了解COLLECTSETUP和COLLECT命令是您的GUI/MCU命令。 这些命令与ADS124S08无关,而是与MCU操作直接相关。 我需要您提供的是COLLECTSETUP和COLLECT的详细信息,以便我可以创建类似的代码来收集数据。

    正如我之前提到的,我有一个外部电压2.5V连接到AIN10和AINCOM连接GND。 通过使用 您的GUI,我已经得到ADC报告值= 85.6564万。 现在,我想使用我们的MCU (请忘记GUI和这两个命令),并想知道如何 获得相同的值。

    因此,如果不使用GUI,我需要执行哪些步骤来获取85.6564万数据? 例如:

    sendCommand (wake操作代码掩码)

    2. regWrite (INPMUX_ADDR_MASK,ADS_P_AIN10 + ADS_N_AINCOM)

    sendCommand (start_opcode_mask)

    4.等等

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

    您现在清楚了吗? 感谢您的支持。

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

    您好,Tony:

    我仍然感到困惑的是,您认为EVM固件/GUI命令对您有何帮助。  我们来了解一下基础知识。  所有与ADS124S08的操作相关的信息均包含在器件数据表中。  有一节10.1 6,其中包含一个伪代码示例,讨论设备启动,配置和数据收集。  如果您获取了这些基本信息,则应该能够转换为代码循环。  我将跳过重置部分,因为设备将通电,并且在所有电源都达到额定工作电压时正确重置。  数据表的表24中显示了所有SPI命令。

    1. 使用WREG命令编写相应的寄存器配置。  在这里,您需要写入要与默认值不同的每个寄存器。   您的regWrite (INPMUX_ADDR_MASK,ADS_P_AIN10 + ADS_N_AINCOM)示例是合适的。  regWrite函数中发生的情况是,WREG命令作为SPI DATA 0x41 (寄存器写入命令从寄存器1开始) 0x00 (写入一个寄存器) 0xAC (AIN10用于AINP,AINCOM用于AINN)发出。
    2. 要进行验证,请使用REG命令回读所有配置寄存器。  这与使用regRead (INPMUX_ADDR_MASK)函数类似,其中SPI通信为0x21 (RREG命令从寄存器1开始) 0x00 (读取一个寄存器)和0x00 (用于 检索寄存器内容的NOP字节)。
    3. 发送启动命令(08h)以在连续转换模式下开始转换。  发出 sendCommand(start_opcode_mask),该命令仅通过SPI 0x08传输字节。
    4. 循环{
      1. 等待DRDY从高转换为低。
      2. 为dataRead()发出函数命令。  此函数由RDATA命令组成。 SPI传输为0x12 (RDATA命令),后跟读取字节数的NOP。  转换数据为3字节(24位MSB优先)。  如果启用了状态,则状态字节首先出现,然后是转换数据。  如果使用CRC,CRC字节将在转换数据之后传输。  因此,如果通过SPI 0x12 (RDATA命令) 0x00 0x00 0x00 (即检索数据的3字节NOP)从ADC问题读取转换结果,  请参阅ADS124S08数据表的图91。}

    /*
     *
     * Read the last conversion result
     *
     */
    int dataRead(uint8_t *dStatus, uint8_t *dData, uint8_t *dCRC)
    {
    	uint32_t dataRx[5];
    	uint8_t status;
    	uint8_t crc;
    	clearChipSelect();
    	if((registers[SYS_ADDR_MASK] & 0x01) == DATA_MODE_STATUS)
    	{
    		status = xferWord(0x00);    // xferWord is a byte transfer via SPI
    		dStatus[0] = status;
    	}
    
    	// get the conversion data
    	dataRx[0] = xferWord(0x00);     // xferWord is a byte transfer via SPI 
    	dataRx[1] = xferWord(0x00);     // xferWord is a byte transfer via SPI
    	dataRx[2] = xferWord(0x00);     // xferWord is a byte transfer via SPI
    	dData[0] = dataRx[0];
    	dData[1] = dataRx[1];
    	dData[2] = dataRx[2];
    	if((registers[SYS_ADDR_MASK] & 0x02) == DATA_MODE_CRC)
    	{
    		crc = xferWord(0x00);       // xferWord is a byte transfer via SPI
    		dCRC[0] = crc;
    	}
    	setChipSelect();
    	// sign extend
    	return ((int)(  // data shifted up by an extra 8 bits so downshift sign-extends.
    		((dataRx[0] & 0x00FF) << 24)
    		| ((dataRx[1] & 0x00FF) << 16)
    		| ((dataRx[2] & 0x00FF) <<  8)
    		)) >> 8;
    }

    此致,

    Bob B

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

    我的固件现在工作正常。 我可以获得与GUI报告相同的值(85.6564万)