Image Map Image Map
Page 3 of 3 FirstFirst 123
Results 21 to 30 of 30

Thread: Keyboard replacer?

  1. #21

    Default

    Quote Originally Posted by Chuck(G) View Post
    That's how I remember the O1 keyboard--simple passive matrix scanned by the CPU.

    Probably the simplest way with an MCU would be a dual-ported 256 bit SRAM. The MCU would write a location corresponding to the (X,Y) address of the key and the Osborne would read it. Since PC keyboards have both a "make" and "break" signal, that simplifies knowing when to write.
    Hi Chuck
    I see from the code, one could run this based on the 60Hz timing. It would be eazy to sync up to the first row address and provide the needed data in time for the read. I don't think an external RAM is even needed. I believe the it can all be done in code, with no additional hardware, like a multi port RAM being there.
    Dwight

  2. #22

    Default

    A simple circuit would be easier than a RAM.
    It could be done with:
    74LS688
    74LS30
    74LS32
    74LS244
    8 pullup resistors
    Blue Pill keyboard to column/row
    Dwight

  3. #23
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    29,957
    Blog Entries
    20

    Default

    Or just a single CPLD. or probably a GAL. In any case, most MCUs would be loafing along.

  4. #24
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    29,957
    Blog Entries
    20

    Default

    ...or possibly even less than that--with some clever programming, you could do it "barefoot" with a 5V tolerant MCU. Since you know when the keyboard is being read and how often, with a sufficient number of I/Os, you could do the job with software only. When the Z80 is running at 2MHz and your MCU is running at upwards of 70MHz, there's a lot of time to play with.

  5. #25
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    29,957
    Blog Entries
    20

    Default

    Thinking about it a bit more, you'd only need 9 5V tolerant I/Os. One input for the "select" line; the other 8 are tied both to the row and column lines with pullups. The row lines are driven with a 74LS05 OC inverter, if the schematic is accurate. Initially, the MCU is in input mode on all lines and waits for the output-enable on the tristate buffer connected to the column lines. At the same time, it reads the row address on the 8 input lines, looks up the proper keystroke column output, switches the 8 lines to output mode and places data on the 8 lines until the select line goes inactive. I believe that there are a sufficient number of 5V lines brought out to handle both the O1 interface and the PS2 one without resorting to external level shifters. Since the "blue pill" is a 72MHz 32-bit MCU, there should be plenty of time.

  6. #26

    Default

    You only need the 5V tolerant for the outputs. The inputs can use simple resistor dividers.
    Dwight

  7. #27
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    29,957
    Blog Entries
    20

    Default

    Well, no matter in any case--I don't have an O1, nor am I likely to acquire one at this late stage, so testing is out of the question.

  8. #28

    Default

    The outputs are the only ones that need 5V. You can't put a 5V pullup on a 3.3v only pin.
    As for logic, from the O1, you need to see address "FF" and the individual address bits. That is why I had the 74LS688. That allows one to select the row bit to watch for. When you see it you'd enable the 74LS244.
    I need to look at the time of the Z80 but I believe your right, all the logic can move into the controller uP. At 72MHz one can get from one to the other. The only issue I see is handling the keyboard's serial. That is a little more tricky. You need to hide that in between watching the O1, for repeated keys. The keyboard can be throttled though but yo have to allow it to complete an entire 8 bits ( plus a start and stop ) at its clock rate. If you stop it in the middle of a send, it has to resend the entire 8 bits. It kind of a funny hand shake. The keyboard owns the clock.
    Dwight

  9. #29
    Join Date
    Dec 2005
    Location
    Toronto ON Canada
    Posts
    7,057

    Default

    Why not try to repair the keyboard?

    Tell us more about this little intermediate converter board?

    If your laptop had a parallel port you could probably do it with just an EPROM...

  10. #30

    Default

    I was looking at your other post. I'd replace the 81LS95 first before giving up on the keyboard. The fact that it was doing funny things with the meter connected to the lead was strange. Also, you never did a complete measurement of the entire chips leads. The part has 20 pins.
    Dwight

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •