Subject: Re: wscons on a HD44780
To: Werner Backes <werner@bit-1.de>
From: Jesse Off <joff@embeddedARM.com>
List: tech-embed
Date: 02/05/2005 16:07:11
Actually, the keypad is connected to the 16pin DIO header and uses 8 GPIO
lines. The other 8 pins on that header are not used in the matrix keypad,
but contains (IIRC) a ground, 5V, an SPI bus, and 2 3.3V analog to digital
lines.
The header labeled "LCD" is a 14 pin header containing 12 GPIO lines, 5V,
and a line for typical LCD contrast biasing. The GPIO lines don't have to
be used for LCD's, but most of our customers appreciate the convenience.
GPIO lines are very similar, but not the same as a PC parallel port. Each
line is individually (re-)programmable as either an input or an output.
The LCD and matrix keypad operate in a "bit-banging" sort of mode on the
TS-7200. The TS-7200 (and other similar boards) are typically extended
with other hardware in a marketable embedded product. GPIOs are designed
for the simplest of that custom hardware such as off-the-shelf LCD
interfacing, matrix keypads, driving a relay on/off, etc. The PC/104 bus
is typically used by everyone for everything else. GPIO pins are so
useful and simple that we actually build boards (TS-DIO24) that sit on the
PC/104 bus to give the embedded systems designer more GPIO. As processor
power in embedded systems increase, it also becomes feasible to implement
an entire bit-banged ISA/PC104 bus with nothing but GPIO.
I've been toying with the idea of attempting a full abstraction of GPIO
(aka bit-bang) buses for devices such as LCD's and keypads. Drivers would
register their pins and their capabilities (in, out, in/out,
open-collector, pull-up/down resistors, current capabilities, TTL/CMOS
levels, etc...) and then drivers like the hitachi LCD and matrix keypads
could just be generically attached. The code I wrote for the TS7200 could
then just as well work for a PC and its parallel port. I could be getting
ahead of myself here though... :-)
//Jesse Off
> Hi Hubert,
>
> Hubert Feyrer wrote:
>> Please check it out and let me know if the text is
>> ok, or if you have suggestions for improvement.
>
> There is a little mistake in your text. The LCD and numeric
> keyboard are not connected via serial ports put parallel
> ports. The numeric keypad connetcs to general purpose 20 bit
> digital I/O port and the LCD has it's own "specialized" parallel
> port.
> I think this is a pretty cool board and it's great to see NetBSD
> running on it. Thanks Jesse for making this possible :-)
>
> Werner
>
>