这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » W25Q128的通讯时序问题

共1条 1/1 1 跳转至

W25Q128的通讯时序问题

专家
2025-09-13 09:56:19     打赏

尝试用国芯的Ai8051U的SPI外设驱动W25Q128,忙活了一天也没有完全成功。记得使用Arduino的程序,是行得通的,结果查看Arduino程序时发现程序中使用的并非SPI外设,而是使用软件模拟方式驱动的。查看程序处理过程,并配合逻辑分析仪截取通讯过程的时序信号,以及查看W25Q128的数据手册,终于弄明白使用Ai8051U的SPI外设驱动W25Q128失败的原因了。

这里以读取W25Q128状态信息为例,通过逻辑时序图,进行分析。读取W25Q128状态信息的指令码为0x05。根据数据手册的说明,

图片2.png

发送指令时,是在CLK脉冲的上升沿,而从W25Q128读取状态信息时,是在指令的第8个脉冲的下降沿开始的。也就是说接收数据的第一个脉冲,与发送数据的第8个脉冲时共用一个脉冲的,其上升沿发送指令的B0位,其下降沿接收数据的B7位。也就是说,如果发送的指令是一个字节,接收数据是一个字节的情况下,需要发送给W25Q128的CLK脉冲总数是15个,而不是16个。下面是在Arduino程序下获得的实际通讯时序:

图片1.png

与手册上的说明是一致的。

这样的话,在使用标准的单片机外设的场合,就涉及到两个问题:

1、数据发收转换时,需要控制CLK脉冲的采样极性转换(上升沿、下降沿)。

2、即使能够即使实现CLK脉冲的采样极性转换,也不敢保证发送的第8个脉冲与接收的第一个脉冲时公用的。

因此,使用SPI外设访问W25Q128反而变得有些麻烦了,不如使用软件模拟方式方便了。




关键词: 懒猫的学习笔记     SPI外设          W25Q128    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]