Wednesday, October 01, 2008

Routines specific to the 93CS46 chip

PREN
Enable the protection register. The next access should be to this register instead of the memory. This call is required immediately before each PRCLEAR, PRWRITE, or PRDS. In addition, WEN may have to have been called, check your data sheet (or just do it to be on the safe side). PREN should only enable use of the protection register for the next access, so it should be called before every protection register access.
PRCLEAR
Clear the protection register, allowing write access to all memory locations. Of course, WEN must still be called before writing.
PRWRITE
Write a value into the protection register. All memory locations before and including the value in R0 will become write protected. As with READ and WRITE,the address in RO refers to a 16 bit memory location, valid range is 0 to 63. Unprotected memory locations are still subject to WEN and WDS, but protected locations are unwritable unless the protection register is changed or cleared.
PRDS
Permenantly freeze the protection register to its current value. It can never be modified again after this operation. All protected memory locations will forever be unwritable, but the locations not protected will remain subject to WEN and WDS. The fact that you have frozen the protection register is stored in the non-volatile memory (10 year min retention). There is no way to undo this operation... all future PRCLEAR and PRWRITE operations will have no effect.
The menu-driven example code includes a copy of these routines and calls them properly to allow the user to view and edit the values within a 93CS46.
It is not necessary to erase memory locations before writing. The erase functions provided in the 93C46 are unnecessary (for the chips I've used, double check your data sheet). The erase functions are not implemented here.
Disclaimer
These 93C46 Serial EEPROM devices are used in many commercial products where the data contained within the chip, though only 128 bytes, is considered confidential and proprietary. This code library may not be used to "break into" the data stored within devices in commerical products. Use of this code library to modify the behavior of commercial products, without the expressed written authorization of the manufacturer, is also prohibited. (e.g. modifing ethernet card hardware addresses, etc))

Please give your suggestion and follow us if you are interested, which encourage us to create new topics for you. And Thankyou for your support.