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.

[参考译文] TM4C1294KCPDT:ADC0 FIFO 时钟阵列时序

Guru**** 2482225 points
Other Parts Discussed in Thread: EK-TM4C1294XL, INA240, LM94022

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/726478/tm4c1294kcpdt-adc0-fifo-clocking-array-timing

器件型号:TM4C1294KCPDT
主题中讨论的其他器件:EK-TM4C1294XLTM4C123INA240LM94022

 从 ADC0序列发生器1循环读取 FIFO 到数组时、似乎存在某种对齐问题、步骤0主要 由数字噪声(红框)组成。

如果我们禁用步骤0、   则从读取  序列发生器1循环 FIFO-1的3个特定阵列级别中处理的数据中的噪声级别会下降(绿色框)。

请注意 、   当我 在  EK-TM4C1294XL 的3个 ANIx 输入之间移动一个 STICK 引脚时、每个步骤(第二次捕捉)的信号电平似乎会增加、这些输入分别通过跳线连接到模拟比较器输入 C0-、C1-、C2-。 斗杆引脚充当 低成本 正弦60Hz 模拟信号源 、 信号级联为硬件、 考虑    到序列发生器的逐次逼近、进行平均计算。 如果    通过 增加 粒度来增加振幅以及提高精度、则看似的级联行为会导致模拟电平不准确。  即使 删除 C0-、C1-、C2-、也会发生同样的情况。 另一个奇怪的情况  是、相同的 AINx 输入在应用运行时间内浮动在158mV 至160mV 左右、并在应用空闲时间内缓慢循环在602mV 至0.5mV 之间。  

1.如果   步骤1中的 FIFO 数据 未被添加到步骤2中的 FIFO 数据中,那么级联级别如何提高?

2.级联振幅在 配置多个步进时是否是序列发生器步进 FIFO 数据的副产品?

3、 为什么第0步比其他任何一步都有更多的噪声?  

