1.1 Pinout and Signals .................................................................................................................................................3
2 Programming Algorithm for NVM Configuration Register Space ....................................................................................5
3 I2C Signal Specifications .....................................................................................................................................................7
4.2 Special Pages ......................................................................................................................................................10
5 Programming Algorithm for the Emulated EEPROM Space ..........................................................................................11
6 Protection for Emulated EEPROM ....................................................................................................................................13
This document describes the in-system programming procedures for SLG46824 and SLG46826.
1Hardware Requirements
1.1 PINOUT AND SIGNALS
Four pins are required to program the SLG46824/6: VDD, GND, SCL and SDA.
The VDD pin requires a voltage ranging from 2.5 V to 5.5 V for Programming (Write) operations, and 2.3 V to 5.5 V for Verification
(Read) operations.
2
The SCL and SDA pins are defined to be standard I
Mode speed (400 kHz) NVM write communication is supported for these devices. For the timing characteristics for signals on
these pins refer to Table 1.
C signaling. I2C Fast Mode Plus speed (1 MHz) NVM read and I2C Fast
2Programming Algorithm for NVM Configuration Register Space
The SLG46824 and SLG46826 programming algorithm for the NVM Configuration space consists of a series of I2C Sequential
Write commands, each of which will program one 16 byte page of NVM memory (Note 1).
Data “1” cannot be re-programmed as data “0” without erasure. Each byte can only be programmed one time without erasure.
Note 1: The functionality of the device is based upon the registers. The registers will not be reloaded from the NVM until power is cycled or a reset command is
issued.
The SLG46824 and SLG46826 can be programmed either with or without an acknowledge polling routine. The acknowledge
polling routine is implemented to optimize time sensitive applications that would prefer not to wait the fixed maximum write cycle
time (t
operation can be started.
). This method allows the application to know instantly when the NVM write cycle has completed so a subsequent
WR
Figure 3: Flowchart for Programming NVM without Acknowledge Polling
Write access to the NVM is possible by setting A3 A2 A1 A0 to "0000", which allows serial write data for a single page only. Upon
receipt of the proper Control Byte and Word Address bytes, the SLG46824/6 will send an ACK. The device will then be ready to
receive page data, which is 16 sequential writes of 8-bit data words. The SLG46824/6 will respond with an ACK after each data
word is received. The addressing device, such as a bus Master, must then terminate the write operation with a Stop condition
after all page data is written. At that time the GPAK will enter an internally self-timed write cycle, which will be completed within
= 20 ms (max). While the data is being written into the NVM Memory Array, all inputs, outputs, internal logic and I2C access
t
WR
to the Register data will be operational/valid.
Figure 5: Page Write Command Example
3.1.2 Verify Command
The Random Sequential Read command can be used for verification. The command starts with a Control Byte (with R/W bit set
to "0", indicating a write command) and Word Address to set the internal byte address, followed by a Start bit, and then the Control
Byte for the read (exactly the same as the Byte Write command). The Start bit in the middle of the command will halt the decoding
of a Write command, but will set the internal address counter in preparation for the second half of the command. After the Start
bit, the Bus Master issues a second Control Byte with the R/W bit set to "1", after which the SLG46824/6 issues an Acknowledge
bit, followed by the requested eight data bits. Once the SLG46824/6 transmits the first data byte, the Bus Master issues an
Acknowledge bit. The Bus Master can continue reading sequential bytes of data, and will terminate the command with a Stop
condition.
The erase scheme allows a 16 byte page in the emulated EEPROM (Note 2) space or the 2K bits NVM chip configuration space
to be erased by modifying the contents of the Erase Register (ERSR). When the ERSE bit is set in the ERSR register, the device
will start a self-timed erase cycle which will complete in a maximum of t
accomplished with a Byte Write sequence with the requirements outlined in this section. The ERSR register is located on the E3H
address.
Note 2: Emulated EEPROM is available for SLG46826 only.
Table 2: Erase Register Bit format
b7b6b5b4 b3b2b1b0
Page Erase
Register
ERSE----ERSEB4ERSEB3ERSEB2ERSEB1ERSEB0
Table 3: Erase Register Bit Function Description
BitNameTyp eDescription
7ERSE
Erase
Enable
W
Setting b7 bit to “1” will start in internal erase cycle on the page defined
by ERSEB4-0
6---- ----
5---- ----
4ERSEB4
3ERSEB3W
2ERSEB2W
1ERSEB1W
Page
Selection
for Erase
W
Define the page address, which will be erased.
ERSB4 = 0 corresponds to the Upper 2K NVM used for chip configuration;
ERSB4 = 1 corresponds to the 2-k emulated EEPROM (Note 2).
0ERSEB0W
= 20 ms (max). Changing the state of the ERSR is
ER
Upon receipt of the proper Device Address and Erase Register Address, the SLG46824/6 will send an ACK. The device will then
be ready to receive Erase Register data. The SLG46824/6 will respond with a non-compliant I
2
C ACK after the Erase Register
data word is received. Please reference the SLG46824/6 errata document (revision XC) posted on Dialog’s website for more
information. The addressing device, such as a bus Master, must then terminate the write operation with a Stop condition. At that
time, the GPAK will enter an internally self-timed erase cycle, which will be completed within t
(max 20 ms). While the data is
ER
being written into the Memory Array, all inputs, outputs, internal logic and I2C access to the Register data will be
operational/valid.
After the erase has taken place, the contents of ERSE bits will be set to "0" automatically. Erase will be triggered by Stop Bit in
2
C command.
I
3.2 ADDRESSING
Each command to the I2C Serial Communications macrocell begins with a Control Byte. The bits inside this Control Byte are
shown in Figure 7. After the Start bit, the first four bits are a control code. Each bit in a control code can be sourced
independently from the register or by value defined externally by IO5, IO4, IO3 and IO2. The LSB of the control code is defined
by the value of IO2, while the MSB is defined by the value of IO5. The address source (either register bit or PIN) for each bit in
the control code is defined by reg <1623:1620>. This gives the user flexibility on the chip level addressing of this device and
other devices on the same I
2
C bus. The default control code is 0001. The Block Address is the next three bits (A10,A9, A8),
which will define the most significant bits in the addressing of the data to be read or written by the command. The last bit in the
Control Byte is the R/W bit, which selects whether a read command or write command is requested, with a "1" selecting for a
Read command, and a "0" selecting for a Write command. This Control Byte will be followed by an Acknowledge bit (ACK),
which is sent by this device to indicate successful communication of the Control Byte data
In the read and write command address structure, there are a total of 11 bits of addressing, each pointing to a unique byte of
information, resulting in a total address space of 16K bytes. Valid addresses are shown in the memory map in Figure 8.
GreenPAK's internal NVM memory is divided into 32 pages which hold 16 bytes each. 16 pages are used to configure the
GreenPAK, and the other 16 are used for the emulated EEPROM (Note 2)function.
4.2.1 Protection Page
Page #14 inside the 2Kbits NVM Registers memory space is a dedicated protection page. All 16 bytes of Page #14 are dedicated
to protection settings, even though only 3 of those bytes are used. The whole page is used because a page is the smallest NVM
section that can be programmed/erased or blocked for erase/program.
Once the user determines the security setting, they can do an NVM page 14 programming (program the security setting and set
security page lock bit = 1). The changes to the Protection Page will not be active until the device is reset. The user can do an
immediate reset using one of the following methods:
Power down the device, then power it back on
Perform a soft reset using an I
This will allow the memory interface circuit to know that page 14 (security page) is write/erase protected.
4.2.2 Service Page
Page #15 inside the 2Kbits NVM Registers memory space contains reserved information that is preprogrammed during device
final test. The information on this page can be Read but not Written by the user. As this page cannot be altered by the user, the
programming algorithm does not need to address this page.
5Programming Algorithm for the Emulated EEPROM Space
The SLG46824 and SLG46826 programming algorithm for the emulated EEPROM (Note 2)space consists of a series of I2C
Sequential Write commands, each of which will program one 16 byte page of NVM memory.
Data “1” cannot be re-programmed as data “0” without erasure. Each byte can only be programmed one time without erasure.
Programming of the emulated EEPROM (Note 2)follows a similar flow to programming of the NVM with two differences:
Block Address for emulated EEPROM (Note 2) is 011b (in contrast to the NVM Configuration Registers Block Address, which
is 010b)
With emulated EEPROM (Note 2), all 16 pages are user accessible.
Figure 10: Flowchart for Programming EEPROM without Acknowledge Polling
The SLG46824/6 utilizes a software scheme that allows a portion or the entire emulated EEPROM (Note 2)to be inhibited from
being written/ erased to by modifying the contents of the Write Protection Register (WPR). If desired, the WPR can be set so that
it may no longer be modified/erased, thereby making the current protection scheme permanent. The status of the WPR can be
determined by following a Random Read sequence. Changing the state of the WPR is accomplished with a Byte Write sequence
with the requirements outlined in this section.
2
The WPR register is located on I
the WPR bit functions are included in Table 5.
Table 4: Write/Erase Protect Register Format
b7b6b5b4 b3b2b1b0
WPRWPREWPB1WPB0
Table 5: Write/Erase Protect Register Bit Function Description
BitNameTypeDescription
2WPRE
WPB1
1:0
WPB0R/W
C Block Address = 000b, I2C Word Address = E2H.The WPR format is shown in Table 4, and
Write Protect
Register Enable
Write Protect
Block Bits
R/W
R/W00: Upper quarter of emulated EEPROM (Note 2)is write protected
0: No Software Write Protection enabled (default)
1: Write Protection is set by the state of WPB[1:0] bits
Write Protect Enable (WPRE): The Write Protect Enable Bit is used to enable or disable the device Software Write/Erase Protect.
A Logic 0 in this position will disable Software Write/Erase Protection, and a Logic 1 will enable this function.
Write Protect Block Bits (WPB1:WPB0): The Write Protect Block bits allow four levels of protection of the Memory Array, provided
that the WPRE bit is a Logic 1. If the WPRE bit is a Logic 0, the state of the WPB1:0 bits have no impact on device protection.
Protect Lock Bit (PRL): The Protect Lock Bit is used to permanently lock the current state of the WPR, as well as RPR and NPR.
A Logic 0 indicates that the WPR, RPR, and NPR can be modified, whereas a Logic 1 indicates the WPR, RPR, and NPR has
been locked and can no longer be modified. The PRL register bit is located at reg <1824>.
DRAFTThe content of this document is under review and subject to formal approval, which may
APPROVED OR unmarkedThe content of this document has been approved for publication
Disclaimer
Information in this document is believed to be accurate and reliable. However, Dialog Semiconductor does not give any
representations or warranties, expressed or implied, as to the accuracy or completeness of such information. Dialog Semiconductor
furthermore takes no responsibility whatsoever for the content in this document if provided by any information source outside of Dialog
Semiconductor.
Dialog Semiconductor reserves the right to change without notice the information published in this document, including without
limitation the specification and design of the related semiconductor products, software and applications.
Applications, software, and semiconductor products described in this document are for illustrative purposes only. Dialog
Semiconductor makes no representation or warranty that such applications, software and semiconductor products will be suitable for
the specified use without further testing or modification. Unless otherwise agreed in writing, such testing or modification is the sole
responsibility of the customer and Dialog Semiconductor excludes all liability in this respect.
Customer notes that nothing in this document may be construed as a license for customer to use the Dialog Semi-conductor products,
software and applications referred to in this document. Such license must be separately sought by customer with Dialog Semiconductor.
All use of Dialog Semiconductor products, software and applications referred to in this document are subject to Dialog Semiconductor's
Standard Terms and Conditions of Sale, available on the company website (www.dialog-semiconductor.com) unless otherwise stated.
Dialog and the Dialog logo are trademarks of Dialog Semiconductor plc or its subsidiaries. All other product or service names are the
property of their respective owners.
Dialog Semiconductor's suppliers certify that its products are in compliance with the requirements of Directive 2011/65/EU of the European Parliament on the restriction of the use of certain hazardous substances in electrical and electronic equipment. RoHS certificates
from our suppliers are available on request
Updated Flowcharts
Added a reference to the NVM and EEPROM Erase Register erratum in section 3.1.3”