Welcome! Log In Create A New Profile

Advanced

Appropriateness of host interfaces

Posted by Anonymous User 
Anonymous User
Appropriateness of host interfaces
September 12, 2007 06:21PM
In your guide on building a version 1 system, you indicate the use of RS232 at 192kbaud as the host interface, and indicate plans for switching to USB for version 2. This is bad for a number of reasons:

1) 192kbaud isn't a very reliable rate for RS232 (clock skew issues and EM interference spring to mind);
2) USB is, by design, not a very decent interface, let alone universal and durable;
3) Multiple host interfaces should be supported anyway.

Is there any reason why 9600, 384000 or even 56K baud is insufficient for a few stepper motors and primitive sensors? Also, why move to an interface which is broken by design and will not last longer than a few more years?

Personally, I suggest either staying at (multiple) RS{232,4{22,85}} interface(s) or moving directly to SCSI using the IEEE1394 PHY for the primary interface. Since there is enough old crap available at virtually no cost that is perfectly capable of driving an RS232-based machine according to some simple bit plane based spec, the sensible thing to do would IMNSHO be the former. I also suggest supporting limited-scope technologies like USB and IEEE1284 as secondary interfaces only.

While this may seem a minor detail to you now, all machines built with USB interfaces will /not/ be able to interface to future IBM PCs (and, while they last, Macintoshes) with the newest hype technology, let alone workstations, embedded systems, and other decent hardware. It isn't very backwards combatable either -- my rather decent SPARCstation 20 will, although liberally equipped with RS485 and RS232 interfaces, /not/ be able to drive it, let alone all those otherwise useless IBM PCs that are currently the perfect candidates for a project like this. That's a shame, isn't it?
Anonymous User
Re: Appropriateness of host interfaces
September 12, 2007 07:55PM
The build a reprap page ( [www.reprap.org] ) mentions 19.2kbaud and a USB->serial converter. 19.2k is a standard rate for serial ports. USB is considered as many new computers are being built without RS-232 ports; I am would be surprised to find a new PC (or mac) sold without a USB port.

There are several USB<->serial port chips on the market that could be integrated in the project ( a CP2102 for example) or bought in the form of the off the shelf USB->serial converter cable.

Can you provide any information on why you consider USB "broken by design"? Also in what way is firewire/IEEE 1394 a better solution?
Anonymous User
RE: Appropriateness of host interfaces
September 12, 2007 08:21PM
``19.2k is a standard rate for serial ports.''

For ports it may be a standard rate, but due to timing issues it violates the RS232 spec. Besides, why only support the one rate that only fairly new UARTS can use?

``I am would be surprised to find a new PC (or mac) sold without a USB port.''

Wait a few years for the next hyped up technology, and you'll see. BTDTGTTSAWIOTTG

``There are several USB<->serial port chips on the market that could be integrated in the project''

Those don't allow to drive USB devices from the RS232 port, only the reverse.

``Can you provide any information on why you consider USB "broken by design"?''

I certainly can. USB is a cheap, consumer-oriented technology with numerous problems that were intentionally left unfixed to reduce manufacturing costs:

1) Requires management by a central host;
2) Inefficient transfer protocol;
3) Uses unique, throwaway access protocols;
4) Cheapass mechanical and electrical connections;
5) Due to consumer market(ing) forces, will disappear relatively early.

``Also in what way is firewire/IEEE 1394 a better solution?''

IEEE1394 is a robust PHY, supporting both copper and optical connections, many different transmission modes and transfer rates, is self-managing (i.e., without a central host to arbitrate), mechanically and electrically sound, utilizes a layered architecture, and is managed such as to be durable. When combined with SCSI (utilizing SBP-2) and, for our purposes, a new Replication Command Set (which will also allow us to utilize other PHYs in the future), it's simply unstoppable smiling smiley
Re: Appropriateness of host interfaces
September 13, 2007 02:51AM
It would be nice to think we lived in a world where the better engineering solutions would win but this is clearly not the case (VHS vs Betamax) USB is an entrenched technology that i personally have found to be very reliable Nokia are just putting Micro USB as standard on their range of Phones so I would be surprised if it all ended a few years from now.

Also doesn't USB OTG the new 5 pin version allow slave device to slave device comms?
Anonymous User
RE: Appropriateness of host interfaces
September 13, 2007 05:09AM
``but this is clearly not the case (VHS vs Betamax)''

