I2C的EEPROM最大容量有多少的?

[复制链接]
 楼主| summerlee 发表于 2009-4-14 07:13 | 显示全部楼层 |阅读模式

我以前用过最大的是24C1024,1024K位,256K字节。各位有没有用过更大的啊。。。有个项目要存10年的数据,真晕了,请大家出招啊,我还不能改设计了,时间来不及了。谢谢。
 
 
highend 发表于 2009-4-14 09:33 | 显示全部楼层

25VF016.......如果板子还能动,就放弃24

24C1024,1024K位,256K字节?
应该是128k Byte.

公开资料显示,24最大1Mbit.

sssbang 发表于 2009-4-14 10:07 | 显示全部楼层

这个太晕了。能把线引出来吗?加个sd卡上去

justmei 发表于 2009-4-14 16:35 | 显示全部楼层

有的

http://www.igecc.com/client/company/product.clientdisplay837643.html
名  称:
    
16M-BIT [2M×8/1M×16] CMOS SINGLE VOLTAGE FLASH EEPROM
型  号:
    
MX29L1611GPC-90 
aozima 发表于 2009-4-14 17:20 | 显示全部楼层

不说你这芯片能不能保存10年的数据....

等到10年后这芯片坏了没有还不知道呢
zhoutong 发表于 2009-4-18 11:50 | 显示全部楼层

..

请问下楼主24C1024价格如何啊?哪里可以买到
我现在有个项目也要用这个
谢谢
 楼主| summerlee 发表于 2009-4-18 12:53 | 显示全部楼层

谢谢各位,我选了个AT45DB161D

这个芯片的驱动,搞了2天都没搞出来,我就往SRAM里面写了字节,再读出来,怎么感觉没有写进去啊。。。。各位有没有使用过的,给个提示可能怎么个事?
 楼主| summerlee 发表于 2009-4-18 12:57 | 显示全部楼层

大家看这个程序有没有错误啊。。。

unsigned char read_status_register(void)
{
   unsigned char i;
          

       AT45DB161_CS=0;

       input_8bit(OPCOM_READ_STATUS_REGISTER);
       
       for(i=0;i<8;i++)
        {
           AT45DB161_SO=1; //first setup the output pin 
           AT45DB161_SCK=0; //falling eage to read
           rdata=rdata<<1;
           BIT0=AT45DB161_SO;
           AT45DB161_SCK=1;
       }

       AT45DB161_CS=1;
      
       return(rdata);
}






unsigned char read_flash(unsigned char opcom,unsigned int page_address,unsigned int in_page_address)
{
   unsigned char i;
   unsigned char address_byte_1,address_byte_2,address_byte_3;
   unsigned int address;


       address=(page_address<<2)|(in_page_address>>8);    //combine 14 bits of page address and highest 2 bits of inner page address   
       address_byte_1=address>>8;
          address_byte_2=address;
       address_byte_3=in_page_address;

       while(!(read_status_register()&0x80));
       AT45DB161_CS=0;

       input_8bit(opcom);
       input_8bit(address_byte_1);
       input_8bit(address_byte_2);
          input_8bit(address_byte_3);
       input_8bit(0x00);//dump byte
       
       for(i=0;i<8;i++)
        {
           AT45DB161_SO=1; //first setup the output pin 
           AT45DB161_SCK=0; //falling eage to read
           rdata=rdata<<1;
           BIT0=AT45DB161_SO;
           AT45DB161_SCK=1;
       }

       AT45DB161_CS=1;
      
       return(rdata);
}



    


void write_flash(unsigned char opcom,unsigned int page_address,unsigned int in_page_address,unsigned char wdata)
{
   unsigned char address_byte_1,address_byte_2,address_byte_3;
   unsigned int address;
   
       address=(page_address<<2)|(in_page_address>>8);    //combine 14 bits of page address and highest 2 bits of inner page address   
       address_byte_1=address>>8;
          address_byte_2=address;
       address_byte_3=in_page_address;

       while(!(read_status_register()&0x80));
       AT45DB161_CS=0;

       input_8bit(opcom);
       input_8bit(address_byte_1);
       input_8bit(address_byte_2);
          input_8bit(address_byte_3);

       input_8bit(wdata);

       while(!(read_status_register()&0x80));

       AT45DB161_CS=1;
}


我调用写函数,往BUFFER1里面的0地址里面写个0XAA,然后再读出来判断,怎么不对啊。?请赐教啊,项目着急啊。




wjvictor 发表于 2014-2-24 15:16 | 显示全部楼层
我也需要一个eeprom,容量要大些,最好大于1Mbit,I2C接口,请推荐一下,谢谢!
zchong 发表于 2014-2-24 19:19 | 显示全部楼层
AT45DB161D不是spi接口的吗?
gxs64 发表于 2014-2-24 20:45 | 显示全部楼层
铁电有大的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

150

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部