A serial terminal combines a keyboard and a text-mode display with a serial-communication circuit. Keystrokes on the keyboard are encoded in a suitable code like 7-bit or 8-bit ASCII and then transmitted via the terminal "TX" output. Incoming data is received via the "RX" input, decoded, and displayed on the monitor. To allow interfacing with different computers, the parameters of the serial communication interface can be configured, either via switches or interactively via a setup menu. While ASCII code already includes a few commands (like carriage-return or line-feed), most terminals also support extra commands to position the cursor on the screen, etc. Click here for a photo of a typical terminal with keyboard and monitor.
The Hades SerialTerminal simulation component is modeled after the famous VT52 terminal from Digital Equipment corporation. The VT52 command set is a de-facto standard and easy to implement; even today most serial terminals still include a VT52 compatibility mode and support the VT52 character set and commands for cursor movement. The screen of the VT52 provides 25 lines of 80 characters each. The schematics symbol of the terminal has just two pins, namely the TX serial output and the RX serial input. For ease of use, the terminal provides its own user-interface window, see the screenshot below.
Incoming data is interpreted according to the VT52 command set and then displayed. When you type into the terminal window, the keystrokes are converted to ASCII and transmitted via the TX output. Clicking on the terminal's symbol in the schematics opens or closes the external window. You can select the log checkbox to display the last received and transmitted characters in raw (hex) format.
Note that no so-called local echo is provided: the characters that you type into the terminal are just transmitted via the TX output port, but are not automatically shown in the terminal window. With the terminal connected to a computer, the software running on the computer would typically send-back (or echo) all characters that you typed via the RX line, so that the characters also appear on the terminal screen.
To simulate this behaviour, a simple loop-back connection is made from the TX output to the RX receiver input via a delay-line. An (arbitrary) number of six inverters is used, and the propagation delay of each inverter is set to 0.1 seconds for a total propagation delay of 0.6 seconds. Therefore, the characters you type are first transmitted by the terminal, propagate via the delay-line, reach the receiver input of the terminal, are decoded again, and then displayed. As you can see, the delay of 0.6 seconds selected for the demonstration is a bit too slow for real interactive use. You can try to change the gate-delays to find out the propagation delay that seems fast enough for you. For most people, a reaction time below 0.1 seconds is perceived as instantaneous.
Press the configure button to open the communication parameters dialog. You can now select the baud-rate, data-bits, parity-mode, and stop-bits for the terminal. The following image shows a screenshot of the configuration dialog:
You can also click the symbol of the serial terminal component in the Hades schematics editor to hide or show the terminal window.
For a demonstration of the terminal connected to a microprocessor, see the following applets: USART 8251 demo, RS-232 tester, Tetris game.Run the applet | Run the editor (via Webstart)