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:模拟实验输出

Guru**** 2477705 points
Other Parts Discussed in Thread: TM4C1294KCPDT, INA240, TIDA-00778, UCC27714

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/686535/tm4c1294kcpdt-experiment-outputs-to-analog

器件型号:TM4C1294KCPDT
主题中讨论的其他器件: INA240TIDA-00778UCC27714

尊敬的 Bob:

[引用 user="Bob Crosby"]虽然开关处于良好的隔离状态、但并不完美。 为了避免 ADC 未使用的模拟输入引脚在模拟多路复用器上产生噪声、添加了额外的隔离电路。[/quot]

禁用模拟  /硬件外设 方向的比较器 XOR 输出隔离层 Co1、2、3配置允许 猜测  输入 I/O 焊盘的90V++浪涌。  不用说 熔 断了保险丝 、但它是解决更大的 PWM 栅极驱动器故障问题的一部分。  此类故障会 导致 电机相位中产生高电压、并在每次峰值上升到略高于90V 时对 MCU 进行 POR。  假设浪涌  通过比较器(CN-/+)输入进入 GPIO I/O 焊盘。

您能否详细说明   为什么比较器中的异或门 没有 被 GPIOPinTypeComparatorOutput()配置 用于 硬件外设、例如 DEN 位 被清除而不是设置 AFSEL 位 REG-10 (0x420)?  另外、如何 为输出配置模拟/HW 以某种方式规避 您之前介绍的(CN-/+)输入隔离栅、并允许 90V 浪涌进入 并破坏比较器输出?  

我们所有的 Tivaware 驱动程序库 (GPIO.c)都配置了 GPIOPinTypeComparatorOutput() 方向、清除 DEN 位 REG- 2 (0x400)、而不设置 AFSEL 位。 也许 是一段时间前在这里进行的更改 、但它与数据表第22.2节规定 应设置 AFSEL 位的内容相反。  

