[已解决]请教STM32的GPIO高速输出的问题--地线问题

[复制链接]
 楼主| aozima 发表于 2012-9-23 01:41 | 显示全部楼层 |阅读模式
本帖最后由 aozima 于 2012-9-24 10:34 编辑

芯片STM32F4ZG,外扩SRAM。

最初发现问题是当使用了外部SRAM时,以太网经常不通。
后发现独立读写外部SRAM时以太网的灯有闪烁现象。
最后用示波器查得当进入外部SRAM数据读写时RMII_TX上面有几百mV的杂波。
这几百mV的杂波被PHY接收认为是有数据要发送,所以灯闪。

开始以为是PCB布线太差引起的,但在后面的验证中发现。
当我把RMII_TX设置为推挽输出,并输出低电平,当FSMC读写时依然有几百mV的杂波。

进一步实验如下:
把另一个与以太网无关的独立GPIO设置为推挽输出,并输出低电平,也有类似现象。
同时在以前测试时有发现在JTAG烧写FLASH的过程中UART有输出乱码的现象。

在FSMC的GPIO配置中,把CS,RD,WR的配置取消,
也就是说此时SRAM并不参与工作,只是FSMC的GPIO在输入输出,现象依旧。

现在因为这个问题很头大。
 楼主| aozima 发表于 2012-9-24 09:35 | 显示全部楼层
找到问题了,是因为地线布得不够好所导致。
在板子上面飞了根线暂时凑合。
eth1.jpg
eth2.jpg
airwill 发表于 2012-9-24 10:29 | 显示全部楼层
的确是个地线噪声的现象。
FSMC 操作导致大量 IO 口的快速变换,引起地线上比较大的噪声。
值得吸取的经验教训。
figo20042005 发表于 2012-9-24 13:13 | 显示全部楼层
学习了,以后得注意这个细节了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:RTOS RT-Thread

55

主题

2039

帖子

23

粉丝
快速回复 在线客服 返回列表 返回顶部