a clock signal and a bi-directional data signal (SCL, SDA)

Similar documents
AVR1303: Use and configuration of IR communication module. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

8-megabyte, 4-megabyte, and 2-megabyte 2.7-volt Only DataFlash Cards AT45DCB008D AT45DCB004D AT45DCB002D. Not Recommended for New Design

AVR32752: Using the AVR32 UC3 Static Memory Controller. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AT697E. Application Note. Checking AT697E Code for Occurrence of LDF/FPOPd Instructions Sequence with a dependency on an Odd-Numbered Register

AVR1315: Accessing the XMEGA EEPROM. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR32401: AVR32 AP7 Linux Interfacing DataFlash. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1503: Xplain training - XMEGA Programmable Multi Interrupt Controller 8-bit Microcontrollers Application Note Prerequisites

AVR based 125kHz RFID Evaluation Kit (Re)Programming Guide ATA2270-EK1. Overview. Fuse Settings: ISP Programming

AT91 ARM Thumb Microcontrollers. Application Note. Using the ECC Controller on AT91SAM9260/9263 and AT91SAM7SE Microcontrollers. 1.

AVR097: Migration between ATmega128 and ATmega1281/ATmega bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1922: Xplain Board Controller Firmware 8-bit Microcontrollers Application Note Features 1 Introduction

8-bit Microcontroller with 2K/4K/8K Bytes In-System Programmable Flash. Appendix A. Preliminary. ATtiny261 ATtiny461 ATtiny861 Automotive

One-channel Toggle-mode Touch Sensor IC with Power Management Functions AT42QT1012. Summary

AVR1501: Xplain training XMEGA Timer/Counter 8-bit Microcontrollers Application Note Prerequisites 1 Introduction

AVR32901: EVKLCD100/EVKLCD101 Hardware User's Guide. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Interfacing the internal serial EEPROM

AT17F Series. Application Note. Programming Circuits for AT17F Series Configurators with Xilinx FPGAs. 1. Introduction

AVR532: Migration from ATmega48/88/168 to ATmega48A/88A/168A. 8-bit Microcontrollers. Application Note. 1 Introduction

AVR32917: picopower Board getting started. 32-bit Microcontrollers. Application Note. Preliminary. Features. 1 Introduction

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATtiny87 ATtiny167 Automotive

8-bit Microcontroller. Application Note. AVR320: Software SPI Master

AT91 ARM Thumb-based Microcontroller. Application Note. AT91SAM7X and AT91SAM7XC Microcontroller Series Schematic Check List. 1.

CAN Microcontrollers. Application Note. Migrating from T89C51CC01 to AT89C51CC03. Feature Comparison

AT89ISP Programmer Cable Introduction AT89ISP Programmer Cable Parallel Port Settings Application Note AT89ISP Software AT89ISP Cable polarized

AT91 ARM Thumb Microcontrollers. Application Note. AT91 Host Flash Loader. 1. Package Contents. 2. Definition of Terms. 3.

Rad Hard FPGA. AT40KEL-DK Design Kit Content. Description. Kit Content. Reference Material. Support

ATA2270-EK1. User Guide

AVR1508: Xplain training - XMEGA DAC 8-bit Microcontrollers Application Note Features 1 Introduction

Application Note. Microcontrollers. Using Keil FlashMon Emulator with AT89C51CC01/03 AT89C51CC01/ Summary. 2. Background overview

AVR32 UC3 Software Framework... User Manual

CAN, 80C51, AVR, Microcontroller. Application Note

ATDH2200E Programming Kit... User Guide

AT89C51CC03 UART Bootloader

Embedded AVR Microcontroller Including RF Transmitter and Immobilizer LF Functionality for Remote Keyless Entry ATA5795. Summary.

Atmel CryptoAuthentication Starter Kit

512K (64K x 8) 3-volt Only Flash Memory AT29LV512

APPLICATION NOTE. Atmel AVR1638: XMEGA RTC Calibration. 8-bit Atmel Microcontrollers. Features. Introduction

64K (8K x 8) High Speed Parallel EEPROM with Page Write and Software Data Protection AT28HC64BF

8-bit RISC Microcontroller. Application Note. AVR151: Setup And Use of The SPI

