打印

关于eeprom和I2C再发一帖

[复制链接]
3299|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我是土匪|  楼主 | 2012-9-19 16:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前的帖子是想知道多个从机地址相同,主机写数据到多个eeprom能否成功的问题。
将ack判断改成了延时函数,这个尚未测试。


再问一提:
烧录器烧录eeprom(24cxx)是如何保证烧录的数据是正确的?难道是烧进去再读取出来,逐个字节对比吗?

我的目的是高效的、可靠的完成多个eeprom一次性烧录,听起来很像是烧录器了。请大家多提意见建议。

相关帖子

沙发
Auir| | 2012-9-19 18:38 | 只看该作者
你说的对,就是烧进去再读出来,
而且是逐个字节对比的。

市面上有些i2c开关,可以实现多个相同地址i2c器件的操作。

使用特权

评论回复
板凳
我是土匪|  楼主 | 2012-9-19 22:40 | 只看该作者
你说的对,就是烧进去再读出来,
而且是逐个字节对比的。

市面上有些i2c开关,可以实现多个相同地址i2c器件的操作。
Auir 发表于 2012-9-19 18:38


逐个比较效率太低,不是和我的应用场合;
I2C开关?相同地址的I2C设备?如何解决双向应答的操作?不会和我上面说的发送了写操作后,并不是去读ACK,而是延时实现的?

使用特权

评论回复
地板
amwrdfe| | 2012-9-19 23:00 | 只看该作者
校验的时候不逐个比较还能怎么样?真想不到别的办法。
单字节读写的时候,从机的ack是可以不用理会的,至少到现在我没发现过问题,但那个应答的时钟还是必须的。
连续读写的时候没测试过,理论上也是没问题的,但是要注意翻页的问题。所以咱操作i2c都是单字节操作,慢是慢了点,省事。
看你的描述就是做个i2c编程器。
是我的话会优先考虑用模拟开关来扩展,省事。

使用特权

评论回复
5
teddeng| | 2012-9-20 00:45 | 只看该作者
4# amwrdfe

怎么能不理会从机的ACK?比如单字节方式写多个字节进去,写一个字节有个烧写时间,芯片不响应,手册一般给的是最大10ms烧写时间,不判断ACK就只有傻等10ms,实际上用判断ACK的方式,基本上1ms就可以写下个字节了。

使用特权

评论回复
6
amwrdfe| | 2012-9-20 07:53 | 只看该作者
本帖最后由 amwrdfe 于 2012-9-20 08:00 编辑

是的,不判断只有延时等待,看了以前咱以前写的就是这样的,

使用特权

评论回复
7
ayb_ice| | 2012-9-20 08:10 | 只看该作者
读很快的,远比写要快

使用特权

评论回复
8
我是土匪|  楼主 | 2012-9-24 10:37 | 只看该作者
校验的时候不逐个比较还能怎么样?真想不到别的办法。
单字节读写的时候,从机的ack是可以不用理会的,至少到现在我没发现过问题,但那个应答的时钟还是必须的。
连续读写的时候没测试过,理论上也是没问题的,但是 ...
amwrdfe 发表于 2012-9-19 23:00


我采用页操作,很快。
模拟开关我也想过,效率太慢,用IO模拟多了I2C并行操作,这个效率会很高。读操作就要单个操作要稍作些改动了

使用特权

评论回复
9
我是土匪|  楼主 | 2012-9-24 10:40 | 只看该作者
4# amwrdfe  

怎么能不理会从机的ACK?比如单字节方式写多个字节进去,写一个字节有个烧写时间,芯片不响应,手册一般给的是最大10ms烧写时间,不判断ACK就只有傻等10ms,实际上用判断ACK的方式,基本上1ms就可以写 ...
teddeng 发表于 2012-9-20 00:45


手册里面给了写操作的最大时间是5ms,是不是写单个字节和写整个page的理论最大数值都是5ms?

使用特权

评论回复
10
abc1559587432| | 2012-9-24 12:26 | 只看该作者
不懂想学

使用特权

评论回复
11
teddeng| | 2012-9-24 18:23 | 只看该作者
9# 我是土匪
是的。

使用特权

评论回复
12
teddeng| | 2012-9-24 18:48 | 只看该作者
操心这个不如操心工人的操作,你多做几台,只要工人的手不停就完了。。

使用特权

评论回复
13
mohanwei| | 2012-9-24 19:35 | 只看该作者
你怎么没考虑过一个ARM上百个I/O,可以同时烧多少个IC……
还有FPGA几百个I/O……
搞一排几十个插座,随机放一个IC,过一会LED绿了表示完成,LED红了表示失败……

使用特权

评论回复
14
我是土匪|  楼主 | 2012-9-25 09:25 | 只看该作者
你怎么没考虑过一个ARM上百个I/O,可以同时烧多少个IC……
还有FPGA几百个I/O……
搞一排几十个插座,随机放一个IC,过一会LED绿了表示完成,LED红了表示失败…… ...
mohanwei 发表于 2012-9-24 19:35


现在就是这样搞的,不过没有这样极端,10个I2C同时工作

使用特权

评论回复
15
我是土匪|  楼主 | 2012-9-25 09:27 | 只看该作者
操心这个不如操心工人的操作,你多做几台,只要工人的手不停就完了。。
teddeng 发表于 2012-9-24 18:48


一个烧录时间9S,摆放也要时间,下载启动也是要过程的,如果20一个,一分钟3个,一小时180个,一批几万个,工人要不停的忙,也要几天几夜。

使用特权

评论回复
16
joyme| | 2012-9-25 09:38 | 只看该作者
找卖IC的人代烧也可
用扩展肯定好过线与的I2C模式,这种模式出错了无法检测出来(ACK也没法检验,还不能读取数据做校验)
自己做,最好做能自动放IC,记得二姨上有过一个烧录工装的帖子,好像是匠人的帖子吧,气动控制

使用特权

评论回复
17
mohanwei| | 2012-9-25 17:28 | 只看该作者
还没见过哪一种型号的24cxx需要9秒编程时间……

使用特权

评论回复
18
我是土匪|  楼主 | 2012-9-26 09:46 | 只看该作者
512K BYTE

使用特权

评论回复
19
mohanwei| | 2012-9-26 14:28 | 只看该作者
不是吧,记得这个系列最大容量就AT24C1028,128KB的……可能又出新型号了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:抢钱、抢粮、抢女人! https://shop105961755.taobao.com/index.htm?spm=2013.1.w5002-3338070316.2.f652157E8BRIA

226

主题

1761

帖子

30

粉丝