Basic Information Functional Description Application Description Points to Note Others

Basic Information

 

Question 1

For a single entry data write, will the Page Write save much time than Byte Write?

Answer

No, it takes the same time for the Page Write and Byte Write to complete a single entry data write. For array data write, Device Address and Word Address need not to be input for each data word in Page Write instruction, therefore the total write time is much shorter.


Question 2

Can I protect just half of the contents of the HT24LCXX device?

Answer

No, all of our HT24LCXX devices have a full protection feature.


Question 3

What is the maximum operating frequency of the HT24 series, 100kHz or 400kHz?

Answer

The 100kHz operating frequency is valid for the entire VDD range of 2.2V~5.5V. If the operating voltage is limited within 5V ±10%, the operating frequency can be up to 400kHz.


Question 4

On the HT24LC 02/04/08/16 EEPROM series, does the WP pin have an internal pull-high or pull-low resistor? When using these devices, should the pin to tied to VCC or GND or can it be left floating?

Answer

According to the present Holtek specification, the WP pin has no pull-high or pull-low resistor, therefore the pin must be connected to VDD if it is to be write-protected or to VSS if the write mode function is enabled. The pin must not be left in a floating condition.

 


Functional Description

 


Question 1

The Page Buffer Size of HT24LC02 is 8 bytes. What will happen if I load in data more than 8 bytes when executing the page write instruction?

Answer

If you load in data which exceeds the Pager Buffer Size of HT24LC02, then the address of the Page Buffer will loop back to the first data address and the first data you wrote will be overwritten. As a result, the data in the Pager Buffer will be the last 8 bytes that you write.


Question 2

What's the initial value of the address pointer of the HT24LCXX after power-up?

Answer

The initial value of the address pointer of HT24LCXX after power-up is 0000h. If you do the random read instruction right after the power-up, you'll read the data stored in address 0000h.


Question 3

How long is the delay before issuing any access instruction after the power-up?

Answer

About 10ms after power-up.


Question 4

What's the recommended pull-up resistance value for a SDA pin?

Answer

For HT24LCXX, SDA is an Open Drain pin. A 1Kohm~2Kohm pull-up resistor is recommended.


Question 5

Should I add any pull-up resistance on a SCL pin?

Answer

It's not necessary. However, if your MCU driver is an Open-Collector pin, you'll have to put a Pull-Up resistance.


Question 6

For HT24LCXXX serial EEPROM Read operations, should there always be a "No ACK" before the Stop condition is issued?

Answer

Yes, for the HT24LCXXX serial EEPROM Read operations, the "No ACK" (SDA high and a SCL clock) should be issued before the Stop condition to complete the Read Timing.


Question 7

Why can I not read out the data after writing it in the HT24LCXX? But I can read data out with an I2C programmer.

Answer

After issuing the STOP bit to complete the WRITE command, the HT24LCXX enters its internal WRITE cycle which runs at a maximum of 5ms. During such time, any further command will be ignored until the internal WRITE cycle is finished. It is recommended to add a 5ms delay after the STOP bit of the WRITE command if some consecutive commands are issued.


Question 8

Can I send a STOP signal first and then a START signal in the two edges of a one clock pulse?

Answer

Yes, you may do so as long as the signal timing requirements are met. For details, refer to the A.C. Characteristics section of the datasheet.


Question 9

For the HT24LC64 device, when writing a single byte, will using a Page Write command be quicker than using a Byte Write command?

Answer

No, the write cycle time for both the Page Write and the Byte Write is the same. Only if writing more than one byte will the time be shorter. This is because it is not necessary to rewrite the Device Address and Word Address with the Page Write command, thus saving time.


Question 10

When using the HT24LCXX devices, before a Write Command has finished, if the WP line is low (unprotected) and then goes high (protected) what will happen?

Answer

For the HT24LC02/04/08/16/64 devices, when the Write Command is executing and if the WP line goes from low to high, two outcomes are possible:

  • If before the Word Address has been fully entered, if the WP line goes high the device will not enter the Write Mode, therefore the Write Command will have no effect.
  • When inputting data, if the Word address has been already written, then as the device has already entered the Write mode, it will continue executing the Write Command if the WP line goes high.

