EEVblog Electronics Community Forum
General => General Technical Chat => Topic started by: nuno on November 12, 2014, 08:36:22 pm
-
The RS232 seems to be disappearing and giving place to USB. While it does look like an "advancement", RS232 are very easy to connect to, with simple equipment as a microcontroller, while it's already quite complex to have an USB host. This is tying equipment to more expensive and complex hosts such as RaspberryPIs and the like. For example, the old Rigol 1052E/1102E has an RS232; you can control or add functionality such as shortcuts etc to the scope with a simple microcontroller; the newer DS1104Z has no RS232 anymore.
The Korad PSUs are nice, there's a model with both RS232 and USB.
I understand that if you need to transfer stuff at high speed you'll have to go to a higher speed comms system, but not everything in an equipment needs high speed.
Care to share your thoughts on this?
-
How often does anyone need to connect a MCU to a bit of test gear?
RS232 is dead. Move on!
-
How often does anyone need to connect a MCU to a bit of test gear?
RS232 is dead. Move on!
I've used it for automating a test rig many times in the past. Trying to get it scripted on a PC, when often they don't even provide an API would have taken considerably longer and would have needed a PC running for months without interruption.
-
This has been mitigated by the tendency to include ethernet and TCP/IP on equipment. This expands its communications and control capabilities far beyond what RS232 could ever do.
-
It's been a while since I've had a COM port on any computer of mine. My TV has an RS232 port I use for some home theatre automation (turn on/off automatically, set input, etc.)
-
I think its rather more complicated with RS232 level shifting than USB serial connection. Nearly all Arduino boards has USB Serial connection. Any computer has. So cant really see any need for RS232 anymore. As long as the euipment uses standard serial connection on its USB bus :)
-
This has been mitigated by the tendency to include ethernet and TCP/IP on equipment. This expands its communications and control capabilities far beyond what RS232 could ever do.
As I mentioned, makes sense for some kinds of data, datarate, but for other simpler tasks, USB/ethernet demands a controller much more complex than necessary.
Nearly all Arduino boards has USB Serial connection.
Yeah, they have, a slave USB, not a host.
And an equipment that uses USB as a serial port, well, to me it looks like "low efficiency", would make more sense to have (shared) USB-serial converter(s) connected to the PC.
-
It's been a while since I've had a COM port on any computer of mine. My TV has an RS232 port I use for some home theatre automation (turn on/off automatically, set input, etc.)
It's worth to note that in case of stationary PCs, even if one doesn't have a D-SUB RS232 connector, the port is very often still available on an internal pin header, which you can use directly, or by installing a bracket with D-SUB connector which you connect to the pin header.
-
And you can still get new motherboards with "legacy" ports, thank goodness.
It seems to me that those who lack serial ports are either more aggressively cost-optimized or have dropped them because there simply wasn't room. I would bet it's still all there in the chipsets.
-
..... the port is very often still available on an internal pin header, which you can use directly, or by installing a bracket with D-SUB connector which you connect to the pin header.
By example, few days ago, I retired an old compaq used only for RS232, firewire and as pc-scope without jeopardizing my main computer. You know, justifying having my 15 years old computer. Assembling my new desktop, latest model, the most recent and expecting only USB's (and thinking about FTDI affair&alternatives), I discovered that had an internal header, named COMA for two RS232 ports. Only needs terminals, cable & d-sub.
PS: While hardware manufacturers are still make efforts to keep COM (not with my beloved firewire :'() I will hope that Windows 10 does the same with COM&firewire drivers.
-
It's been a while since I've had a COM port on any computer of mine.
With the exception of laptops, I've never bought/built a computer that didn't have an RS232 port on it, and I build 3-4 machines a year. Seriously, for the last decade and a half, every single machine has had an RS232 port. Usually two, one on an actual D-SUB connector on the back, and one on an internal header. Even now, brand new top of the line $20k 2U dual node beast of a processing machine, still has a D-SUB for each node on the back.
Where are you finding these boxes without any?
-
People keep telling me that "computers don't have RS232 any more", but most motherboards I come across at least have the functionality, even if they don't have the 9 pin D connector. There probably are machines that don't have it though; I expect it wouldn't be very necessary on the average consumer laptop for example.
I suspect it may have been replaced by USB on some equipment for ease of connection to a PC and ease of use of the provided software, but I could be wrong. There is also the Ethernet issue. Ethernet may be more complex than RS232, but it does allow for a lot more remote control. For example, I have programmed PLCs which were on a corporate network (and probably could have been programmed over the internet too).
-
My complaint about dropping RS-232 is that neither USB nor Ethernet are complete replacements.
USB is difficult to galvanically isolate and the driver situation is unacceptable; why does RS-232 emulation over USB require a custom driver? Too many USB to RS-232 adapters produce non-standard 0 and 5 volt outputs.
Neither USB nor Ethernet can provide low jitter timing. Both USB and Ethernet are a lot more complicated to implement.
-
Neither USB nor Ethernet can provide low jitter timing. Both USB and Ethernet are a lot more complicated to implement.
And neither should be used where that matters.
They both work fine for 'smart' test gear which run their own routines. Gone are the days of 'dumb' equipment with a PC running timing-critical instructions to it.
-
People keep telling me that "computers don't have RS232 any more", but most motherboards I come across at least have the functionality, even if they don't have the 9 pin D connector. There probably are machines that don't have it though; I expect it wouldn't be very necessary on the average consumer laptop for example.
The last motherboard I bought has RS-232 support built in but Asus left the external level translator off so it shows up in the hardware but is useless. Naturally their documentation was not updated to reflect this.
Luckily PCI and PCIe RS-232 adapter cards are available and many do not require special driver support.
-
There are many USB - UART chips out there for very low cost, like the Cypress ones, also like others mentioned motherboards do have RS232 headers but not connected to the external cards but you can buy those.
So if you need RS232 it's easily done. For example you can get this prototype board for $4 and break out the USB-UART part, and you can use it also for I2C or SPI and you can have two channels as well as having capacitive touch sensing and battery detection
http://www.cypress.com/?rID=92146 (http://www.cypress.com/?rID=92146)
Or just get the chip for $1.50
http://www.cypress.com/USBSerial/ (http://www.cypress.com/USBSerial/)
Of course you can always get the now infamous FTDI chip :)
-
USB is difficult to galvanically isolate
But ethernet has isolation for free
and the driver situation is unacceptable; why does RS-232 emulation over USB require a custom driver?
Because Microsoft screwed up, and chip vendors want to differentiate their products
Too many USB to RS-232 adapters produce non-standard 0 and 5 volt outputs.
Which work in the vast majority of cases. The only time you need the -ve swing is if you have a lot of ground noise, in which case you should porobably be using an isolated interface.
Neither USB nor Ethernet can provide low jitter timing.
True but how often do you need it talking to testgear? Approximately never. And although the percentage jitter can be high, the absolute amount on a fast interface can still be lower than a few byte times on a slow RS232 link.
Both USB and Ethernet are a lot more complicated to implement
True but there are a lot of ready-made solutions.
The advantages of higher speed and multi-device connnection vastly outweigh the downsides for the vast majority of users. Hence RS232 is not available, even as an option, on the vast majority of test gear.
If you really want to control via RS232 it appears that some RS232-ethernet converters can be used to control LXI instruments
http://gpete.blogs.keysight.com/2013/07/rs232-to-control-lxi-instruments.html (http://gpete.blogs.keysight.com/2013/07/rs232-to-control-lxi-instruments.html)
-
Too many USB to RS-232 adapters produce non-standard 0 and 5 volt outputs.
You could say the same about laptop RS-232 ports. IF there is any.
-
USB is difficult to galvanically isolate
http://www.analog.com/en/interface-isolation/digital-isolators/adum3160/products/product.html (http://www.analog.com/en/interface-isolation/digital-isolators/adum3160/products/product.html)
-
Too many USB to RS-232 adapters produce non-standard 0 and 5 volt outputs.
You could say the same about laptop RS-232 ports. IF there is any.
This does not make the USB to RS-232 adapters any better as far as their RS-232 signal levels. It just means that the laptop RS-232 ports were broken by design as well and I had the same complaints about them when they appeared.
The reason for the change from +/- 5 volt output levels is obvious; cheap integrated solutions cannot generate even the minimum RS-232 voltage levels directly and would require an external level shifter.
-
USB is difficult to galvanically isolate
But ethernet has isolation for free
And RS-232 isolation is inexpensive.
I have considered designing an inexpensive asynchronous serial test instrument interface similar to optically isolated MIDI for precision timing and control but I doubt there is enough interest for such a thing to become a standard.
and the driver situation is unacceptable; why does RS-232 emulation over USB require a custom driver?
Because Microsoft screwed up, and chip vendors want to differentiate their products
That is not a positive endorsement of USB. :)
Too many USB to RS-232 adapters produce non-standard 0 and 5 volt outputs.
Which work in the vast majority of cases. The only time you need the -ve swing is if you have a lot of ground noise, in which case you should porobably be using an isolated interface.
I certainly need the negative voltage swing when interfacing to older equipment and I have run across this problem often enough with new designs. It would not be nearly so bad if the non-compliant interfaces were plainly marked with the voltage levels they generate but that would defeat the purpose of marketing that they are RS-232.
Even Garmin likes to say "RS-232-F Compatible Polarity" but at least they list the voltage levels if you search carefully enough. Oddly enough compatible polarity makes the situation worse because RS-232 level shifters are normally inverting so you cannot just add a standard level shifter to fix the problem.
-
0 / 5v is TTL. That's very common, if it's not a standard somewhere. Also 0 / 3.3v. If you tend to talk to embedded devices often, you end up using this more than the old-skool +/- levels. All it takes is a cheap level translator IC for proper RS232 anyway. Just add like five caps and you're good to go.
I do lament the absence of prolific serial ports though. It's easy and completely bare-bones, which is sometimes just what you want. On the other hand, there's no standardization in protocol, and who knows what pinout they're using, or what baud rate...
On that note, I dunno what you guys use, but I've become really fond of Intersil level translators. They have this "inactive" pin that tells you when there's no signal on the far-end. Since serial levels are supposed to be either < -5v or > +5v, being in that middle region is a pretty clear sign there's nothing connected. I use that to drive a "Link" LED ala Ethernet. :-+
-
-3V to 3V are not compatible with RS232
what is valid is either -3V to -15V or 3V to 15V
Edit: added image from
http://en.wikipedia.org/wiki/RS-232#Voltage_levels (http://en.wikipedia.org/wiki/RS-232#Voltage_levels)
-
0 / 5v is TTL. That's very common, if it's not a standard somewhere. Also 0 / 3.3v.
It's quite common, but it's not RS232, it's a 5v/3.3v/X.Xv UART. Calling it RS232 is false advertising/lying/a massive oversight/whatever other name you might want to give it.
-
-3V to 3V are not compatible with RS232
Maybe not with the standard, but it is compatible with the vast majority of RS232 transceivers, which is all that matters.
I don't recall ever seeing an RS232 receiver datasheet with a negative input low threshold.
-
There are many USB - UART chips out there for very low cost, like the Cypress ones, also like ...
Even easyer: a cheap UART-over-bluetooth module.
So you can monitor the Microcontroller on your smartphone, tablet, laptop or PC without cable.
-
How often does anyone need to connect a MCU to a bit of test gear?
RS232 is dead. Move on!
:-+ :-+
-
How often does anyone need to connect a MCU to a bit of test gear?
RS232 is dead. Move on!
I will be happy to move on as soon as there is a replacement for it which does not suffer from the problems I described.
-3V to 3V are not compatible with RS232
Maybe not with the standard, but it is compatible with the vast majority of RS232 transceivers, which is all that matters. I don't recall ever seeing an RS232 receiver datasheet with a negative input low threshold.
The reason this usually works is that most receivers implement the optional cable fault protection in the RS-232 specification which requires the receiver output to go high if the input is negative, left unconnected, or grounded. Driving the receiver with a logic level signal in this case result in poor noise immunity though.
Some receivers are deliberately designed to have negative input thresholds so an input may be left disconnected without affecting operation. For instance using a 3 wire cable on a port expecting the handshaking signals to be connected would cause problems unless the handshaking can be disabled. Using a negative receiver threshold solves this in a transparent way.
-
How often does anyone need to connect a MCU to a bit of test gear?
RS232 is dead. Move on!
I will be happy to move on as soon as there is a replacement for it which does not suffer from the problems I described.
Everyone else has moved on, and isn't bothered if it leaves a few people unhappy.
-
Yeah, like if blindly moving on to faster and more complex hw to do the same simple things is the best thing in the world. Well, maybe for those who need something to sell.
-
I love RS232 stuff because it's simple and you know what to expect. It has been here forever. I'm not opposed to having USB and other more complex interfaces on (test) equipment, but RS232 is simple and foolproof.
Alternatives? Sure -
Ethernet allows you to do a lot of amazing and complex things. The problem is that it also requires rather complex hardware or software - neither of which comes for free. Also, setting up the bastard might involve all sorts of nasty (IP adresses, sub networks, etc.).
USB is more plug and play and great and all... assuming you don't mind layers of drivers, which, at the end of the day mean that you can connect your slave device ONLY to a thing with with an OS.
I love RS232 on equipment because it gives me a simple way to connect it to a PC and use a simple script that does not need to go through some obscure proprietary drivers*, just as easily as it allows me to take an ATMega, hook it up to my HP 6632B PSU and use it as a simple automated test thingie for a budget of what I scraped of the bottom of my parts drawer and have it running within half an hour.
All in all, I am more happy when there is a RS232 option on stuff.
* - I am well aware of converters and emulators and transparent drivers, I use it all the time.
-
I think UART is the next step of RS232. It's easier for microcontrollers, lower power, and just as easy to hook up without layers of drivers. Want to connect to another uC? Just wire it up (possibly with a level shifter). Want to connect to an RS232 device? Use one of the many UART to RS232 adapters, no layers of drivers to futz with, works just like if the device was native RS232. Want to connect to a computer via USB? Use an FTDI (or similar) UART to USB adapter, works just like one of the many RS232 to USB adapters out there.
I've stopped putting RS232 on my devices simply because of the power requirements, DB9 is huge, etc., but I still put UARTs on them because it's nearly as easy to use and even easier to implement on the board.
-
How often does anyone need to connect a MCU to a bit of test gear?
RS232 is dead. Move on!
:-+ :-+
No! Both of you!
I've seen metrology equipment which has a RS232 port on the front, you are supposed to connect a 34401a DMM there and it will calibrate itself. The method is simple, effective, and nice.
Now, the so called replacement 34461 doesnt have the serial port, if the DMM goes, we have to change the calibration method (everyone loves working on legacy systems, we collect the skeletons of those who did in a closet). The other calibration methods require ethernet, a switch, GPIB bridge, servers cables, more cables, settings and a freaking spaceship.
-
My real job is supporting industrial control and automation systems that are up to 20 years old. They are mostly DOS and UNIX based systems communicating via RS485/RS422 and good old RS232. They depend on barcode scanners, printers, HMI interfaces, etc that have those old fashioned interfaces. There's no way those systems can be replaced with new systems, when a failed printer or scanner needs replacing it needs to connect as easily as possible with no change to the existing hardeare and software. That's why it's important to me that new equipment has an RS232 option, and why responsible industrial equipment manufacturers still include it as standard. RS232 is not not dead yet for very good financial reasons.
-
That's why it's important to me that new equipment has an RS232 option, and why responsible industrial equipment manufacturers still include it as standard. RS232 is not not dead yet for very good financial reasons.
Same in the power industry, hundreds of different equipment, even the absolute latest brand spanking new has RS232/485.
Tons of DIY motherboards still include serial, might not be on the back IO plate, but usually still a 0.1" header on the board somewhere.
-
Totally agree that for industrial equipment, sensors etc., RS232, or , better, RS485 is an optimum solution, but the OP was about test gear, which will in the vast majority of cases be connected to a PC, and therefore ethernet or USB is a much better solution in almost all respects.
Actually I'm not so sure how useful USB is on testgear, as all PCs come with ethernet, it's isolated, and is some ways more like RS232 in that it can interface with various different types of kit in a more standardised way than USB does.
I suspect USB may have advantages in corporate environments where you need permission to plug anything into The Network.
I use RS485 all the time for LED installations, as it's way simpler and cheaper than ethernet.
-
Tons of DIY motherboards still include serial, might not be on the back IO plate, but usually still a 0.1" header on the board somewhere.
A couple years ago I selected the motherboard in my current workstation based on it having a RS-232 port but ASUS left the level translator and header off without changing the specifications. The UART exists but there is no way to connect to it. Luckily it also has a pair of PCI slots so an interface board with a pair of RS-232 ports was easy enough to add. All of the USB to RS-232 adapters that I tried were unusable communicating even with the NMEA interface on my GPS.
-
Mike, I like the fact my DMM and PS use RS-232 to communicate with my computer. Why? Well, it's easy to script custom control routines in Python or the language of your choice.
USBTMC and LXI aren't quite so easy. (This is also why I use a rather nice NI 488.2 to Serial bridge for all my GPIB gear.)
I agree a high speed link makes sense on a scope or AFG where you're transferring large amounts of data in real time, but a DMM or PS can happily get by with a low bandwidth link and SCPI.
This is important for those of us on OS X and Linux/BSD.
Sent from my Smartphone
-
What would be a really nice compromise is if testgear would allow a USB-serial adapter to be plugged into their host port to provide a RS232 interface. That would cover the majority of requirements for no additional hardware cost.
If the instrument was based on a standard OS (e.g. WinCE for the 34461A), all the drivers are probably already there & just need to be included.
-
Yeah, I concur. That would be a great solution.
You know, I've seen some ethernet based hear that actually hosts a simple web page which contains a box you can type SCPI commands into and get the results. Essentially a console. You can also directly HTTP/POST and /GET data the same way via the URL, which makes it almost easier to script than RS-232.
If all gear provided that option, instead of requiring a bloated VISA driver or Windows only DLL files, I'd be happy.
HP, err, Agil..., uh, Keysight (site?) actually have an ethernet to GPIB + Serial bridge that does the web page console deal. Seems to work pretty well, but expensive.
Personally, I've had a project in the works for about a year now that's essentially a BBB based box with a 5" touch screen, ethernet, 4 RS-232 ports, 6 USB ports and a GPIB interface. It's basically designed to be a test instrument hub for a small lab.
All the gear is accessible from a slick AJAX web page and you can write simple scripts or programs in LUA, JS, Python or C. I've also just started working on a graphical programming system where you can save scripts/programs to graphical blocks and interconnect them.
Think of it as an open, flexible, modern and much less bloated answer to LabView.
Sent from my Smartphone
-
I had an expensive piece of test equipment that I wanted to mount over 30m from the PC controlling it. It had a USB port (which to the software looked like a FTDI chip, and probably was). Either I would have needed some obscure USB extender thing, or I could have voided the warranty and opened up the instrument and rip out the FTDI chip. I also looked into some FTDI USB host boards that could theoretically reverse the function of the USB to serial chip inside the instrument to get me back to a RS232/RS422 port, but those seemed to be more like dev kits than finished products. In the end I was able to swap the instrument with a new Sourcemeter with a RS232 port and this solved the problem.
I maintain a data-logging PC that runs for months between re-boots, and it has some USB-to-serial converters on it which occasionally stop working. Linux prints some message about how it needed to reset the USB controller, and it stuffs up the experiment. The same PC also has some real serial ports and they never have any problems. I think USB is ok for consumer entertainment products, but most USB equipment is not suitable for applications where reliability is important. That is sad considering how much more error checking there is in the USB protocol itself when compared to older but more evidently reliable standards.
-
A lot of Automotive test equipment still uses RS232. One reason the Toughbooks are sought after is they Have RS232 port apart from being able to drive over them.