Interesting.. I bought 10 USB to TTL serial adapters for about the same price. These have just GND, Tx and Rx brought to loose single pin headers. They all worked fine with the latest Prolific software: PL2303HXD chip detected. (Perhaps the counterfeiting has caught up...).
BTW, I've given up using DB-9s for enclosureless designs. It's only a tiny bit more to buy and include a $2.50 cable and provide a 6-pin "arduino" header than to provide MAX232, caps, and DB-9 connector.
These were for a personal project:
formatting link
Someone needs make a standard for an external TTL serial connector.
Here's another consideration: I recently specified a 9 ft. USB to DB-9 RS-232 serial adapter for an appliance we make. This kind has the board in a bump in the middle of the wire, not built into the connectors. Now where is the best place for the bump? In the old days I would say put it on the USB side since slow speed RS-232 can go quite a long distance. However, standard testing will include 921600 baud... so it's better to put it on the DB-9 side and use the USB 1.1 max cable length.
--
/* jhallen@world.std.com AB1GO */ /* Joseph H. Allen */
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p158?-79:0,q?!a[p+q*2
]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}
Specifically the M232R module. It works. New PCB with minor changes to unrelated circuitry, it dosen't work - 'not recognised' says the PC. Often but not always. Different PC's much the same, different modules have differing failure rates. Oh look, here's an addendum to the data sheet, well hidden. Still doesn't work all the time.
I'd used their parts for years, but as soon as I had this problem I discovered that I wasn't alone. If I disable the 40MHz clock on the host PCB, USB module works, always. The clock doesn't go near the module, the power looks clean.
I dare say we'll get it working, but it seems to be very sensitive to something. Phases of the moon, probably.
Actually, it was a desperation move on my part. I needed something to program the old radios. Everything I had was too fast for the old software. All my old 486 laptops were not functional. DOSbox ran the Motorola software, but none of my laptops have built in serial ports. So, I was desperate for a USB to serial adapter that would work with DOSbox. In desperation, I thought that my collection of adapters (mostly Prolific chips) were defective and that all I need to do is buy one that worked. So, I ordered an assortment on eBay, picking devices that looked different from each other. I never considered the possibility that they were all counterfeit and would all use the same counterfeit chip. After that failed, I ordered a cable with an FTDI chip, which worked.
Note: DOSbox and the Motorola sortware ran nicely on several desktops that had serial ports. However, I needed a laptop as I wasn't going to drag the desktop and monitor to a mountain top.
The pile is in my office so I can't check for a few days. The one I have in my laptop bag is translucent blue and has no name on it.
Point taken. It's best to buy from someone with a clue. Yet, I've purchased counterfeit RAM, SD memory, Jetdirect cards, and batteries from what might be considered reputable vendors, so that's no guarantee of success.
--
Jeff Liebermann jeffl@cruzio.com
150 Felker St #D http://www.LearnByDestroying.com
Santa Cruz CA 95060 http://802.11junk.com
Skype: JeffLiebermann AE6KS 831-336-2558
No, although I've also seen that trying to run some of my old compiled Borland software. In this case, the Maxtrac programming software just hangs when run. Sometimes, I can hit a few function keys to change menus, but eventually, it hangs. Even worse is that the DOS (cmd) window will not close and the machine needs to be rebooted. There is software that's been around for many years that attempts to solve the problem: I bought MoSlo but couldn't make it work reliably. Then came DOSbox, which has a similar purpose, but works MUCH better: So far, it has run all my old 1980's software and most of the old Motorola programming software that I've tried (Maxtrac, Syntor 9000, GM300, GP300, GP350, GTX, HT600, HT1000, MSF5000, etc) with a standard serial port. However, I was stuck with the USB to serial adapter problem, until I switched to an FTDI based adapter. Also, I have a customer that is stuck with ancient DOS software (Foxplus, dBaseIII, and Telemagic) that crashes on fast machines. I've been using a various slow down utilities and tricks, but DOSbox works much better. Telemagic runs an external modem telephone dialer, which I couldn't make work using the (counterfeit) Prolific adapters, but which might work with the FTDI adapter. However, the real benefit is that I can now safely recycle all the old junk laptops I have laying around the office.
--
Jeff Liebermann jeffl@cruzio.com
150 Felker St #D http://www.LearnByDestroying.com
Santa Cruz CA 95060 http://802.11junk.com
Skype: JeffLiebermann AE6KS 831-336-2558
I have been trying to find a good USB to RS485 serial adapter. I have a small contract to modify some code to add MODBUS capability to a product. I found one item on Amazon that had USB to serial TTL/RS232/RS485 that really fit the bill, so I got one.
It came in, and seemed to work, then just kinda stopped. I think it is that TTL capability - makes the whole thing really static sensitive! I ordered another one, and today right in the middle of testing, it has gone bad as well. All my commands suddenly started failing CRC. After spending all day (on a Saturday!) trying to 'fix' my code, I finally pulled out my old USB to RS232 dongle, and my code is fine! Not a fun way to spend a weekend, especially since my customer is supposed to demo the MODBUS capability to the customer on Monday!
I use a USB-RS232 (generic blue transparent) and an RS232-RS485 from BB.
Best regards, Spehro Pefhany
--
"it's the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
Which end showed CRC errors, the one that received messages from the adapter or your reading on the USB side ?
A typical bug with RS-485 adapters is that the transmitter is turned off (into idle state) too early, while the last few bits are still being transmitted. Does the chip handle the TxEnable control internally and does it do so, when the last stop bit(s) have actually been shifted out of the Tx shift register or does it start to turn off, when the last character into the shift register ? In the latter case, the failure rate increases with _lower_ line speeds.
Or do you command the TxEnable across the USB ? In this case, how do you know when that last character has actually been transmitted out of the shift register ? One way to handle this is to keep the Rx side enabled all the time, so that you hear your own transmissions on the RS-485 line. When you hear the echo of the last character, then you can disable the transmitter.
To satisfy the formal Modbus RTU specifications, you should wait 3.5 character times after the echo of the last character, before turning of the Tx. Well actually In this echo case, 2.5 character times is enough, since the echo Rx shift register consumes one character time.
Look also on the transmit turn on sequence before transmitting a Modbus frame.The standard requires that the transmitter is turned on (sending "idle") 3.5 character times, before sending the actual frame. This is very important, if you do _not_ use "fail safe" termination. With fail-safe termination, the passive pull-up resistors will keep the bus in the idle state when no transmitters are active.
Interesting point. The CRC errors were on the message from the adapter. At first, my device was receiving the messages correctly, but then it seemed to be dragging out zeros in the middle of the message...
I will have to check my software on the necessary delay after!
I got my Prolific from Frys. I try not to use ebay for much these days due to the conterfeit issues. In any event, it is the real thing. The drivers load, but 64 bit windows had been an issue, which is why I got the FTDI device.
I wouldn't rule out using Prolific, but I sure would get it at a store where I could return the device.
Incidentally, my Keyspan has no 64 bit drivers. It was a decent unit, but time marches on. Drivers have a way of making peripherals useless.
Dosbox is a serious ass saver. I have used it to run 16 bit software.
Cardbus to serial adapters work in real DOS. That is, USB didn't exist in the DOS age, so it is funky when you use virtual machine software that does anything USB. But the PCMCIA or cardbus cards are right on the bus and DOS recognizes them. Unfortunately my current notebook Ricoh I/O chip doesn't work in DOS. But maybe an older notebook would do what you need.
I literally had to break out the DOS manual, doing all that load high crapola. I used Free DOS. I finally found a windows alternative for the DOS program I was using, but I totally understand how those old radios need real DOS.
Mind you, there are many companies that sell cardbus/pcmcia serial cards, but not all will work under DOS. The only card I found that works is the now defunct Socketcom (AKA Socket communications). The cards are easy to find used, but the software is not on line.
I see they just renamed themselves:
If you reach the point where you are ripping your hair out, I can send you a card. They also show up on ebay from time to time.
I'm looking for a single USB to serial adapter, that will work with every known operating system, on every operating system, 16/32/64 bit, with every known USB interface chip, and on every known application. Is that too much to ask? (It probably is). The quest for the one true USB to serial adapter continues.
I'll see if I can find a real Prolific adapter and give it a try. At this time, all of mine are counterfeit.
--
Jeff Liebermann jeffl@cruzio.com
150 Felker St #D http://www.LearnByDestroying.com
Santa Cruz CA 95060 http://802.11junk.com
Skype: JeffLiebermann AE6KS 831-336-2558
- Apps which are designed to bit-ban a UART's registers directly, rather than going through an OS driver or INT or other API, are going to be expecially problematic.
- A standardized USB protocol for talking to serial devices/adapters was rather a late-comer. Almost all of the early-generation chipsets require manufacturer-specific drivers.
- Even "real" RS-232 UARTs often don't work terribly well with apps that have built-in timing loops of various sorts (you've probably bloodied your nose repeatedly on radio-programming apps which won't work right on modern high-speed computers).
I ought to look around, and see if anybody has implemented an open-source version of the USB Communications Device Class which would run in a USB-enabled microcontroller. I have a feeling that Microchip may have a reference implementation or library available. If so, this could be a useful building-block for some interesting projects.
"I'm looking for a single USB to serial adapter, that will work with every known operating system, on every operating system, 16/32/64 bit, with every known USB interface chip, and on every known application. Is that too much to ask? (It probably is). The quest for the one true USB to serial adapter continues."
Yes, it's call "C". We use an AT90USB162 programmed as USB to Serial. Works on XP, Win7, Linux. etc.
LUFA.
We use Atmel's At90USB162 bootloading Microchip's PIC32MX575.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.