Figure 1 contains the schematic diagram of the memory card.
The main parts are:
-microcontroller 89C51 with built-in flash memory for program. The on-chip flash allows the program memory to be reprogrammed in-system or by a conventional non volatile memory programmer.
-512 kB external flash memory used for data logging
-high precision power supply regulator for Vpp
The Vpp power supply is switched to high state by microcontroller only when memory updates are desired. In the absence of 12 V on the Vpp pin, the 28F512 is a read-only memory. Communication of memory card with other devices is made by a serial interface with TTL voltage levels. Other signals received by memory card are: RESET to initialize the program and PFAIL to know if the device that sends commands to memory card is ON or OFF.
Note: As an example, consider a typical application of a data logger that memorize 32 bit of data per record and the exact date and time of each measurement. We have 512 kB total memory capacity. We can use an Unix timestamp (seconds since Jan 01 1970) format with 10 bytes and a numeric variable 32 bit for data (either one single-precision floating-point variable with 4 bytes or two variables of 16 bit each, which is the case for some acquisition modules with two channels). This means 14 bytes per record. In this case the memory card has a capacity of approx. 36500 records.
Another approach more efficient is to store data and time in Unix format at the beginning and for the rest of the records to memorize only time difference in seconds. In this case each record will have 9 bytes and give us approx. 56000 records capacity of memory card.
Warning: This project can be used in applications where is no need for many records. It is not recommended to use the same memory chip for more than 100000 records (this can be arranged by software program). You can use a socket for flash memory and replace the chip when this number is reached. The chip can be kept as evidence. Since the data format is encrypted, cannot be altered without leaving traces by other people who don't know the algorithm.
Disclaimer: The information on this web site is provided "AS IS", without warranty of any kind.
The author has made the best efforts to ensure the design and the information provided are reliable.
Under no circumstances shall the author be liable for any direct, indirect, incidental, special
or consequential loss, damage, expense or injury incurred or suffered which is claimed
to resulted from use of this site, even if expressly advised of the possibility of
such loss, damage, expense or injury,
including, without limitation, any fault, error, omission, interruption or delay with respect thereto.
 - Atmel 89C51 datasheet
 - Intel 28F512 datasheet
 - LM723 datasheet