EEPROM 6 Click-Platine
EEPROM 6 Click-Platine
Overview
Das EEPROM 6 Click Board™ ist eine kompakte Zusatzplatine, die einen seriellen EEPROM-Speicher enthält, der über die 1-Wire-Schnittstelle betrieben wird. Diese Platine verfügt über den DS28EC20, einen 20480-Bit-EEPROM, der als 80 Speicherseiten mit jeweils 256 Bit von Maxim Integrated organisiert ist. Als besondere Funktion können Blöcke mit acht Speicherseiten schreibgeschützt oder in den „EPROM-Emulation“-Modus versetzt werden, in dem Bits nur von einem 1- in einen 0-Zustand geändert werden können. Es kommuniziert mit MCU bei 15,4 kbit/s oder 90 kbit/s über das 1-Wire-Protokoll und verfügt über eine 64-Bit-Registrierungsnummer, die eine fehlerfreie Geräteauswahl gewährleistet. Dieses Click Board™ ist für Anwendungen wie Geräteauthentifizierung, Daten zur Selbstkonfiguration von Vermittlungsstellenschaltern, drahtlosen Basisstationen oder anderen modularen Rack-Systemen geeignet.
Das EEPROM 6 Click Board™ wird von einer mikroSDK-kompatiblen Bibliothek unterstützt, die Funktionen enthält, die die Softwareentwicklung vereinfachen. Dieses Click Board™ wird als vollständig getestetes Produkt geliefert und ist bereit für den Einsatz auf einem System, das mit der mikroBUS™-Buchse ausgestattet ist.
Hoes Does The EEPROM 6 Click Board™ Work?
The EEPROM 6 Click Board™ is based on the DS28EC20, a 20Kb of data EEPROM with a fully featured 1-Wire interface in a single chip from Maxim Integrated. The memory is organized as 80 pages of 256 bits each. In addition, the device has one page for control functions such as permanent write protection and EPROM-Emulation mode for individual 2048-bit (8-page) memory blocks. A volatile 256-bit memory page called the scratchpad acts as a buffer when writing data to the EEPROM to ensure data integrity. Data is first written to the scratchpad, from which it can be read back for verification before transferring it to the EEPROM.
Each DS28EC20 has its own unalterable and unique 64-bit registration number. The registration number guarantees unique identification and is used to address the device in a multidrop 1-Wire net environment. In addition to the EEPROM, the device has a 32-byte volatile scratchpad. Writes to the EEPROM array are a two-step process. First, data is written to the scratchpad and then copied into the main array. The user can verify the data in the scratchpad before copying.
The protocol for accessing the DS28EC20 through the 1-Wire interface consists of additional steps:
- Initialization sequence - It consists of a reset pulse transmitted by the MCU followed by the presence pulse transmitted by the DS28EC20, which gives the MCU information that the DS28EC20 is on the bus and is ready to operate.
- ROM Function Command - Once the MCU has detected a presence, it can issue one of the seven ROM function commands that the DS28EC20 support.
- Memory Function Command - Commands necessary for accessing the memory of the DS28EC20.
- Transaction/Data - The idle state for the 1-Wire bus is high. If for any reason a transaction needs to be suspended, the bus MUST be left in the idle state if the transaction is to resume. If this does not occur and the bus is left low for more than 16μs (Overdrive speed) or more than 120μs (Standard speed), one or more devices on the bus can be reset.
The EEPROM 6 Click Board™ communicates with MCU using the 1-Wire interface that supports both a Standard and Overdrive communication speed of 15.4kbps (max) and 90kbps (max), respectively. If not explicitly set into the Overdrive mode, the DS28EC20 communicates at Standard speed. The 1-Wire communication line is routed to the SMD jumper labeled as GP SEL, which allows routing of the 1-Wire communication either to the PWM pin or to the AN pin of the mikroBUS™ socket. These pins are labeled as GP0 and GP1 respectively, the same as the SMD jumper positions, making the selection of the desired pin simple and straightforward.
The EEPROM 6 Click Board™ is designed to be operated with both 3.3V and 5V logic voltage levels that can be selected via VCC SEL jumper. This allows for both 3.3V and 5V capable MCUs to use the 1-Wire communication lines properly. However, the Click board™ comes equipped with a library that contains easy to use functions and an example code that can be used as a reference for further development.
SPECIFICATIONS
Type | EEPROM |
Applications | Can be used for applications like device authentication, analog-sensor calibration, ink and toner printer cartridge identification, data for self-configuration of central office switches, wireless base stations, or other modular-based rack systems. |
On-board modules | The EEPROM 6 Click Board™ is based on the DS28EC20, a 20Kb of data EEPROM with a fully featured 1-Wire interface in a single chip from Maxim Integrated. |
Key Features | Unique registration number that ensures error-free device selection, switchpoint hysteresis and filtering to optimize performance in the presence of noise, 200k write/erase cycle endurance, and more. |
Interface | 1-Wire |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Input Voltage | 3.3V or 5V |
PINOUT DIAGRAM
This table shows how the pinout on EEPROM 6 Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
1-Wire Data IN/OUT | GP1 | 1 | AN | PWM | 16 | GP0 | 1-Wire Data IN/OUT |
NC | 2 | RST | INT | 15 | NC | ||
NC | 3 | CS | RX | 14 | NC | ||
NC | 4 | SCK | TX | 13 | NC | ||
NC | 5 | MISO | SCL | 12 | NC | ||
NC | 6 | MOSI | SDA | 11 | NC | ||
Power Supply | 3.3V | 7 | 3.3V | 5V | 10 | 5V | Power Supply |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED Indicator |
JP1 | VCC SEL | Right | Power Supply Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP2 | GP SEL | Right | 1-Wire Data Communication Pin Selection: Left position GP1, Right position GP0 |
EEPROM 6 CLICK ELECTRICAL SPECIFICATIONS
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | -0.5 | - | 6 | V |
Memory Size | - | - | 20 | Kb |
Write/Erase Cycles (Endurance) | 200k | - | - | cycle |
Operating Temperature Range | -40 | - | +85 | °C |
Software Support
We provide a library for the EEPROM 6 Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The EEPROM 6 Click Board™ utilises the "One_Wire" Library for it's communications and functionalities.
Key Functions
void eeprom6_one_wire_init ( )
- Function initialises one wire communication.void eeprom6_read_mem ( uint16_t reg_adr, uint16_t n_len )
- The Read Memory function allows data to be sequentially read starting at an initial address.uint8_t eeprom6_write_mem ( uint16_t reg_adr, uint16_t n_len )
- The Write Memory function allows data bytes to be written sequentially.
Example Description
The application is composed of three sections :
- System Initialization - Initializes LOG structure.
- Application Initialization - Initalizes the device, performs safety check, and start to write log.
- Application Task - This example shows capabilities of EEPROM 6 Click board by writting "MikroE" into first 6 memory locations, and then reading it back.
void application_task ( ) { mikrobus_logWrite( "Writing : ", _LOG_TEXT ); mikrobus_logWrite( val_in, _LOG_TEXT ); eeprom6_write_mem( 0x0000, 9 ); Delay_ms( 100 ); mikrobus_logWrite( "Reading : ", _LOG_TEXT ); eeprom6_read_mem ( 0x0000, 9 ); mikrobus_logWrite( val_out, _LOG_TEXT ); mikrobus_logWrite( "-------------------", _LOG_LINE ); Delay_ms( 5000 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- void eeprom6_one_wire_init ( ) - Function initialises one wire communication , returns Family Code.
- void eeprom6_rom_skip ( ) - Function sends skip ROM command.
- void eeprom6_read_mem ( uint16_t reg_adr, uint16_t n_len ) - The Read Memory function allows data to be sequentially read starting at an initial address.
- uint8_t eeprom6_write_mem ( uint16_t reg_adr, uint16_t n_len ) - The Write Memory function allows data bytes to be written sequentially, returns 1 if error has occured.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- One Wire
- UART
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MIKROSDK
The EEPROM 6 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Software Support
We provide a library for the EEPROM 6 Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
The EEPROM 6 Click Board™ utilises the "One_Wire" Library for it's communications and functionalities.
Key Functions
void eeprom6_one_wire_init ( )
- Function initialises one wire communication.void eeprom6_read_mem ( uint16_t reg_adr, uint16_t n_len )
- The Read Memory function allows data to be sequentially read starting at an initial address.uint8_t eeprom6_write_mem ( uint16_t reg_adr, uint16_t n_len )
- The Write Memory function allows data bytes to be written sequentially.
Example Description
The application is composed of three sections :
- System Initialization - Initializes LOG structure.
- Application Initialization - Initalizes the device, performs safety check, and start to write log.
- Application Task - This example shows capabilities of EEPROM 6 Click board by writting "MikroE" into first 6 memory locations, and then reading it back.
void application_task ( ) { mikrobus_logWrite( "Writing : ", _LOG_TEXT ); mikrobus_logWrite( val_in, _LOG_TEXT ); eeprom6_write_mem( 0x0000, 9 ); Delay_ms( 100 ); mikrobus_logWrite( "Reading : ", _LOG_TEXT ); eeprom6_read_mem ( 0x0000, 9 ); mikrobus_logWrite( val_out, _LOG_TEXT ); mikrobus_logWrite( "-------------------", _LOG_LINE ); Delay_ms( 5000 ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- void eeprom6_one_wire_init ( ) - Function initialises one wire communication , returns Family Code.
- void eeprom6_rom_skip ( ) - Function sends skip ROM command.
- void eeprom6_read_mem ( uint16_t reg_adr, uint16_t n_len ) - The Read Memory function allows data to be sequentially read starting at an initial address.
- uint8_t eeprom6_write_mem ( uint16_t reg_adr, uint16_t n_len ) - The Write Memory function allows data bytes to be written sequentially, returns 1 if error has occured.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- One Wire
- UART
Additional Notes and Information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MIKROSDK
The EEPROM 6 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.