These devices are usually used to store user configurable parameters and device serial numbers. They use a serial bus interface, which allows them to be packaged in inexpensive 8 pin packages. They are usually specified to retain the data for 10 years and to endure , write operations before failure. They only require a 5 volt power supply some 3V only versions exist too.
|Published (Last):||18 November 2006|
|PDF File Size:||6.93 Mb|
|ePub File Size:||13.77 Mb|
|Price:||Free* [*Free Regsitration Required]|
These devices are usually used to store user configurable parameters and device serial numbers. They use a serial bus interface, which allows them to be packaged in inexpensive 8 pin packages.
They are usually specified to retain the data for 10 years and to endure , write operations before failure. They only require a 5 volt power supply some 3V only versions exist too. Because these chips use a serial interface, they can not be read quickly enough to serve as conventional memory. In addition, a considerable length of time milliseconds is required to perform a write operation.
They typically hold less than bytes of memory. Usually, the 3-wire devices require an addition wire beyond the 3 for data transfer for each chip to be used. I2C is a trademard of Philips. As a practical matter, the code offered below only works with the Microwire 3 Wire interface, and is specifically intended to work with the 93C46, which is a standard part available from a variety of distributors. It can be used without much difficulty with a 93C46, by avoiding calls to the routines that manipulate the extended features of the 93CS They have also added example code similar to the code below, as well as for I2C parts they offer.
National Semiconductor has lots of data sheets on-line. I used their 93CS46 data sheet to write the code. Their literature number is MicroChip now has data sheets on-line for most of their products.
They offer quite a few different types of serial eeproms, including of course the 93CS46 and 93C Xicor once had a considerable collection of example code on-line, but they appear to have removed it.
There are lots of other distributors too, but Mouser and DigiKey are probably the easiest, since they give out a free catalog What this family code does This code was written to support the 93CS This 3-Wire interface chip actually has 6 wires.
As mentioned above, four wires are actually required, and the 93CS46 has two additional lines that work together with a special write protection register. This code should work "out of the box" with a 93CS46 chip. The two extra pins not required for the 93C46 are manipulated by all the routines. To reclaim these pins, remove all the instructions that use "pe" and "pre" symbols. A simpler approach may be to set the bit addresses of these bits in the.
I might make another version of the code specifically for the plain 93C46, if anyone wants it enough to let me know.
Please explain the difficulty you have using the code with a 93C46 or the trouble you think you may have. Early versions of this code worked with the 93C56 and 93C57, which have more memory. Unfortunately, these chips use an 8 bit address field, whereas the 93C46 uses only 6. The code can be adapted to work with these larger chips The early versions are long since gone..
The code is basically designed to manipulate a single 93CS46 chip, connected to six of the port pins. Two versions of the code are available, one with a little menu driven user interface via a terminal connected to the UART and the other with only the routines to include in your existing program.
Valid address range for R0 is 0 to WEN Enable writing. This operation must be performed before a write may be issued. This applies to both the 93C46 and 93CS Writing must have been enabled using WEN.
Writing takes a considerable length of time milliseconds. This routine just waits for it to finish before returning WDS Disable writing. This disables write operations. It applies to both the 93C46 and 93CS46 chips. It is advisable to disable writing if no additional write operations are expected soon.
In this state, the chip may have better resistance to accidental data loss due to problems on the power supply, noise on signal lines, etc. The next access should be to this register instead of the memory. 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.
Of course, WEN must still be called before writing. All memory locations before and including the value in R0 will become write protected. 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 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 93CS It is not necessary to erase memory locations before writing. 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 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. This code library is in the public domain. You may use it within commercial for-profit products, without concern of licensing restrictions, copyright, royalties, etc.
93C46 MICROCHIP PDF
Sign up using Email and Password. Supports SPI or Microwire protocols The speed for your chip is stated in the datasheet to have a clock frequency of 3MHz but I would recommend 2MHz as that covers all chips in this series. So to start off I am definitely not a Computer Engineer, but I am trying to learn. I found a couple of 93C46CB3 chips along with some other insignifcant chips in a bag, thanks Dad! Sign up using Facebook. This chip communicate using a SPI bus Serial peripheral bus which has one clock line, and two data lines. The chip is a slave, passive component and you need a microcontroller to communicate with it.
Serial EEPROM (93C46 / 93CS46) Routines