This application note describes how to perform block erase, block write, and block read of a single page (32 bytes) of the ADM106x EEPROM space. For the sake of explanation in this article, it is assumed that the EEPROM range to be erased, written, and read is 0xF8; 0x00 to 0xF8; 0x1F.
0xF8; 0x00 to 0xF8; 0x1F Block erase of EEPROM space
To perform a block erase of the EEPROM space, follow the steps below.
1. Write 0x05 to Register 0x90 to enable EEPROM block erase.
2. Perform all SMBus operations listed below.
• Send slave address WRITE
• Receive reply message
• Send EEPROM high address (0xF8)
• Receive reply message
• Send EEPROM low address (0x00)
• Receive reply message
• Send STOP
• Send slave address WRITE
• Receive reply message
• Send Page Erase command code (0xFE)
• Receive reply message
• Send STOP
3. Repeat the procedure in step 2 for each EEPROM page to be erased. However, the lower address (Send EEPROM Lower Address) should be incremented by 32 bytes, for example: 0x20, 0x40, 0x60, 0x80, 0xA0, 0xC0, and 0xE0.
4. Write 0x01 to Register 0x90 to disable EEPROM block erase.
0xF8; 0x00 to 0xF8; 0x1F Block write of EEPROM space
To perform a block write to the EEPROM space, perform the following steps.
1. Perform all the actions listed below.
• Send slave address WRITE
• Receive reply message
• Send EEPROM high address (0xF8)
• Receive reply message
• Send EEPROM low address (0x00)
• Receive reply message
• Send STOP
• Send slave address WRITE
• Receive reply message
• Send a block write command (0xFC)
• Receive reply message
• Send the number of bytes to write (0x20)
• Receive reply message
• Send 32 bytes of data
• Receive an Acknowledge message from the slave after each byte is sent
• Send STOP
2. Repeat the procedure in step 1 for each EEPROM page to be written. However, the lower address (Send EEPROM Lower Address) should be incremented by 32 bytes, for example: 0x20, 0x40, 0x60, 0x80, 0xA0, 0xC0, and 0xE0.
0xF8; 0x00 to 0xF8; 0x1F Block read of EEPROM space
To perform a block read of the EEPROM space, follow these steps.
1. Write 0x01 to Register 0x90 to enable continuous update of the configuration registers.
2. Perform all the actions listed below.
• Send slave address WRITE
• Receive reply message
• Send EEPROM high address (0xF8)
• Receive reply message
• Send EEPROM low address (0x00)
• Receive reply message
• Send STOP
• Send slave address WRITE
• Receive reply message
• Send a block read command (0xFD)
• Receive reply message
• Send slave address READ
• Receive reply message
• Receive the number of data bytes to read (0x20)
• Send host reply message
• Receive 32 bytes of data
• Send a host acknowledgement message after each byte received
• Send STOP
3. Repeat the procedure in step 2 for each EEPROM page to be read. However, the lower address (Send EEPROM Lower Address) should be incremented by 32 bytes, for example: 0x20, 0x40, 0x60, 0x80, 0xA0, 0xC0, and 0xE0.
Previous article:How to Control Stray Inductance in IGBT Inverter Design
Next article:How to reasonably construct a DAC 1ppm analog-to-digital conversion precision instrument design solution?
Recommended ReadingLatest update time:2024-11-15 10:49
- Popular Resources
- Popular amplifiers
- High signal-to-noise ratio MEMS microphone drives artificial intelligence interaction
- Advantages of using a differential-to-single-ended RF amplifier in a transmit signal chain design
- ON Semiconductor CEO Appears at Munich Electronica Show and Launches Treo Platform
- ON Semiconductor Launches Industry-Leading Analog and Mixed-Signal Platform
- Analog Devices ADAQ7767-1 μModule DAQ Solution for Rapid Development of Precision Data Acquisition Systems Now Available at Mouser
- Domestic high-precision, high-speed ADC chips are on the rise
- Microcontrollers that combine Hi-Fi, intelligence and USB multi-channel features – ushering in a new era of digital audio
- Using capacitive PGA, Naxin Micro launches high-precision multi-channel 24/16-bit Δ-Σ ADC
- Fully Differential Amplifier Provides High Voltage, Low Noise Signals for Precision Data Acquisition Signal Chain
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- ASML predicts that its revenue in 2030 will exceed 457 billion yuan! Gross profit margin 56-60%
- Detailed explanation of intelligent car body perception system
- How to solve the problem that the servo drive is not enabled
- Why does the servo drive not power on?
- What point should I connect to when the servo is turned on?
- How to turn on the internal enable of Panasonic servo drive?
- What is the rigidity setting of Panasonic servo drive?
- How to change the inertia ratio of Panasonic servo drive
- What is the inertia ratio of the servo motor?
- Is it better for the motor to have a large or small moment of inertia?
- SinlinxA33 lvds screen configuration
- PCB size measurement, VX9000 optical scanning imaging measuring machine VS imager measurement
- DC Gain of Nanopower Op Amps
- What model can replace the EPM570T144C5 model? Need PIN2PIN compatible
- How does the SPI bus work?
- A few questions about 4G signal indicators. In what range are these values considered good signal quality? In addition, some experts have suggested directly...
- [RVB2601 creative application development] + voice prompt type environmental status detection recorder
- Research on the information performance advantages of Suruide in-vehicle Ethernet hardware and applications
- [Synopsys IP Resources] Prototyping as a Service (PaaS): Breaking through chip design process bottlenecks and simplifying the path to innovation
- How to write the test bench file for the verliog10 divider