0
\$\begingroup\$

I have a piece of old instrument circa 1988 that uses +-12V in its serial port. According to the manual, DTR pin (Data Terminal Ready) must be held at +8V in order for the instrument to recognize that it is being connected to from the serial port. I have tried CH340 USB to serial dongles to no avail before I discovered this DTR voltage requirement. Do I have to build a voltage booster for this? I see numerous USB or PCI to serial dongles and cards, but none specifically mentions having an adjustable voltage level. Is there a simple solution for this situation?

PCB Photo: Accessory Board

PCB Photo: Main Board

\$\endgroup\$
  • 2
    \$\begingroup\$ You are probably confusing logic level solutions (those using a bare USB interface chip) with RS232 ones having a proper line driver/receiver which not only sources higher voltages but invert the signal. However, both questions on product usage and questions on product shopping are off-topic here. \$\endgroup\$ – Chris Stratton Oct 19 '19 at 2:04
  • 1
    \$\begingroup\$ The issue is DTR must be held at +8V during communication. \$\endgroup\$ – user1596683 Oct 19 '19 at 2:16
  • 1
    \$\begingroup\$ Minimum or Maximum? According to what? You are without doubt misinterpreting something. If the situation were actually as you think, you would simply want an 8v source enabled by the logic level signal. But rest assured, the situation is not as you currently believe it to be. \$\endgroup\$ – Chris Stratton Oct 19 '19 at 2:19
  • 1
    \$\begingroup\$ The +8V requirement comes from the manual. I am puzzled too as to why it is +8V, since same manual says "the levels are +-12V". \$\endgroup\$ – user1596683 Oct 19 '19 at 2:50
  • 1
    \$\begingroup\$ Oh, BTW, the instrument was released in 1988. I don't know what other assumptions are built into the interface. Therefore, the best way seems to match every voltage levels it asks for. \$\endgroup\$ – user1596683 Oct 19 '19 at 3:07
3
\$\begingroup\$

Thanks for adding the PCB photo. That shows the actual components on the RS-232 interface and suggests that the user manual might be wrong in some details, leading you to look for an unrealistic solution and causing unnecessary extra work.

