SPI管脚干扰

Posted

技术标签:

【中文标题】SPI管脚干扰【英文标题】:SPI pin inteference 【发布时间】:2014-11-11 00:47:31 【问题描述】:

我正在使用 ATMEGA128 与另一台设备进行通信。为此,我使用带有 ATMEGA128 的 SPI 作为从机。我使用 SS、SCK 和 MOSI 引脚。我面临的问题是,当我必须下载程序时,我必须断开 SPI 引脚。我正在使用的 ATMEGA128 模块使用 TXD0、RXD0、SCK(PB1) 引脚来下载程序。为什么我会面临这个问题?是因为 SPI 和下载电路使用相同的 SCK 引脚吗?有什么办法可以避免断开 SPI 引脚?

【问题讨论】:

【参考方案1】:

其他设备是否有芯片选择输入,或者您可以在其 VCC 引脚上添加一个?如果是这样,您可以将此设备的 CS(低电平有效)输入连接到一个额外的 AVR 端口引脚,并连接一个外部上拉电阻(可能是 10k 欧姆左右),然后在代码开始处将此 AVR 引脚设置为低电平。该器件将被外部上拉电阻禁用,直到 AVR 的编程完成并且您的代码在运行时重新启用它。

【讨论】:

【参考方案2】:

是不是因为SPI和下载电路使用相同的SCK管脚?

是的,您必须防止任何其他设备在编程期间驱动 SPI 线。

有什么方法可以避免断开 SPI 引脚?

是的。为避免驱动器争用,如果外部电路可能驱动这些线路,则应在这三条专用线路上分别放置一个串联电阻。

见my answer here。

【讨论】:

以上是关于SPI管脚干扰的主要内容,如果未能解决你的问题,请参考以下文章

去耦电容 与 旁路电容 的区别

stc单片机的spi通信

max31865不响应

关于STM32 中模拟IIC或SPI管脚配置问题?

抗干扰的措施都有哪些?

EMI (电磁干扰)