-----Oorspronkelijk bericht-----
Van: cctalk-bounces at
classiccmp.org [mailto:cctalk-bounces at
classiccmp.org]
Namens Tony Duell
Verzonden: zondag 16 januari 2011 21:16
Aan: cctalk at
classiccmp.org
Onderwerp: HP150 Touchscreen diagnostic
I guess the HP150 counts as a 'classic computer'...
I have an HP150 (origianl model, 9" CRT) on my bench, and amongst other
things it's reporting touchscreen problems in the POST. This is quite common
with such machines, and nearly always means that one or more of the IR beams
was blocked during the test. This is often due to dirt build-up on the
faces of the opto-devices. it can be due to failure of the devices
themselves.
The touchscreen electroncis is mounted on a frame-shaped PCB that fits just
behind the front bezel. The interface to the rest of the machine is
1 10 pin header plug. From what I rmemeber (and I do have pinouts and
shcematics), there are 3 +12V pins, 3 ground pins, a -12V pin and 3 signals
:
A clcok input (to touchscreen) that moves the IR beam on to the next
position
A synv output (from the touchscreen) which indicates that the last IR beam
is being sampled (or maybe last + 1) I would ahve to check
A data output which indicates if the currently selected beam is open or
blocked.
These signals are all at odd voltage levels (the touchscreen cirucitry is
4000 series CMOS running off a 10V supply obtained from the +12V rail).
HP use transsitors on the CPU PCB to get them to/from TTL levels. they then
end up on the pins of an 8042 microcontroller which also handles the
keyboard and beeper.
Connecting a logic analyser to these signals indeed shows that there are
some beams that appear blocked. The obvious thing is to be able ot determine
which ones so I know which optodevices to test/inspect.
I can think of several ways of doing this :
Count the clock pulses on the logic analyser screen :-)
Make a circuit -- a handful of logic chips, shfit registers, etc that
connects to the touchscreen, generates the clock signal, etc and displys the
state of each beam on a separate LED. Probably possible with the contents of
my junk box, and anywas as I've said, I like soldering.
Ditto, but use a microcontroller. It keeps the chip count down, bnt it's
probably more work for me.
The command list for the 8042 on the HP150 CPU board (in one of the HP
manuals) includes a command to test which IR beams are blocked (this is not
the same as reporting the touchscreen corrdinates). Unfotunately, (a) you
can't use this if the makhine is scannign the keyboard and (b) the
description seems incomplete. It says that this command will return 2 bytes
giving the numbers of any blocked berams. Well, with only 16 birs (and 36
beams), it can't be a bit vector. It also says that if both bytes are 0xff,
then no beams are blocked, if one is 0xff then only one beam is blocked
(specified by the other byte). What happens if more than 2 beams are
blocked? More importantly, since to use this command you have to disable
interrupts and stop the keyboard scanning, it's not going to be possible to
do it from interpretted BASIC. And the programming lanaugages on this old
version of MS-DOS are not that pleasant...
iI can't find an HP diagnostic that gives detailed information on
touchscreen problems, or any reference to one.
Any suggestions/comments?
-tony
Tony,
At page 3-37 to 3-49 of the HP-150 technical reference manual the
touchscreen is described.
If you don't have it let me know I'll make a scan (can take a few days I'm
on a business trip this week).
-Rik