APPLICATION NOTE. Atmel AT03304: SAM D20 I 2 C Slave Bootloader SAM D20. Description. Features

Hardware Prerequisites Atmel Xplained Pro Evaluation Kit Atmel WINC1500 extension USB Micro Cable (TypeA / MicroB)

AVR ONE!... Quick-start Guide. EVK Windows 32103C AVR ONE! 02/10

AVR32015: AVR32 Studio getting started. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Atmel QT600 Quick Start Guide Touch Solutions

Trusted Platform Module AT97SC3203S. SMBus Two-Wire Interface. Summary

Atmel LF-RFID Kit Comparison Chart. Application Note. Atmel LF-RFID Kit Comparison Chart. 1. Description

AVR1518: XMEGA-A1 Xplained Training - XMEGA Clock System. 8-bit Atmel Microcontrollers. Application Note. Prerequisites.

AVR42789: Writing to Flash on the New tinyavr Platform Using Assembly

4-megabit (512K x 8) 5-volt Only 256-byte Sector Flash Memory AT29C040A

1-megabit (128K x 8) Paged Parallel EEPROM AT28C010

2-megabit (256K x 8) 5-volt Only Flash Memory AT29C020

1-megabit (128K x 8) 3-volt Only Flash Memory AT29LV010A

Atmel AVR1619: XMEGA-B1 Xplained Demonstration. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

2-megabit (256K x 8) Single 2.7-volt Battery-Voltage Flash Memory AT29BV020

APPLICATION NOTE. AT03324: Atmel REB212BSMA-EK Quick Start Guide. Atmel MCU Wireless. Introduction

STK521. User Guide B AVR 01/12

APPLICATION NOTE. Atmel AT01080: XMEGA E Schematic Checklist. Atmel AVR XMEGA E. Features. Introduction

APPLICATION NOTE. Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices. Atmel AVR XMEGA. Features.

Atmel AVR32847: Migration from/to the UC3L0 64/32/16 from/to the UC3L0 256/ bit Atmel Microcontrollers. Application Note.

TSC695. Application Note. Annulled Cycle Management on the TSC695. References

MARC4. Application Note. Hints and Tips for Hard- and Software Developments with MARC4 Microcontrollers

AVR469: MC301 Hardware User Guide. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

APPLICATION NOTE. Atmel AVR3009: Driving QTouch Device with I 2 C Interface. Atmel QTouch. Introduction

AT17 Series FPGA. Configuration Memory. Application Note. In-System Programming Circuits for AT17 Series Configurators with Atmel and Xilinx FPGAs

AVR515: Migrating from ATmega48/88/168 and ATmega48P/88P/168P/328P to ATtiny48/88. 8-bit Microcontrollers. Application Note. Features.

APPLICATION NOTE. Atmel AT02260: Driving AT42QT1085. Atmel QTouch. Features. Description

Power Management and Analog Companions (PMAAC) Application Note. AT73C240 Power-On and Power-Off Sequences. 1. Scope. 2. Operating Conditions

64K (8K x 8) Battery-Voltage Parallel EEPROM with Page Write and Software Data Protection AT28BV64B

AVR4018: Inertial Two (ATAVRSBIN2) Hardware User's Guide. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

SAM Boot Assistant (SAM-BA)... User Guide

AT89STK-10 Starter Kit... Hardware User Guide

AT91 ARM Thumb Microcontrollers. Application Note. Migrating to an AT91SAM9G20-based System from an AT91SAM9260-based System. 1. Scope. 2.

AVR501: Replacing ATtiny15 with ATtiny25. 8-bit Microcontrollers. Application Note PRELIMINARY. Features. 1 Introduction

2-wire Serial EEPROM Smart Card Modules AT24C32SC AT24C64SC

Section 1 ATAVRAUTOEK1 Getting Started

AT60142H/HT. Rad-Hard 512Kx8 Very Low Power CMOS SRAM ERRATA-SHEET. Active Errata List. Errata History. Abbreviations. 1.

2-wire Serial EEPROM AT24C512. Preliminary. 2-Wire Serial EEPROM 512K (65,536 x 8) Features. Description. Pin Configurations.

USER GUIDE EDBG. Description

