8051 Development System Circuit Board 4

There are some important considerations to using more memory, but it certainly is possible. the mp3 player project uses 32 megabytes! But using more memory requires careful consideration. The most important factor is that the 8051 processor has a 16 bit address space. This means the processor can never `see` more than 64k of memory. Actually, the 8051 has three memory spaces, 256 bytes of internal RAM,
8051 Development System Circuit Board 4 - schematic

and two 64k byte external spaces, one for data and the other for executable code. The executable code space is read-only (PSEN signal), so there is really only one writable 64k address space. This design uses an AND gate (74AC08) to combines the two spaces together, which makes the board simpler to use and of course is needed to allow writing to the memory during code download. So in the end, there is really only a 64k address space to use. A common approach to using more memory is to connect the memory as shown above, and then to connect the higher address bits (A16, A17, etc) to port pins. This is called "bank swapping", because it effectively provides multiple banks of memory and only one is "visible" to the processor at any one time. The banks are "swapped" by changing the port pins that connect to the upper address bits. In the schematic above, the 39F512 flash rom is actually 64k of memory, but only 30k is available to the user (the chip select logic does not assert CE, pin 22, so that the LCD, 82C55 and chip select signals can use the upper 2k of the memory map). A simple approach to using 60k of flash memory would be to disconnect A15 (pin 3) from +5V and attach it to one of the port pins. Likewise, a 39F040 chip could be substituted for the 39F512, and then A16, A17, and A18 could be attached to additional port pins to provide sixteen banks of 30k or a total of 480k of flash memory. A similar approach could be used...

Leave Comment

characters left:

New Circuits