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.

[参考译文] TM4C129ENCPDT:使用 tm4c129设计数据采集器件

Guru**** 2455360 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/635580/tm4c129encpdt-designing-data-acquisition-device-with-the-tm4c129

器件型号:TM4C129ENCPDT

大家好、我一直在与 tm4c129合作、以便使用 ADC0和 USB 2.0 HS (ULPI)的8个通道创建数据采集器件。 数据采集(DAQ)必须 将数据发送到我的 PC、而不 会进行任何剪切、但我遇到了这方面的问题。 我已将 DE ADC 配置为每通道30KHz 的采样频率(正如我说过的、我正在使用8个通道)、USB 正在使用 ULPI 器件以获得更高的速度、但这远远不够。

请观看图、您将了解问题是什么:

为了从 TM4C129获取数据、我刚开始发送一条命令以开始模数转换、ADC 数据通过 DMA 通道直接进入 USB 发送器缓冲区"g_pui8USBTxBuffer"、然后数据被感应到 PC、 不会再次感应起始命令、DMA 通道填充 USB 缓冲区并继续发送、数据包大小包含来自 ADC 的2000个值、因此这意味着每个通道的250个值。

我想知道的是、有一种方法可以发现哪些器件(PC 或 MCU)会产生此问题、换句话说、它们中的哪一个更慢、我知道 PC 显然是一种更快的偏差、 但可能是代码问题、因为可能没有进行很好的优化(我使用的是 Tiva ware 中 USB 大容量器件示例中的命令)。 另外,有人知道有什么其他方法可以进行数据采集吗? 是否真的是批量运输最快的方式??

谢谢

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

    我对您的129系列 MCU 没有任何经验、也没有 USB 到 PC 的传输机制。   这种"亲吻"的启迪/定向方法肯定可以帮助和促进理解。

    从简洁的图形数据直方图(我们注意到您声称为"错误"的读数)中、显示为16个测量值。   (您的4个红色高亮显示会产生3个这样的16个测量增量-不是吗?)

    您应该能够通过(也)将每个转换值记录到 MCU 的 SRAM (恰好在 μ µDMA 传输过程之前或作为一部分)来测试 ADC 的"数据完整性"。  然后、您可以-事后-比较" SRAM 中的数据"与" PC 中的数据"-以确认"数据传输"是问题的原因。

    您的图形显示"16测量周期"这一事实值得您考虑-您认为吗?   您的"错误问题"可能出现在以下位置:

    • 您的 ADC 或您的代码实现
    •  n ü µDMA 或(再次)代码实现
    •  您的 μ µDMA 转 MCU USB"交接"
    • PC 端

    这种错误可能--但可能不可能--产生于上述来源中的"不止一个"。   如果同意、则尝试"确定错误源"。

    一个"快速/脏"测试(即 CB1的首选测试)是通过您的(未更改)μ µDMA 向 PC 传输过程发送已知但"固定"的数据值。  如果"固定数据"发生变化、您可能已确认 MCU 的"μ µDMA 到 USB" 传输过程或 PC 是可能的来源。   如果"固定数据"测试运行无错误-您的 ADC (或编码)是否不会出现在"可疑列表"上?

    然后、您可以(系统地)降低和提高传输速度、以发现执行"无错误"的最高传输速率。 (或误差百分比可接受。)

    您可能能够发现现有的商业产品-通过 USB 向 PC 提供高速数据-并收集(两者)您的(组合) PC/USB 数据速率接受情况的信息。  使用此类"已知合格"设备是一种标准的"亲吻"故障排除技术-减去该技术-您可能仍处于量化状态-因为"未知-和完全不存在"的数量肯定会延迟和云分析...

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

    [引用 user="Josue Pareja"]我已将 ADC 配置为在每通道30KHz 采样频率下工作[/quot]

    采用什么方法?

    [引用 user="Josue Pareja"]请观看图,您将了解问题所在:

    这没什么帮助。

    • 箭头指向图的一个部分
    • 您有一个圆圈中的不同部分
    • 没有任何指示被采样的信号应该是什么样的

    如果这是数据的傅里叶变换、并且初级频率为14kHz、那么非峰值就不是特别令人惊讶了、每周期的采样次数不会超过两次。

    Robert

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

    论坛"周末、放弃问候" Robert。

    有趣的是、我们选择了(几乎)海报展示的不同方面。

    我觉得游戏中有一个相当"共同的主题"、即 MCU 获取的"实时数据"似乎尽快传送到 PC。"   而且、与往常一样、从未解释过需要"实时数据采集和即时传送到 PC "、也没有理由这样做。

    PC 当然带来了"扩展的数据处理、处理和存储功能"、但这种"绝对即时性"是否如此重要?   (我不知道-但我知道、在"重要系统监控"(即国防/医疗)中、我们最常要求"数据采集系统"做出"最重要/影响重大的决策"、而不是"数据通过/传输"增加风险"(始终引入)。

    当海报"拒绝所有对其设计决策的支持"但影响性能时、它们是否(不必要-可能错误)限制了设计审查(超出)有限(可能误传)诊断的"范围和功率"?

    如果/何时海报无法满足其目标-我们是否"始终且仅"同意他们(解释不清/不合理)的基本设计决策?   "不良的初步设计决策/路径"(尽管存在错误(事后)纠正性的"凿切")是否(通常如此)不会(仍然)产生最佳结果?

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

    [引用 USER="CB1_MOBILE]'我认为一个相当"共同的主题"正在发挥作用-这就是 MCU 获取的"实时数据"的看似"通过 PC -尽可能快"。   而且、与往常一样、从未解释过需要"实时数据采集和即时传送到 PC "、也没有理由这样做。[/引述]

     这是一个共同的主题,尽管《任择议定书》确实指出,它们正在构建一个数据采集系统。 这可能需要在某个地方进行大量存储

    他们是否需要采集系统或控制系统(可能还需要数据采集)是一个有效的问题。

    Robert