Tuesday, October 30, 2012

Hardware Schematics - Snippets


At this point, I want to state the hardware and software principles that guided the project over the five years of research at the Ateneo de Manila University (School of Science and Engineering's Electronics, Computer and Communications Engineering Department)

  • By DESIGN, the project will use only "low-level" technology, because they are more affordable and more readily available than their more "hi-tech" counterparts.  This translates into 
    • The use of the open-source Vector Linux OS and of Lynx Text Browser, and the use of TTL's (Transistor-Transistor Logic, such as the 7400 series), discrete bi-polar transistors, and wires, solders and nails.  
    • The software system that we developed are written in "C-language", using simple routines that could run on mid-range Personal Computers.  
    • All hardware components are, equally, available from component stores in developed and in developing economies.  
    • Both the Software and Hardware systems could be maintained by intermediate-level programmers and technicians.  
  • All my students have agreed that this is an open-source project that will provide the blind with access to vast sources of knowledge on the internet.  We hope to provide them with some of the tools that are available to sighted persons, for their personal development, and for them to take on leadership roles in their respective communities.
  • The ECCE Department, where I served as an Associate Lecturer (now on leave), has fully supported these humanitarian principles.





What follows are snippets of hardware schematics for the 5-terminal system.  These have been refined over the 5-year period that the research was conducted.


PC ==> Software ==> Interface Hardware ==> Opto-Isolator ==> Refreshable Braille Displays

PC <== Software <== Interface Hardware <== Opto-Isolator <== Keyboards





Block diagram of the overall circuit design.  

  • Entry from each keyboard is monitored at specific "bits" at the status port.  
  • Each refreshable Braille display has an address, which is specified by three "bits" C0, C2, and C3 of the control port.
  • Each of the "pins" at the Braille displays are activated by codes sent to "cells", whose address appear at the control port.








Pin Designations of the Printer Port.  


  • Port 378(HEX) is bi-directional.  In this project, it is used, exclusively, as an output port in order to accommodate older computers.  It also makes the programming simpler, giving room for intermediate-level programmers.
  • Port 379(HEX) is a status port.  Each of the five available status bits monitor one of the five keyboards.  The signal from the keyboards are transmitted serially; while the status port receives parallel inputs.  In the ordinary run of things, this is not a viable scheme.  BUT YES, IT CAN BE DONE!  We developed a hardware interface program that configures the five pins of status port to behave like SERIAL INPUT ports.  And it WORKS!
  • Port 37a(HEX) is a complex port, which has an output function, but also controls the behavior of the entire port itself.  Care is taken that the program returns all the printer port configurations to their state prior to the program's usage of the port.





PS/2 Pin Assignments.  Two of the pins of the keyboard are connected to the computer, namely, the "Ground" pin (3) and the "Data" pin (1).  The Vcc may be supplied from any source.  





Keyboard Inverter Circuit.  

  • The computer hardware inverts inputs from the keyboard, except the one connected to bit S7 (pin 11).  For ease of trouble-shooting (e.g., connections to oscilloscopes) and of programming, we decided to use a 2N2222A to invert the signal from the keyboard connected to this pin.  
  • This is a prototype, and all conditions are controlled.  Even then, for safety considerations, we provided a diode that isolates negative-going signals in case the ground is disconnected, otherwise, the base-emitter junction of the transistor would act as a 5-volt zener diode, and burn itself.  On the other hand, a positive-going signal would not hurt the transistor because the base-emitter junction would be forward-biased, and this section of the 2N2222 is very rugged.
  • In a system that will be working outside the confines of the laboratory, it will be essential to provide opto-isolators for ALL CONNECTIONS WITH ANY COMPUTER PORT.  This will prevent any electrical transient from entering the computer circuitry.







Decoder Circuit - This is a rather involved schematic diagram and I will postpone discussion on it.  At the moment, I want to provided a few words to the general aspects of the system.







Terminal Selection - This is a rather involved schematic diagram and I will postpone discussion on it.  At the moment, I want to provided a few words to the general aspects of the system.





Cell Selection - This is a rather involved schematic diagram and I will postpone discussion on it.  At the moment, I want to provided a few words to the general aspects of the system.





Data Output - This is a rather involved schematic diagram and I will postpone discussion on it.  At the moment, I want to provided a few words to the general aspects of the system.





Overall Schematic - This is a rather involved schematic diagram and I will postpone discussion on it.  At the moment, I want to provided a few words to the general aspects of the system.




The following "TRUTH TABLES" are very useful tool for the commissioning of the system.  It provides the input combinations that are required to accomplish the control output.  







Truth Table for Control Port







Truth Table for Terminal Selection







Truth Table for Cell Selection







Truth Table for Data Output






Decoder Commands






User Keyboard and Status Pins







Input Byte Read from the Parallel Port