8031 DEVELOPMENT BOARD
A. INTRODUCTION
There are so many microcontrollers in the market right now. Beside the maker, also the varian too.
Here I will introduce one of the microcontroller which is familiar and also easy to be found in the market. This microcontroller in intel MCS51 family. The oportunity to learn this microcontroller ie: besides there are plenty of books cover about it also the university curiculum refer to this type of microcontroller for their study. Many industrial applications, devices and home appliances use this type. So there is not a pity if we learn and practice it. Besides that we can do some experiment for our own purpose. The price is not so much for the smaller type.
Infact there is one more microcontroller which very simple in use ie: PIC microcontroller, but in the time when I learn this type, I already make the intel 8051 board, so maybe I will discuss it in another time.
B. MCS51 FAMILY
There are a few type of intel MSC51 family ie:
- 8031/8032 - don't have EPROM and internal memory RAM 128/256 Bytes
- 8051/8052 - have ROM (once time programmable) 4k/8k and internal memory RAM 128/256 Bytes
- 8751/8752 - have EPROM 4k/8k and internal memory RAM 128/256 Bytes
- 8951/8952 - have EEPROM 4k/8k and internal memory RAM 128/256 Bytes
8031/8032 types don't have internal ROM, so the program loader must store in external chip like EPROM or EEPROM chip. 8051/8052 type only for mass production, because its only can be programmed for one time, if the program is wrong then the chip will throw away, not for amateur and hobbyist used. 8751/8752 and 8951/8952 has higher price because it has internal ROM inside.and can be programmed many times. This types have the wide range use in the market. But you must remember that to store the program in the IC, it takes a programmer for that chip too (many commercial programmer can do program this chip). 8031/8032 type don't have internal ROM, so it must used an external EPROM or EEPROM.
C. SCHEMATIC
My board design for 8031/8032 type and use 8kB or 16kB of EPROM. But the board can also be used for another types, consider to the same architecture layout for these IC. My motivations to build this board are : for I/O experiments, robotics, and want to make something complexity circuit and its PCB.
Beside it use an EPROM, it also has to use RAM memory to store the user program. Here I use 32kB RAM type, that I think it is big enough to stores program that we will create later. Besides that it is connected to the familiar I/O chip - PPI-8255, that extend the I/O numbers to accomodate our hardware design.
To communicate with PC, it use RS-232 interface ie: IC MAX232/ICL232, so we can connect our development board to the PC computer for transfering our program.
There are 2 part of the program body :
- Monitor program - this is a program loader that must be stored only one time to ROM/EPROM/EEPROM using the programmer and permanently stored, it used to run the user program in the first time start; also called firmware.
- User program - this is a program that stored to RAM and not permanently stored. Every time, this user program can be changed with another one as our purpose. User program stored to RAM using a program terminal from PC computer with RS-232 interface. User program is an application software program for what purpose the board used.
This development board use 8031 type IC (it is the cheaper one) and an 8kB-2764 type EPROM to store monitor program. It use 32 kB-62256 type RAM. The language used to make the user program is assembly and for the next expansion later will used BASIC. There are many free compilers on the net, and to make this monitor program I used MASM51 compiler from MetaLink Corp. Besides that it can also use another compilers like :
- Assembler51 from Rigel Corp.
- Assembler31 from Ken Stauffer
- Assembler51 PseudoSam from Pseudo Corp.
- Assembler51 from W.W. Heinz
8031 chip have I/O as much as 3 x 8-bit. But for practical using, many are use for internal control, like for communication lines, for clock oscillators, for addressing and data lines which multiplexed, and for true I/O lines. So for our purpose, maybe only left about 8-bit I/O only or more. So we use PPI 8255 chip to add this I/O up to 3 x 8-bit more. With these I/O quantity, hopefully it's enough to accomodate any hardware which connect to this microcontroller. This PPI addressing follow memory addressing mode (memory mapped) and not I/O addressing. So one memory block will lose for this allocation addressing (to simplified the schematic, because I use decoder chip 3 to 8, where the full 64 kB memory will divide to be 8 block). The rest addressing reserved for the next expansion. To be clearly, this is the memory map for this board :
- Address 0000 Hex ~ 1FFF Hex = 8 kB ROM (firmware, monitor program)
- Address 2000 Hex ~ 9FFF Hex = RAM 32 kB (user program)
- Address A000 Hex ~ BFFF Hex = PPI 8255 (infact only 4 locations needed)
- Address C000 Hex ~ DFFF Hex = Reserved
- Address E000 Hex ~ FFFF Hex = Reserved
Here is the schematic board (mcus8031.pdf).
D. PCB LAYOUT
I already design the PCB for this board so it can load all with the very small size possibly doing by hand (for hobbyist, homemade only). The PCB must 2 layers of course. I need new technique to make this using transparent blue print film (Press N Peel). Here how I made it. With this technique we can make the board size about 8cm x 15 cm. Small enough to use it as robot brain! But be careful when doing this, you need more attention to make the both layer fit each other.
E. PART LISTS
Part list for this development board are :
1. Resistors : R1 = 10 kOhm ...........................................1 pcs R2 = 1 kOhm ............................................ 1 pcs
2. Capasitors : C1, C4..C7 = 10 uF/25 V ................................. 5 pcs C2..C3 = 33 pF .......................................... 2 pcs C8 = 220 uF/25 V ......................................... 1 pcs C9 = 100 uF/16 V ..........................................1 pcs C10..C16 = 100 nF ..........................................7 pcs
3. Semiconductors : IC1 = 8031AH (Microcontroller) .............................1 pcs IC1 = 8051AH (Optional microcontroller + ROM) .............. 1 pcs IC1 = AT89C52 (Optional microcontroller + PEROM) ............1 pcs IC2 = 74LS373 (Octal latch) ................................. 1 pcs IC3 = 2764 (8 kByte EPROM) ...................................1 pcs IC3 = AT28C64 (Optional 8 kByte EEROM) ..................... 1 pcs IC3 = 6264 (Optional 8 kByte RAM) ............................1 pcs IC4 = 62256 (32 kByte RAM) ...................................1 pcs IC5 = 8255 (PPI) ..............................................1 pcs IC6 = 74LS138 (3 to 8 channel decoder) ........................ 1 pcs IC7 = ICL232 or MAX232 (Serial COM) ............................1 pcs IC8 = 74LS08 (Quad And gate) .................................. 1 pcs IC9 = 7805 (Variabel Regulator) ............................... 1 pcs D1 = 1N4148 (silicon diode) ................................... 1 pcs D2 ~ D5 = 1N4007 (silicon diode) ...............................4 pcs LED1 = Red 3mm ................................................. 1 pcs
4. Others : Optional IC socket for 40-pins .................................. 2 pcs Optional IC socket for 28-pins .................................. 2 pcs Optional IC socket for 20-pins ................................... 1 pcs Optional IC socket for 16-pins .................................... 2 pcs Optional IC socket for 14-pins .....................................1 pcs IDC connector, 10-pins ............................................ 8 pcs Miniature push button switch (reset) .................................... 1 pcs X'tal = 11.0592 MHz ..................................................... 1 pcs SIP connector, 2-pins (power supply) .................................... 1 pcs SIP connector, 3-pins (serial com) ...................................... 1 pcs Optional jumper, 2-pin .................................................. 2 pcs Double layer PCB, size about 10cm x 15cm ................................ 1 pcs Transformer P=220V, S=9~12V/0.5A (Adaptor) .............................. 1 pcs
No comments:
Post a Comment