2780|2

7815

帖子

57

TA的资源

裸片初长成(中级)

楼主
 

只为uC而生,uS成长历程 19(略带意外的M25P80) [复制链接]

很抱歉,这一周,我直到今天才发这个帖子。
而上一周的内容也很稀少。
实在是因为弄M25P80这个芯片的时候遇到点麻烦。

如今想起来,我想结论应该是

我猜对了第一脚,可是第一个使用的芯片却可能被我弄坏了——也或者,我的人品真的太差了,又是第一块芯片是坏的?

我新换了一块芯片,然后发现6个IO脚里,除了SDI——我不知道它是不是真的需要上拉电阻——但我现在觉得很可能不需要。只是因为输入,暂时不能测试,要到写好SPI时序时才能正式看看。

事实上,M25P80的芯片,似乎真的就是不需要外接任何电阻!

还好,我记得SPI的时序时很容易写的,比I2C还容易写。
这一周应该可以搞定这一部分!

我的习惯是先在一个普通的项目程序里,直接写好这个SPI驱动程序,然后才把它往uS里移。
此帖出自编程基础论坛
点赞 关注
 

回复
举报

7815

帖子

57

TA的资源

裸片初长成(中级)

沙发
 

今晚的进展(周六)

记得我以前每次调时序,基本的套路都是
1.看能不能找到一个例程,然后重构它,再利用它更进一步看懂数据手册的一部分内容;
2.把例程变成自己的代码;
3.一般例程,你最后会发现它都是很随心地做成那种不能直接使用的方式
   比如 同步方式,比如延时刻意加大,这种保守做法往往使得本来可以很高速很灵活的片子变得很一般。

今晚也就到了这一步。
我还在看其 读写时序,希望能更了解它的具体的读写时间延迟等细节。
这样我可以定位这个 接口到底可以多块,同时也为下一步把它集成到uS中——因为,它首先是一个SPI设备,然后才是M25P系列FLASH存储器,最后才是M25P80 1M FLASH存储器。
此外,我现在是在1M(实际机器周期)系统上跑,对于ns为单位的时序来说,它们几乎可以不考虑,然而我还会考虑到以后我可能会用在上几十M,上百M的系统里。
所以这些都需要考虑。

但今天基本弄得很乏了。所以暂时押下。

不想说太多像借口一样的话,不过,确实可能,调一个接口,即使不考虑上述要求,需要的时间是比较多的。所以很可能这一周只是开了一个头。

完全不知道,也完全没有测试。

4.测试。
   一般我都是 以 读写为最基本单元测试——当然一般不会那么好运的。
最后我就会利用逻辑分析仪 一个一个单元,想办法拆开来单独测试,直到测好,再集成起来,直到完成。

这个过程有时比较快,有时很纠结(当然有的也因为犯了一些和时序无关的弱智错误,比如ds18b20,我犯的错误居然是读函数没有返回读到的结果)
比如我调模拟i2c时,虽然犯了很多愚蠢的错误,但前后我就用了一天外加4个小时搞定的。

这次,感觉这个SPI其实比i2c要更简单一些。
情况应该不会更糟糕。
此帖出自编程基础论坛
 
 
 

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

板凳
 
回想起来,这一次之所以感觉这个 难调

问题不在于 SPI本身
而在于 这款M25P80芯片,比起I2C的AT24芯片额外多了好些功能
我是下意识里被绕进去了。

所以再做的时候一定要首先集中精神,把基本读写搞定先!
此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表