4.并非所有通道都匹配 相同的电阻?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请注意、Widget 上方的红色框捕获信号具有差分字符、当其他步骤1、2未执行时、射得更负。 还请注意、在我的引脚与每个输入之间、FIFO 数据上似乎有很多差分低电平噪声。 奇怪的是所有 AINx 通道都配置为单端。

    最近、我想知道模拟多路复用器中的差分引脚配置可能是如何归咎于它的。 但是 CCS 调试显示序列发生器1的第0步配置正确。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="BP101]*   当我 在  3个 ANIx 输入之间移动一个记忆棒引脚 时,每个步骤的信号电平(第二次捕捉)似乎会增大.... 记忆棒引脚充当  低成本 正弦60Hz 模拟信号源[/引用]

    还在-(非常静止)-我的心!   您能说、部署最合适的"测试设备"时"不需要任何费用"吗?

    您确实意识到您(仍然)应该接受供应商的 Bob 'Three Answers (三个答案)-尤其是他的引述:"我建议您使用函数发生器并在20kHz 时将3V 正弦波(0至3V)应用于其中一个输入。 然后、您应该会看到正弦波形每10个样本重复一次。  如果没有,我们需要解决这个问题,然后再继续。"

    您是否完全不是"将您的反馈给 Bob (最有效)的建议?"   可能会问、"为什么会这样?"   

    我们没有忘记--我们必须回答三个问题--它们不是吗?   该供应商已经 "代表您超越"、您是否应该 (在某种程度上)遵守他(公正且逻辑合理)提出的请求?   

    您已(可能)"断裂(非常)新接地"-此 斗杆销  (作为测试齿轮)布置...

    BTW -我可以"指导您"创建"函数发生器(lite)"-使用(仅) TM4C123!  这应该证明、"数量级"超过您(声称)的"低成本、正弦60 Hz"(原谅)"可能的 ESD 发生器!"   (我怀疑我"单独"-因为"双稳态"-通过这样的"严重(且非常不恰当)的措施!")

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

    从张贴的实际问题中偏离,无论海报方法在这一过程中证明可行,似乎都是过时的模式。 由于 MCU 似乎已经从中国和新加坡之间的一辆卡车上掉下来了、所有这些都是很晚才发现的巨大异常、因此我们真的无法指出个别的过错。 Gramps 曾经说过:“我们只会更聪明,因为头发在我们的鼻子和耳朵中生长得更长。”

    [引用 user="CB1_MOBIT">您是否完全不是"将您的反馈回 Bob (最有效)的建议?"   可能会问、"为什么会这样?"   他如何感受到——从这种明显的角度来看——“发抖”? 我们没有忘记--我们必须回答三个问题--它们不是吗?   该供应商已经 "代表您超越"、您是否应该 (在某种程度上)遵守他(公正且逻辑合理)提出的请求?   [/报价]
    事实证明、BOBS 方法使情况更糟:没有硬件平均值计算、因为 最后一个序列发生器阶跃信号电平失真更大、差分不使用硬件平均值计算。

    [引用 user="CB1_MOBIT]BTW -我可以"指导您"创建"函数发生器(lite)"-使用(仅限) TM4C123!  这应该证明、"数量级"超过您(声称)的"低成本、正弦60 Hz"(原谅)"可能的 ESD 发生器!"   (我怀疑我"单独"-因为"双稳态"-通过这种"严重(非常不恰当)的措施!")[/引述]

    交流信号输入在引脚之间没有变化、由于没有公共接地 、因此 AINx 通道的模拟多路复用器配置中可能存在延迟。 我有一 个内置的25KHz PWM 发生器、因此这将是下一个测试、但最好还是解释 SS1阶跃0被放大的原因。 斗杆引脚解释了 SS1第0步 为什么需要 SW 从 所有步进样本中减去巨大的整数值、以便停止对 M3和 M4的峰值。 因此、与 Tivaware 配置相关的模拟多路复用器可能会成为问题。

    [报价 USER="CB1_MOBIT"]您确实意识 到您(仍然)应向供应商的 Bob“三个答案”-特别是他的报价[/报价]不正确,他的所有问题都已得到解答,但我发布的最重要的问题却未得到解答。 供应商因症状而产生的更多偏转、他们应该会得到答案、特别是为什么 TM4C SAR 无法正确读取 INA240信号。 供应商没有说明信号有什么问题、也没有说明信号如何需要进行某些更改才能获得 该简单问题的答案。

    也就是说、拥有所有复杂测试设备的供应商 错过了一个非常重要的线索、即为什么这么多人在本论坛后发现 ADC 步进 精度似乎失败了。  为  2MSPS 配置 ADC0可提高采样采集粒度、供应商知道 这一点、但未能解释如何   在所有3个 AINx 通道中增加开环增益。

    简单 DMM 检查 AINx 通道从未被视为 必要的测试 EK-TM4C1294XL。  从逻辑上讲 、任何 AINx 采样引脚上都不应存在浮动电压(158mV)、更不用说发现循环电压、例如  、在空闲期间、602mV 周期降至0.5mV 重复。 这似乎更多地是一个多路复用器问题   、因为即使在空闲状态下、仍有其他 AINx 引脚采样。   非采样通道的 CADC 通过 30Megohm DMM 负载进行充电和放电。  空闲期间的初始浮点电平 将保持 在602mV 以上、 当通道经过专门设计以限制串扰和(平衡)它们时、这是怎么可能的。 斗杆引脚测试可证明它们除了在当前 Tivaware 模拟 MUX 配置或 AD 转换器到 FIFO 加载过程中实现平衡之外的任何特性。  

    事实是在不使用硬件取平均值的情况下进行测试发现 AINx 引脚之间的有限平衡 在带宽 (1MSPS)方面扩大、 问题与模拟采样频率无关。 FIFO 加载序列发生器第0步 问题 与 AD 转换器的时序更密切相关、例如 、如果我们接受 模拟多路复用器、 Tivaware 已正确配置了模拟多路复用器。 禁用 序列发生器步骤0会增加 AD 转换器加载 真正模拟 FIFO 数据的时间间隔。 否则   、HWREG 调用会将 FIFO 循环读取到指定的阵列[插槽]中、以正确定位 FIFO 12位寄存器数据。 循环 FIFO 数据的 HWREG 加载是 StellarisWare 接受的触发循环读取的方法、并且应该已经在到 Tivaware 的迁移路径上完全调试。  在 Tivaware FIFO 读取 样本数据函数调用中使用的同一 HWREG 宏不能 通过其他方式使用 white wash 勘误 表、而不能在版本清单文本中披露此类勘误表被屏蔽或更正。

    假设 发布的问题描述了供应商帮助者的几种不同方式 、不会通过恶意手段或人为错误地掩盖或洗白。 这再次使得硬件 AD 转换器时序成为 FIFO 数据与序列发生器步进异相的主要可疑因素! 承认存在问题始终是恢复的第一步!

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

    (正确)说什么... 除了"长寿命(纯净无约束的观点)-以 (所有)该(著名)棒 PIN 的力量/精确度为支撑!

    [引用 user="Bob Crosby">TM4C129 ADC 的总误差在32MHz 时为+/- 30 LSB。 (2MSPS)。 时钟频率为16MHz 时、总误差为+/-4LSB。 在16MHz ADC 时钟下进行单次转换比在32MHz ADC 时钟下进行2次采样硬件平均值转换更好。 它们所需的时间相同、可产生1Msps 的净采样率、但较慢的 ADC 时钟速率将提供更准确的结果。

    Bob 的说法-"全部"-(和往常一样)被您(高度怀疑)的"观点"驳斥(仅)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    同样、通过 HWREG (正确)读取生产系统中的循环 FIFO 数据来读取 AD 转换器样本失败不是 stick 引脚问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    然而,有证据表明,不是1比2的比较采集,没有什么证据证明? 也许一个自助式的 DA 会在任何时候宣布海报证据可供陪审团自行决定。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当(法律)针对您时-攻击事实!   当(事实)针对您时-攻击法律!   (第一年法律学校-在"合同浸没"之前)

    也许可以将其修正(此处)为:当建议使用"信号/函数发生器"时... "推出"(经典)"勾销。"

    再说一次-您未能响应 Bob 的三个请求!   (而不是呈现(更多)赤裸裸的观点-肯定是通过您的(独特的)" 针脚式/灵感" 测试设备团队实现的。

    "在此处不断请求帮助"是否恰当、然后:

    • 未能代表您回复供应商的方向(以高细节展示-唯一)?
    • 提供您可能因"原始测量"而产生的(意见)-通过"针脚"( 伪装成测试设备)清晰地收集-(仅由您选择和批准)!

    您是否可以(简单)尝试(真正)遵守供应商的重点方向?

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

    [引用 USER="CB1_MOBIT]Bob Crosby 当时钟频率为32MHz 时、TM4C129 ADC 的总误差为+/- 30 LSB。 (2MSPS)。 时钟频率为16MHz 时、总误差为+/-4LSB。 在16MHz ADC 时钟下进行单次转换比在32MHz ADC 时钟下进行2次采样硬件平均值转换更好。 它们所需的时间相同、可产生1Msps 的净采样率、但较慢的 ADC 时钟速率将提供更准确的结果。

    也许您想要修改这一假设、因为它 除了是 所发布症状的静音点之外、对于 ADC0 1MSPS 这一后期测试没有任何实质意义。  试图更改海报内容的叙述以使供应商观点变得更好 、这似乎是  此 TI 社区的主要目标。  到目前为止、我们的案例有大量的证据表明、除了  Tivaware 的 FIFO 数据的 HWREG 函数内、ADC 配置失败 、而这不仅源于/进入了 StellarisWare 的早期版本!  

    Tivaware 宏调用必须在 编译的对象中正确置位、以便在  直接通过编译的内联 HWREG 指令通过 CPU 指令进行处理时、不仅通过指令调用来实现芯片瓶胚、而且还通过 MCU 寄存器进行处理。  Tivaware 宏指令的测试必须实现与在 Tivaware 函数内调用时或 作为从属用户函数的内联指令时相同的寄存器功能。  骗了我 两次,骗了我六次,骗了我六次!

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

    只有一条评论,上帝救了女王! (也是她的"高绩效"棒棒棒的随行人员...)

    Bob 对您的"三个单元方向"-寻求 "建立"基线"-以便(后面的所有)具有一定的(基线)正确性。   

    这是"亲吻"的一个关键方面-当避免/绕过时-无休止:可能会花费时间、精力和成本-并且"所有结果"(仍然)非常可疑!

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

    [报价 USER="CB1_MOBIST"]未能代表您响应供应商的方向(高度详细-唯一)?

    • 提供您可能因"原始测量"而产生的(意见)-通过"针脚"( 伪装成测试设备)清晰地收集-(仅由您选择并批准)[/引述]

    也许您未能清楚地阅读被测试的帖子1MSPS 实际启动了2MSPS。 供应商指导海报降低采样粒度与序列发生器步骤0相比、FIFO 数据的好坏没有任何区别。 谁知道潜在的 ANIx 通道电压不清楚、谁也不会考虑检查 AINx 采样输入悬空 150mV。   除非 ANIx 输入接地、否则它到底是如何实现+/1.5典型值、+/-3 LSB 最大值的 INL 的。

    我不会责怪供应商助手、 但 有时可能会试图在您的思维能力之外思考。 它不是重要的测试方法、而是 导致 恢复解决方案更加重要的结果。 kiss stickpin 测试的哪一部分不 是 kiss、 在  发现时保持一个简单的目标、更少 的是有时证明 更多。  Kiss 管理员经常向我们宣扬我们的目标。  在  我看来、供应商甚至可以通过相同的简单 Kiss Stick 引脚测试来亲吻 LaunchPad、不比 AINx 引脚上的浮动电压差。  

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

    [引用 user="BP101]\n 您可能未能清楚地阅读测试过的帖子1MSPS 实际启动了2MSPS。 供应商指导海报降低采样粒度与序列发生器步骤0相比、FIFO 数据的好坏没有任何区别。[/QUERPLET]

    我的理解是、您实施的两种方法都没有为您提供预期的结果。 我建议您保留判断、直至您的其他问题得到解决。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    整个问题似乎都是采样序列发生器阶跃、写入特定循环 FIFO-1步长并不总是读取上面测试用例中所示的相同 SS1阶跃0的默认数据的相同数据。 可以清楚地看到、示波器小工具的级联样本数据在序列发生器1的第0步中过度失真。

    SS1的所有三个步骤应具有几乎相同的数据振幅、并通过 Scope 小工具返回。 显然、情况并非如此、因为 FIFO 尾指针索引可能会卡在本应写入的 C++数组单元中。 很怀疑头指针与头指针指向的被实际默认数据未对齐、这些数据被写入到循环 FIFO-1步进索引中。

    因此、单个 R/W 序列发生器操作在以下情况下处于边缘:在对 C++数组进行循环 FIFO 的第一次读取中、尾指针(索引)应为0、但在发生就绪中断后、数据通常不会指向第0步(尾)索引。 我们无法相信、当最后一步中包含结束 IE 或在最后一步中未定义 ANIx 源极引脚时、循环 FIFO 未经过任何单步的特定索引循环返回到索引0 (如应该的那样)。 不管最后一步是如何配置的、进入中断处理程序后、FIFO-1索引应该为0、但显然不是。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    除了 ANIx 输入、1、2、PK0在空闲且有效时在引脚上具有电压循环 SS1或 SS2 AINx 源极引脚在未通过10K 下拉时浮动接近158mV、因此不希望输入引脚悬空如此高。

    该发现导致 PK0的行为不是在 EKXL 上作为 AIN16引脚、也不是我们使用 LM94022的定制 PCB。 问题 PK0 (AIN16)模拟在 PWM 活动时不稳定。 然而、另一个 LM94022传感器 PK1 (AIN9)与教会鼠标一样安静、PWM0活动使 PK0变为 NUTZ、即使 ADC1 SS0具有32倍硬件、平均为2MSPS。