Summary: At this stage, your problem might just be a case of the wrong type of USB adapter, and using the correct USB-to-RS-232 adapter (potentially with some added jumpering of handshake signals) might be all that you need. If not, then I explain in detail how you can gather the information to clarify & correct the details from the manual, in order to solve the problem.


  • Do you have the correct type of USB adapter?

    I have tried CH340 USB to serial dongles to no avail before I discovered this DTR voltage requirement.

    Your problem might have a very simple solution, as already been explained in this comment from Chris Stratton. To connect from a USB host (like a PC) to the RS-232 port on your device, you must use an adapter usually described as "USB-to-RS-232 adapter" (RS-232 levels on the serial connector, often supplied with a DE-9 (sometimes mistakenly called DB-9) or DB-25 connector). If you can see the PCB on these adapters, you will find a line driver/receiver IC like MAX232 or MAX3232 etc. connected to the serial connector pins.

    You must not use what is usually called a "USB-to-serial adapter" (logic level signals (3.3V/5V) on the serial connector, often supplied with "Dupont wires" or a 0.1" pin/socket header). If you can see the PCB on these adapters, you will not find a line driver/receiver IC like MAX232 or MAX3232 etc. connected to the serial connector pins. Instead, the signals on the serial connector will go directly to the USB-to-serial IC (CH340, PL2303, FT232 etc.).

    The term "CH340 USB to serial dongle" isn't conclusive either way, without more details and without seeing its serial connector. However it is more likely to be a USB-to-logic level serial adapter, which would be wrong for connecting to your RS-232 device.

    If your current adapter is of the wrong type, then changing to use the correct USB-to-RS-232 adapter might solve, or nearly solve, all of your problem.

  • DTR pin "requirement"

    According to the manual, DTR pin (Data Terminal Ready) must be held at +8V in order for the instrument to recognize that it is being connected to from the serial port.

    1. First, the specified 8V. I have explained in detail below how you can investigate whether that voltage requirement is true or not yourself, by checking how the SN75189 is being used. It is not an RS-232 requirement to have specifically an 8V input voltage.
    2. Second, if DTR is an input on your device, that suggests it must be configured as a piece of DCE. That is unusual for a non-communications device. Most peripherals were/are configured as DTE. This will be important for you to clarify, to be able to make the correct connections to any other device. Some examples of DCE vs. DTE connections can be found here and on many other websites.

When using the correct USB-to-RS-232 adapter, it should assert its DTR pin when the PC configures the USB adapter during boot or when hot-plugged into the USB port.

If you are using the correct type of USB-to-RS-232 adapter, and if it is still required, a possible source of a valid RS-232 "asserted" signal (i.e. >+3V) from elsewhere is, as commented by jsotola, going to be jumpering an already-asserted control signal from your device like DSR (if it provides one). As I explain below, there is no good reason why such a signal must be specifically 8V, despite what the manual claims, just be a valid RS-232 input voltage.

Therefore, if you ignore the (likely mis-stated) "8V" requirement on DTR, and accept that it is likely a requirement for any RS-232-compatible DTR input, then just using a suitable USB-to-RS-232 adapter might (probably will) solve your problem.

However if you really want to find out if the stated 8V requirement on DTR is correct, then I have explained in detail below how you can investigate your device's RS-232 interface circuit yourself, to answer that.


My experience in the 1980s was that it wasn't uncommon for user manuals to refer to RS-232 as ±12V signalling (since the line drivers ICs of that time (e.g. 1488) were powered by ±12V supplies) even though the RS-232 signals were not ±12V, especially not when loaded by an attached RS-232 receiver, and they did not need to be ±12V.

I saw "±12V signalling" mentioned in documentation for some RS-232 interfaces possibly to differentiate those RS-232 signals from TTL-level signals, so that people realised they were incompatible with TTL.

However taking this unfortunate "±12V" terminology literally is not needed, since devices meeting the RS-232 standard do not require those signal level input voltages. You will add lots of work and complexity if you (unnecessarily) try to treat this as a requirement.

Here is some analysis, and a recommendation for some actions, so that you can clarify the points in the user manual for yourself. I'm assuming that the components in your photo (cropped below) are connected to the "PC control" RS-232 connector, and not the "printer output" RS-232 connector which you mentioned.


The PCB photo shows a Motorola MC1488P quad line driver, and a TI SN75189N (dual marked MC1489N) quad line receiver which I've marked below:

Snippet from PCB photo in the question, showing TI SN75189N RS-232 line receiver

Although the TI 75189 (datasheet) (and any MC1489-type line receivers) can have their input threshold voltage changed slightly (plus/minus a couple of volts) via the "response control" pins (pins 2, 5, 9 & 12), from experience of working with many devices, using that feature is very rare. Slightly more common is connecting capacitors to those pins for improved noise rejection. By far the most common usage is leaving those pins unconnected.

Those three yellow capacitors (C41, C42, C43?) to the left of the 75189 and/or other capacitors cut-off to the right of the photo, might be those noise-filtering capacitors that I mentioned.

I recommend that the next step is for you to investigate how the 75189 is being used, and reverse-engineer the circuit immediately around it (i.e. investigate the components directly connected to the pins of the 75189). I expect you will find that either:

  • There are no connections to the 75189 (MC1489) "response control" pins. Then you can use the input threshold voltages "as stated" in its datasheet, to determine what voltages you need to supply on the device's RS-232 inputs.

Or

  • You will find some noise-filtering capacitors have been used on the 75189 response control pins. If this applies, see Figure 9 on page 8 of the linked datasheet for their effect.

Much less likely, but slightly concerning, is that 1k blue variable resistor (R50?) close to the 75189 IC. It is possible that this is connected to the response control pins of the 75189. Please investigate. Even so, the available range of threshold voltage adjustment would not require either 8V or 12V signal levels. We can investigate further, if that variable resistor is actually connected to the 75189 response control pins.


Summary: By doing this reverse-engineering of the RS-232 input circuit, you remove reliance on a user manual which is at-best confusing, and at-worst actually wrong, about its claim to require an 8V signal. At this stage, your problem might just be a case of the wrong type of USB adapter, and a correct USB-to-RS-232 adapter (potentially with some added jumpering of handshake signals) might be all that you need.


A couple of final points:

  • That particular PCB appears to date from no earlier than week 40 of 1992, which fits with a design from 1988 as you mentioned.

  • PCs of the late 1980s could have been real IBM PC/AT (released in late 1984). If your device was connected to that age of PC, it would need to be compatible with the IBM RS-232 interface card of the time, called the IBM Asynchronous Communication Adapter. That used the SN75150 line driver and SN75154 line receiver ICs. Those datasheets show that, when loaded, the 75150 RS-232 signal output voltage was typically ±8V, despite being powered from ±12V, so attached devices could not rely on or expect to have ±12V signal voltages.

\$\endgroup\$
  • \$\begingroup\$ Actually a "USB-to-serial adapter" traditionally is the device with an RS232 lever shifter and a D sub connector sold as a computer peripheral. The bare kind that exists for engineers and hobbyists and only really became popular after embedded boards dropped RS232 shifters in response to PCs losing their serial ports is more commonly a "USB UART" (after the function of the single IC) or a "logic level USB serial adapter" or just named by the brand or part of the chip allegedly on it. But whatever the name, the point is indeed that the circuit must match the need :-) \$\endgroup\$ – Chris Stratton Oct 21 '19 at 0:23
  • \$\begingroup\$ @SamGibson Thank you for the detailed posting. The USB-RS232 dongle I mentioned in my original post worked on other instruments with RS232 ports. Here is a link cdn.sparkfun.com/datasheets/Dev/Arduino/Other/CH340DS1.PDF \$\endgroup\$ – user1596683 Oct 21 '19 at 4:53
  • \$\begingroup\$ @user1596683 - Thanks. (a) That datasheet is for the USB-to-serial IC, not for any specific adapter. Just for completeness, have you seen the part number marked on the RS-232 driver/receiver IC on your specific adapter? Can you add a photo of that IC? Then we can check its datasheet. Thanks. (b) If the adapter is of a suitable type, then my answer explains how you can find out which actual interface voltages are acceptable to your device, irrespective of what the device's manual says. (c) If you want to discuss things briefly in chat, we can try to set that up, your choice. \$\endgroup\$ – SamGibson Oct 21 '19 at 14:26
  • \$\begingroup\$ I added a photo for the PCB of the main board. This is the only RS232 port if no accessory board is present. It looks like pins 2 and 5 are seen connected into a compound element "471K5C GC9". The manual says to use the RS232 on the accessory board (the 1st photo) for PC connection if present. The two RS232 ports seem to have different circuits. \$\endgroup\$ – user1596683 Oct 24 '19 at 20:49
  • \$\begingroup\$ @user1596683 - Hi, I didn't see any replies to my previous points (a) & (c). While I can't fully do the reverse-engineering for you via photos, here are some comments: (d) I can't tell you which RS-232 port you should use, but from the photos, both use the SN75189N/MC1489N for RS-232 receiving, so that part of my answer applies for both ports. (e) The signals don't go into "471K5C" - that looks like a resistor pack of 8 resistors with a common pin 1, which looks like it's used for pull-down of signals (confirm pin with black mark is connected to Gnd/0V). Signals really go to the SN75189N \$\endgroup\$ – SamGibson Oct 24 '19 at 21:10