Question 11

Do the HT24LC04, HT24LC08 and HT24LC16 slave device addresses match the external A2, A1 and A0 pins? 

Answer

For the HT24LC04 device, the external pins A2 and A1 are hard wired to the slave address A2 and A1. The address A0 is used as a page select. Therefore on the IIC bus up to four HT24LC04 devices can be connected together. For the HT24LC08 device, the external pin A2 is hard wired to the slave address A2. The A1 and A0 addresses are used for page select. Therefore up to two HT24LC08 devices can be connected together on the IIC bus. For the HT24LC16 device, the external pins A2, A1 and A0 are not used. The addresses A2, A1 and A0 are all used for page select. Therefore only one HT2LC16 device can be connected to the IIC bus. 


 

Application Description

 


Question 1

Can I execute Page Write at any address when using HT24LC16 IC? How will it function?

Answer

Yes, you can execute Page Write at any address. However, please note that the Page Buffer Size of HT24LC16 is 16 bytes. You can't write to the next page in each Page Write. If you are executing the Page Write and have written to the end of the page, the next data will be written to the beginning address of the page instead of the next page. For example, the first page of HT24LC16 ranges from 0x00 to 0x0F. If the page write starts from 0x0E, then the first byte will be witten to the address 0x0E and the second byte will be written to address 0x0F and the third byte will be written to address 0x00.


Question 2

Is there any other way to know when the Write Cycle is finished without being have to wait for 5ms if I use HT24LC16 in my circuit?

Answer

Yes, you can use the Acknowledge Polling to know when the Write Cycle is complete. Since a HT24LCXX won't send an acknowledge signal while executing the Write Cycle, after you sending a stop bit signal to complete the Write instruction, you can send immediately a start bit signal followed by a proper control byte(R/W Bit should be Low for Write Mode), and then check the acknowledge bit status. If it's high, the write cycle is still in process. If it's low, the write cycle is finished, and you can execute the next instruction. (Please refer to the datasheet for Acknowledge polling flow)


Question 3

What will happen if I try to execute the write instruction if the HT24LCXX is in the Write Protect Mode?

Answer

When the WP pin of HT24LCXX IC is connected to Vcc, the whole IC will be in the Write Protect Mode. You can still issue the Write Instruction, yet no data can be written into. If you go on with Acknowledge Polling, you will receive a Low acknowledge bit at the first byte.


Question 4

What will happen if the WP signal line chages from low (unprotected) to high (protected) before the write instruction is finished on HT24LCXX?

Answer

Regarding HT24LC02/04/08/16, the WP signal line changes from low to high during the execution of write instruction, the results will be:

  1. Before Word Address input is finished: the device can't get into write mode due to WP=HIGH which will disable the Write Instruction.

  2. When writing the data (Word Address input finished): already into the Write mode which will continue with write instruction.


Question 5

The Page Buffer Size for the HT24LC64 is fixed at 32 Bytes, however if I implement a Page Write, but the data exceeds 32 bytes, what will happen?

Answer

If the data to be written into the HT24LC64 exceeds the capacity of the Page Buffer Size, then the Page Buffer address will return to the original start write address resulting in the original data being overwritten. As a result, the data written into the Page Buffer will be the last 32 bytes of the data.


Question 6

When using the HT24LC64, is it possible at any start address to execute a Page Write? What action is required to do this?

Answer

Yes it is possible at any address to execute a Page Write. However there are some points to note. The first is that the Page Buffer Size of the HT24LC64 is 32 Bytes, and that any Page Write cannot exceed the limits of the present page. When a Page write is executed, if the last byte has been written to the buffer, the next byte will be written into the start address of the present Page and not be written into the next Page, thus overwriting previously written data. As an example, for the HT24LC64 device, the addresses range of the first Page is from 0x00 to 0x1F. Therefore, if a Page Write is executed from the start address 0x1E, then the first data byte will be written into address 0x1E, and the second byte will be written into address 0x1F, however it must be noted that the third byte will be written into the address 0x00.


