ADVANCED MICRO SYSTEMS, INC. SMC-27X2 SOFTWARE
31
Non-Volatile Memory Details
The SMC-27X2 uses the X24C16, a 2048 byte EEPROM. A worst case of 4 bytes per instruction yields a
capacity of 500 commands. These devices are rated to retain data for 100 years. As with all EEPROMS, the
number of times it may be re-programmed is limited. Each time a cell is written a small number of electrons are
trapped in the dielectric. After many write cycles the dielectric becomes less effective and the cell cannot
retain its charge. The write life cycle endurance rating is constantly being improved. At this time a life in
excess of 1 million cycles is available.
To extend the life of the EEPROM in your device it is necessary to be aware of which commands of the
SMC-27X2 perform writes to the EEPROM, and eliminate those which are not needed. For example, the
RESTORE command (“C 0”) will retrieve the parameters from the EEPROM without doing a write. If the
INITIALIZE command (“C 1”) was chosen, the first 256 BYTES of EEPROM are written. If you require a
sequence of motions to be done without host attention, break-up the motions into sub-groups rather than
repeatedly programming the EEPROM. Then use the GO from address command to execute the sub-groups
in the required sequence.
Note: Use the SAVE command sparingly. The SMC-27X2 parameters are set so quickly, even in SERIAL
mode, that you should let the host download them..
Changing parameters should NOT be done by writing directly to EEPROM. The SMC-27X2 won’t recognize
that it was changed and may over-write them. Use the commands available to set parameters. Reading on the
other hand is non-taxing on the EEPROM. The DIVIDE factor is readable at 229 (0E5 hex). Trying to read and
write Initial and Slew velocities from the EEPROM will be confusing as they are stored as timer reload
values. Use the EXAMINE command (“X”) in SERIAL mode.
Memory Map
The following locations are accessible through the NV memory read/write commands:
Decimal Description
0-127 User program or data storage
128-191 Shadow program area
160
1
Trip routine
192-226 Unused
227 Configuration byte
228 Internal initial status byte (Do NOT modify)
229 Divide factor (D)
230-1 Initial velocity low and high bytes (I)
232-3 Pointer value (I)
234-5 Slew speed (V) low and high bytes
236-7 Pointer value (V)
238 Low speed jog value (B)
239 High-speed jog value (B)
240 Acceleration ramp factor (K)
241 Deceleration ramp factor (K)
242-244 Trip Point low, mid and high bytes
245 Port value for trip (“k” data)
246 Resolution
247 Name
248
256-2047 User program or data storage
256-511
1
Branch area power up commands
1600-2047
2
User program power up commands
1
Committed only when specific command is being used, otherwise used as general-purpose storage.
Locations 247 thru 255 are protected from the “Clear” command. Most of the data contained in these
locations is in binary and should not be tinkered with.
2
If a valid command exists at location 1600 through 2047 it will be executed on power up.