完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,如下面的波形所示,我可以正确地从SPI闪存中读取JEDEC ID(0xBF2641),但是当试图读取状态寄存器时,SO(波形中的MISO)信号仍然很高。我试过重置闪存(使用RST命令),并尝试禁用所有写保护(使用WRSR命令),但我似乎无法让闪存识别非JEDEC读取。有什么想法吗?有一件事:米索没有上下。我注意到,当逻辑分析仪探针没有被连接时,有时MISO线路的行为不同(高或低)。我不知道逻辑分析仪是不是提供了一些电容/串联电阻/弱拉/上/下。但是无论哪种方式,按照波形,在当前的设置中,读取JEDEC都是100%可靠的,并且读取状态寄存器是100%失败的。
|
|
相关推荐
3个回答
|
|
不是你的问题的原因,但是为什么你在尝试读取状态寄存器时发送变化的值。仅仅发送哑值(比如0x00或0xFF)就可以了吗?这让我对你的代码有点怀疑。也许您应该向我们展示您完整的代码(但是很小,也就是,只要您需要重现问题),因为我们可能能够发现一些东西。而且MISO线应该由从设备驱动,只要它被选择。SPI线不需要上拉或下拉电阻。苏珊
|
|
|
|
谢谢苏珊。我有时喜欢改变我写的MOSI值,这样我就能确定我在电线上看到的值与我在代码中输入的值相关联。经过进一步的实验,我发现了一些东西:1)CLK线需要通过连接到我的逻辑分析仪来清理。探索获得我的JEDEC阅读工作(不是MISO线)。话虽如此,鉴于我最近的发现,即第22项,了解MISO线没有绑定高/低是有用的。下面所示的波形(不是通道4是这个闪存芯片的芯片选择;我们在SPI总线上有2个闪存芯片)似乎显示“状态读取”(命令0x05)是iGORNED,即从属叶MISO三态(并且由于没有上拉/下拉,MISO保持低)。接着是5字节的地址00、00、00的读取(命令03)。似乎闪存没有忽略这个命令,因为紧接着第三地址字节的移位,MISO行被驱动为高(大概是因为我还没能对闪存进行编程,它仍然充满了ff)。这之后是一串“状态读取”命令被忽略,但是在这种情况下,MISO保持高位,因为这是它被驱动的最后一级。3)我添加了一个测试用例来读取前4个SFDP字节,并成功地读回字节53464450。S:有一种模式,Flash响应“Read”、“sfDP”和“jeECD-ID”命令,而忽略RDSR和WREN’/PP’CONNDS?提前感谢。
|
|
|
|
问题解决:需要写入“全局块保护解锁”寄存器。以前使用的SST闪存部分可以通过写入状态寄存器来解锁。
|
|
|
|
只有小组成员才能发言,加入小组>>
5171 浏览 9 评论
2001 浏览 8 评论
1931 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3176 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2228 浏览 5 评论
737浏览 1评论
622浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
509浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
635浏览 0评论
533浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 01:07 , Processed in 1.209676 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号