perm filename EE315[1,VDS]1 blob sn#191739 filedate 1975-12-12 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		DESIGN OF A MICROPROCESSOR BASED DIGITAL VOLTMETER
C00011 00003				TEST  DATA
C00012 ENDMK
CāŠ—;
	DESIGN OF A MICROPROCESSOR BASED DIGITAL VOLTMETER

			by Victor Scheinman


	This report covers  the design and test  of a DVM using  an 8
bit DAC an analog voltage comparator and an 8080 based microprocessor
system.

	The method used  to carry  out the conversion  of the  analog
voltage to  the digital  display output is  the method  of successive
approximation.   This procedure involves comparing the unknown analog
voltage with  fixed voltages  whose increments differ  by factors  of
two.   Thus, by performing only  8 tests, the unknown  voltage can be
determined to a resolution of 8 bits (one part in 256).

	The fixed  reference  voltages  are  produced  by  an  8  bit
integrated circuit digital  to analog converter.   The 8  bit digital
signals  applied  to  this device  are  generated  by  an 8080  based
microcomputer, having one 8 bit output port dedicated to driving this
DAC.   The reference  and unknown  signals are  compared by  an LM311
comparator.  The TTL level comparator output is entered as one bit of
the system's single 8-bit input port.

	The  following subsystems  were  designed  and  developed  in
completing this project.

	An 8080 microprocessor  based minimal system.  This consisted
of an 8080  chip, a 8212  status latch for  storing processor  status
information during each machine cycle, an 8212  8-bit output port, an
8212 8-bit input port (only one bit of which was used), a 1702 (256 x
8) PROM  for program  storage, two  8101(256 x  4)  static RAM's  for
temporary data  storage, and  an 8212  memory buffer  for controlling
data out of the PROM and RAM's.

	A  2 mhz clock generator was built  using two 7410 NAND gates
operating as inverting buffers with suitable resistors and capacitors
to make them a free  running astable multivibrator. Using a couple of
7473 type JK flip-flops  this 2 mhz output  was converted into a  500
khz 2-phase clock with the timing and duty cycle suitable for running
the 8080.

	The DAC was a Motorola MC1408L 8-bit current output DAC. This
DAC was addressed directly from  the 8-bit output port. In  addition,
the output  port addressed  8 LED's  acting as the  DVM display.   In
single step  mode, these LED's acted as displays of the status of the
Data Bus (by manually enabling the output port latch).

	A National LM311 comparator was used to compare the reference
and unknown  signals.  Its output  was TTL level  conditioned and fed
into the #1 bit of the input port.


	Control  of  the  system  was  accomplished  by  providing  a
RUN-STEP switch, a SINGLE STEP pushbutton switch, and a RESET switch.
To effect the  proper timing of the control signals, the RUN and STEP
functions were clocked by TTL level clock signals.


	
	
				TESTING

	Each subsystem was tested  separately.  Clock waveforms  were
checked on a scope.  Switch  functions were next tested.  The minimal
system  was brought up using a JMP  00H programmed PROM.  Testing the
system with this program revealed a defective ready line in the 8080.
A check with another chip verified proper single step operation.

	The  DAC and  comparator were  tested separately  by manually
setting up data  on the  output port and  clocking it  into the  DAC.
Proper  operation of  the  comparator was  obtained  by providing  an
offset  adjustment  potentiometer to  essentially  scale  the unknown
input to a comparable value.

	Finally, software was written and the total operation  of the
system verified.


			RESULTS AND DATA

	In  short, the  system worked.   Two  performance tests  were
made.

Test 1.   An analog voltage between 1 and 7 volts was applied.  Table
1 shows the digital output.  By differencing the  digital output, the
linearity of  the system was checked.   This data indicated linearity
to 1 LSB throughout the range of voltages applied.

Test 2.   The basic  frequency generator (2  mhz- for  all the  above
work)  was  replaced  by  a  square   wave  generator.  System  clock
frequencies  from 500khz  to 2.5  mhz were tried.   This  second test
records data obtained while operating at 2.5 mhz.  It turns  out that
the linearity of  the system remains about the same,  but the data is
offset by  about 4 counts. As the program outputs a test value on one
instruction and inputs the comparator signal on the next, it would be
expected  that  the  shift could  be  caused  by  the shorter  timing
interval.  As an IN and  OUT instruction each take 10 clock  periods.
The shortened timing interval  is about 4 usecs.  From  the LM311 and
MC1408  data sheets, this should  still be more than  enough time for
DAC and comparator  settling to occur.   More tests  are in order  to
determine  the real  causes  of this  shift.   Interestingly  enough,
although  rated  at 2  mhz  max.   clock, the  8080  apparantly still
operated well at 2.5 mhz.


				SUMMARY

	An 8080  microprocessor DVM  system was  designed, built  and
tested.     Although  operating  with  a  minimal   system,  the  DVM
demonatrated its ability to properly digitize an analog signal having
a range of  values from 1 to 7  vdc.  With a more  elaborate program,
additional data  processing could be performed to  enable this DVM to
be used as a simple data acquisition and processing system.  et

			TEST  DATA



Test	Analog signal 	Digital value	Decimal equiv.	Difference

1	7 vdc.		11110010	242		
	6		11100000	224		18
	5		11001101	205		19
	4		10111010	186		19
	3		10101000	168		18
	2		10010101	149		18
	1		10000011	131		18




2	7		11110110	246		
	6		11100011	227		19
	5		11010000	208		19
	4		10111110	190		18
	3		10101010	170		20
	2		10011000	152		18
	1		10000110	134		18




Notes:  Tests 1 and 2 were the same execpt test 1 clock =500 khz.,
test 2 clock = 2.5 mhz.