AT17(A) Series FPGA Configuration Memory. Application Note

Two-Wire Serial EEPROM AT24C164 (1)

32-bit Secure. AT91SC CT-USB Summary. Microcontrollers. Features

Rad Hard 16 MegaBit 3.3V SRAM Multi- Chip Module AT68166H

Atmel ATMXT143E touchscreen controller Capacitive touch ITO 320 x 240 pixel LCD display with SPI interface LED backlight

Two-wire Serial EEPROM Smart Card Modules 128K (16,384 x 8) 256 (32,768 x 8) AT24C128SC AT24C256SC. Features. Description VCC NC

AVR2015: RZRAVEN Quick Start Guide. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Section 5 SERCOM. Tasks SPI. In this section you will learn:

FPGA Configuration EEPROM Memory. Application Note. Programming Atmel s EEPROMs: AT17LV020(A) vs. AT17LV002(A) Introduction.

Two-wire Serial EEPROM AT24C11

2-wire Serial EEPROM AT24C01A AT24C02 AT24C04 AT24C08 AT24C16

T89C51CC02 CAN Bootloader

Atmel AVR1926: XMEGA-B1 Xplained Getting Started Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

ATAVRAUTO User Guide

Atmel AVR473: ATAVRSB202 Hardware User Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

Native route discovery algorithm

When is Data Susceptible to Corruption

USER GUIDE. Wireless Production Test Reference Protocol Specification Document. Atmel MCU Wireless. Description

EDBG. Description. Programmers and Debuggers USER GUIDE

8-bit RISC Microcontroller. Application Note. AVR 305: Half Duplex Compact Software UART

APPLICATION NOTE. Atmel AVR057: Internal RC Oscillator Calibration for ATtiny4/5/9/10/20/40. 8-bit Atmel Microcontrollers. Features.

OLED display with pixels resolution Ambient light sensor CPU load Analog filter Quadrature Encoder with push button Digital I/O

Transcription:

Selecting the Best Serial EEPROM Interface Protocol for your Application 1. Introduction Atmel offers Serial Electrically Erasable Programmable Read Only Memories (SEEPROM) to designers wanting to save Printed Circuit Board Assembly (PCBA) area and simplify hardware design. Serial refers to the hardware interface scheme to write and read data from the device (two, three, or four signals needed). The parallel interface scheme to write and read data involves 18 or more signals. SEEPROM devices are 8 pin packages compared to 20 or more pins on parallel interface EEPROM devices. Since SEEPROMs have a smaller pin count than parallel EEPROMS, the SEEPROM device packages are smaller and therefore save PCBA area that would be consumed by the physically larger parallel EEPROM devices. Since SEEPROMS have a smaller pin count on device packages than parallel EEPROMS, there are fewer signals to route in the PCBA design. When an SEEPROM solution is desired, more decisions are needed to direct the designer to the best device for the application. The interface protocol decision is quite often driven by hardware and software features of the microcontroller that is to be interfaced to the SEEPROM. Atmel offers three protocol families of SEEPROMs: 1. 2-Wire Interface (TWI) in the AT24CXXXX family [compatible with I2C protocol] 2. 3-Wire Interface (3WI) in the AT93CXXX family 3. Serial Peripheral Interface (SPI) in the AT25XXXX family Serial EEPROM Interface Protocol Application Note The following device features will be discussed should the designer have the freedom to choose the interface protocol: Interface signals Chip Selection signal Memory expansion Maximum interface clock speeds Command complexity Write protection / data security Cost 1.1. Interface Signals a clock signal and a bi-directional data signal (SCL, SDA) a clock signal, a data in signal, and a data out signal (SK, DI, DO) [Chip Select is needed also] a chip select signal, a clock signal, a data in signal, and a data out signal (CS, SCK, SI, SO) TWI fewest, 3WI and SPI have the same 8546A SEEPR 06/08

