主题中讨论的其他部件:ADS124S08
我有一个外部电压(2.0V)连接到AIN0。 如何配置GUI以监控此电压?
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.
我有一个外部电压(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
您好,Tony:
我并不完全清楚你想做什么。 您可以遵循名为电压测量的脚本,通过运行该脚本将设置电压测量。 作为脚本的一部分,您还可以发出collect 命令,这与在数据分析中按collect按钮基本相同。 有关这些脚本的信息和详细信息,请参阅 ADS124S08EVM用户指南 的第4.3 .2节。
如果使用自己的MCU,则需要编写固件并创建自己的GUI应用程序。 EVM上使用的固件非常专业,并使用USB_Bulk数据传输与PC通信。 我们不为GUI或EVM上使用的固件提供源代码。
那么,您是否可以更清楚地了解您真正想要实现的目标? 该EVM并非为开发而设计,而是演示ADS124S08的特性和功能。
如果要使用EVM开发代码,您可以通过在JP1上安装跳线,将板载TIVA处理器保持在重置状态来禁用它。 然后,您可以在J3连接器上进行指示性连接,以便进行通信和控制ADS124S08。
此致,
Bob B
您好,Tony:
这两个命令没有什么特别之处。 COLLECTSETUP通知固件数据收集即将开始,并且固件返回返回的数据格式化方式。 例如,仅转换数据,状态和转换数据,转换数据和CRC等。 返回的内容基于寄存器设置。
collect命令启动请求的样本数的数据收集。 这里发生的是:
因此,除了设备数据表中讨论的内容之外,这里没有发生任何变化。 DRDY受高到低转换的监控,发出RDATA命令并将结果发送回GUI。
此致,
Bob B
您好,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命令。
/* * * 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