|
基本数据
Question
1
HT24LC系列 & HT93LC系列Serial EEPROM的差异为何?
Answer
| Feature |
2-Wire (HT24LCxx) |
3-Wire
(HT93LCxx) |
| Interface |
Serial data I/O, Clock |
Data in, Data out, Clock, CS |
| Clock Rate (max) |
400K |
2M |
| Page Write |
Yes |
No |
| Memory Organization |
X8 bit |
X8 bit or x16 bit |
| Write to All mode |
No |
Yes |
| Specific features |
Hardware write protect WP pin |
Software write protect EWDS
instruction |
Question 2
HT93LC系列的EEPROM封装分A、B两种,请问它们有何异同?MCU对它们进行读写操作时需要注意些什么?
Answer
它们之间只是引脚位置不同,MCU对其读写时软件完全一样。
应用说明
Question
1
如何去Reset一个HT93LCXX IC?
Answer
重新Toggle CS
pin Low 即可 Reset HT93LCXX。
Question
2
我尝试在我的电路中使用一颗HT93LCXX
IC,看起来Read动作还算正确,但是一直无法正确执行写入数据的动作,请问是什么问题?
Answer
这类的问题通常是由于在CS信号线转为Low前,未依照指令结构提供正确的位数,或CS信号线根本没有变成Low。数据写入的动作在CS信号线转为Low后才会动作。
Question
3
当我在对一颗HT93LCXX组件执行Write
Command时,如果我在CS信号线变为Low之前,不小心给了太多或太少的Clocks,结果会如何?
Answer
一个完整的Write
Command,是在CS信号线由High转为Low后才真正进入Write
Cycle。如果你送了太多的Clock,这个写入指令仍会执行,但多余的Clock会被忽略;如果你送的Clock不够,那么这个写入指令无效,不会发生任何的写入动作。
Question
4
当我在使用一个HT93LCXX组件时,我是否必需在每一个指令中间执行Toggle
CS pin Low的动作?
Answer
是的,你必须在每一个指令中间执行Toggle
CS pin Low 的动作,而CS脉冲至少要有250ns宽。如果你正在执行Write Command,你必须Toggle
CS pin Low已启动Write Cycle;当完成写入动作且你已侦测到一个Ready信号后,在你送出下一个Start
Bit之前,你必须再Toggle CS pin Low。
Question
5
对HT93系列操作时,在两个不同的命令码发送之间,一定要将CS引脚拉低吗?
Answer
是的。而且在两个命令码之间CS拉低时间至少要保持250ns,如果工作电压在2.2V时候,CS的拉低时间至少要保持1000ns。要注意的是,如果此时你进行写操作,当你所要写的数据发送完毕,将CS拉低保持一定时间后拉高CS,在读到HT93系列给出的ready信号之后,你必须再一次作一次拉低CS的动作,才能给出你要进行的下一条命令码的START位,也就是说需要两次拉低CS引脚。
Question
6
对HT93系列写操作时,在判断DO引脚给出的READY信号时,我能否直接使用DELAY的方式来替代?
Answer
一般来説不太建议直接使用DELAY而不去判断
DO引脚的READY信号。因爲HT93系列操作时,只有在读到DO引脚给出的READY信号,才真正表明HT93系列的写操作确实已经成功完成。当然如果一味的等待DO引脚的READY信号可能容易造成程序的死循环,所以当采用此种模式时,建议在判断DO引脚时候多一个时间旗标的判断,在判断DO的READY信号时候如果超过了一定时间,则程序可以认爲此次操作失败。 当然如果客户一定需要使用DELAY的方式延迟的话,请给够足够的延迟时间(HT93系列为5ms),以免造成写操作失败。
Question
7
我的HT93
EEPROM的程序爲何只有WRITE和ERASE不行,而其它的操作都是通过的呢?
Answer
对HT93
EEPROM操作时需要注意的是,READ、ERASE和WRITE操作时,在写完操作码后的一个CLOCK并不送实际的有效地址,但是DI输出必须为0,否则此操作会无效,出现其它操作都通过而WRITE和ERASE不行的情况是因爲READ操作码最后一位为0,使得进入下一个CLOCK时的DI的输出为0。所以在进行WRITE和ERASE操作时必须注意这点,否则操作就会失败。
Question 8
什么往EEPROM中写数据后重新读出的数据总出现漏数或错数?
Answer
是因为没有正确使用读写命令。
写命令时候需注意,在开片选CS,给出时钟信号SK,并且在DI发出对应写指令的命令代码及地址与数据之后关片选,此时要在大于一个DS
Deselect Time之后再开片选,并且观看DO PIN准位,在出现高准位后重新关片选,这才表明EEPROM写好数据并且校验完成,一个完整的写操作才结束。如果漏了后面的开及重新关片选的过程,后面再写数据将会出错;读命令时候需注意,在开片选CS,给出时钟信号SK,并且在DI发出对应读指令的命令代码及地址后,DO
PIN此时将出现一个低准位,这时候需由SK再发出一个上升缘跳变,然后DO
PIN才依次传出有效数据,再由SK给时钟信号顺序读取。如果漏了上述中的那个上升缘跳变直接把DO
PIN的那个低准位起始位作为资料来读,将会把数据读错。
Question 9
往EEPROM中写数据总是写不进去是什么原因?
Answer
EEPROM有数据保护功能,在刚上电后或者在接收了EWDS擦写禁能指令后,即使向它发送擦写指令,都将修改不了EEPROM中的数据,
要想实现擦写其中数据必须先向它发送擦写致能指令EWEN。EEPROM接收到EWEN指令后,将一直生效,直到断电或接收到下一个EWDS指令才失效。
另外,在发送指令时,对应EWDS或EWEN的命令位数一定要与规格书中要求相符,所用指令才会生效,否则该指令无效,后面要往EEPROM中写数据将依然写不进去。
注意事项
Question
1
要写入资料到一颗HT93LCXX
IC的步骤应该如何?
Answer
HT93LCXX组件在一开始接上电源时,它会直接进入EWDS状态(Erase/Write
Disable),在此种状态下任何的写入/抹除指令都是无效的,所以您在执行写入数据前必须先执行EWEN指令(Erase/Write
Enable),以启动组件于可抹除/写入状态,然后再执行Write指令。为了避免误写动作发生,建议您在完成写入动作后,接着送出一个EWDS指令来禁制所有的意外写入。
Question
2
该使用哪一种烧录器烧盛群的EEPROM?
Answer
请至盛群网站
www.holtek.com.tw --> 选择Technical Support a Supporting
Tools --> 选择『Memory Programming』,此档案表列出经盛群认证之烧录器及其相关信息。
Question
3
若我使用的EEPROM烧录器机型或版本不在盛群网站上『Memory
Programming』的表列中,请问如何得知此烧录器是否可烧录盛群EEPROM?
Answer
本公司仅针对盛群网站上『Memory
Programming』表列的机型及版本予以认证,其它机型及版本请连上该制造商之网页或电话联络该制造商,以询问相关讯息。
Question 4
如何有效地烧录EEPROM?
Answer
1.
确认您的机器设备、软件版本有支持烧录该型号之组件。 2. 确认机器设备通过自我检查的项目。 3.
确认脚座是干净、没有氧化的。 4. 不要直接用手去接触组件,请用IC夹具。 5.
操作员、烧录器、工作桌永远要接地。 6. 确认IC与脚座接触良好。 7. 脚座在使用一段时间后,请记得更新。
|