也许 它 不是数据表第22.2节所述的外设、实际上是专用模拟? Ralf 可能已通过与 (Amit)的协商(Amit)回答了此问题的一部分、但  在您提供的已解决上下文中、这似乎也是一个模糊的答案。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    BP101、
    ADC 输入引脚的模拟隔离电路旨在最大程度地减小数字信号对 ADC 转换器输入引脚的影响、因为模拟多路复用器上的交流耦合会干扰 ADC 采样电容器上的电压。 任何 TM4C 引脚上都不存在高压隔离。 除 PB1外的所有 TM4C1294KCPDT IO 引脚的绝对最大额定值为4V、无论是用作模拟输入还是 GPIO。 PB1为5.5V。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Bob:

    我们同样 非常清楚、数据表中的错误含义是  ADC 输入的最大电气规格。 我指 的是峰值超过90V 的直流总线电压(24V)、 而不是模拟比较器输入。   当禁用隔离栅(模拟)时、可能只是允许输出端具有过高的低电压 、输入 在调试中看起来正常工作。  但这并不是这个帖子中提出的具体问题。

    规格表27-58表示可测量的 VINP、 VINN、CMM 电压范围 受到限制、3V3 电源轨以上可承受的 ANIx 输入也受限制。 BTW 模拟比较器输入 正常工作 EKXL Launch Pad 原型直流逆变器。 根据  注释(C)、ADC0通常在直流总线上(而非模拟输入)测量超过60Vdc 的尖峰;CN-输入 保持 (1v223) 、 一个 CN+输入 为外部 VREF (2v6)。  模拟接地上有 PWM 尖峰、也会进入+VREF C0+输入、强制进行更高的设置。

    如果您阅读 ADC 部分、 则会发现超过3V3电源轨的电压将被 ANIx 引脚忽略、LM3S89x 数据表 中的 文本完全相同。   为什么模拟比较器输入与 ANIx 输入有不同的限制?   阅读此数据表的任何人都将它们视为 GPIO 模拟 I/O 板的一部分。 因此、数据表之所以非常重要、是  因为在图10-2中包含比较器输入与 ANIx 模拟架构有何不同或不同之处。  

    没有关于 外设问题 GPIOPinConfigureOutput()未配置硬件和 未根据数据表第22.2节设置 GPIOAFSEL 位的答案? 根据数据表、HW 方向选择 AFSEL 位而非输出方向。 没有指尖、但 CO1、CO2、CO2 ai 没有正确地配置 为输出方向?

    22.2.

    下表中"复用管脚/赋值"一栏列出了模拟比较器信号的 GPIO 管脚可能布局。 将 GPIO 备用功能选择寄存器(GPIOAFSEL)(768页)的 AFSEL 位置位、以便选择模拟比较器功能。 括号中的数字表示必须写入 GPIO 端口控制寄存器(GPIOPCTL)(第785页)的 PMCn 域的编码、以便将模拟比较器信号分配给指定的 GPIO 端口管脚。

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

    BTW:INA 240输出 通过串联1RK 驱动模拟比较器 Cn-输入、并输入并行 MCU 输入、通过100R/220pf 去耦接地的隔离式 ANIx 输入。 因此有一些保护、但注意到3V3以上的峰值远离 INA240输出处的 MCU 引脚。 已在 Cn-输入端对100R 系列 Cn-和肖特基二极管+3V3电源轨进行测试、这会导致错过跳闸事件。

    想知道是否有 TI PDF 显示 MCU 模拟比较器 CN-/CN+输入的最佳实践电路设计?

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

    [引用 user="BP101]外围 设备问题 GPIOPinConfigureOutput()未配置硬件,也未 根据数据表第22.2节设置 GPIOAFSEL 位,没有答案? [/报价]

    很抱歉、我在您的主题中错过了这个问题。

    备用函数寄存器的配置由 TivaWare 例程 GPIOPinConfigure()完成。 它们可能将该函数与 GPIOPinTypeComparatorxxx 函数分开、因为替代引脚函数取决于您使用的器件。 它们在头文件 pin_map.h 中定义 将引脚 PD2配置为比较器2输出、则需要调用两个 TivaWare 函数。

    //为比较器2输出配置 GPIO 端口
    GPIOPinTypeComparatorOutput (GPIO_PORTD_base、GPIO_PIN_2);// PD2为 C2o
    GPIOPinConfigure (GPIO_PD2_C2O);
    

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

    我想你再次错过了我的观点。 point 是 GPIOPinTypeComparatorOutput()没有在 Tivaware 库2.1.1.71和更早版本中设置硬件方向。 在后续的驱动程序库版本中、是否将其从输出更正为硬件方向? GPIOPinConfigure 设置 MUX 中的 GPIOPPCTL 寄存器位(x)、通常会针对设置 GPIO 引脚 AFSEL 位的外设调用。 HW 或 OUT/IN 方向类决定在 GPIO 中配置哪个寄存器、AFEL 或 DEN。

    我的观点:TM4C123x 和 TM4C129x 模拟比较器结构之间可能存在差异。 一个是外设、另一个不是外设。 这可能解释了为什么 GPIOPinTypeComparatorOutput()不在早期 Tivaware 驱动程序库调用中设置 AFSEL 位。

    通过此调用为外设设置输出方向与硬件方向、会发生什么情况?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我使用 Beyond Compare 比较了函数 GPIOPinTypeComparatorOutput()在2.1.1.71版和当前2.1.4.178版之间的源代码行。 没有区别。 以下是行:

    //
    //
    //! 配置引脚以用作模拟比较器输出。
    //!
    //! \param ui32Port 是 GPIO 端口的基址。
    //! \param ui8pins 是引脚的位封装表示。
    //!
    //! 模拟比较器输出引脚必须针对模拟
    //! 使比较器正常工作。 此函数提供正确
    的//! 这些引脚的配置。
    //!
    //! 使用位打包字节指定引脚、其中每个位为
    //! 置位表示要访问的引脚、其中字节的位0
    //! 代表 GPIO 端口引脚0、位1代表 GPIO 端口引脚1、依此类推。
    //!
    //! \无返回。
    ////
    *****************
    void GPIOPinTypeComparatorOutput (uint32_t ui32port、uint8_t ui8pins)
    {
    //
    //检查参数。
    //
    assert (_GPIOBaseValid (ui32Port));
    
    //
    //使引脚成为输入。
    //
    GPIODirModeSet (ui32端口、ui8引脚、GPIO_DIR_MODE_HW);
    
    //
    //为标准推挽操作设置焊盘。
    //
    GPIOPadConfigSet (ui32Port、ui8引脚、GPIO_Strength _2mA、GPIO_PIN_TYPE_STD);
    }
    

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

    我们的大多数版本都设置了(输出)方向接受(2.1.2.111)、但我们尚未使用该方向、但也将检查 RTOS 库2.1.71b (GPIO.c)以确保正确。 它(GPIO.c)可能已从2.1.0.12573复制、以修复我们在2015年添加的高于 K 的 GPIO_AHB 引脚端口调用、但在2.1.1.71中也被认为缺失。

    感谢您确认应设置硬件方向的 ACOMP 外设!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Bob、

    可能需要注意的是、几周前、我也在这张海报上展示了确切的功能代码。

    我还注意到这样一个事实、即"将引脚设置为输入"这一评论 是错误的(预期输出)、并且肯定会导致"剪切和粘贴"错误-这是由类似的"GPIOPinTypeComparator"功能产生的-在这种情况下、这些引脚用作模拟比较器输入。

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

    因此、您同意模拟比较器确实是数据表建议的外设。

    这是另一个问题、即为什么输入引脚 C0、C1、C2 (+/-)不受 AFSEL 位设置硬件的影响、而是与外设相反、不是直接在 GPIO 模拟 I/O 焊盘中具有 ANIx 状态的后代、也不会在 GPIO 多路复用器中设置 AMSEL 位。

    仍然不知道 PC6 Pino VREF 是否正常工作、因为在 UCC27714栅极驱动器之后、所有的地狱都发生了松动、随后发现 HO 输出在低电压测试期间莫名失败并导致高电压。 更换3个出现故障的 UCC 栅极驱动器后、决定更换所有12个驱动电阻器、从而使栅极电阻值加倍、使 TIDA-00778电路分析中显示的 QG 加倍。 如果 NFET 总 QG 在全球范围内为 QG、那疯狂的 HO 毫无意义。

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

    BTW:

    [引用 user="Bob Crosby">替代函数寄存器的配置由 TivaWare 例程 GPIOPinConfigure()完成。 [/报价]

    [引用 user="Bob Crosby"//为比较器2输出 GPIOPinTypeComparatorOutput (GPIO_PORTD_base、GPIO_PIN_2)配置 GPIO 端口;// PD2为 C2o GPIOPinConfigure (GPIO_PD2_C2O);[/QUERPE]

    想知道  在 GPIO 引脚类型 比较器输出之前是否通过调用 GPIOPinConfigure()导致 了一些隔离层混乱?  

    这一逆转也作为  目前的配置公布了几周。

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

    [引用 USER="CB1_MOBILE]]几周前、我也在这张海报上展示了确切的函数代码。
    [/报价]

    然而、在这个问题的背景下、模拟比较器 CN 输出 从 HW 更改为 OUT。 也许 我们过去发现它阻止了错误的 VREF 触发、早就忘记了原因。  发布点是让 TI 更好地了解如何禁用 GPIO I/O 模拟隔离栅或与 GPIO 多路复用器有任何关系。  在 不 接受任何数据表披露 外设行为 的情况下、尤其 当认为外设有时反应异常时、外设行为是愚蠢的。

    图10-2并未特别 明确说明模拟比较器(外设多路复用器块)与 GPIO 数字端口的隔离方式。  也没有任何文本专门说明如何实现信号隔离。  

    因此、这不仅是简单的插件、而且从一开始就会有问题。