Course on BASCOM AVR - ( 2 9 )
Theoretic/Practical course on BASCOM AVR Programming.
Author: DAMINO Salvatore.
SPI SERIAL EEPROM
In Embedded applications, among the most frequently used devices, there are
the Serial EEPROM. These devices are available with different memory sizes,
different packages and moreover with some, and different, Communication
Protocols. In this chapter well descrive the SPI Protocol.
SPI Serial EEPROM 25LC040
The EEPROM are memory, not Volatile: this means that they mantains the
stored information even without power supply. The devices can be Written a very
high number of times and they can be Read without limits, as standard RAM.
167
The management operations are defined by accurate rules, that are described
below.
The internal structure is reported in the following Diagram that lists all the logic
blocks included in the device.
Blocks Diagram of SPI Serial EEPROM
168
The communication is performed through 4 different signals:
1) The first (/CS) enables the EEPROM.
2) Tthe second (SCK) supplies Timings and Synchronizations.
3) The third (SI) sends data to device.
4) The fourth signal (SO) acquires data from the device.
Send and Acquire operations cant be executed contemporaneously.
Between the Data sent to EEPROM, there is the command that selects the
operation to perform.
Over the Read and Write commands naturally there is the address that specifies
the location to use.
The 25LC040 EEPROM supplies numerous possibilities for protection of saved
data, both at Hardware level (pin /WE) or Software.
It is important underline that one of these protections is automatically enabled
after each write operation and it must be Always disabled by Firmware.
In order to get a detailed and bright vision of the device, we suggest You firstly to
read and study the specific component Data Sheet and then to try the
developed examples.
169
Timing Diagram
170
Example.049.
25LC040
Byte R/W
Management
of
a Serial EEPROM
Added Definitions:
None
Added Declarations:
None
Added Instructions:
None
Added Operators:
None
Example program 4 9 of BASCOM AVR course.
Test and management program for SPI EEPROM 25LC040, at byte low level,
without BASCOM instructions.
It performs the fundamental operations on the component by using a software SPI
interface and by interacting with user on a serial console provided of monitor and
keyboard with a fixed physical protocol at 19.200 Baud, 8 Bit x chr, 1 Stop
bit, No Parity.
Electric Application Diagram of a SPI Serial EEPROM 25LC040
171
This console can be another system capable to support a serial RS 2 3 2
communication. In order to simplify the use it can be used a PC provided of one
COMx line, that execute a terminal emulation program as HYPERTERMINAL or
the homonym modality provided by BASCOM AVR (see IDE Configuration).
The program works only when the GMM AM08 is mounted on Z2 socket of GMM
TST3!!
Experimental Card, on Prototype Board, of SPI Serial EEPROM
172
Example.050.
R/W Management of a Serial EEPROM 25LC040
with Messages long up to 20 Characters, Displayed on
Console
Added Definitions:
None
Added Declarations:
None
Added Instructions:
None
Added Operators:
None
Example program 5 0 of BASCOM AVR course.
Messages read and write on SPI EEPROM 25LC040.
It performs the operations on the component by using a software SPI interface
and by interacting with user on a serial console provided of monitor and keyboard
with a fixed physical protocol at 19.200 Baud, 8 Bit x chr, 1 Stop bit, No
Parity.
This console can be another system capable to support a serial RS 2 3 2
communication. In order to simplify the use it can be used a PC provided of one
COMx line, that execute a terminal emulation program as HYPERTERMINAL or
the homonym modality provided by BASCOM AVR (see IDE Configuration).
The program works only when the GMM AM08 is mounted on Z2 socket of GMM
TST3!!
173