自动识别EEPROM分页大小及写EEPROM的方法技术

技术编号:3081145 阅读:1176 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种自动识别电可擦可编程只读存储器EEPROM分页大小的方法,包括:微处理器控制单元MCU读写EEPROM的地址点,确定EEPROM的容量大小;根据EEPROM的容量大小和该EEPROM分页大小的对应关系,识别出该EEPROM分页大小。本发明专利技术还公开了一种存储器直接存取DMA方式写EEPROM的方法。本发明专利技术能够自动识别EEPROM分页大小,加快芯片测试的周期。

【技术实现步骤摘要】

本专利技术涉及芯片测试与应用领域,尤其涉及一种自动识别EEPROM (Electrically Erasable Programmable Read-Only Memory, 电可擦可编程 只读 存储器)分页大小及DMA ( Direct Memory Access,存储器直接存取)方 式写EEPROM的方法。
技术介绍
MCU (microprocessor control unit,微处理器控制单元)能用两种方式 通过12(:总线读写EEPROM,其一是常规模式(General mode ),另一个是 DMA模式(DMAmode)。在常规模式下,读写EEPROM只能一个字节一个字节地进行;而DMA 模式下,读写EEPROM可以以分页(Page)为单位进行。使用DMA mode 时,MCU中EEPROM地址自动更新范围局限于EEPROM的一个分页中, 一旦需要进行的DMA操作的EEPROM地址范围大于一个分页,那么就需 要根据分页大小进行多次的DMA操作。由于不同型号的EEPROM对应的分页大小并不相同,如表l所示,分 页大小有8字节(byte) , 16字节,32字节等等,所以,在DMA跨页读写 测试以及实际应用中,需要事先知道EEPROM型号,根据EEPROM型号确 定分页大小,这样给测试及使用带来不便。表1 ATMEL的AT24CXX系列EEPROM资料EEPROM型号EEPROM大小分页大小AT24C01IK8 byteAT24C022K8 byte<table>table see original document page 5</column></row><table>
技术实现思路
本专利技术要解决的技术问题就是提出一种自动识别EEPROM分页大小及 DMA方式写EEPROM的方法,克服现有技术在DMA跨页读写测试以及实 际应用中,需要事先知道EEPROM型号,再根据EEPROM型号确定分页大 小的问题,自动识别EEPROM分页大小,加快芯片测试的周期。为了解决上述技术问题,本专利技术提供一种自动识别电可擦可编程只读存 储器EEPROM分页大小的方法,包括如下步骤(1 )微处理器控制单元MCU读写EEPROM的地址点,确定EEPROM 的容量大小;(2 )根据EEPROM的容量大小和该EEPROM分页大小的对应关系, 识别出该EEPROM分页大小。进一步地,所述步骤(1 )中,MCU读写EEPROM的地址点时,把MCU 设置在常规模式。进一步地,所述步骤(1 )中,MCU读写EEPROM的地址点为EEPROM 的分界地址点。进一步地,所述步骤(1 )中,对不同EEPROM大小的分界地址点进行 写才喿作,再读这些地址点,判断返回值是否和写入值一致,确定EEPROM 大小。为了解决上述技术问题,本专利技术还提供一种存储器直接存取DMA方式 写EEPROM的方法,其特征在于,包括如下步骤(A) MCU读写EEPROM的地址点,确定EEPROM的容量大小;(B )根据EEPROM的容量大小和该EEPROM分页大小的对应关系, 识别出该EEPROM分页大小;(C )设置DMA写操作的起始地址和长度,根据EEPROM分页大小, 进行DMA方式写EEPROM。进一步地,所述步骤(A)中,MCU读写EEPROM的地址点时,把 MCU设置在常规模式。进一步地,所述步骤(A )中,MCU读写EEPROM的地址点为EEPROM 的分界地址点。进一步地,所述步骤(A)中,对不同EEPROM大小的分界地址点进 行写^喿作,再读这些地址点,判断返回值是否和写入值一致,确定EEPROM 大小。进一步地,所述步骤(C)包括如下步骤(CI )设置MCU工作在DMA模式,并设置DMA写操作的起始地址 和长度,判断第一次读写的长度,进行第一次DMA写操作;(C2)判断剩余需要写入的长度是否小于一个分页,若否,则执行(C3 ), 否则,执行步骤(C4);(C3)更新起始地址,进行一个分页长度的DMA写操作,返回执行步 骤(C2);(C4)进行小于一个分页长度的最后一次DMA写操作。进一步地,所述步骤(Cl)第一次DMA写操作中,先判断起始地址到 下一个页边界的长度,以这个起始地址和长度进行第一次DMA写操作。在过去的DMA跨页读写测试中,需要先知道EEPROM型号,然后再 查询分页大小。在本专利技术中完全可以达到自动识别的目的,能够达到快速判断的效果,大大加快芯片测试的周期。附图说明图1是本专利技术实施例的流程图。具体实施方式通过查询EEPROM特性可以看出,EEPROM的分页大小和它的实际容 量大小有对应关系(正比)。例如ATMEL的AT24CXX系列的EEPROM, 其512K (AT24C512)的EEPROM,分页大小为128字节,而128K (AT24C128) , 64K (AT24C064 )的分页大小就是64字节,而最小的lk 容量的(AT24C1),分页大小仅仅为8字节(见表1),因此我们可以通 过确定所连的EEPROM的容量大小,来确定其分页的大小。然后通过进行 多次的DMA写入,完成地址范围4支大的跨页DMA写入。对于如何确定EEPROM的容量大小,可以利用MCU中的常规模式, 对几种EEPROM大小的分界地址点进行写操作,再读这些地址点,通过返 回值是否和写入值一致,就能确定EEPROM大小,再根据EEPROM大小 和分页大小的对应关系,确定分页大小。下面结合附图及具体实施例对本专利技术进行详细说明。如图1所示,本专利技术实施例包^r如下步骤步骤IOI,把MCU设置在常规一莫式;步骤102,写EEPROM大小的边界,读取返回值;例如,对于ATMEL的EEPROM,可以依次写地址点0x200 (对应 AT24C01, 1K容量大小的分界地址点),0x400 (对应AT24C02, 2K容量 大小的分界地址点),0x400(对应AT24C04,4K容量大小的分界地址点)…… 0x40000 (对应AT24C512, 512K容量大小的分界地址点);步骤103,判断读取的返回值与写入的值是否一致,若一致,则表示写 入了相应的值,即写入未超过其地址范围,还需要进一步判断其容量,返回步骤102;若不一致,则表示没有写入相应值,即写入超过其地址范围,可 以判断出该EEPROM容量,执行下一步;在步骤102 ~ 103中,由于对于ATMEL的EEPROM, AT24C512具有 最大容量(512K),如果判断不是256K ( AT24C256 ),那么一定是512K (AT24C512),所以最大只需写分界地址点到0x20000 (对应AT24C256, 256K容量大小的分界地址点),若写入值与读出值相同,即可判断容量为 512K;或者为保险起见,可以写512K的分界地址点0x3ffff,如果写入值与 读出值相同,即可判断容量为512K;步骤104,根据EEPROM大小和分页大小的对应关系,确定分页大小;以上步-骤即可自动识别EEPROM分页大小。步骤105,在后续的执行DMA方式写搡作时,通过设置的DMA写操 作的起始地址和长度,判断第一次读写的长度,保证以后的读写都是从分页本文档来自技高网
...

【技术保护点】
一种自动识别电可擦可编程只读存储器EEPROM分页大小的方法,其特征在于,包括如下步骤:    (1)微处理器控制单元MCU读写EEPROM的地址点,确定EEPROM的容量大小;    (2)根据EEPROM的容量大小和该EEPROM分页大小的对应关系,识别出该EEPROM分页大小。

【技术特征摘要】
1、一种自动识别电可擦可编程只读存储器EEPROM分页大小的方法,其特征在于,包括如下步骤(1)微处理器控制单元MCU读写EEPROM的地址点,确定EEPROM的容量大小;(2)根据EEPROM的容量大小和该EEPROM分页大小的对应关系,识别出该EEPROM分页大小。2、 如权利要求i所述的方法,其特征在于,所述步骤(1)中,MCU 读写EEPROM的地址点时,把MCU设置在常规模式。3、 如权利要求l所述的方法,其特征在于,所述步骤(l)中,MCU 读写EEPROM的地址点为EEPROM的分界地址点。4、 如权利要求3所述的方法,其特征在于,所述步骤(l)中,对不同 EEPROM大小的分界地址点进行写操作,再读这些地址点,判断返回值是 否和写入值一致,确定EEPROM大小。5、 一种存储器直接存取DMA方式写EEPROM的方法,其特征在于, 包括如下步骤(A) MCU读写EEPROM的地址点,确定EEPROM的容量大小;(B )根据EEPROM的容量大小和该EEPROM分页大小的对应关系, 识别出该EEPROM分页大小;(C )设置DMA写操作的起始地址和长度,根据EEPROM分页大小, 进行DMA方...

【专利技术属性】
技术研发人员:蒋亚诚游明琦谢韬
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1