0% found this document useful (0 votes)
457 views4 pages

8088 Single Board Computer Overview

This document summarizes an 8088 single board computer that: 1. Allows downloading 1KB chunks of object code from a PC to run programs on the 8088 CPU. 2. Includes a serial interface and small PROM-resident operating system to enable downloading code. 3. Can be used for educational purposes to program and control external devices from a PC or for embedded applications by writing programs in assembly language on the PC and downloading them.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
457 views4 pages

8088 Single Board Computer Overview

This document summarizes an 8088 single board computer that: 1. Allows downloading 1KB chunks of object code from a PC to run programs on the 8088 CPU. 2. Includes a serial interface and small PROM-resident operating system to enable downloading code. 3. Can be used for educational purposes to program and control external devices from a PC or for embedded applications by writing programs in assembly language on the PC and downloading them.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

.

8088 SINGLE BOARD COMPUTER


A low-cost computer system is described that forms the perfect
introduction into programming Intel's 8088 CPU. The system is
complete with aserial interface and a smalI, PROM-resident,
operating system that enables the SBC to download 1-Kbyte large
chunks of object code sent by a PC running a communication
program.

R. Grodzik

resident in the host.


The 8088 SBC is equally at horne in an
educational environment, aUowing the user
to control external devices from a PC Of
course, a11 programs for the card have to be
written in assembler. lf the program has a
bug, try again - it only takes a second to re-
load the new version to the board. No emu-
lators or EPROM burning are needed here.

Operation and system


architecture
The present circuit (Fig. 2) uses a multi-
plex/ demultiplex system. The 8088 CPU has
a multiplexed Jow-order data/address bus
multiplexing (TDM) and providing the which needs to be demultiplexed to access
neeessary communication and synchroniza- the RAM and PROM in the system. Circuit
tion primitives. However, where a sequence Ie?, a 74HC373 octal latch, pravides this
of program statements must appear to be ex- function. The 8155 PIO (10) has internal de-
ecuted indivisibly, critical sections are multiplexing, and is connected directly to
formed, and need to be protected. This is the 8088's lower data / address bus, with the

T HE first IBM PCs were based on the 8088


microprocessor,
nal architeeture
which has a Ifi-bit inter-
and an external 8-bit data
achieved with the aid of 'busy' functions im-
plemented by wait loops and f1ags. Further
measures have to be taken to prevent dead-
ALE pin controlling the flow of data or ad-
dress information. In addition, IC4a and IC4b
provide a qualifying signal from the DEN
bus. Today, IBM PCs praliferate the world lock and guarantee Iiveness. i.e., the pro- pin of the 8088 to prevent bus contention
with more powerful microprocessors - the gram must not crash under any when RAM or PROM is enabled.
8086,80286,80386 and 80486. Their ability to circumstances. The fulfillment of this last re- Circuit ICI, a 8284, is a dock generator
keep going is mainly due to upward corn- quirement is a formidable feat of software and driver for the 8088 rnicroprocessor, pro-
patibility (the original instruction set for the engineering. vidtng aU the souree clocks needed by the
8088 has been maintained and enhanced). The problem is solved by utilizing a system. The 11.0592 MI-Iz master oscillator
Hence, machine code software originally multi-processor environment, in which each frequency is divided by three by the clock
written for the 8088 continues to function on individual processor executes its own pro- generator to give a 33% duty factor 3.6864-
the more enhanced processors. gram, and asynchronously communieates MHz signal to theCLK input of Kz. This fre-
This design. based on the Intel 8088, con- with the other proeessor via aserial link. queney is further divided by two to present
nects to the RS232 port of any IBM PC con- This principle is adopted here, and has taken a frequency 01 1.8432 MHz to 10 pin 3, a
figured for 9600 baud, 8 data bits, 1 stop bit, the practical shape of an BOB8 single-board rIO with internal timer, where it is again
and 110 parity. Jt provides tWD eight-bit user computer. Simply upload program data divided down by three to output a
ports, five auxiliary control lines and two in- from the PC to the 8088 SBC (] Kbyte max.), 614.4 KHz square wave signal at pin 6. This
terrupt lines. 111€ single-board computer is and YOll have your PC free to run any other signal feeds IC6, a 8251 UART. An internal
externally powered, thus offering consider- program. The use of the second processor divider in the UART (divisor 64) finally pro-
able protection to your eostly pe, which (the one on the SBC) brtngs coneurrent pro- duces the baud rate of 9,600 required for
funetions as terminal. gramming within easy reach. asynchronous communieations with the
Oneof the features of this project is an at- hast rc,
tempt to investigate virtual memory. By
Concurrent programming using virtual memory techniques, whereby
The simuJtaneous exeeution of two or more program code is down loaded in packets of
The operating system
programs by a single processor is now 1 KBytes each, the seemingly small on-board The control software required to boot up the
aehievable in the domains of real-time elec- memory of the SBC does not prohibit the ex- system resides in abipolar PROM, lC1O,
tronics. This is achieved by time division ecution of a substarmal program which is which is mapped into the system memory as

