Troubleshoot and determine the cause and resolution of RS-232 Serial Interface issues with Oki Data dot matrix printers.
Because printers cannot handle data as fast as it is sent from a host (P.C.), eventually the printer buffer fills, causing erratic or garbage data to be printed. When this will actually occur varies, based on the following:
* The speed of the printer in characters per second and the print mode being used, such as draft mode or letter quality.
* The printer buffer size (this can vary greatly by model and by menu setting).
* Baud Rate, which is the speed of data transfer from the host to the printer.
Generally speaking, when using serial interface, if the printer does not communicate at all, the baud rates do not match or the cabling is incorrect. (General Cabling requirements are discussed below.)
If the printer prints x number of pages, then the printing becomes erratic with garbage data printed, this is a handshake, or buffer overflow, problem. The printer simply cannot keep up with the amount of data being sent, and is not set up correctly to tell the host to stop sending data.
A short term fix (and also a good test) is to lower the baud rate, which decreases the speed of data transfer. NOTE: A baud rate change must occur on both the host AND the printer. The baud rates must ALWAYS match on both ends, or data will not be sent. Lowering the baud rate will prolong the time (or number of pages) before the buffer overflow occurs. If the buffer overflowed after 5 pages, as an example, and lowering the baud rate allows 8 or 10 pages to be printed, before a problem occurs, it is definitely a handshake problem. IMPORTANT: If print jobs are kept short, handshaking (buffer control) may not be necessary. However, it is always recommended to have buffer control working correctly.
Handshaking (Buffer Flow Control)
There are two ways to control the serial data transfer, Ready/Busy and Xon/Xoff. Ready/Busy uses high and low voltage levels through the interface cable pins to tell the host to stop sending data, while Xon/Xoff actually sends a software control code signal (Xon-transmit on) or (Xoff-transmit off) back to the host to either send or stop sending data. The host and printer must both be set to Xon/Xoff, and the cabling must be set correctly, for this configuration to work correctly. As the buffer fills, an Xoff code is sent back to the host, and data stops being sent. As the buffer empties, an Xon code is sent to the host, and data is again sent to the printer.
The key to Ready/Busy handshaking is knowing the requirements of the host, or knowing which signals control send and stop data flow, and which signals need to be high to tell the host when the printer is ready to receive data. If the cabling is configured properly, and the host and printer are set for Ready/Busy, as soon as the buffer is close to full, the required high signal through the interface cable for the host drops, telling it the printer is not ready to receive data. When the buffer begins to empty, that signal becomes high again, and data is sent. The requirements of the host and printer need to be understood to use this configuration properly.
A host and print device can either be a DTE or DCE type device. A DTE device (normally an IBM compatible system or terminal) transmits on pin 2 and receives on pin 3. The DTE device also normally requires a high voltage on pins 5 and/or 6 to be able to send data. A DCE device transmits on pin 3 and receives data on pin 2, and normally requires a high voltage on pins 4 and 20.
If a DTE host device is connected to a DTE printer device (most printers are DTE), the pins must be crossed to allow the transmit to go to the receive pin. Consult the user manuals of the devices being used to understand the specifications and requirements. NOTE: This varies greatly from system to system and must be determined for each system configuration.
Understanding serial interface requirements determines the cable configuration to allow data transfer, and determines the handshaking being used. This document is intended to explain serial interface requirements, configuration, an understanding of handshaking buffer flow control, while providing general troubleshooting information. The user must know the system requirements, the cable pin configuration and the handshake options available, to properly use and control serial interface operation.
Product(s): ML172; ML180Plus; ML182Plus; ML182Turbo; ML183Plus; ML184Turbo; ML186; ML192Plus; ML292; ML294; ML320; ML320Turbo; ML321; ML321Turbo; ML380; ML390; ML390Plus; ML390Turbo; ML391; ML391Plus; ML391Turbo; ML393; ML393C; ML393CPlus; ML393Plus; ML395; ML395C; ML520; ML521; ML590; ML591; ML82A; ML83A; ML84; ML93; PM2410; PM3410; PM4410