CN100364010C - 一种eeprom在板编程方法 - Google Patents
一种eeprom在板编程方法 Download PDFInfo
- Publication number
- CN100364010C CN100364010C CNB2003101217987A CN200310121798A CN100364010C CN 100364010 C CN100364010 C CN 100364010C CN B2003101217987 A CNB2003101217987 A CN B2003101217987A CN 200310121798 A CN200310121798 A CN 200310121798A CN 100364010 C CN100364010 C CN 100364010C
- Authority
- CN
- China
- Prior art keywords
- eeprom
- boundary scan
- byte
- control
- scan chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本发明有关一种EEPROM在板编程方法,包括步骤:A)将电路板上数个边界扫描器件的边界扫描单元串接成一边界扫描链;B)将边界扫描链中一个边界扫描单元的输出端与EEPROM的串行时钟线相连接;将边界扫描链中另外一个边界扫描单元的输出端与EEPROM的串行数据线相连接;C)控制第一个边界扫描单元输出端的输出信号,使其模拟EEPROM的串行时钟线的操作时序;控制第二个边界扫描单元输出端的输出信号,使其模拟EEPROM的串行数据线的操作时序;以此实现对EEPROM的在板编程。
Description
技术领域
本发明涉及EEPROM的编程方法,尤指利用边界扫描技术实现的一种EEPROM在板编程的方法。
背景技术
边界扫描技术是1985年提出来,它通过存在于器件输入输出管脚与内核电路之间的边界扫描单元提高了器件的可控性和可观察性,通过边界扫描技术可以对器件及其外围电路进行测试。1986年成立了JTAG组织,1988年JTAG提出了标准的边界扫描体系结构,名称叫Boundary-Scan Architecture StandardProposal,Version 2.0,最后目标是应用到芯片、印制板与完整系统上的一套完善的标准化技术。1990年,IEEE正式承认了JTAG标准,经过补充和修订以后,命名为IEEE 1149.1-90。
EEPROM就是电可擦除只读存储器,存储空间一般不大,设计也比较简单,一般通过I2C总线进行配置,在电路板上的应用比较多。一条I2C总线上可以挂多个EEPROM或其余支持I2C总线协议的器件,它们通过I2C总线协议进行通信。一般情况下,EEPROM通过I2C总线上的微处理器进行配置,如图1所示(I2C总线由一根串行数据线SDA和一根串行时钟线SCL组成)。在这种情况下,EEPROM能否配置成功,依赖于微处理器及其配置程序是否能正常工作。
还有很多情况是EEPROM通过专用的编程工具配置完成以后,再焊接到电路板上,与其余器件连接在一起,常见的有逻辑器件等,如图2所示。在这种情况下,电路板上并不支持EEPROM的在板编程,唯一的方法就是将EEPROM通过专门工具配置完成以后,才焊接到电路板上。这样操作工序比较复杂,而且因为焊接可能导致故障,还需要对焊接到电路板上的EEPROM芯片进行专门的检测;另外该种情况下无法在线升级程序,如果需要更改EEPROM的配置信息,唯一的办法就是将EEPROM芯片橇下来,重新配置以后,再焊接到电路板上去,这样显然是非常不方便的。
现有技术的缺点是显然的,第一种方法,必须有专门的配置程序,并且微处理器必须正常工作;第二种方法,无法实现在板编程,更改EEPROM的配置程序非常麻烦,不容易操作,而且容易造成芯片损坏。
发明内容
本发明提供一种通过边界扫描技术来实现EEPROM在板编程的方法,克服现有技术无法实现在板编程的缺点。
本发明的EEPROM在板编程方法,包括下列步骤:
A)将电路板上数个边界扫描器件的边界扫描单元串接成一边界扫描链;
B)将边界扫描链中第一边界扫描单元的输出端与EEPROM的串行时钟线相连接;将边界扫描链中第二边界扫描单元的输出端与EEPROM的串行数据线相连接;
C)使第一边界扫描单元输出端的输出信号模拟EEPROM的串行时钟线的操作时序;使第二边界扫描单元输出端的输出信号模拟EEPROM的串行数据线的操作时序;以此实现对EEPROM的在板编程。
根据本发明的上述方法,EEPROM还有数个控制线,该方法还包括如下步骤:
将EEPROM的数个控制线连接到所述边界扫描链的其余数个边界扫描单元的输出端上;
控制上述数个边界扫描单元输出端的输出信号,使其模拟各该控制线的控制信号时序,实现对EEPROM的相应控制。
根据本发明的上述方法,所述各边界扫描单元的输出信号可通过软件控制实现。
根据本发明的上述方法,所述EEPROM的串行数据线的操作时序包括对EEPROM进行写操作的控制信号时序和/或对EEPROM进行读操作的控制信号时序。
根据本发明的上述方法,所述写操作控制信号时序包括顺序发送传输起始位、控制字节、地址字节、数据字节和传输终止位,在发送控制字节、地址字节以及数据字节后,分别通过扫描链读回EEPROM的响应位,再继续后面的发送过程。
根据本发明的上述方法,所述数据字节可为一个或数个。
根据本发明的上述方法,所述读操作控制信号时序包括顺序发送传输起始位、控制字节、数据字节和传输终止位,在发送控制字节后通过扫描链读回EEPROM的响应位后再发送数据字节。
根据本发明的上述方法,所述数据字节可为一个或者多个,在发送每一个数据字节后通过扫描链读回EEPROM的响应位后再发送下一个数据字节(如果存在多个字节的数据)。
本发明通过边界扫描技术成功实现EEPROM的在板编程,而且不需要电路板参与工作,它是借助边界扫描器件自身具备的边界扫描链独立完成的。
附图说明
图1为现有技术中通过微处理器配置EEPROM的连接图。
图2为现有技术中将配置后的EEPROM与其余非处理芯片的连接图。
图3为本发明通过边界扫描链进行EEPROM在板编程的连接示意图。
图4为本发明实例24LC128芯片的接脚示意图。
图5为本发明EEPROM I2C总线上的数据传输时序图。
图6为本发明实例写入一个字节时的控制信号时序图。
图7为本发明实例写入多个字节时的控制信号时序图。
图8为本发明实例读回一个字节时的控制信号时序图。
图9为本发明实例读回多个字节时的控制信号时序图。
具体实施方式
参见图3,为本发明通过边界扫描链进行EEPROM在板编程的连接示意图。如图所示,将电路板上的微处理器、逻辑器件或其余边界扫描器件的边界扫描单元串接起来,组成一边界扫描链。图中BSC(Boundary Scan Cell)表示串接的边界扫描单元,TRST(Test Reset)为边界扫描链的测试复位,TCK(Test Clock)为边界扫描链的测试时钟,TMS(Test Mode Select)为边界扫描链的测试模式选择,TDI(Test Data Input)为边界扫描链的测试数据输入,TDO(Test Data Output)为边界扫描链的测试数据输出。将需编程的EEPROM的串行数据线与一个边界扫描单元的输出端相连接,将EEPROM的串行时钟线与另一个边界扫描单元的输出端相连接,将EEPROM的其余控制线(如写保护控制线或者片选控制线等)与其余的边界扫描单元相连接,通过控制各BSC的输出,模拟EEPROM的操作时序,可以完成EEPROM的读写操作,达到在板编程EEPROM的目的。
挂在I2C总线上的EEPROM的读写时序一般都是类似的,下面以MICROCHIP公司的EEPROM芯片24LC128为例进行说明。
参见图4,为24LC128芯片外形,其中A2、A1、A0为芯片选择位,所以一条I2C总线上最多挂8片24LC128芯片。Vcc为电源,Vss为地线,SCL为串行时钟线,SDA为串行数据线,WP为写保护控制线,WP为高时,禁止写操作。如果WP下拉接地,则不需要再进行控制,否则需要将WP连接到边界扫描链上加以控制。
通过I2C总线上的BS(边界扫描)器件的边界扫描链控制SCL和SDA,按照24LC128的读写操作时序完成指定的读写操作。图5表示了I2C总线上的数据传输时序,通过软件控制边界扫描链的并行数据输入和输出可以满足数据传输时序的要求。
对24LC128进行写操作时,可以指定地址写一个字节,也可以指定一个起始地址,写不多于一页的数据(一页为64个字节,一次不能跨页写)。图6就是在特定地址写一个字节,通过边界扫描链控制SDA的输出和输入的时序图(图中响应位为EEPROM发回的响应位,需要通过扫描链读回来进行分析,只有响应位为“0”的时候才能进入下一步操作)。
当然读写操作都必须配合控制SCL的输出完成,同时还有可能需要通过扫描链控制EEPROM的某些控制线。图6中“开始”表示传输起始位,“停止”表示传输终止位,“控制字节”中的“1010”表示读写操作命令,A2、A1和A0表示选中哪一个EEPROM进行操作,“控制字节”的最后一位为“0”表示写操作,为“1”表示读操作。因为24LC128的存储容量为128Kbit,所以地址空间为0×0000-0×3FFF。控制字节后面的两个字节表示读写操作的具体地址,用两个字节中的14位表示,最高两位不关心。
24LC128还支持页写方式,就是从特定地址开始,在一页内,可以连续写入不多于64个字节的数据,这样可以提高写操作的效率。图7表示控制扫描链写多个字节,对SDA的控制时序。
24LC128的读操作没有什么限制,可以在一个特定地址读回一个字节,如图8所示为从24LC128读回一个字节时边界扫描链对SDA的控制时序;也可以在发完读指令以后,一直都执行读操作,直到主动停止为止,如图9所示。
有的EEPROM芯片并不是按照上面的I2C总线进行设计的,比如ATMEL公司的AT93C46、AT93C56和AT93C66芯片就是一种包含三根串行线的设计,其中一根串行时钟线、一根串行数据输入线和一根串行输出线。按照它的操作时序,通过边界扫描链控制这三根线的输入输出,同样可以完成EEPROM的在板编程,操作方法和上面的例子是类似的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种EEPROM在板编程方法,其特征在于,包括下列步骤:
A)将电路板上数个边界扫描器件的边界扫描单元串接成一边界扫描链;
B)将边界扫描链中第一边界扫描单元的输出端与EEPROM的串行时钟线相连接;将边界扫描链中第二边界扫描单元的输出端与EEPROM的串行数据线相连接;
C)使第一边界扫描单元输出端的输出信号模拟EEPROM的串行时钟线的操作时序;使第二边界扫描单元输出端的输出信号模拟EEPROM的串行数据线的操作时序;以此实现对EEPROM的在板编程。
2.如权利要求1所述的EEPROM在板编程方法,其特征在于,所述EEPROM还有数个控制线,该方法还包括如下步骤:
将EEPROM的数个控制线连接到所述边界扫描链的其余数个边界扫描单元的输出端上;
控制上述数个边界扫描单元输出端的输出信号,使其模拟各该控制线的控制信号时序,实现对EEPROM的相应控制。
3.如权利要求1或2所述的EEPROM在板编程方法,其特征在于,所述各边界扫描单元的输出信号可通过软件控制实现。
4.如权利要求1所述的EEPROM在板编程方法,其特征在于,所述EEPROM的串行数据线的操作时序包括对EEPROM进行写操作的控制信号时序和/或对EEPROM进行读操作的控制信号时序。
5.如权利要求4所述的EEPROM在板编程方法,其特征在于,所述写操作控制信号时序包括顺序发送传输起始位、控制字节、地址字节、数据字节和传输终止位,在发送控制字节、地址字节以及数据字节后,分别通过扫描链读回EEPROM的响应位,再继续后面的发送过程。
6.如权利要求5所述的EEPROM在板编程方法,其特征在于,所述数据字节可为一个或多个。
7.如权利要求4所述的EEPROM在板编程方法,其特征在于:所述读操作控制信号时序包括顺序发送传输起始位、控制字节、数据字节和传输终止位,在发送控制字节后通过扫描链读回EEPROM的响应位后再发送数据字节。
8.如权利要求7所述的EEPROM在板编程方法,其特征在于:所述数据字节可为一个或数个,在发送每一个数据字节后通过扫描链读回EEPROM的响应位后再发送下一个数据字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101217987A CN100364010C (zh) | 2003-12-24 | 2003-12-24 | 一种eeprom在板编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101217987A CN100364010C (zh) | 2003-12-24 | 2003-12-24 | 一种eeprom在板编程方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1632878A CN1632878A (zh) | 2005-06-29 |
CN100364010C true CN100364010C (zh) | 2008-01-23 |
Family
ID=34844276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101217987A Expired - Fee Related CN100364010C (zh) | 2003-12-24 | 2003-12-24 | 一种eeprom在板编程方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100364010C (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103680608A (zh) * | 2012-09-18 | 2014-03-26 | 英业达科技有限公司 | 提高边界扫描技术对芯片烧录速度的系统及其方法 |
CN103077747A (zh) * | 2012-12-20 | 2013-05-01 | 北京航天测控技术有限公司 | Eeprom存储器的建模方法和边界扫描测试程序的加载方法 |
CN106227682B (zh) * | 2015-08-31 | 2020-08-18 | 旺宏电子股份有限公司 | 电子装置、存储器装置及其数据交换方法 |
US10831959B2 (en) * | 2019-03-25 | 2020-11-10 | Achronix Semiconductor Corporation | Embedded FPGA timing sign-off |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1246617A (zh) * | 1998-08-14 | 2000-03-08 | 索尼公司 | 具有非易失性存储器的信号处理装置及非易失性存储器的编程方法 |
CN1263618A (zh) * | 1998-04-21 | 2000-08-16 | 爱特梅尔股份有限公司 | 使用非易失性元件的可编程逻辑器件中的配置控制 |
CN1369714A (zh) * | 2001-07-18 | 2002-09-18 | 中国人民解放军第二炮兵工程学院技术开发中心 | 大规模集成电路边界扫描测试系统 |
-
2003
- 2003-12-24 CN CNB2003101217987A patent/CN100364010C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1263618A (zh) * | 1998-04-21 | 2000-08-16 | 爱特梅尔股份有限公司 | 使用非易失性元件的可编程逻辑器件中的配置控制 |
CN1246617A (zh) * | 1998-08-14 | 2000-03-08 | 索尼公司 | 具有非易失性存储器的信号处理装置及非易失性存储器的编程方法 |
CN1369714A (zh) * | 2001-07-18 | 2002-09-18 | 中国人民解放军第二炮兵工程学院技术开发中心 | 大规模集成电路边界扫描测试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1632878A (zh) | 2005-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6999353B2 (en) | Semiconductor memory device including page latch circuit | |
US6442092B1 (en) | Interface circuit and method for writing data into a non-volatile memory, and scan register | |
US6922649B2 (en) | Multiple on-chip test runs and repairs for memories | |
US20120198292A1 (en) | Test apparatus and test method | |
CN100353454C (zh) | 具有上电或复位硬件安全特性的安全多熔丝只读存储器及其方法 | |
CN109542478A (zh) | 一种更新SPI Flash内FPGA程序的系统及方法 | |
WO1994024674A1 (en) | Semiconductor memory tester | |
EP1881505A1 (en) | Memory device with embedded microprocessor for autonomously searching and repairing failures | |
JP2008310955A (ja) | 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法 | |
KR20000028580A (ko) | 불휘발성반도체메모리ic | |
JPH0773696A (ja) | セルフ・タイム式メモリ・アレイ及びそれをテストする方法 | |
JP4334463B2 (ja) | 半導体集積回路のテスト装置および方法 | |
US5377199A (en) | Boundary test scheme for an intelligent device | |
JP3353602B2 (ja) | 半導体装置の試験方法 | |
JP2000065899A (ja) | 半導体装置およびそのデータ書き換え方法 | |
US20080282119A1 (en) | Memory device and built in self-test method of the same | |
JP3441055B2 (ja) | 不揮発性メモリ内蔵マイクロコンピュータの検査システム | |
JP3157932B2 (ja) | Icカード用インターフェース回路 | |
CN100364010C (zh) | 一种eeprom在板编程方法 | |
KR100875294B1 (ko) | 프로그래밍시 블럭단위의 상태 레지스터를 확인하는 플래시메모리와 그 방법 | |
US6738308B2 (en) | Asynchronous flash-EEPROM behaving like a synchronous RAM/ROM | |
KR19980032494A (ko) | 메모리 시험장치 | |
CN101165710B (zh) | 智能卡以及测试智能卡的方法 | |
CN110109708A (zh) | 一种控制器NandBoot机制的方法及其系统 | |
US6785174B2 (en) | Testing method and device for non-volatile memories having a LPC (low pin count) communication serial interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080123 Termination date: 20171224 |
|
CF01 | Termination of patent right due to non-payment of annual fee |