ADVANCED MICRO SYSTEMS, INC. | SMC-27X2 SOFTWARE |
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 |
1601 | 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-5111 | Branch area power up commands |
1600-20472 | User program power up commands |
1Committed 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.
2If a valid command exists at location 1600 through 2047 it will be executed on power up.