2
\$\begingroup\$

The voltage levels for RS-232 are -3 to -15 for a logic "1" and +3 to +15 for logic "0". (Yes, opposite polarity from what you'd guess!)

This means that if you have a USB to RS-232 adapter and it puts out ±7 VDC, although it is less than your need for 8V, it is perfectly in-spec. It is the device that requires +8, or presumably higher, on one of its signal pins that is out of spec.

I picked "±7 VDC" after measuring two very different Amazon.com-sourced USB to RS-232 serial adapters here and measuring their TxD pins while sending a file. One put out 15 Vp-p (or ±7.5 VDC) and the other put out 13.8 Vp-p:

13.8Vp-p oscillogram

I would not be surprised to find adapters that put out ±5 VDC instead; they'd be in-spec, too.

The voltage swing is that wide because it's a really old standard from the days where strong cable drivers weren't readily available, so a common thing to do was drive 15 volts down the line and hope at least 3-ish got to the other end due to resistive losses and such.

You might try searching in the industrial space for an adapter that follows the old spec and puts out ±12 VDC or ±15 VDC. Equipment targeted at that market is often built to a much higher standard than the cheapies from Amazon, etc.

\$\endgroup\$
  • \$\begingroup\$ Maybe the device is picky - no one would really consider 3v or even 5v to be the proper output of an RS232 line driver, even if a receiver should accept that. The fact that most receivers will accept inverted TTL with no negative excursion at all is... outside the spec, if convenient for quick and dirty tests. \$\endgroup\$ – Chris Stratton Oct 19 '19 at 2:23
  • \$\begingroup\$ "A lot of modern equipment indeed won't put out enough voltage to accommodate your device." Nonsense. Any actual RS232 line driver would, including typical charge pump designs. \$\endgroup\$ – Chris Stratton Oct 19 '19 at 2:24
  • \$\begingroup\$ In the old days when everyone is doing +-12V, requiring +8V on DTR is understandable. But nowadays, the physical voltage levels are a lot lower. The old instrument wasn't tested for +-3V. \$\endgroup\$ – user1596683 Oct 19 '19 at 2:56
  • \$\begingroup\$ I suspect it is actually > +8V. Was the normal DTR signal +12V in 1988? \$\endgroup\$ – user1596683 Oct 19 '19 at 3:12
  • 1
    \$\begingroup\$ @user1596683 - Thanks for the photo. I've used that to write an answer with my analysis and some actions for you. "It has a tendency to turn into professors arguing over standards." I feel no shame in using standards. I have solved hundreds of problems using standards, and have reverse-engineered many dozens of devices over the years, to resolve issues caused by incorrect / confusing documentation. :) In your case, using standards, IC specifications and some reverse-engineering will solve your problem, while using the inconsistent documentation might not (and would add lots of extra work). \$\endgroup\$ – SamGibson Oct 20 '19 at 14:54
0
\$\begingroup\$

I ran into your problem when in college. Basically our microcontroller test boards all used RS-232 inputs, but all our computers had only USB ports. No one wanted to buy a separate computer just for one class, nor have to do our experiments only in the school lab. After some investigation, I found solution by using an FTDI cable , and told the professor about it, and it was news to him, lol. So, basically you buy this cable from FTDI and you don't have to worry about voltage shifting, because they take care of that problem for you. Then, download the Arduino software package for free and write whatever code you want to your device in the serial interface window. Viola, you are talking to the 80's again.

Side note, don't buy that CS knockoff product. Not only is their driver download page in Chinese, but I had one of them "let the smoke out" when I was using it, something that should in theory never happen, but I saw it. Lot's of people complain about how their Arduino Nano knockoff suddenly just stops working, then they buy a genuine Arduino and everything works as it's supposed to. The fake Nanos use the CS chip, the real ones use FTDI.

Looks like you'll need a connector adapter though to go from DB-9 form-factor to whatever form-factor you have on your board there.

https://www.ftdichip.com/Products/Cables/USBRS232.htmenter image description here

\$\endgroup\$
-1
\$\begingroup\$

If that's a requirement then yes you probably do have to build a voltage booster.

most PCI cards will put out +/- 12V (or close to it) but PCI express lacks a -12V supply connection so the RS232 drivers on PCIe cards probably will output a reduced voltage.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.