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:USB0器件模式中断

Guru**** 2481465 points
Other Parts Discussed in Thread: LM94022

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/703509/tm4c1294kcpdt-usb0-device-mode-interrupted

器件型号:TM4C1294KCPDT
主题中讨论的其他器件:LM94022

器件模式在具有+VBUS/ID 输入信号的 EK Launch Pad 上运行良好。   在 PWM0/ADC0开始运行后、断开 Windows 器件客户端的连接、以在 占空比更新和发生中断的情况下完全运行。

将 USB 设备 主机缓冲区 2048kB 更改为32kB 不 会停止客户端断开连接、而是仅停止一次。  注意+VBUS/ID 正通过 USB0 GPCS 寄存器强制为高电平。  另请注意、当软件强制将+VBUS/ID 置为高电平时、不会返回 USB 断开状态。  降低 USB0 INT 优先级对停止 PWM0启动时发生的客户端断开连接没有任何影响。 在 PWM0/ADC0正在处理时重新建立 USB 设备端点只持续几个周期、然后断开客户端。   

是否有任何想法 、在上述情况下、断开大容量设备客户端的连接可能是什么?  USB0外壳/屏蔽层   通过并行的1MEG/3300pf 连接到 PCB 边框接地。 帧接地连接到电气面板 接合 接地端、 该接地端距离 PCB 2英尺、模拟接地层通过类似的 RC 网络连接到帧接地端。  USB0 RX/TX 差分对与   TM4C129x 设计指南建议的相同长度布线位于距 MCU 输入1英寸的位置、连接器没有接地平面箔。

 

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

    这必须是跟踪到两个 LM94022温度传感器的 ADC1序列发生器1样本的最奇怪 USB 中断。 它们在空闲时都非常稳定地向 USB 设备客户端报告。 当 PWM0正在处理直流逆变器时、一个传感器更频繁地滚动值。

    ADC1硬件平均在过账时已经是2倍、因此后来又改为4倍、再改为8倍、以使该传感器减速。 LM94022由独立于 MCU 的3V3 LDO 稳压器供电、VDD 由另一个3V3 LDO 供电。 两个 LM94022在+3V3上具有0.1uf、在 MCU 引脚附近接地的模拟信号上具有1nf。 两个 LM94022均通过3V3干线从1到使用继动传感器值 AIN16旁的 AIN16/AIN8数字接地引脚共享 VDD 迹线。 奇怪的是、AIN9监控直流总线电压、一条噪声很大的模拟线路似乎不会影响 ANI8模拟温度读数、如数字接地引脚旁边的 AIN16。

    序列发生器采样中断的 SS1和专用独立数组的两个阶跃都具有低通滤波器(采样值*8/9)。 显然,更改两个过滤器(样本值*3/4)会停止 USB0,从而切断批量设备客户端从缓冲区到客户端端点的数据传输。

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

    是否有任何想法、为什么步骤1样片的模拟卷比上面所述的步骤2更多? 已经注意到其他序列发生器在从同一 ANIX 通道读取直流电压时也会出现这种相同的行为、这可能会比其他步进样本产生+1至+3伏的变化。

    当序列发生器结束和中断时间的阶跃变化时、模拟采样值会改变。 因此、在采样结束中断之前、接近结束的阶跃在采样窗口中的时间较少、因此产生的数字值高于较低的阶跃数。 SAR ADC 在步到端中断方面似乎有一些限制。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这种情况下、滚动值 LM94022输出电阻似乎为2.7k、而另一个值变化为896K、27k、586k、但从未变化2.7k。 将滚动值传感器滤波电容值从1nf 更改为200pf 会导致模拟比较器 C2-输入误触发。

    无论 C0+阈值电压电位计被 toped 2.8V、C2-输入都会跳闸、但当电位计2.5V 时、1nf 会停止假跳闸。 因此、LM94022的 AIN16低电阻2.7k 是如何将模拟比较器 C2-置于 MCU 内部的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="BP101"]设备模式在具有+VBUS/ID 输入信号的 EK LaunchPad 上运行良好[/引用]

     现在、回想一下、两个 LM94022未安装、 因此 ADC 值是  从 ADC 序列发生器派生的数字、 仅用于显示在 GUI 中。  

    因此、 在 PCB 上存在高电压时、即使是单个传感器值也可能发生变化、仍会随机断开 USB 器件客户端。 奇怪的是、LM94022建议使用可用于降载的查找表。 但是、LM 94022传感器模拟电压 可在   数据表温度表中未找到的1度样本之间产生10度的采样值。  奇怪 的是、当 PWM0模块正在处理数字时、温度值开始像其他 GPTM 的/ADC 序列发生器一样进行上/下漂移。   当 PWM0产生任何类型 的直流噪声时、SAR ADC 产生精确的采样测量结果非常重要。