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.

[参考译文] EK-TM4C1294XL:SPI 通信

Guru**** 2526890 points
Other Parts Discussed in Thread: EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/859200/ek-tm4c1294xl-spi-communication

器件型号:EK-TM4C1294XL

尊敬的 Sirs

我使用 EK-TM4C1294XL LaunchPad 通过 SPI 总线与 ADI ADT7311温度传感器进行通信。  我有 CS、CLK 和 MOSI 信号、但没有 MISO 信号。  我已经使用相同的结果尝试了 SSI0至 SSI2。  请参阅随附的示波 器屏幕打印。  我们将感谢您的任何帮助。  请注意 MISO 信号上升。  我确信这不是正确的。  

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

    [引用用户="Dennis McGlumphy"]

    请注意 MISO 信号上升。  我确信这不是正确的。 [/报价]

    您好!

    适当注意并同意"外部团队/我感到您的痛苦"。

    根据您的示波器上限(我们可能具有相同的 Tek 示波器- btw)、怀疑:

    • 您选择的"MOISO"引脚不正确或其他不当 (即未完全/正确配置)
    • 或者 ADC 器件和/或其配置可能存在"问题"   (我的小组恰好咨询 ADI)
    • SPI 'CS & MISO '之间似乎存在"不神圣的联系"!    仔细审核表明、'ISO'(潜到地面-恰好是'CS'使'跳变'很慢!   我的团队认为这并不代表"正常/习惯 SPI 信号行为!"
    • 鉴于上述情况-请确保 ADI 设备已正确通电(尤其是在处于活动状态时)、并且 ADI (希望是板)与 MCU 之间的接地连接可靠...  (和当前)

    该怎么办?   我们建议(暂时):

    • 断开连接(仅限!) "DIISO"引脚和 ADI 器件之间的连接。   所有其他引脚保持互连!
    • 然后将示波器探头连接到 ADI 的"保存输出线"(原来连接到 MCU 的 MISO 引脚的同一条输出线-现在"无处可去")
    • 然后、"注意 ADI 设备的输出波形如何变化以及是否发生变化"-  这将有助于我们确定"哪个"设备(最可能的)出现故障。

    一如既往-“完整正确的数据”... "让我们的(和他人的)远程诊断功能变得更加轻松和增强。   供应商一定会(并且正确)请求您的代码、以便"明显的代码错误"可能会被"识别和更正"。

    您的示波器捕获功能非常有用、但其本身却证明不到"完全辅助/启用并得出结论..."

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

    CS (芯片选择)变为高电平后、MISO (主器件输入从器件输出)上的上升时间较慢、我对此并不担心。 虽然我不是模拟器件 ADC 的专家、但在他们的数据表中确实说、当 CS 处于高电平时、器件被禁用。 当 CS 处于高电平时、ADT7311的 DOUT 引脚会变为高阻抗并不奇怪。

    我没有看到来自 TM4C 的 SPI 信号出现任何问题。 我同意 CB1、您应该仔细检查与 ADT7311的硬件接口。 唯一的其他建议是、您可以尝试 ADT7311数据表第19页中描述的串行接口复位过程。

    您可以通过从 SPI 发送四个字节的0xFF 来实现此目的。 在发送0x58命令读取 ID 寄存器之前、请记住至少等待500us。

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

    尊敬的克罗斯比先生

    我很抱歉耽误你的回答。  我只是想确保一切都正常工作。  我采纳了您的建议、并将软件复位添加到我的启动例程中。  我学到了我的经验、从不依赖加电默认条件。  感谢你的帮助。  您可以关闭此服务请求。  

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

    虽然这是相当独特的、但"Serial Interface Reset"现在似乎可以正常工作-(可能)可以对其"Inclusion (包含)"提出质疑。   

    我的公司最近完成了对"SPI 事务失败"的合理密集(由客户付费)分析-检查和测试了超过35种不同的 SPI 器件-(很少)提供此类"独特的串行接口复位"。   这项调查结果是否表明海报所选的设备-与"敏感?"相框   因此(强烈)建议海报执行"广泛的加电后测试"、以确保器件"继续按照规格执行"。   (注意:在 I2C 器件上执行了一组类似的测试-在这里报告了测试的亮点(通过客户端许可)...)

    另一个问题是-刚才有人建议、"切勿依赖"加电"默认条件!"    然而、MCU 中有很多外设模块-并且"每个/每个"都接收到这样的"唯一 专用 复位处理"-上电后和首次使用前!    

    检查"上电"波形时会显示明智的选择-"不平衡从器件可能已"选择、然后发出困难信号!"   (即电路板布局效率低下、布线长度过长和/或不必要的噪声拾取。)

    可能"Bob"或另一个"ndor agent"建议并告知-关于所有  MCU 外设模块的"软件指令重置(仅超出上电复位)-在使用之前-上电后立即?"   需要注意的是、(几乎)每个 MCU 寄存器清晰地列出了"复位时的寄存器值!"   然而-无法解释-是"此类复位的来源"。   (被认为是上电复位...)

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

    CB1_MOBILE

    我理解并同意您的说法。  在即将投入生产的产品中、我会执行完整的加电分析和相应的设计。  但是、该项目正在用于实验室测试、我认为我可以将其快捷。  显然、我错了。  这个项目中的其它外设受硬件复位控制、因此是稳定的。  我知道启动稳定性是所有嵌入式系统的基础。  感谢您的建议。  

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

    谢谢您-感谢您快速而详细的回答。

    我们的目的是"向您发出警报"-了解什么(可能)是"敏感"问题-非常局限于您所选的器件。

    您可能会考虑以下因素:

    • 重复多次"加电"-仔细注意 SPI 器件的(通常)行为。
    • 如果可能、请使用与您的"生产设计"计划相同的电源。
    • 我们的调查结果表明、我们测试的35个以上 SPI 器件在加电时"大多数"运行正常(即可预测)。
    • "少数"器件在加电时已出现或开发出"问题"。   即使在重新供电后、这些器件在 SPI 事务处理过程中"最有可能"出现更小的问题。   (即、在成功进行50到250次 SPI 事务后、他们的"具体情况"变得无序-这是"加电灵敏度"和"稍后的"次序"之间的联系-这是"响铃"-阅读您的情况。)
    • PCB 布线长度过长、弯曲和/或"其他电感增加元件"增加了这些"敏感器件"遭受痛苦(疾病)的可能性。
    • 我们部署了3个不同的 ARM Cortex MCU (2个 M4、1个 M7)-在任何情况下、MCU 都不会成为从属方疾病的"促成者"。
    • 在多个从器件上重复此类测试似乎"有用"-您总是会遇到(一次性)损坏或行为错误的器件。

    祝您好运、顺便说一下、"低上升 MISO 信号"是否提高了响应速度?"   (我的小组继续看到先前的波形为"失败/不需要"。)