ELEKTOR ELECTRONICS JULY/AUGUST 199\


8088 SINGLE BOARD COMPUTER

FFFFF
COMPONENTS LIST

Resistors:
FFFFO RESET VECTOR- = FFEOOH (all O.25W 5%)
5 7kn5 Rl,R2,R3,R5,R6
12 2200 R4,R7.R14,RJ7,
A18,R19
OPERATING PROM 2 4l<il7 R15,R20
SYSTEM 512 Bytes
2 47ktl A16,R18

~ CapacilOrs:
FFEOO
I 10pF CI
2 1O~F tantaIum bead C2,C3
12 10nF decouplinq C

<, Semiconductors:
..... 2 BC548 Tl,T2
1 1N4148 01
1 lN4002 02
3 LEO D4;05:D6
1 8284 IC,
02800 - I-- UART COMMAND - I 8088 IC2
1 8155 ICS
..... 1 74HC32 IC4
r-..
1 74HCl38 ICS
1 8251 ICB
1 74HC373 IC7
00800 UARTDATA - 2 2114 1C8,IC9
....... i 1 PROM' ICID
- --
1 74HC640 ICII
007FF ---[STACK TOP
[Link]:
1 n.o press swltch SI
RAM 1024 Bytes 1 11,OS92MHz quartz cryslal XI
I 26,way pln header KI

• Pre-programmad PROMs and prin1e(l-cir-


~
00400 cutt boards 10r this vl'Diect are available from
tne author:
R. Grodzlk, 53 Chelm&tord Road, Bradtord
..... BOS 8ON, ENGLANQ, The pric& of the
..... PROM ls f15.00 including P&P,
..... TIMER HIGH 0005

TIMER LOW 0004 out for solder bridges and missed connec-
PORTe 0003
tions.
All port Iines and data connections are
OOOFF PORT B 0002
brought out on connector K" a single-in-line
~ PORT A 0001
PIO RAM 256,BYtes
26-way pin header. The 5-V supply is con-
COMMAND/STATUS 0000 nected to aseparate 2-way header. On the
00000
host computer, connect a dual screened lead
MEMORY 1/0 910075" 12 to the OV, RxD and TxD pins of the serial
port. Also tie the RTS and CTS pins together
Fig. 1. Memory structure of the 8088 smgle-boardf computer. (see the insert in the main schernatic diag-
ram).
shown in Fig. 1. The code burned in the ically from address (0000:0400) - 00400H
PROM perfonns the following functions: (RAM start; see Fig. 1).
provide t he r eset vector address
Programming
(FFEO:OOOO) - FFEOOHPROM start a d- For those of you with access to a PROM pro- The MSDOS operating system for any IBM
dress; grammer, the contents of the system PROM, pe contains a machine code debuggmg fa-
initialize data, steck and extra segments a 745472, are given in Fig. 3. cility named [Link], in which assem-
to zero; bly code can be written, assembled, and
initialize the stack pointer to RAM top saved to disk. To start DEBUG, simply type
(O07FFH); Construction and the following:
initialize ports A, B, and C to outputs; connecting up
configure the on-board timer of 10; DEBUG [Link] <CR>
initialize the UART (9600 baud, 1 stop This should be relatively straightforward
bit,8 data bits. no parity): using the ready-made double-sided and Adjust the maximum number of bytes to be
load binary data received from the hast through-plated board, and the component saved to disc (1 K). Type
PC to the RAM (00400-007FF). mounting plan, supplted by the author. Just
use a hot iron, ensuring at all times that the Rex <CR>
Once the SBC has received 1 KBytes of data, bit is clean and tinned. Dry solder jotnts
execution of the program starts automat- should really be a thing 01 the past. Watch and then

ELEKTOR ELECTRONICS JULY!AUGUST 1991


COMPUTERS AND MICRUPROCESSURS

s v f+)
sv 1"
CD
03 POWER
T'FlOy~6~
I..~~ SV
"~~:: 0' IC6
0
[~. 10 WR
FI'ROY~4 12

"IC"
11~

~i~" ~r.... [~''"


.. _.~+ ~...
... r-
~Dl
0027
00
USART
..
Rl(ROY Tl( R 0 Y

OT2
-F---'"'~'------~
~02

~03
~ 04
8251 W~ ~

"",- BC548
~ 05 hD 19 SV&- AIS

I ~~",b"==:,--.,-
~,",~,--r- --:'," 1ti: RXOh l~'

~14B ~ ROYle AEN2t~'~=tt=~"ijMNfM-)( " ~'"'--+--~ "~'-I"--.;_r;..--'-.J11 Tl~11f...,.-~r';;':;:-I_------~."'"'----~


11 RES
RST
CLI\
10
8
21 RESH
19 CLK
'" ~'"'--+--+, J:. ~
BC547

",, Gur"
: )(n. T~
Cl
xa
8284
IC1 ,·"t;:'====:j::t--'''i''"
,,::.'
CSYNCf-!--
"'
·"I~'===t===t=t~~~c4~----~~ IC2 11,12
11,,,5
4 3
25
C YO ~
Y""""i14
1N4001

(.0 u,
: ~:.i·~A:~~~ CPU

:~~!~::~f~~i'f!~
." s
00
IC5 "f"-
Y3 ~ ~2 IC4b )"'-----------------------------,

~9
C2

10~

Xl - 11.0S92MHz.J.
xr _.

9
8088
:~~

AC5
.0<
fLft"~t~"tS8~'t':'~'__
13

11
03

05
G
en
l ~~
138
~~
V6~

.:..-:'r_' 'tr
': IC4a 8 BC548

aos 10 D6

"'f"---t"'C'-t-t~
r--------------------,oo-+-+---'"1 7
NMI
DEN 26

5V
[~' TEST
"I"=:j~t+t=j:::::=======:::;l
J2
A9

-
ALE~

Cf.! .10 HOlD 101M ~

"
!I !I "

-
I~--
,.
IC7
OO~
01
02~
03
5

9
Al

A3
12
"l I Ra ,., A14 • 8, 220"
04
05
06
lS
16
A4
.0.5
A6
.,J T -r'-r'-r' -r+r' R14 5V 07 19 A7
11 12 13 14 15 16 17 18 ~

m ~ ~ ~ @ ~; ~
,,' '" '" ,
'M' IC" I-++G+-fl----"" 1
.... ~4~C!4~ _ <> G 11' ~5+V"
, ...... <I ..: <I co: <>:

8 21 PAO 0

"l]' '"
~ 22 PA! TIN~

.'' '
10 23 RESET ~ ie •

11 [Link] TOUTf"----+~ ~ Da AO~


12 25 PA4
1"----+--+++~-"
~D1 Al~
13 26 PAS CE ~ In IC10 A2~ 16 A8
A9
I
15
14 21 PA6 101M ~
~D3 A3~
PA7 IC3 RO S ~ 04 PROMA4~
15 28 :'~'t~'~'====~U ~oo

~' ~" ""


~ os 74S A5~ ~D1

17 Ja PB! ~ oe 472N A6~ ~In


W, "12
t,-"
~D7 A7~
18 31 P82 00 ~oo
19
20
aa
33
P8J
P84
8155 01
In
13
14
'_'.J"

I 21
az
Iot'e'~------------------------C'"'~
P87
34
35
»as
P86
03
D4

D517
T~
16

sv
~"

[
37 PCO
07 19
38 PCT
39 PC2
-sv Cl IC8
1 PC3 IC4 IC5 IC7 IC10
2 PC4 IC'
ov 11ljJ 0
scs
.. <?---+Cf---+0f--4Cf-.J<;
S

ss ,,' l0--:l: IC4 - 74HC32


"0
"
910075. 11

Fig. 2. Circuit diagram 01 the SBC.

ELEKTOR ELECTRONICS JULY/AUGUST 1991


8088 SINGLE BOARD COMPUTER 11
National Semi DM74S472

BA 00 00
, ................ ,
00000: BB 00 00 8E D8 8E DO 8E CO BC FF 07 FA
00010: BO OF EE BA 01 00 BO 00 BE BA 02 00 BO 00 EE BA
,................ ,
00020: 05 00 BO 40 EE BA 04 00 Ba 03 EE BA 00 00 BO CF
, ••• @ ••••••••••••
,
00030: BE BD 00 04 BF 00 00 B4 00 BO 4F A2 00 28 BO 06 ' .......... 0 •. ( .. I

00040:
00050:
A2
F7
00
AO
28
00
90
08
90
90
90
90
90
90
90
90
AO
90
00
90
28
90
24
90
02
88
3C
03
02
47
75
81
,' ................
( ....... ($.<.u'
G.
,
00 00
,
r .•• ll .•.......•..
00060: FF FF 03 75 D9 EA 00 04 00 00 00 00 00 00
00 00 00 00 00 00
,................ ,
00070: 00 00 00 00 00 00 00 00 00 00
, ................ ,
00080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
, ................ ,
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
, ................ ,
OOOAO:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
, ................ ,
OOOBO: 00 ,
00 00 00 00 00 00 00 00
,................
00 00 00 00 00 00 00 00
OOOCO:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
, ................ ,
00000:
00 00 00 00 00 00 00 00
, ................ ,
OOOEO: 00 00 00 00 00 00 00 00
, ................ ,
OOOFD: EA 00 00 EO FF 00 00 00 00 00 00 00 00 00 00 00
OOlOO: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
, ................ ,
00110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
, ................ ,
, ............... ,
00120: 00 00 00 00 00 00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
,·................ ,
00130: 00 00 00 00 00
, ·............... ,
00140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r
,
................ ,
,
00160:
00170:
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
,................
................ , ,
,................
00 00 00 00 00 00 r
00180: 00 00 00 00 00 00 00 00 00 00
00190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 · ............... ,,
,................
DOlAO: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
001BO: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
, ................ ,
,
,................
r
001CO: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ,
, ,
001EO:
001FO:
00
EA
00
00
00
00
00
EO
00
FF
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
,................
................ ,

Flg. 3. Contents of the system PROM, a 256-byte large 745472.

assembler. Next, type MOVDX,0002 ;port Baddress


400 <CR> OUT DX,AL ;A5 sent to port B
W <CR> MOV DX,0003 .port C address
Next, invoke the resident assembler by typ- IN AL,DX .read port C
ing 1 Kbytes are written to disk as '[Link]'. MOV DX,OOOl ;port A address
Next. Enter fN AH,DX .read port A
A 100 <eR>
Q <CR> Ta provide a virtual Illemory faciltty.
followed by the Iines of assembly code. e.g.: whereby the 8088 board may request a fur-
to leave DEBUG. The binary file contents of ther 1 KBytes of program or data from the
MOV DX,OOOO ;(all ports output) '[Link]' can now be sent to the 8088 host PC, the following routine is used:
MOVAL,OF SBC via the RS232 port using any communi-
OUT DX,AL cations software utility. MOVDI,OO
MOV DX,OOOl ;(send 55H to port A) Three ports are available on the 8155: ports A MOV BP,0400 ;(RAM statt)
MOVAL,55 and Bare 8-bit wide, and port C 6 bits. The JMP FFEO:0045 .topereting system
OUT DX,AL direction of data flow is controlled by the routine)
;(wait) command regtster of the 8155 (ar address
00000), and is programmed as follows: Running this three-line program will eIear
Press the carriage return key twice to exit the the RAM, preparing it for another 1 KBytes
MOVDX,OOOO ofprogram. •
MOVAL,X
OUT DX,AL Note:
Table"1. 8155 port programmlng Various publications are available from
where X is the value to configure the ports, Intel, detailing the programrning of the 8088:
Port C PoitS Poft A .x taken from Table 1. 8086/8088 Assembler Langllage PI'O-
Onee the command regtster is pro- gmmming. by L.A. Leventhal. RS Com-
output outout eutput OF grammed. it is a simple matter to send or re- ponents order code 904-851.
j"pu(OE ceive data to or from port A (address 0001), 8086/808816 bit Microprocessor Primer,
outpur output
port B (address 0002), or port C (address by Morgen & Waite. RS Components
eutput '''l'ut oU4?"! o~ 0003). For example: order code 904-845.
outl!Ü! ,'iIlpDt lhpu!' Oe Data sheets on the 8088 available from
'"Plli QUllliJ! qutl)!jt O? MOVDX,OOOO ;port command register Intel at: Intel Corporation (UK) Ltd.,
Input oulPut inpul 02 MOVAL,02 .port C input, port B Pipers Way, Swindon, Wilts. SN31RJ.
Input Input: outout GI output, port A input Telephone: (0793) 696000.
input Input Input 00 OUT DX,AL
MOVAL,A5 ;data

ELEKTOR ELECTRONICS JULY/AUGUST 1991

You might also like