硬件SPI读取数据遇到困难,手指放在CLK线上就正常了,求助
单片机是XS128,使用M口的硬件SPI,40Mhz 读取W25Q16。现在的问题是:将示波器探针放在Flash芯片的DO上,没有数据输出(或者在该有数据的时候波形电压是很低的而是不是数据的形状),但是同时将另一个探针放在CLK上,就神奇的输出了数据。。
或者,DO上不放探针,只在CLK上放一个示波器探针,甚至说用手指触碰CLK引脚,就会有正常数据,不碰就没有。
已经排除了虚焊的原因,在CLK上拉10K下拉10K都是过,不管用。。
请问这个神奇的现象是什么原因?如何解决? 补充:使用软件模拟SPI的时候大概在1Mhz,完全没有任何问题 可能你选的相位不对 CLK加个10P小电容,速度高了,波形有毛刺了! 串个电阻? 大概 是硬件问题 检查一下电源的纹波,如果是开关电源试一下加个Y电源跨接到低高低压的地线上 上拉电阻换小 2K试试 上拉电阻换小 2K试试 上拉电阻换小 2K试试
编辑:我擦这网络,连发了三次。。。。 xiaodao35 发表于 2015-3-19 10:25
CLK加个10P小电容,速度高了,波形有毛刺了!
对,刚刚加了一个6pF,果然好了。。倒是CLK的毛刺让Flash不正常工作么? 示波器量一下波形,确认 margin 是否足够。 glacier1 发表于 2015-3-19 11:30
对,刚刚加了一个6pF,果然好了。。倒是CLK的毛刺让Flash不正常工作么?
更可能你时钟相位选的不对 NJ8888 发表于 2015-3-19 11:36
更可能你时钟相位选的不对
相位没问题的。 这个毛刺是一些震荡波形组成的,你锁一个拉开就可以看到了! 高速下上升沿和下降沿过冲会导致数据出错,解决办法一般是串电阻、并电容,串电阻的话,一般是几十Ω,电容的话是几P到几十P,视频率而定 我觉得可能和毛刺没有多大关系。加了电容可能是移相了。SPI的三种模式你设置的哪种?我们用SPI模式3,SPI时钟用50MHz都没有加电容。 示波器观察CLK上升沿时间和下降沿时间。对比FLASH 中要求时间。 astankvai 发表于 2015-3-19 13:17
我觉得可能和毛刺没有多大关系。加了电容可能是移相了。SPI的三种模式你设置的哪种?我们用SPI模式3,SPI时 ...
可能确实是相位存在问题。。。加电容移相这句话很有道理 yuanbo19870216 发表于 2015-3-19 13:11
高速下上升沿和下降沿过冲会导致数据出错,解决办法一般是串电阻、并电容,串电阻的话,一般是几十Ω,电容 ...
对 我一般传个几十欧姆的电阻 glacier1 发表于 2015-3-19 13:48
可能确实是相位存在问题。。。加电容移相这句话很有道理
相位问题示波器看下不就行啦 yuanbo19870216 发表于 2015-3-19 13:11
高速下上升沿和下降沿过冲会导致数据出错,解决办法一般是串电阻、并电容,串电阻的话,一般是几十Ω,电容 ...
这个才是最佳答案吧,嘿嘿,一般的都是串电阻
ccrt 发表于 2015-3-20 07:59
这个才是最佳答案吧,嘿嘿,一般的都是串电阻
我也觉得应该是串 我以前遇到过类似的SPI问题,接上示波器探头,能正确通信,拿掉就白搭。
后来发现是相位设置错了,建议楼主仔细检查一下软件的设置 硬件40mhz,给力,速度贼快啊!楼主现在在用xs128做什么项目啊?现在这里K系列的多。16位的不多了。 w282529350 发表于 2015-3-20 08:32
我以前遇到过类似的SPI问题,接上示波器探头,能正确通信,拿掉就白搭。
后来发现是相位设置错了,建议楼 ...
确实是相位错了。 glacier1 发表于 2015-3-21 14:50
确实是相位错了。
早不听我话{:lol:} NJ8888 发表于 2015-3-21 14:51
早不听我话
这几天没上坛子。。前几天改了一下相位确实是解决了。。非常感谢 glacier1 发表于 2015-3-21 14:57
这几天没上坛子。。前几天改了一下相位确实是解决了。。非常感谢
最佳答案竟然是加个小电容,真是疯了{:lol:} 非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决. mark! 最近也遇到了这样的问题,俺还没解决....{:sad:}
页:
[1]