1.2. Chip Select Function has no chip select (CS) signal, always listening for commands CS is active high; CS must be high for device to listen for commands CS is active low; CS must be low for device to listen for commands TWI does not need it, 3WI and SPI both have CS 1.3. Memory Expansion slave addressing supported (cascading), maximum 8 devices dependent upon device memory size utilizing independent chip selects, the SK, DI, and DO signals of multiple devices can be bussed utilizing independent chip selects, the SCK, SI, and SO signals of multiple devices can be bussed TWI supports cascading, 3WI and SPI support bussing 1.4. Maximum Interface Clock Speed 1MHz 2MHz 20MHz SPI fastest, 3WI next, TWI is slowest 1.5. Command Complexity Write Operation: Send Start bit Send device address byte with write bit embedded Send word address byte Send data byte(s) for byte write or page write Send Stop bit to start write cycle Read Operation: Send Start bit Send device address byte with write bit embedded (dummy write sequence) Send device word address Send device address byte with read bit embedded Receive data byte(s) Send Stop bit Write Operation: Enable device via chip select high Send write enable op code Disable device via chip select low Enable device via chip select high Send write op code with address Send data byte/word Write cycle begins Disable device via chip select low 2 Serial EEPROM Interface Protocol

Serial EEPROM Interface Protocol Read Operation: Enable device via chip select high Send read op code with address Receive data byte(s) Disable device via chip select low Write Operation: Enable device via chip select low Send write enable op code Disable device via chip select high Enable device via chip select low Send write op code with address Send data byte(s) for byte write or page write Disable device via chip select high to start write cycle Read Operation: Enable device via chip select low Send read op code with address Receive data byte(s) Disable device via chip select high TWI command syntax is the simplest and supports byte and page writes. 3WI command syntax is more complex than TWI but 3WI only supports byte/word modes. SPI command syntax is more complex than TWI and supports both byte and page writes. 1.6. Write Protection / Data Security Write Protect (WP) signal (active high) driven high: all, half, or a quarter of the memory array can be protected dependent upon device features Write Enable op code, Write Disable op code WP signal (active low) driven low: the memory array can not be written into when status register has WPEN bit set to 1 WP signal (active low) driven high: the memory array can be written into if status register has WPEN bit set to 0 Status register bits can be set on command to select none, a quarter, a half, or all of the memory array to be protected Since the device counts the serial clocks groups of eight, clock count mismatches cause commands to be aborted. TWI has hardware write protection data security only 3WI has software write protection data security only SPI has hardware write protection data security that be overridden under software control and SPI has better protocol checking by counting clocks 1.7. Cost Lowest expense Low expense Medium expense 3

2. Conclusion Choose TWI if: 1. You have only two port signals available from the microcontroller 2. You like the simpler commands 3. You don t need the fastest clock speed 4. You don t need to software override of the hardware write protection feature 5. You need the highest density memory arrays Choose 3WI if: 1. You have four port signals available from the microcontroller 2. You can use the more complex, two step writing commands 3. You like the medium speed interface 4. You don t need hardware write protection 5. You need the medium density memory arrays Choose SPI if: 1. You have four port signals available from the microcontroller 2. You like the counted clock protocol verification security 3. You need the fastest clock speed interface 4. You like the software override of the hardware write protection 5. You need the highest density memory arrays 4 Serial EEPROM Interface Protocol

Serial EEPROM Interface Protocol 3. Revision History Table 1. Revision History Doc. Rev. Date Comments 8546A 06/2008 Initial document release. 5

Headquarters International Atmel Corporation 2325 Orchard Parkway San Jose, CA 95131 USA Tel: 1(408) 441-0311 Fax: 1(408) 487-2600 Atmel Asia Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimshatsui East Kowloon Hong Kong Tel: (852) 2721-9778 Fax: (852) 2722-1369 Atmel Europe Le Krebs 8, Rue Jean-Pierre Timbaud BP 309 78054 Saint-Quentin-en- Yvelines Cedex France Tel: (33) 1-30-60-70-00 Fax: (33) 1-30-60-71-11 Atmel Japan 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan Tel: (81) 3-3523-3551 Fax: (81) 3-3523-7581 Product Contact Web Site www.atmel.com Technical Support s_eeprom@atmel.com Sales Contact www.atmel.com/contacts Literature Requests www.atmel.com/literature Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN ATMEL S TERMS AND CONDITIONS OF SALE LOCATED ON ATMEL S WEB SITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDEN-TAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel s products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life. 2008 Atmel Corporation. All rights reserved. Atmel, logo and combinations thereof, and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.