完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在一个新的定制板上,我使用SPI模式中的SST26VF064 B-104I/SM。我已经成功地读取了JEDEC-ID、状态寄存器(RDSR)和配置寄存器(RDCR)。这些都显示了CE、CLK、SI和SO引脚的正确使用。然而,我一直无法成功地写入芯片。我正在尝试页面程序(PP)命令。我的回读显示了所有的0xFF。下面是从测试循环输出的程序跟踪。我添加了((红色注释))。让循环测试写四次,然后测试四次。(我可以无限期地循环,这有助于在范围中看到它。)对于每个测试写入,我发送一个WREN命令,后面跟着一个PP命令,并添加一些状态和配置的读取。我在把电源循环到电路板上之后立即进行了测试。您可以看到,状态最初是0x00,然后在我的第一个WREN命令之后,状态变为0x02。我把这个解释为WEL位被设置,意思是后面的PP应该工作。但是PP不会使WEL回到零。后来,在读循环中,我看到我读了所有的0xFF,这意味着PP肯定不起作用。(写/读地址是000000。)同时,我让WP#和HOLD#引脚保持在3.3V的高度,正如在范围上确认的那样(探测引脚,而不是焊盘,所以这不是冷焊点问题)。注意,这些都来自处理器,它在上电后驱动它们。跟踪表明我正在尝试编写77...7e。但是,现在,为了使用我已有的更简单的实用程序,我将它改为硬编码的01...03。我已经在SI上确认了这个数据的范围。这不会改变问题。))我做错什么了?测试mem(((我上电后马上测试))按任意键退出测试。Write_MEM_Packet命令PAGEPROGRAM[02,00,00,00]Data[777879a7a7b7c7d7e]((这是在做任何事之前))在WREN状态=00之前,Config=08((Status 00表示WEL=0,如上电后所预期的))Write_MEM_启用命令行[06 ]((这里我发送WREN命令))在PP状态=02,CONFIG=08((状态02表示WEL=1,对不对?)因此,WREN似乎已经工作))在PP状态=02之后,Config=08(((PP本应该使WEL变为0,但是它没有出错))Write_MEM_Packet命令PAGEPROGRAM[02,00,00]Data[777879a7b7c7d7e]在WREN状态=02之前,Config=08((再次循环,WEL从befo保持1)重新。下面没有新的学习内容)Write_MEM_Enable命令WREN[06]PreforePP.=02,Config=08.PP.=02,Config=08Write_MEM_Packet commandPAGEPROGRAM[02,00,00]Data[777879a7b7c7d7e].WREN.=02,Config=08Write_MEM_Enable命令WREN[06].PP.=02,Config=08.PP状态=02,Config=08Write_MEM_Packet commandPAGEPROGRAM[02,00,00]Data[7778797a7b7c7d7e]在WREN状态=02之前,Config=08WWrite_MEM_Enable命令WREN[06]在PP状态=02之前,Config=08.PP状态=02之后,Config=08Read_MEM_Packet命令Read[03,00,00,00]Data[ff ff ff ff ff ff ff ff ff ff]((0.007)。我的阅读得到所有的0xFF。PP失败)Read_MEM_Packet命令Read[03,00,00]Data[ff ff ff ff ff]Read_MEM_Packet命令Read[03,00,00]Data[ff ff ff ff ff ff ff ff ff]Read_MEM_Packet命令Read[03,00,00]Data[ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff]>
|
|
相关推荐
5个回答
|
|
|
|
请允许我从头开始重述这个问题:我认为我做的一切都是正确的,但是Page程序什么也不做。请告诉我,如果我错过了一个项目在我的清单上需要做什么。我正在尝试用SPI和SDI(MOSI)和SDO(MISO)连接.1)存储器芯片上电,我可以成功地查询和读取JEDEC ID.2)我的处理器显式地将引脚3(WP#)和引脚7(HOLD)拉到3.3V。3)测试,我发出RDSR(0x05)并返回状态寄存器值。0x00,缺省情况下从上电开始。3)我发出WREN(0x06)命令4)测试,我再次发出RDSR并返回状态寄存器0x02,指示WEL位被设置。5)我发出PP(0x02),地址0x000x00和数据0x010x020x030x04,在所有这些传输字节期间CS低。再次发出RDSR并返回相同的0x02。我期待看到一个繁忙的位,不再看到WEL位,因为PP应该已经清除了WEL位。我甚至把它放在一个循环中,预测未来需要等待不再忙碌。0x02没有改变。我在这里漏掉了一个要求吗?非常感谢你的帮助。-赫尔穆特
|
|
|
|
请注意,我在WREE+PP之前添加了WREE+ULBPR。我用剩余的电源移除了WREE+ULBPR,随后WREE+PP在没有WREE+ULBPR的情况下工作。然后我骑上电源。之后,雷恩PP退出了工作。我不得不做WREE+UBPR来获得ReNE+PP,所以我很困惑。为什么芯片从来没有使用过,或者为什么芯片电源循环,有一些保护需要释放ULBPR?必须有一些保护自动重新启动时,ULBPR正在释放。它是什么?我还没有在医生那里看到这个。(当然这是我的错误,而不是DOC错误。)我将进一步研究,并希望找到它。你可能会打败我,但是…
|
|
|
|
明白了:“4.1设备保护SST26VF064B/064BA提供了一个灵活的内存保护方案,允许单独控制每个块的保护状态。此外,写保护锁存寄存器防止在设备操作期间锁定状态的任何改变。为了避免在上电时无意写入,在上电复位周期之后,该设备在默认情况下受到写保护。Global Block-.Unlock命令提供一个单独的命令循环,用于解锁整个内存阵列,以便更快的制造吞吐量。
|
|
|
|
很高兴知道,谢谢指点!
|
|
|
|
只有小组成员才能发言,加入小组>>
5110 浏览 9 评论
1969 浏览 8 评论
1907 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3138 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2206 浏览 5 评论
679浏览 1评论
559浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
430浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
579浏览 0评论
477浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-21 22:10 , Processed in 1.481067 second(s), Total 57, Slave 50 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号