king1314 发表于 2013-5-21 14:36:41

大家有没有发现W25x16的问题

最近要用w25x16保存一些配置参数


原理图如上图所示

我把cs直接接地了,用的模拟spi的方式,所以不存在复用的spi接口的可能



程序是我之前在开发板上测试好的,唯一的区别是开发板上的cs脚用了一个io去控制

我第一次用w25x16,想当然的应该可以把cs接地,这样还节省了一个io口


等到pcb从工厂发回后,测试w25x16的时候 ,发现有问题了

我读器件id,读w25x16里的数据的时候,串口返回的都是0xff





后来我把cs脚和地之间用小刀划断,把cs用io口控制

这样的话 ,读写都正确





我可以写数据进去,也可以读数据出来



经过这样的测试,我发现w25x16的cs是不是不能直接接地,非得要用io口去控制呢????

希望用的大侠发表下意见

SunnyTrip 发表于 2013-5-21 15:04:01

一看就是编程不看手册。芯片上电后,CS端需要一个由高电平变为低电平的下降沿才能开始接受指令。
After power-up, CS# must transition from high to low before a new instruction will be accepted.

king1314 发表于 2013-5-21 15:10:41

SunnyTrip 发表于 2013-5-21 15:04 static/image/common/back.gif
一看就是编程不看手册。芯片上电后,CS端需要一个由高电平变为低电平的下降沿才能开始接受指令。
After pow ...

谢谢大侠指点

看着英文头大,呵呵,的确没仔细看数据手册

zyw19987 发表于 2013-5-22 09:16:07

king1314 发表于 2013-5-21 15:10 static/image/common/back.gif
谢谢大侠指点

看着英文头大,呵呵,的确没仔细看数据手册

不用IO 控制,加一个上电复位的电路就可以解决这个问题。

大秦正声 发表于 2013-5-22 10:27:18

w25x16价格便宜吗?谢谢!

fantaq 发表于 2013-5-22 10:48:36

zyw19987 发表于 2013-5-22 09:16 static/image/common/back.gif
不用IO 控制,加一个上电复位的电路就可以解决这个问题。

那是不行的。
cs跳变之后是命令字。读写擦除都要先发命令字。难道上电以后只发一个命令就完事了?

wz18th 发表于 2013-5-22 11:16:43

CS不能少。每条指令每条数据都是要求CS的

wkman 发表于 2013-5-22 11:36:25

MX25L8005      8MbitSPI接口bios flash

pc主板绝多用这个,,,,没有找到个可以读写的程序{:sweat:}

king1314 发表于 2013-5-22 16:27:36

wkman 发表于 2013-5-22 11:36 static/image/common/back.gif
MX25L8005      8MbitSPI接口bios flash

pc主板绝多用这个,,,,没有找到个可以读写的程序 ...

你都是论坛元老了
MX25L8005 还能难倒你吗??{:sweat:}

king1314 发表于 2013-5-22 16:29:54

大秦正声 发表于 2013-5-22 10:27 static/image/common/back.gif
w25x16价格便宜吗?谢谢!

有点小贵的 2块钱左右吧

wkman 发表于 2013-5-22 16:34:54

king1314 发表于 2013-5-22 16:27 static/image/common/back.gif
你都是论坛元老了
MX25L8005 还能难倒你吗??

{:cry:} 没用过的东西,就是摸着石头过河,绝不走邪路{:titter:}

google搜索了下,没有任何c的例子(没桥可过 {:mad:}

mowin 发表于 2013-5-22 16:50:20

25x CS一定要有上升沿,IC里面才会接受前面的命令开始动作

cc1987 发表于 2013-5-22 21:20:36

之前用过W25Q32,cs确实得这样操作,

llysc 发表于 2013-5-25 09:03:07

一般擦除指令都是要在CS拉高才开始执行的,搞不懂用SPI通讯协议竟然不用CS的片选功能?

king1314 发表于 2013-5-25 11:17:05

llysc 发表于 2013-5-25 09:03 static/image/common/back.gif
一般擦除指令都是要在CS拉高才开始执行的,搞不懂用SPI通讯协议竟然不用CS的片选功能? ...

你的意思是用sel接器件的cs吗 让sel自动的去控制cs???

这样的话就不用操作io口去控制cs   我这样理解对吗

ycheng2004 发表于 2013-5-25 14:46:40

llysc 发表于 2013-5-25 09:03 static/image/common/back.gif
一般擦除指令都是要在CS拉高才开始执行的,搞不懂用SPI通讯协议竟然不用CS的片选功能? ...

要看哪种型号,如93C56,只有在CS为高电平,才表示选定,才可以读写的,
W25X16的CS记得是拉低为选定.

modbus 发表于 2013-5-27 09:07:08

想省IO可以把2脚和5脚连起来用一个IO口。

king1314 发表于 2013-5-27 14:04:34

modbus 发表于 2013-5-27 09:07 static/image/common/back.gif
想省IO可以把2脚和5脚连起来用一个IO口。

那就是spi数据输入和输出都用一个io口,w25x16不支持这种方式吧

求指教
页: [1]
查看完整版本: 大家有没有发现W25x16的问题