Question 7

When using the HT24LC64, is there some better way of knowing when the Write Cycle has finished, instead of just waiting for 5ms?

Answer

Yes there is another way, by using an acknowledge polling method to determine when the Write Cycle has ended. When executing a write cycle, the HT24LCXX devices will not issue any acknowledge signal. This fact can be used to indicate if a Write Cycle has finished. After a stop bit for a Write Cycle has been transmitted the device will enter an internal Write Cycle. Now, the acknowledge polling process can be initiated by sending a Control Byte for a write command. As the device will not acknowledge this signal until the Write Cycle has finished, all that is required is to keep polling the Acknowledge Bit. If the bit is high this indicates that the Write Cycle is still in progress, when the bit is low this indicates that the Write Cycle has finished.


Question 8

After a byte of data has been written to the HT2201, the next operation exhibits a fault condition. Why does this happen?

Answer

In the application program, after the STOP bit is issued at the end of Write instruction, the HT2201 will execute a Write Cycle, which can take up to 5ms to finish. During this time any further instructions issued to the HT2201 will have no effect. Not until the Write Cycle has finished, can the device accept further instructions. To resolve this problem, it is recommended that after the STOP bit is issued, a 5ms delay is added, or that an acknowledge polling method is used to check that the device is free to accept further instructions.


Question 9

What are the functions of the A2, A1 and A0 pins on the HT24LCxx?

Answer

The HT24LCxx series capacity and pin connections are shown in the following table:

Device

Capacity

A2A1A0 usage

Page

A2, A1, A0 connections

HT24LC02

2K(256x8)

None

1

All pins connected

HT24LC04

4K(512x8)

A0

2

A0 floating, A2 and A1 connected

HT24LC08

8K(1024x8)

A1, A0

4

A1and A0 floating, A2 connected

HT24LC16

16K(2048x8)

A2, A1, A0

8

All pins floating

In the hardware, it is necessary to connect the lines to each pin to either high or low. In the software, when reading and writing, the order device address order of A2, A1, A0 must match that of the hardware A2, A1 and A0 pin level connections. The A2, A1 and A0 floating pins are the page address. This group can have 1, 2, 4 or 8 pages, and can conduct read and write operations on each page and each byte.

 


Points to Note

 


Question 1

Which writer should I use to program Holtek's EEPROM?

Answer

Please go to www.holtek.com.tw and choose Technical Support/Supporting Tools/Memory Programming where the relevant writer information that Holtek has certified is provided.


Question 2

If the EEPROM writer or version which I'm using now isn't on the list of your "Memory Programming" web page, how do I know if this writer can be used to program Holtek's EEPROM?

Answer

Only those writers and versions on the list on the "Memory Programming" page are certified by Holtek. For other writer information, please contact the orginal manufacturers directly for further information.


Question 3

How can I program the EEPROM efficiently?

Answer

  1. Make sure your writer and its software version support the item you want to program.

  2. Make sure the writer has passed self-test.

  3. Make sure the contact pins are clean and not oxidized.

  4. Do not touch the IC by hand.

  5. The operator, writer and the working table are grounded for all time.

  6. Make sure the contact between the IC and the pins is in good condition.

  7. Change the pin set after being used for some time.


Question 4

Can the read and write program for the 24 series EEPROM also be used to read and write from the HT2201?

Answer

Yes, this is possible. However the HT2201 does not support a Page Write, and during device addressing A0, A1 and A2 will be 000.


Question 5

In 5V systems, when the HT24 has its power cycled off and on, reading and writing data contains errors, how can this problem be rectified?

Answer

When the power is cycled off and on again, if the EEPROM is undertaking its write cycle, and if the power supply voltage has fallen to the Vres value (the MCU has already reset but the EEPROM is still running) and then returns to the 5V level, at this time the MCU has reset and will start to issue commands to the EEPROM. The MCU will therefore not wait for the ACK signal from the EEPROM. To rectify this problem a polling method can be used. After a power off/on cycle, a START signal and Device Address can be issued, after the EEPROM issues an ACK signal then read and write operations can be carried out.