|
AT25080 from ATMEL is a serial EEPROM with SPI interface. The device has 8192 bits (1024 bytes) of EEPROM that can be controlled using a 4 wire SPI bus. This example project demonstrates how to interface a PSoC to this device and read and write an array of data using the SPIM user module.The project and documentation can be downloaded from the below link from Cypress websiteInterfacing the PSoC to an AT25080 Serial EEPROM
INTRODUCTIONAn E2PROM is used for non-volatile storage of data in a micro controller application. In PSoC the E2PROM user module can be used to implement E2PROM storage in the Flash program memory. The user module emulates an E2PROM and allows byte level read and write operations. Here are some important factors to remember while using the E2PROM user module.
Question: What is the significance of the Temperature parameter in the E2PROM_bE2Write function? What value should I pass for this parameter? Answer: The Temperature parameter is used by the E2PROM API to calculate the flash write pulse width. At higher temperatures the flash has to be written with a smaller pulse width and at lower temperatures with a longer pulse width. The flash will meet its maximum endurance (erase / write cycles) and data retention values if it is written with the correct pulse width. If the device is going to operate within a temperature range of 0 to 50 degrees, it is ok to pass the value of 25 for temperature. Question: I have an E2PROM user module in my project to store some calibration values. I would like to assign default values to the E2PROM locations when initially programming the device. Hoe do I do this. Answer: For example if the E2PROM is placed in the last block of a 32K device and you want to initialize the first 4 bytes with some values. In C: Use the #pragma abs_address directive and the const keyword to place the initial values in the E2PROM space. #pragma abs_address 0x7FC0 const char InitialValues[] = ; #pragma end_abs_address In Assembly: Use the area directive to define a ROM area, set the location using the org directive and place the initial values. area EepromArea(rom, abs) org 0x7FC0 db 0x00, 0x00, 0xFF, 0xFE This project interfaces a PSoC to a 24C256 Serial I2C EEPROM. Project Source: Cypress Semiconductors |