That's why RS232 is still with us after >38 years, isn't it? SCSI has been around for a long while as well, and on the somewhat less related topic of processors the UltraSPARC T series is getting all the attention it deserves.

There is an important lesson to be learned from this: in computing, the higher initial investment in better technology pays back /immediately/.

``Nokia are just putting Micro USB as standard on their range of Phones''

Phones, as we know them, will be gone in a little longer. Telephone technology has outlived it usefulness, like television.

`` I would be surprised if it all ended a few years from now.''

It's the consumer industry -- very variable. Combined with the fact that USB is not just inferior, but unscalable crap, and the current rate of marketing campaings, it becomes extremely clear to the somewhat seasoned eye.

``Also doesn't USB OTG the new 5 pin version allow slave device to slave device comms?''

Even if so, you still need a host to arbitrate; besides, in the consumer market, there's not even need for decent USB->RS232 converters, let alone the reverse. Also, since the protocol is extremely wasteful, you'd run into bandwidth problems pretty quickly.

USB, like x86, is one kludge stacked upon another in order to keep marketeers happy. Since there are both more sophisticated technologies available for a slightly higher and less sophisticated (but decent) technologies for a much lower price, we should go for them.
Anonymous User
Re: RE: Appropriateness of host interfaces
September 13, 2007 12:25PM
USB fills a niche right now. Both the software and firmware talk to standard serial ports. RS-232 is a great if you can get it on the computer you are using. I do not think more speed is required; though RS-232 and serial ports would support an increase if needed. The problem is when a PC (or Mac, Sparc, or any other computer based controller) does not have a built in serial port. In this case USB <-> serial converters are the most widely available option to add a serial port cheaply and easily. If a firewire adaptor works better for someone then great nothing prevents someone from using it. But there are FAR more consumer computers that have USB than have Firewire and Reprap is rightly trying to reach out to the broadest base of people possible and keep costs down.

"Those don't allow to drive USB devices from the RS232 port, only the reverse. "
"Even if so, you still need a host to arbitrate"
The fact that USB needs a host doesn't really matter in this application. Repraps need a computer to control them (to run the java software) and if usb is used it is because the computer has a USB host built in. USB is simply a middleman that happens to be convenient to use.

That said do you have any sources or links to a Firewire<->serial port adaptor? That and any ICs that perform this function?
Anonymous User
RE: RE: Appropriateness of host interfaces
September 13, 2007 12:53PM
``USB fills a niche right now.''

Good te hear that. Hope it stays there.

``RS-232 is a great if you can get it on the computer you are using.''

If there's one comms standard you can expect any and all reasonable systems to adhere to, it's RS232. Heck, I can even drive a RepRap from an ASR-33 if I want...

``PC (or Mac,''

Macintoshes are PCs, just not IBM ones.

``FAR more consumer computers that have USB than have Firewire''

Even in the consumer market, an el cheapo IEEE1394 host adapter will both last a lot longer and is a lot more versatile than USB. It's funds /very/ well spent.

``broadest base of people possible''

Ehrm, we are producers, not consumers, right?

``and keep costs down.''

Ergo: RS232 for now. That's one reason why I recommended not to switch to IEEE1394 yet.

``The fact that USB needs a host doesn't really matter in this application.''

It does when it has to authorize and arrange for every little transfer. Since consumers don't like buying a nearly universal IEEE1394 host adapter, why would they buy a second USB controller for the RepRap only?

``(to run the java software)''

If you don't mind, I'm planning to port it to native UNIX in the future. Given the goals of this project, the overhead is way too large and we are dependent on whatever Sun decides to do with the JRE, which already only runs natively on a /very/ limited range of platforms. Besides, since Mac OS X is UNIX, we have DJGPP, MinGW, and UNIX emulators (like Cygwin and M$ Interix) for DOS, and Java won't run on VMS anyway, is there any practical point in keeping it obscured?

But that's probably a topic for the Software forum.

``USB is simply a middleman''

No, it isn't. RS232 is a middleman. Using a liberal amount of imagination, IEEE1284 could be classified as a middleman. USB is a lowerman, and IEEE1394 is a higher man. I've tried to explain that.

``That and any ICs that perform this function?''

No, I don't. I see no reason why anyone would want them -- UARTS are cheap as hell and when you want to drive exotic devices (IMO, the RepRap currently certainly qualifies as 'exotic') on IEEE1394 you do it using a custom SCSI Command Set -- not some strange conversion device that costs exactly the same as 64 UARTS, a mux, and a host bus interface.
Sorry, only registered users may post in this forum.

Click here to login