精华内容
下载资源
问答
  • EEPROM存储芯片24C02

    千次阅读 2019-10-02 13:36:50
     24C02是一个2Kbit的串行EEPROM存储芯片,可存储256个字节数据。工作电压范围为1.8V到6.0V,具有低功耗CMOS技术,自定时擦写周期,1000000次编程/擦除周期,可保存数据100年。24C02有一个16字节的页写缓冲器和一个...

    1、24C02简介

      24C02是一个2Kbit的串行EEPROM存储芯片,可存储256个字节数据。工作电压范围为1.8V到6.0V,具有低功耗CMOS技术,自定时擦写周期,1000000次编程/擦除周期,可保存数据100年。24C02有一个16字节的页写缓冲器和一个写保护功能。通过I2C总线通讯读写芯片数据,通讯时钟频率可达400KHz。

      可以通过存储IC的型号来计算芯片的存储容量是多大,比如24C02后面的02表示的是可存储2Kbit的数据,转换为字节的存储量为2*1024/8 = 256byte;有比如24C04后面的04表示的是可存储4Kbit的数据,转换为字节的储存量为2*1024/8 = 512byte;以此来类推其它型号的存储空间。

      24C02的管脚图如下:

      VCC和VSS是芯片的电源和地,电压的工作范围为:+1.8V~+6.0V。

      A0、A1、A2是IC的地址选择脚。

      WP是写保护使能脚。

      SCL是I2C通讯时钟引脚。

      SDA是I2C通讯数据引脚。

    2、24C02的设备地址和写写保护功能

       I2C主机在与24C02通讯时,需要发送一个设备地址进行寻址,在I2C总线上,每一个从机设备的地址都是唯一的。

      24C02的设备地址包含两部分,第一部分是bit7~bit4是固定的“1010”,第二部分bit3~bit1位由A2、A1、A0组成。主机在与24C02进行通讯时,除了发送设备地址还需要发送数据的读写方向位R/W,24C02的是设备地址与R/W位组成了一个字节的数据。如下图:

       上图列出了几个存储IC的设备地址与R/W位组成的字节。由图中可以看到,存储IC地址的bit7~bit4位固定为“1010”;bit3~bit1位由A2、A1、A0引脚的电平状态决定,如果Ax接的是电源(高电平),那么Ax=1,如果Ax接的是地,那么Ax=0,即由A2、A1、A0可以组合成8种设备地址,也就是说在同一个I2C总线上可以同时挂载8个24C02芯片。一般如果I2C总线上只有一片24C02芯片的话,A2、A1、A0引脚都接到地。

      由于24C02只有256个字节的存储空间,所以只需要1个字节就可以寻址完24C02的存储空间,但是无法寻址完更大容量的存储IC,比如24C04的存储容量是512字节,需要9个bit的地址位才能寻址完。由上图可以看到,24C04的设备地址内是没有A0参数的,被a8代替了,这个a8就是24C04的第9个bit的地址位,也就是说24C04的A0引脚是不起作用的,这样也就造成了在I2C总线上只能同时挂载4个24C04芯片。其它存储器如24C08、24C16也可以这么类推。

      24C02的WP引脚是写保护引脚,当WP引脚接高电平的时,24C02只能进行读取操作,不能进行写操作。只有当WP引脚悬空或接低电平时,24C02才能进行写操作。

    3、24C02数据读取操作

      在这里只是对24C02的读写进行一些说明和一些注意的实现,不会涉及具体的程序代码,只是进行代码概述,工程代码已经上传到个人GitHub中,感兴趣的可以去GitHub中下载查看,GitHub代码地址如下:

    https://github.com/h1019384803/STM32F103ZET6_I2C.git。这是一个使用STM32F103ZET6的IO模拟I2C操作24C02的工程。

      MCU通过使用I2C读取24C02任意存储空间地址内的数据,代码如下:  

     1 uint8_t AT24CXX_READ_ONE_BYTE(uint16_t address)
     2 {    
     3     uint8_t dat;
     4     
     5     I2C_START();
     6     AT24CXX_ERR = I2C_WRITE_BYTE(AT24CXX_WIRTE_CMD);
     7     if(AT24CXX_ERR != 0)//没有响应直接退出
     8     {
     9         AT24CXX_ERR = I2C_WRITE_BYTE(address & 0xFF);
    10         if(AT24CXX_ERR != 0)
    11         {    
    12             I2C_START();
    13             
    14             AT24CXX_ERR = I2C_WRITE_BYTE(AT24CXX_READ_CMD);    
    15             if(AT24CXX_ERR != 0)
    16             {         
    17                dat = I2C_READ_BYTE(0); 
    18                I2C_STOP();
    19             }
    20         }
    21     }
    22     
    23     return dat;
    24 }

      第5行主机产生一个I2C起始信号,第6行发送设备地址和写数据位给24C02,第9行是发送需要读取的地址给24C02,第12行主机产生一个重复起始信号,第14行设备地址和读数据位给24C02,第17行是读取24C02相应地址存储的数据。第18行是主机产生I2C结束信号。

      在上面的程序代码中,AT24CXX_ERR是用来获取24C02的应答信号,如果主机与24C02的通讯正常,主机每发送一个字节给24C02,24C02都会反馈一个应答信号给主机,如果24C02没有反馈应答信号,那么说明24C02正在进行其它操作或者通讯异常导致无法通讯,主机会产生一个结束信号来结束操作。在I2C_WRITE_BYTE()函数内部有一个等待应答信号的操作,如果没有收到应答信号,在I2C_WRITE_BYTE()函数内会产生一个停止信号来结束当前操作。AT24CXX_ERR用来判断接下来的操作是否执行,如果AT24CXX_ERR=0说明没有收到应答信号,直接退本次读取操作;如果AT24CXX_ERR!=0说明有收到应答信号,继续读取操作。

      24C02内部有一个地址计数器,主机发送要读写的存储空间地址给24C02,就相当于改变24C02的内部地址计数器的值,主机每读写一个字节24C02之后,它内部地址计数器的值就会自动加1。也就是说如果当前地址是N,那么主机读取完一个字节的数据之后,再次读的话就变为了读取N+1地址的数据。

      这里需要注意的一点是,24C02的内部地址计数器的地址只能从0~255之间递增,这是因为24C02的存储控制只有256个字节,地址计数器只能在0~255(共256个地址)内变化。如果连续读取使得地址计数器超过255,那么地址计数器就会从0地址开始循环。比如说当前内部计数器地址为255,主机在读取一个字节数据之后会导致内部计数器地址变为0,那么主机再次读取数据的时候读取得到的是24C02地址0的数据。

      MCU使用I2C连续读取24C02内多个存储空间地址数数的代码如下:

     1 void AT24CXX_READ_BUFF(uint16_t address,uint8_t *buffer,uint16_t Len)
     2 {    
     3     uint16_t i;
     4     
     5     I2C_START();
     6     AT24CXX_ERR = I2C_WRITE_BYTE(AT24CXX_WIRTE_CMD);
     7     if(AT24CXX_ERR != 0)//没有响应直接退出
     8     {
     9         AT24CXX_ERR = I2C_WRITE_BYTE(address & 0xFF);
    10         if(AT24CXX_ERR != 0)
    11         {    
    12             I2C_START();
    13             AT24CXX_ERR = I2C_WRITE_BYTE(AT24CXX_READ_CMD);   
    14             if(AT24CXX_ERR != 0)
    15             {               
    16                 for(i=0;i<Len;i++)
    17                 {
    18                     buffer[i] = I2C_READ_BYTE(0); 
    19                 }
    20             }
    21             
    22             if(AT24CXX_ERR != 0)
    23             {         
    24                 I2C_STOP();
    25             }            
    26         }
    27     }
    28 }

      上面的代码,大部分跟读取一个字节的程序代码是一样的,不一样的是第16~19行,这里用一个for循环来连续读取24C02内的数据,这里并没有对超范围读取数据进行限制,所以在使用的时候需要注意不要连续读取超过24C02的存储空间,就算超过也不会有问题,只是会重新开始从0地址读取。

    4、24C02数据写入操作

      MCU使用I2C写入一个字节数据到24C02任意存储空间地址内的代码如下:

     1 void AT24CXX_WRITE_ONE_BYTE(uint16_t address,uint8_t dat)
     2 {    
     3     I2C_START();
     4     AT24CXX_ERR = I2C_WRITE_BYTE(AT24CXX_WIRTE_CMD);
     5     if(AT24CXX_ERR != 0)//没有响应直接退出
     6     {
     7         AT24CXX_ERR = I2C_WRITE_BYTE(address & 0xFF);
     8         if(AT24CXX_ERR != 0)
     9         {    
    10             AT24CXX_ERR = I2C_WRITE_BYTE(dat);    
    11             if(AT24CXX_ERR != 0)
    12             {         
    13                I2C_STOP();
    14             }
    15         }
    16     }
    17 }

      第3行主机产生一个I2C起始信号,第4行发送设备地址和写数据位给24C02,第7行是发送需要写入数据的地址给24C02,第10行是将要写入的数据发送给24C02。第18行是主机产生I2C结束信号。上面大部分操作跟读取是一样的,不一样的只是最后将读取操作改为了写入操作。

      如果需要连续写入数据,可以如下:

    1     for(i = 0;i < 256;i ++)
    2     {    
    3         AT24C02_BUFF[i] = i;
    4         AT24CXX_WRITE_ONE_BYTE(i,AT24C02_BUFF[i]);
    5     }

      但是在实际使用的过程中,发现只有一部分AT24C02_BUFF[]数组里面的数据被写入到了24C02当中,有一些数据没有写进24C02。这是因为24C02擦写数据没有那么快,需要一定的时间,在24C02正在擦写数据的过程中,是不会应答主机的通讯的,所以如果主机在写入一个数据之后又立马写入另一个数据,就会导致24C02跟不上主机的通讯速度从而导致无法写入数据。

      需要注意的是24C02并不是在主机发送数据给24C02之后就立马擦写数据的,24C02是在主机产停止信号之后才开始擦写数据的,并且在擦写数据完成之前不会响应主机的其它操作。

      可以通过一定的延时函数来等待24C02擦写完成,代码如下:

        for(i = 0;i < 256;i ++)
        {    
            AT24C02_BUFF[i] = i;
            AT24CXX_WRITE_ONE_BYTE(i,AT24C02_BUFF[i]);
            HAL_Delay(1);
        }

      通过调用HAL_Delay()函数进行延时,具体的延时时间可以通过调试来决定,这里使用1ms的延时时间,具体24C02擦写数据需要多久并不清楚。

      除了通过延时函数进行等待24C02擦写完成,也可以通过发送设备地址给24C02,然后查询是否有应答信号返回来判断24C02是否擦写完成。24C02在擦写数据时是反馈应答信号给主机的,这样就可以通过不断的发送数据给24C02,然后查询应答信号来判断24C02是否擦写完成,一旦擦写完成就可以进行下一个数据的写入。代码如下:

     1 void Wait_AT24CXX_WRITE_OK(void)
     2 {
     3     uint8_t Wait_Cnt;
     4 
     5     Wait_Cnt = 50; 
     6     do
     7     {
     8         I2C_START();
     9         AT24CXX_ERR = I2C_WRITE_BYTE(AT24CXX_WIRTE_CMD);
    10         if(AT24CXX_ERR != 0)
    11         {
    12             I2C_STOP();//接收到响应信号退出
    13             break;
    14         }
    15             
    16     }while(Wait_Cnt--);
    17 
    18 }

      Wait_Cnt是一个次数限制变量,不能无限的在里面等待,不然遇到异常就有可能造成程序卡死。

      程序通过发送起始信号、发送设备地址和写数据方向给24C02,如果24C02反馈了一个应答信号给主机,主机就产生一个停止信号,然后退出当前循环。应用代码如下:

    1     for(i = 0;i < 256;i ++)
    2     {    
    3         AT24C02_BUFF[i] = i;
    4         AT24CXX_WRITE_ONE_BYTE(i,AT24C02_BUFF[i]);
    5         Wait_AT24CXX_WRITE_OK();//可以通过发送设备地址给从机,通过从机反馈的响应信号来判断从机是否可以正常通讯
    6     }

    5、24C02页写入

      24C02有一个页写入功能,可以连续写入16个字节的数据。

      24C02可以以页来划分存储空间,每16个字节组成一个页,24C02的存储空间大小为256个字节,所以24C02总共有16个页。如:

      页0:地址从0x00~0x0F

      页1:地址从0x10~0x1F

      ......

      页15:地址从0xF0~0xFF  

      24C02可以在一个页内连续的写入数据,但是需要注意的是如果写入的数据超过页大小,那么就会覆盖页初始地址的值,比如说连续写入3个数据,第1个数据写入到地址0x0F当中,第2个数据由于溢出页的限制,会被写入到地址0x00当中,第3个数据会被写入到地址0x01当中。

      以个人的理解,24C02内部有一个16byte的数据缓存器,在上面的介绍中知道,主机在发送数据给24C02的时候,24C02是不会擦写数据的,只有当主机发送停止信号之后24C02才会擦写数据。那么当主机发送数据给24C02时,只是将数据写入到了24C02内部的缓存器中,只有当主机发送结束信号之后,24C02才将缓存器内的数据写入到内部存储空间。

      由24C02的数据缓存器只有16个byte(每个型号的存储IC的页大小是不一样的也就是缓存器大小是不不一样的)。所以如果写入的数据超过缓存器的大小就会覆盖之前写入的数据。

      使用页写入连续将数据写入24C02的代码如下:  

     1 void AT24CXX_WRITE_BUFF(uint16_t address,uint8_t *Buffer,uint16_t Len)
     2 {
     3     uint8_t i;
     4     uint16_t re_main;
     5     
     6     if(address >= 256)//对输入的地址进行限制,24C02只有256个字节的存储空间,其它型号的存储器IC可以通过查资料
     7     {
     8         return;
     9     }
    10     
    11     re_main = 256 - address;//计算出还有多少存储空间
    12     
    13     if(Len > re_main)//如果要写入的数据量超过剩余存储空间,则只写入剩余存储空间数量的数据
    14     {
    15         Len = re_main;
    16     }
    17     
    18     re_main = 16 - address%16;//计算当前页还可以写入多少个数据
    19     
    20     if(Len <= re_main)//如果要写入的数据小于等于当前页剩余的存储空间,则只写入Len个字节数据就好,不需要跨页操作
    21     {
    22         re_main = Len;
    23     }
    24     
    25     do
    26     {
    27         I2C_START();
    28         AT24CXX_ERR = I2C_WRITE_BYTE(AT24CXX_WIRTE_CMD);
    29         if(AT24CXX_ERR == 0)//没有响应直接退出
    30         {
    31             break;
    32         }
    33         
    34         I2C_WRITE_BYTE(address & 0xFF);
    35         for(i = 0;i < re_main;i ++)//最多连续写入一个页数据的大小
    36         {
    37             AT24CXX_ERR = I2C_WRITE_BYTE(Buffer[i]);
    38         }
    39         
    40         I2C_STOP();
    41         Wait_AT24CXX_WRITE_OK();//等待24C02完成擦写数据动作    
    42         
    43         if(re_main != Len)
    44         {
    45             address += re_main;//已经写入re_main个数据,
    46             Buffer += re_main;
    47             Len -= re_main;
    48             
    49             re_main = 16;//写一个页的的大小也是16个字节
    50             
    51             if(Len <= re_main)
    52             {
    53                 re_main = Len;
    54             }    
    55         }
    56         else
    57         {
    58             break;//数据写入完成退出
    59         }
    60     }
    61     while(1);    
    62 }

      AT24CXX_WRITE_BUFF()函数的思路如下:

      首先判断输入的地址是否超过存储IC的存储空间,如果超过则退出,如第6~9行。

      计算出输入的地址到存储器存储的结束地址剩余多少空间,如果要写入的数据比剩余空间还多,那么剩余多少空间就写入多少空间,需要写入的多余部分就去掉,如第11~16行。

      计算当前页还可以写入多少数据,如果当前页剩余的空间比Len要写入的数据长度还大,那么只要写入当前页就足够了,不需要再跨页写入数据。如第18~23行。

      通过一个while(1)循环连续写入数据到24C02中。

      第27~41行是将re_main个数据写入到24C02当中,由于是在一个页内操作,所以可以连续写入,写完之后在产生一个结束信号然后等待24C02擦写完成。

      如果不需要跨页写入就已经将数据全部写完,那么就可以直接break退出while循环,如第58行。

      如果需要跨页写入数据,还需要将地址、buffer、Len减去已经写入的数据量,然后下一个页可以写入整个页的数据量,也就是16个字节,通过比较判断一个页的剩余空间是否能够写完剩余的Len数据,如果不行就重复循环操作,如果可以写完,在写完之后就退出while循环。

    转载于:https://www.cnblogs.com/h1019384803/p/11518241.html

    展开全文
  • 存储主控芯片亚洲新势力崛起

    千次阅读 2018-08-30 20:04:56
    存储领域,SSD的主控芯片相当于电脑的CPU。近几年来,随着全球半导体市场版块的移动,亚洲已成为芯片行业的主流市场。加上半导体产业生态链的完善,在SSD主控厂商的产业变化之中,来自新生...

    origin: http://ssd.zol.com.cn/696/6969945.html

    2018-08-30 05:05:00   [  中关村在线 原创  ]   作者:郎孟华   |  责编:赵悟省

    在存储领域,SSD的主控芯片相当于电脑的CPU。近几年来,随着全球半导体市场版块的移动,亚洲已成为芯片行业的主流市场。加上半导体产业生态链的完善,在SSD主控厂商的产业变化之中,来自新生代的台系及陆系等亚洲厂商光茫渐露,甚至已逐步掩盖过去处于霸主地位的美系厂商。

    美系主控品牌

    半导体行业率先发展于美国,第一波崛起的SSD主控厂商自然来自美国居多,我们熟悉的Marvell、慧荣科技都是美系主控的代表。

    存储主控芯片亚洲新势力崛起

    美满电子(Marvell Technology Group;NASDAQ: MRVL)公司于1995年在美国加州圣塔克拉拉成立。Marvell在IC上的布局包括存储、网络和无线连接,其半导体解决方案主要应用于企业、云、汽车、工业和消费类市场,目前在网络和无线连接芯的片成就高于存储芯片。

    存储主控芯片亚洲新势力崛起

    慧荣科技(Silicon Motion Technology Corp.; NASDAQ:SIMO) 1995年成立于美国加州硅谷。除了提供闪存主控芯片,它还有SSD及eMMC等嵌入式储存产品,应用领域包括智能型手机、平板计算机、个人计算机和工业等。慧荣科技的控制芯片品牌是"SMI",企业级SSD品牌为"Shannon Systems",而行动通讯产品则是"FCI"品牌。

    美系主控长期占据着高端的市场,但随着SSD市场竞争的激烈,加上近几年来台系企业的强烈冲击,一些主控品牌终究难逃衰落或者被收购的命运。如今的美系主控品牌中,除了为自家使用的Intel主控外,几乎只剩下Marvell和慧荣科技在支撑。

    不过由于美国半导体产业的人力成本大幅上升,加上近几年来科技产品的主要消费市场正快速向经济崛起的亚洲、甚至有劳动力成本优势的新兴国家移动,科技产品不再是高收入人群才能消费的奢侈品。那些背负着高成本却追求高毛利率的美系厂商,很难以摆脱长年既定的芯片销售模式,加上对下游厂商服务链的不完善,造成了他们越来越不能满足新的市场需求。如不改进,最终将会导致采用其主控的SSD厂商去寻找其他替代方案。而台系、甚至陆系的SSD主控厂商依靠研发、服务弹性高优势,逐渐有了崭露光茫的机会。

    存储主控芯片亚洲新势力崛起

    台系主控品牌

    美系主控品牌的衰落为台系主控品牌提供了良好的发展契机,同时,依靠台湾本土发达的半导体产业,台系主控品牌逐渐后来居上并大有超越的势头。

    目前风头最劲的就是群联电子。群联电子从全球首颗单芯片USB内存随身碟控制芯片起家,长期专注于闪存(NAND Flash)存储主控芯片研发,涵盖了USB、SD存储卡、eMMC、UFS、PATA、SATA以及PCIe规格的SSD主控芯片,并为存储系统和OEM/ODM等品牌客户提供存储解决方案。终端应用遍及消费性市场、工业制造及企业数据中心、内嵌式储存装置(Embedded)等,由于高度重视存储资料的保密技术,群联电子在国际技术标准上取得ONFI (Open NAND Flash Interface)创始会员资格,同时也是SD及UFS协会的董事。

    除了群联电子,点序科技也是台系不可忽视的一支中坚力量。其产品以闪存控制芯片为主,应用包含了 SD/microSD 控制芯片、USB 控制芯片、eMMC 控制芯片以及SSD 控制芯片等,并依靠耗损平均 (Wear-Leveling)算法、错误检查纠正 (ECC) 和坏区管理 (Bad Block Management) 等技术,让客户的产品获得稳定的效能提升。

    台系主控目前是SSD市场上的主流,并在中国大陆协同伙伴赢得庞大的消费群体,市场份额不断上升。

    大陆系主控品牌

    存储主控芯片亚洲新势力崛起

    随着中国5G、物联网的成形与发展,高速传输、大容量闪存的需求日益旺盛,加上中国近几年来对半导体的大力支持,国内的SSD主控品牌逐渐崭露头角。

    杭州华澜微电子(Sage Microelectronics Corp),提供存储卡、U盘、移动硬盘、固态硬盘、硬盘阵列以及大数据存储系统控制器芯片和解决方案,并实现了上述产品的芯片级信息安全防护。公司于2015年并购了美国initio(晶量)公司的桥接芯片产品线,形成了initio® Bridge芯片系列,华澜微产品已经广泛应用于工业控制、个人消费、航空航天、测量装备等领域。

    深圳市得一微电子(YEESTOR Microelectronics Co.,Ltd),专注于存储控制芯片领域,为客户提供优质的存储控制芯片以及专业化的技术支持和服务。其产品主要是SSD、eMMC、USB 、SD 等主控芯片以及Security Storgage Controller,广泛应用于移动存储、便携式存储和安全存储领域。

    目前,国内的主控品牌不少于10家,在数量上已经超越美系、台系的品牌。不过,与国际知名的主控品牌相比,国产品牌还需要一定的时间来打磨与检验。

    在SSD主控领域,依靠台系主控品牌的日益主流和大陆系主控品牌的逐渐崛起,国内群雄逐鹿的氛围已经形成,意味着中国SSD厂商在SSD主控方面可以有更多的选择方案。对用户而言,这也能充分保障自己的利益。

    展开全文
  • Flash存储W25Q16芯片

    万次阅读 2015-03-09 15:06:15
    W25Q16BV(16M-bit)是为有限的空间、引脚和功耗的系统提供一个存储解决方案。25Q系列比普通的串行Flash存储器更灵活,性能更优越。基于双倍/四倍的SPI,它们能够可以立即完成提供数据给RAM,包括存储声音、文本和数据...

    1          一般描述

    W25Q16BV(16M-bit)是为有限的空间、引脚和功耗的系统提供一个存储解决方案。25Q系列比普通的串行Flash存储器更灵活,性能更优越。基于双倍/四倍的SPI,它们能够可以立即完成提供数据给RAM,包括存储声音、文本和数据。芯片支持的工作电压2.7V到3.6V,正常工作时电流小于4mA,掉电时低于1uA。工作温度为-40℃到85℃。所有芯片提供标准的封装。

             W25Q16BV由8192个编程页组成,每个编程页256-bytes。每页的256字节用一次页编程指令即可完成。每次擦除16页(扇区擦除)、128页(32KB块擦除)、256页(64KB块擦除)和全片擦除。W25Q16BV有512个可擦除扇区或32个可擦除块。最小4KB扇区允许更灵活的应用去要求数据和参数保存(见图2)。

             W25Q16BV支持标准串行外围接口(SPI),和高速的双倍/四倍输出,双倍/四倍用的引脚:串行时钟、片选端、串行数据I/O0(DI)、I/O1(DO)、I/O2(WP)和I/O3(HOLD)。SPI最高支持104MHz,双倍速是208MHz,四倍速是416MHz。这个传输速率比得上8位和16位的并行Flash存储器。连续读模式允许利用少至8-clocks指令去读取24-bit 地址来实现高效的存储访问,允许真正的XIP(execute in place)操作。

    HOLD引脚和写保护引脚可编程写保护。此外,芯片支持JEDEC标准,具有唯一的64位识别序列号。

    2          特性

    l  SPI串行存储器系列                                                                    灵活的4KB扇区结构

    -W25Q80:8M位/1M字节(1,048,576)                                           -统一的扇区擦除(4K字节)

    -W25Q16:16M位/2M字节(2,097,152)                                         -块擦除(32K和64K字节)

    -W25Q32:32M位/4M字节(4,194,304)                                         -一次编程256字节

    -每256字节可编程页                                                                       -至少100,000写/擦除周期

                                                                                                                      -数据保存20年

    ●标准、双倍和四倍SPI

    -标准SPI:CLK、CS、DI、DO、WP、HOLD                              高级的安全特点

    -双倍SPI:CLK、CS、IO0、IO1、WP、HOLD                              -软件和硬件写保护

    -四倍SPI:CLK、CS、IO0、IO1、IO2、IO3                                  -选择扇区和块保护

                                                                                                                      -一次性编程保护(1)

    ●高性能串行Flash存储器                                                                  -每个设备具有唯一的64位ID(1)

    -比普通串行Flash性能高8倍                                                         注1:

    -104MHz时钟频率                                                                                这些特点在特殊订单中。

    -双倍SPI相当于208MHz                                                                      请联系Winbond获得更详细资料。

    -四倍SPI相当于416MHz                                                              封装

    -40MB/S连续传输数据                                                                     -8-pinSOIC 208-mil

    -50MB/S随机存取(每32字节)                                                -8-padWSON

    ●高效”持续读模式”                                  

       -短指令

       -少至8个时钟到达1个地址内存

       -允许真正XIP操作

       -强过并行Flash强16倍

    5  8个脚的引脚图类似如下。

    6  引脚描述

    7       16个脚的引脚图类似如下,N/C表示not connect

    8.1 封装类型

             W25Q16BV提供了8-pin塑料150-mil 或者208-mil宽度SOIC(封装代号SN&& SS) 和6x5-mm WSON(封装代号ZP) 。分别如图1a和1b。300-mil 8-pin的PDIP是另外一种封装选择。(图1c)。W25Q16BV也提供16-pin 塑料 300-mil宽度SOIC(封装代号SF),如图1d。封封装图和尺寸规格在数据手册的末尾。

    8.2 片选(ChipSelect -----/CS)

             SPI片选引脚决定设备操作是否可用。当为高电平时,芯片未被选择,串行数据输出(DO、IO0、IO1、IO2和IO3)引脚为高阻态。未被选择时,芯片处于待机状态下的低功耗,除非芯片内部在擦除、编程。当/CS变成低电平,芯片功耗将增长到正常工作,能够从芯片读写数据。上电后,在接收新的指令前,必须由高变为低电平。上电后,必须上升到VCC(见“写保护”和图30)。在接上拉电阻可以完成这个。

    8.3 串行数据输入、输出和IOs(DI、DO和IO0、IO1、IO2、IO3)

    W25Q16BV支持标准SPI、双倍SPI和四倍SPI。标准的SPI传输用单向的DI(输入)引脚连续的写命令、地址或者数据在串行时钟(CLK)的上升沿时写入到芯片内。标准的SPI用单向的DO(输出)在CLK的下降沿从芯片内读出数据或状态。

    双倍和四倍SPI指令用双向的IO引脚在CLK的上升沿来连续的写指令、地址或者数据到芯片内,在CLK的下降沿从芯片内读出数据或者状态。四倍SPI指令操作时要求在状态寄存器2中的四倍使能位(QE)一直是置位状态。当QE=1时/WP引脚变为IO2,/HOLD引脚变为IO3。

    8.4 写保护(WriteProtect ---  )

             写保护引脚用来阻止状态寄存器被更改。状态寄存器保护位(SEC、TB、BP2、BP1和BP0) 和状态寄存器保护位(SRP)结合起来对存储器进行一部分或者全部的硬件保护。低电平有效。当状态寄存器2中的QE位置成四倍速I/O,则引脚(硬件保护功能)无效。因为这个脚被用作IO2。四倍速I/O操作时该脚配置请见图1a,1b,1c和1d。

    8.5 HOLD(/HOLD)

       引脚有效时,设备将暂停。当DO引脚将为高阻态,DI和CLK引脚上的信号将被忽略。当脚为高电平时,设备恢复工作。功能常用在多个设备共享同一个SPI信号。脚低电平有效。当状态寄存器2中的QE位置成四倍速I/O,则引脚无效。因为这个脚被用作IO3。四倍速I/O操作时该脚配置请见图1a,1b,1c和1d。

    8.6 串行时钟(CLK)

    串行时钟输入引脚为串行输入和输出操作提供时序。(见SPI操作)

    9结构框图


            

    10.功能描述

    10.1 SPI总线操作

    10.1.1 标准SPI指令

    该w25q16bv是通过一个SPI兼容总线组成的四访问:串行时钟信号(CLK),芯片选择(/ CS),串行数据输入(DI)和串行数据输出(DO)。标准的SPI指令使用DI引脚输入串行写入指令,地址或数据到设备上的上升沿时钟。DO输出引脚是用来读取数据或状态的装置,在下降沿时钟。SPI总线操作模式0(0,0)和3(1,1)的支持。模式0和之间的主要差异模式3是时钟信号的正常状态时,SPI总线主备用数据没有被转移到串行闪存。对于模式0,时钟信号在的下降沿和上升沿,通常是低电平。对于模式3,时钟信号在的下降沿和上升沿,通常是高电平。

    10.1.2 双倍SPI指令

       W25Q16BV使用”Fast Read Dual Output and Dual I/O(3B和BBhex)”指令支持双倍速SPI操作。这些指令允许数据以正常速度的两到三倍的在设备间传输。双倍读指令适用于 上电时快速加载代码到RAM 或者 直接从SPI总线上执行代码(XIP) 的情形。当使用双倍速SPI指令时,DI和DO引脚将充当 IO 0和IO 1.

    10.1.3 四倍速SPI指令

         W25Q16BV使用”Fast Read Quad Output”、” Fast Read Quad I/O” 、”Word Read Quad I/O” 和 “Octal Word Quad I/O”指令(6B、EB、E7、E3)支持四倍速SPI操作。这些指令允许数据以正常速度的四到六倍的在设备间传输。四倍读指令显著提升连续和随机访问传输速度,这速度满足将代码快速加载到RAM或者直接在SPI总线上执行(XIP)。使用四倍速SPI指令时,DI和DO引脚将充当 IO 0和IO 1 ,WP和HOLD充当IO 2 和IO 3。四倍速SPI指令要求状态寄存器2中的QE功能位打开。

    10.1.4 HOLD功能

             指令允许W25Q16BV在选中激活状态下暂停。在与其他设备共享SPI数据和时钟信号时,这个功能很有用。例如,在已经写了一部分页Buffer后,SPI 总线上产生一个优先终端请求。在这种情形,指令可以保存指令的状态和Buffer中的数据,一旦总线再次可用时,程序可以从离开的地方恢复。功能只适用于标准SPI和双倍SPI操作,不实用四倍速SPI操作。

             设备在选中(低电平)时,初始化状态。如果CLK信号已经处于低电平时,状态在信号的下降沿时激活。如果当时CLK不是低电平,状态将在CLK的下个下降沿后激活。如果CLK信号已经处于低电平时,状态在信号的上升沿时终止。否则,将在下一个CLK的下降沿后终止。在状态期间,DO脚是高阻态,DI和CLK信号将忽略。在整个操作过程中,信号应该保持低电平来避免重置设备内部逻辑状态。

    10.2 写保护(Writeprotection)

             使用非易失性存储器的应用程序必须考虑到噪声等的可能性和不利的系统条件可能会影响数据的完整性。为了解决这个问题的W25Q16BV提供了多种方式来保护数据免受意外写入。

    10.2.1 写保护功能情形

    l  VCC地狱阈值时,设备重置。

    l  上电后延时写入禁止。

    l  在编程和擦除后写使能或写入禁止指令和自动写入禁止

    l  用状态寄存器软件或硬件写保护

    l  锁定写保护直到下次上电P

    l  一次性编程写保护P

    Note : P标记这些功能可用基于特别订购信息,请参考订购信息。

    上电或掉电即VCC低于阈值电压()时,W25Q16BV重置该功能。在重置时,操作不可用,指令不识别。在上电到VCC达到期间,所有的编程和擦除相关指令因为延时期间不可用。片选信号必须监听上电时VCC供应等级达到VCC-min等级 和时间延时结束。在上产生一个上拉电平可以实现。

    上电后,设备自动将状态寄存器写使能锁置成0,此时状态为写入禁止状态。在接收页编程,扇区擦除,盘擦除或者写状态寄存器指令前,需要设置一个写使能指令。在完成这些指令后,写使能锁自动清成写入禁止状态(值0)。

    软件写保护通过写状态寄存器指令设置状态寄存器保护(SRP0 、SRP1)和块保护(SEC、TB、BP2、BP1和BP0)位。这些设置使一部分内存区域只读。通过 写保护引脚(/WP) 和改变状态寄存器 相结合,在硬件控制下启用或者禁用。此外,下电指令提供了额外的写保护---所有指令都忽略。

    11.1状态寄存器

    11.1.1 忙(Busy)

    忙在状态寄存器S0中是个只读位。当设备在执行页编程、扇区擦除、块擦除、芯片擦除或者写状态寄存器指令时会置成状态1。忙状态时设备将忽略后续指令,除了读状态寄存器和擦除暂停指令(参见AC特性中tw、tPP、tSE、tBE和tCE).当编程写、擦除或者写状态寄存器指令完成时,位忙会清成状态0---标识设备已为后续指令做好准备。

    11.1.2 写使能锁(WriteEnable Latch ---WEL)

    WEL在状态寄存器S1中是个只读位。在执行写使能指令时被置成1。当设备停止写时,位WEL将清成0。停止写状态发生在加电时或者 在停止写、页编程、扇区擦除、块擦除、芯片擦除、写状态寄存器之后。

    11.1.3 块保护位(BlockProtect Bit ------BP2、BP1、BP0)

             块保护位在状态寄存器S4、S3、S2中是非易失读写位,它提供写保护控制和状态。块保护位可以使用写状态寄存器指令设置(参见AC特性里tw)。编程写和擦除指令可以保护整个或部分内存数组,或者没有一个内存数组被保护。块保护位出厂设置为0---即不保护。

    11.1.4 顶端块或者底部块保护(Top/BottomBlock Protect----TB)

             根据TB数组(TB = 0,顶端;TB=1,底部)是否出现在状态寄存器保护列表里,非易失TB位决定块保护位(BP2、BP1、BP0) 是否受保护。TB出厂设置为0。TB位可以通过基于SRP0、SRP1和WEL位的写状态寄存器指令设置。

    11.1.5 扇区/块保护(Sector/BlockProtect----SEC)

    非易失性扇区保护位(SEC)控制 块保护位(BP2、BP1、BP0)是否保护TB数组里的4KB扇区(SEC=1)或者64KB块(SEC=0)。这个TB(TB=0,顶端;TB=1,底部)数组显示在状态寄存器保护列表中。SEC默认设置为0。

    11.1.6 状态寄存器保护(SRP1,SRP0)

             状态寄存器保护位(SRP1和SRP0)在状态寄存器(S8、S7)中是非易失性读写位。SRP控制写保护方式:软件保护、硬件保护、掉电或者一次性可编程保护。

    11.1.7 擦除暂停状态(EraseSuspend Status---SUS)

             暂停状态位在状态寄存器(S15)中是个只读位。它在执行一次擦除暂停指令(75h)后自动置成1。在擦除恢复指令(7Ah)后自动清0.如同掉电、上电循环一样。

    11.1.8 四倍使能(QuadEnable---QE)

             四倍使能位在状态寄存器(S9)中是个非易失性读写位。它允许四倍SPI操作。QE位为0时(出厂默认值),/WP脚和/HOLD启用。QE为1时,四倍IO2和IO3启用,/WP脚和/HOLD停用。

    WARNING:如果/WP或者/HOLD脚在标准SPI或者二倍速SPI操作中直接连接到电源或者接地,QE位将不能设成1。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    11.1.9 状态寄存器内存保护

    11.2 指令集

    W25Q16BV指令集包含30个基础指令。他们都是通过SPI总线受控。指令在片选(/CS)下降沿初始化。DI 输入上的第一个字节提供指令码。DI输入上的数据在时钟的上升沿按照最重要标志位优先级取样。

             指令长度变化单个字节到几个字节不等。可能按照地址字节,数据字节,空字节。或某些情形下的一个组合。指令完成在片选信号(/CS)的上升沿。所有的读指令可以在任意时钟里成。然而,像写指令、编程写、或擦除指令必须在一个字节边界里完成(一个8bit计时后,片选(/CS)驱动就会变高。此外,内存在编程写或者擦除时,或者在写状态寄存器时,除了读状态寄存器以外的指令都被忽略,直到编程写或者擦除循环完成。

    11.2.1 制造商和设备识别码

    11.2.2 指令集表1(擦除,编程指令)

    Notes:

    1.数据字节按照MSB(MostSignificant Bit first)顺序提交。字节区域用“()”表示数据从DO脚读取

             2.状态寄存器的内容会不断重复,直到/ CS终止指令。

             3.四倍速页编程输入数据:

    IO0 = (D4,D0,……..)

    IO1 = (D5,D1,……..)

    IO2 = (D6,D2,……..)

    IO3 = (D7,D3,……..)

             4.使用双倍速或四倍速“持续读取模式”时,推荐采用“Continuous Read Mode Reset”指令。

    11.2.3 指令集表2(读取指令)

     

     

     

     

     

     

     

     

     

     

     

    11.2.4 指令集表3(ID、安全指令)

    11.2.5 写使能(06h)

    写使能指令会将状态寄存器中的写使能锁WEL位置成1.WEL位优先级需高于页编程、扇区擦除、块擦除、芯片擦除以及读状态寄存器指令。写使能指令通过使片选信号(/CS)低电平,在时钟信号(CLK)上升沿时提取指令码“06h”到DI引脚时载入,然后在片选信号高电平时驱动。

    11.2.6 禁止写(04h)

    禁止写指令会将状态寄存器中的写使能锁WEL位置成0.禁止写指令通过驱动片选信号低电平,提取指令码”04h”到DI脚时载入,然后在片选信号高电平时驱动。记住,WEL位在加电、写状态寄存器、页编程、块擦除、芯片擦除指令完成后自动重置。

    11.2.7读状态寄存器1(05h) 和 读状态寄存器2(35h)

    读状态寄存器指令允许读取8-bit状态寄存器。这个指令通过驱动片选信号(/CS)为低电平时,然后在时钟信号(CLK)上升沿提取指令码(05h---寄存器1;35h---寄存器2)送入DI脚时载入。状态寄存器位在时钟信号下降沿按照MSB顺序取出,送到DO引脚。状态寄存器位参考图标3a和3b。

    读状态寄存器指令可以在任何时间使用。这就允许通过检查BUSY状态位来判断循环指令是否完成、设备能否接受其他指令。状态寄存器可以持续读取。该指令在片选信号高电平时完成。

    11.2.8 写状态寄存器(01h)

             写状态指令允许状态寄存器可写。必须先执行写使能指令,从而使设备能够接收到写状态寄存器指令(状态寄存器WEL位必须为1)。一旦写使能,该指令通过使片选信号低电平,发送指令码”01h”,然后写状态寄存器数据字节时载入。

             仅非易失性状态寄存器位SRP0,SEC,TB,BP2,BP1,BP0(对应状态寄存器1的第7位,第5位,第4位,第3位,第2位) 以及QE,SRP1(状态寄存器2的第9,第8位)是可写的。其他只能的状态寄存器位不受写状态寄存器影响。

             在第8个或者第16个时钟后,必须拉高片选信号。如果不这样操作,将不执行写状态寄存器指令。如果第8个时钟后片选信号被拉高,则QE和SRP1位将清0。在片选信号被置为高电平时,自计时写寄存器循环将着手一个tw(参见AC特性)的时间间隔。写状态寄存器循环在执行时,然后可以检查寄存器BUSY位。BUSY为1,则表示正在写寄存器;为0,表示写循环完成或在准备接收其他指令。写寄存器指令完成后WEL位将被清0。

             写状态寄存器指令可以设置块保护位(SEC,TB,BP2,BP1以及BP0),用来保护擦除和编程写指令时的内存。被保护区变成只读。  它也可以设置状态寄存器保护位(SRP0,SRP1)。这些位与写保护引脚(/WP)连接,锁起或者一次性编程(OTP)特性来禁止写状态寄存器。所有状态寄存器位的出厂默认设置都为0。

    11.2.9 读数据(03h)

             这个指令可以按顺序从内存中读出一个或多个数据字节。这个指令通过拉低片选信号,提取指令码”03h”加上一个24-bits地址(A23-A0) 放到DI引脚中来初始化。指令码和地址位在时钟信号的上升沿载入。当地址接受后,按照MSB原则在时钟信号下降沿将指定地址上的内存数据将被提取到DO引脚。当一个字节取出后,地址自增长,从而组成一个连续数据流。这意味着整个内存读可以通过单一的指令来访问,只要时钟一直继续。片选信号为高电平时该指令结束。

             当正在擦除指令、编程写、或者写循环(BUSY = 1)时,读数据指令将被忽略并且在当前循环中不起作用。读数据指令允许时钟速率从D.C. 到 fR的最大值(参见AC电子特性)

    11.2.10 快速读(0Bh)

             快速读类似于 在较高的FR频率下执行读数据指令。它通过在24-bit地址后面加入8个空时钟来实现的。如图9所示。空时钟可以让设备内部电路补充时间来设置初始地址。在这空时钟,DO引脚上的数据是无用的,可以不关注。

            

    11.2.11 快速读双倍输出(3Bh)

    快速读双倍输出指令类似于 标准快速读指令(0Bh),用IO0 和IO 1两个引脚输出。这样数据就可以在W25Q16BV上以标准SPI设备两倍的速率传递。快速读双倍输出指令可以从Flash里快速下载代码到RAM去执行。

             类似于快速读指令,快速读双倍输出指令可以在Fr高频率下操作。通过在24-bit地址后面加入8个空时钟来实现的。空时钟可以让设备内部电路补充时间来设置初始地址。空时钟期间,DO引脚上的数据是无用的,可以不关注。但是,IO 0引脚在第一个数据输出时钟的下降沿时必须是高阻抗。

    12.2.12快速读四倍输出(6Bh)

             快速读四倍输出 同快速读双倍输出(3Bh)类似,只是通过IO 0 、IO1、IO2、IO3四个引脚输出。在接受快速读四倍输出指令前,状态寄存器2中的四倍使能必须启用(QE =1)。

             其他同快速读双倍输出(3Bh)。

    11.2.13 快速读 双倍I/O (BBh)

    快速读 双倍I/O指令可以提升随机访问同时维护2个IO引脚,IO 0 和IO 1。它类似于快速读双倍输出(3Bh),但是每个时钟读入2个地址(A23-0)。在某些程序中这种减少指令开销可以直接在双倍SPI上执行代码(XIP)。

             快速读 双倍I/O 之 持续读模式

             快速读 双倍I/O指令通过在输入地址位(A23-0)后设置”连续读取模式”

    展开全文
  • 本文装载于  ...     英特尔® 快速存储技术 ...按芯片组/控制器集线器排列   向英特尔® 快速存储技术中添加新功能支持后,需要特定的硬

    本文装载于  http://www.intel.com/support/cn/chipsets/imsm/sb/CS-022304.htm

     

     

    英特尔® 快速存储技术
    RAID 功能;按芯片组/控制器集线器排列
     

    向英特尔® 快速存储技术中添加新功能支持后,需要特定的硬件。英特尔快速存储技术支持的功能并非在所有支持的芯片组上都可用。

    以下列出了每个 I/O 控制器中枢 (ICH) 上支持的功能:

    英特尔® I/O 控制器中枢  
    受支持的功能 ICH7M ICH7R
    ICH7DH
    ICH7MDH 631xESB
    632xESB
    ICH8R
    ICH8DH
    ICH8DO
    ICH8M ICH8M-E ICH9R
    ICH9DO
    ICH9M-E
    PCH-M
    ICH10R ICH10D ICH10DO PCH
    双驱动器 RAID 0
    3 驱动器或 4 驱动器 RAID 0
    5 驱动器或 6 驱动器 RAID 0
    双驱动器 RAID 1
    3 驱动器或 4 驱动器 RAID 5
    5 驱动器或 6 驱动器 RAID 5
    4 驱动器 RAID 10
    双驱动器据矩阵 RAID
    3 驱动器或 4 驱动器矩阵 RAID
    5 驱动器或 6 驱动器矩阵 RAID
    AHCI 支持
    NCQ 支持
    热交换支持
    3Gb/秒 支持
    外部 SATA
    英特尔® 快速恢复技术
    支持 2-256 TB 卷(仅限数据卷)
    容量扩展
    Windows 7* 中的 TRIM 支持(对于不属于 RAID 卷的硬盘,将处于 AHCI 和 RAID 模式)

    早期的芯片组
    最新版本的英特尔® 快速存储技术不再支持以下平台。

    向英特尔快速存储技术添加新功能支持时,需要特定的硬件。英特尔快速存储技术支持的所有功能并非在所有支持的 I/O 控制器中枢(ICH)上都提供。

    下表列出了每种功能需要的 ICH。

    受支持的功能 英特尔® 82801ER I/O 控制器中枢(ICH5R) 英特尔® 82801FR I/O 控制器中枢(ICH6R) 英特尔® 82801FBM I/O 控制器中枢(ICH6M)
    双驱动器 RAID 0
    3 驱动器或 4 驱动器 RAID 0
    双驱动器 RAID 1
    3 驱动器或 4 驱动器 RAID 5
    4 驱动器 RAID 10
    双驱动器据矩阵 RAID
    3 驱动器或 4 驱动器矩阵 RAID
    AHCI 支持
    NCQ 支持
    热交换支持
    3Gb/秒 支持
    外部 SATA
    英特尔® 快速恢复技术
    支持 2-256TB 数据卷

    相关主题

    识别您的英特尔® I/O 控制器中枢

    适用于:

    英特尔® 快速存储技术
     
    解决方案 ID:CS-022304
    创建日期:2006/2/20
    最后修订日期:2011/8/9
    英特尔® 快速存储技术
    RAID 功能;按芯片组/控制器集线器排列
     

    向英特尔® 快速存储技术中添加新功能支持后,需要特定的硬件。英特尔快速存储技术支持的功能并非在所有支持的芯片组上都可用。

    以下列出了每个 I/O 控制器中枢 (ICH) 上支持的功能:

    英特尔® I/O 控制器中枢  
    受支持的功能 ICH7M ICH7R
    ICH7DH
    ICH7MDH 631xESB
    632xESB
    ICH8R
    ICH8DH
    ICH8DO
    ICH8M ICH8M-E ICH9R
    ICH9DO
    ICH9M-E
    PCH-M
    ICH10R ICH10D ICH10DO PCH
    双驱动器 RAID 0
    3 驱动器或 4 驱动器 RAID 0
    5 驱动器或 6 驱动器 RAID 0
    双驱动器 RAID 1
    3 驱动器或 4 驱动器 RAID 5
    5 驱动器或 6 驱动器 RAID 5
    4 驱动器 RAID 10
    双驱动器据矩阵 RAID
    3 驱动器或 4 驱动器矩阵 RAID
    5 驱动器或 6 驱动器矩阵 RAID
    AHCI 支持
    NCQ 支持
    热交换支持
    3Gb/秒 支持
    外部 SATA
    英特尔® 快速恢复技术
    支持 2-256 TB 卷(仅限数据卷)
    容量扩展
    Windows 7* 中的 TRIM 支持(对于不属于 RAID 卷的硬盘,将处于 AHCI 和 RAID 模式)

    早期的芯片组
    最新版本的英特尔® 快速存储技术不再支持以下平台。

    向英特尔快速存储技术添加新功能支持时,需要特定的硬件。英特尔快速存储技术支持的所有功能并非在所有支持的 I/O 控制器中枢(ICH)上都提供。

    下表列出了每种功能需要的 ICH。

    受支持的功能 英特尔® 82801ER I/O 控制器中枢(ICH5R) 英特尔® 82801FR I/O 控制器中枢(ICH6R) 英特尔® 82801FBM I/O 控制器中枢(ICH6M)
    双驱动器 RAID 0
    3 驱动器或 4 驱动器 RAID 0
    双驱动器 RAID 1
    3 驱动器或 4 驱动器 RAID 5
    4 驱动器 RAID 10
    双驱动器据矩阵 RAID
    3 驱动器或 4 驱动器矩阵 RAID
    AHCI 支持
    NCQ 支持
    热交换支持
    3Gb/秒 支持
    外部 SATA
    英特尔® 快速恢复技术
    支持 2-256TB 数据卷

    相关主题

    识别您的英特尔® I/O 控制器中枢

    适用于:

    英特尔® 快速存储技术
     
    解决方案 ID:CS-022304
    创建日期:2006/2/20
    最后修订日期:2011/8/9
    展开全文
  • cpu对寄存器的访问速度最快

    千次阅读 2016-05-05 09:00:23
     计算机中CPU对其访问速度最快的是( ) 。 A.内存  B.Cache  C.通用寄存器  D.硬盘 所属试卷: 2015年上半年软件设计师考题 为何是通用寄存器而不是CACHE
  • 英特尔公司早有三位创始人:罗伯特·诺宜斯、高登·摩尔、安迪·葛洛夫。集成电路技术的发展一直遵循摩尔定律,高登·摩尔就是摩尔定律创始人。 CPU 是一块超大规模的集成电路,是计算机的运算核心和控制核心。它...
  • arm架构的芯片memory及智能机存储部件简述

    千次阅读 多人点赞 2014-06-03 16:00:56
    刚刚接触芯片开发的工程师常常被各式各样的存储存储管理弄得晕头转向,因此本文简单对ARM架构和基于ARM架构的处理器上的内存及内存管理做一个简单的汇总和整理。文章首先阐述了内存的分类,描述了ARM芯片包含的...
  • 固态硬盘的话,那就爽啦,人家是电路设计,用的是电子存储芯片阵列(Solid State Drive)。 磁存储需要扫描磁头的动作和旋转磁盘的配合。电路存储即固态存储靠的是电路的扫描和开关作用将信息读出和写入。 ...
  • 人工智能:AI 芯片快速起航

    千次阅读 2019-04-30 22:28:07
    来源:平安证券摘要:当前,在算力、算法和大数据三驾马车的支撑下,全球人工智能进入第三次爆发期。然而,作为引爆点的深度学习算法,对现有的算力尤其是芯片提出了更为苛刻的要求。...
  • 什么是存储

    千次阅读 2012-03-26 16:50:48
    如今计算机已经渗透到企业运作的各个角落,企业依靠所存放的这些业务数据进行决策,因此企业如何存放数据成为企业信息系统的重中之重,这也掀起了如今的存储热潮,那么到底什么是存储存储的含义究竟是什么?  ...
  • SoC芯片是什么

    千次阅读 2013-12-15 10:10:28
    SoC可以有效地降低电子/信息系统产品的开发成本,缩短开发周期,提高产品的竞争力,是未来工业界将采用的主要的产品开发方式。虽然SoC一词多年前就已出现,但到底什么是SoC则有各种不同的说法。在经过了多年的争论...
  • 五家公司纷抢,东芝存储花落谁家

    千次阅读 2017-02-12 17:41:55
    目前存储半导体业务(磁盘)是东芝的最后一个王牌业务,存储芯片业务给东芝带来最大的收益来源,其中存储芯片包括NAND型闪存,市场份额仅次于韩国三星电子,位居全球第2位。因财务造假深陷亏损,继出售家电、医疗等...
  • 2018年进步最快的全闪存厂商,华为与领导者象限之间只隔着一层窗户纸。 从目前华为全闪存的综合实力看,本来很有希望在今年冲进领导者象限,但是两个客观方面原因成了掣肘。 一方面,尽管华为在全闪存市场进步很大,...
  • 美国重登500强榜首,这是一份每年更新两次的世界最快超级计算机排行榜。 自2012年以来,还没有一个美国系统排在榜单的首位。 前两年,中国的“神威·太湖一号”名列榜首。 在此之前的三年里,中国的“天河二号...
  • AI芯片格局全分析

    万次阅读 2018-04-10 00:00:00
    本文分析了国内外AI芯片的格局和特点,作者认为,在AI芯片领域,国外芯片巨头占据了绝大部分市场份额,不论是在人才聚集还是公司合并等方面,都具有绝对的领先优势。而国内AI初创公司则又呈现百家争鸣、各自为政的...
  • DSP芯片介绍

    千次阅读 2006-03-18 14:36:00
    签于最近汉芯造假丑闻非常流行,这里介绍一下dsp芯片借此机会,给大家一个dsp芯片的概念http://dsp.blueidea.com/column/weekly/001/145.asp1 什么是DSP芯片 DSP芯片,也称数字信号处理器,是一种具有特殊结构的微...
  • U盘主要有两部分,一是NAND控制芯片,二是NAND存储芯片。其中,NAND存储芯片是U盘实现存储数据的介质。所以,要回答"U盘的存储材料氧化物绝缘层到底是个什么神奇之物?"这个问题,我们接下来的任务就是了解一下NAND...
  • 原文转自:http://www.systhinker.com/html/85/n-21185.html 如果你想写份邮件,检索... 其实归根结底,你还是需要去美国应用材料公司(Applied Materials)购置一套芯片加工设备,应用材料公司是半导体工业设备的主
  • 最近这十几年,GPU的计算能力发展尤其迅速,以NVIDIA 的GPU为例,从2002 - 2014年经历了飞速的增长(注:上图增长趋势最快的线条,计算速度理论峰值从小于500 GFLOPS/s 增长到超过4500 GFLOP/s)。 ...
  • 高效存储技术研究

    万次阅读 热门讨论 2010-12-08 21:29:00
    信息在带来价值和财富的同时,也使给我们带来许多挑战,诸如存储空间巨大、管理复杂性、存储利用率低下、电力消耗巨大、冷却能力不足、总体拥有成本高昂。数据压缩、重复数据删除、自动精简配置、自动分层存储存储...
  • 本文结合最新计算处理技术,针对倾斜摄影的空三计算、三维建模应用,给出目前最快、最高性价比的台式工作站、移动工作站、并行集群的多种配置方案(截止2018年9月) 1. 相关机型介绍 2. 硬件配置方案  2.1 台式...
  • 摄像机DSP芯片介绍

    千次阅读 2019-04-25 13:43:38
    DSP 即数字信号处理技术, DSP 芯片即指能够实现数字信号处理技术的芯片。DSP芯片是一种快速强大的微处理器,独特之处在于它能即时处理资料。 DSP 芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,...
  • Android存储系统如何优化?

    千次阅读 2016-06-30 06:35:01
    Android存储系统如何优化? 我也不知道…那为什么会想到要写这篇文章哪?主要是因为有天晚上和以前一个同事...我们现在主流手机的内置存储芯片一般都是EMMC,一些旗舰级的Android手机已经在使用UFS接口的存储芯片
  • 云计算的那些事之存储虚拟化

    万次阅读 2017-04-29 23:12:29
    数据在整个计算机系统是重要的一部分,也是珍贵的。数据的存储一直是一个热议的话题,在没有云计算之前数据存储已经发展了很久,可以说和云计算没有特别关系,我这边将的云计算存储通常指的是亚马逊的S3存储或者...
  • 巨头王炸不断,硬核解读芯片技术路线

    千次阅读 多人点赞 2021-05-09 11:09:48
    信息有限的拙作,不过最近整个半导体行业实在风起云涌,上周四IBM推出了2nm的芯片,苹果春季发布会上这次苹果发布会上搭建M1的IPad Pro再度炸场、四月中旬ARM推出了新一代的ARMv9、英特尔也拿出了的至强三代Ice ...
  • 存储介质分类: 磁性材料存储器 半导体存储器 光存储器 按功能与存取速度分类: 寄存器型存储器 高速缓冲存储器 主存储器 外存储器 按信息保存时间分类 易失型存储器 非易失型存储器 ...
  • 磁盘存储

    千次阅读 2012-10-13 11:47:35
    本文分一下几块:磁盘简介,磁盘调度,文件存储存储的数据结构,常见磁盘类型,磁盘问题。 磁盘简介   如上图所示,是一个活动头盘的示意图,当磁盘驱动器执行读/写功能时。盘片装在一个主轴上,并绕主轴高速旋转...
  • Intel芯片组大全最新版

    千次阅读 2009-08-17 11:10:00
    只是选择了CPU就应该选择与之相适应的主板,而其余的配件就必须与主板相配套,那么了解主板芯片组的特性就显得非常重要了。本文的目的就是让那些购机、升级的菜鸟朋友们了解芯片组特性,再根据自己的需求确定主板,...
  • 初识STM32F407芯片

    千次阅读 2020-02-06 21:05:47
    嵌入式的开发,核心部分是芯片的开发。目前嵌入式开发主要有单片机、嵌入式linux等。其中单片机以其功能强大、性价比高,在物联网这一行业中占据了大半江山。 4.1 初识STM32F407芯片 本节介绍单片机和STM32F407...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,315
精华内容 22,926
关键字:

存储芯片最快的是