Purpose

It was found to be useful to test the behavior of the parallel port and to test the design of the Parallel Port Interface. Thus, a parallel port tester, based on the parallel port interface VHDL design, was created. With a parallel port tester, the ability to conveniently view data on the parallel port was essential for testing the validity of the design. This required that the 8-bit binary data could be viewed one byte at a time. Although the concept is simple, this design was very useful because the tester can help determine the following:

The design the parallel portconsisted of extending the 7-segment display decoder to handle hexadecimal data. In other words, the hexadecimal representation of any byte received from the port could be viewed on the pair of 7-segment LED's. It also involved modifying the state machine created for the parallel port interface so that incoming data could be viewed at a readable rate.

A second version of the tester was created so that multiple bytes of data could be downloaded and viewed on the LED's. A 0.3 second delay process was used do delay the falling edge of the nwait acknowledgement signal. This could slow down normal parallel port transmissions so that they could be viewable by a human.

Results

With Version 1.0 of the parallel port tester, the following was discovered:

  1. The tester could recognize that the hex number "0A" (newline) was available at the port outputs during the idle state of the parallel port.
  2. The protocol tester successfully tested that one byte of data can be downloaded from the PC. The byte was generated by the DOS TYPE command. For example, to download the hex number "61", the command was "TYPE a > LPT1". the hexadecimal value of the ASCII character was displayed on the 7-segment LED’s. In the example above, "61" was shown. Download needed to be initialized by pressing the active low reset and download pushbuttons.
  3. When used as described in point 2 above, the device could be considered as an ASCII character-to-hexadecimal converter. (e.g. character ‘b’ is 0x62).
  4. The DOS prompt would not return until the download pushbutton was pressed. The design of the tester was to control the acknowledge signal nwait to confirm that the device could return handshaking signals to the PC. When the download pushbutton was pressed, the nwait signal would drop low and the DOS prompt would return. If the pushbutton was not pressed within 90 seconds, the "Abort, Retry Fail? " error message would appear.
  5. Confirming that the wirewrapping was correct.
  6. Use of the decimal point on an LED to indicate when the tester is ready for data.

With Version 2.0 of the parallel port tester, multiple bytes were displayed on the LED's:

  1. The protocol tester successfully tested that multiple bytes of data can be downloaded from the PC. The bytes were generated by the DOS TYPE command. For example, with the command "TYPE a > LPT1". the hexadecimal values were "61", "20", "0D", and "0A", which correspond to the character "a", a space, a carriage return, and a line feed.
  2. One unresolved problem with this version is that a sequence of incoming bytes would run through at 20 kbytes per second instead of 0.3 bytes per second.