| Electronics > Projects, Designs, and Technical Stuff |
| Evolution of usb connector? |
| << < (16/18) > >> |
| fsr:
They're just different interfaces. At the beginning, when a serial interface was needed for the PC, they weren't going to reinvent the wheel, they slapped an existing telecommunications serial interface there and that's it. It worked, and fulfilled the requirements of that era. RS-232 simplicity, reliability, noise immunity and cable lengths has made it survive even today. I work for a company that makes software for blood banks and laboratories, and almost all blood analyzers have an RS-232 interface. We make the cables to connect the equipments as an added service, and let me tell you that some of the manuals seem to be written by people that doesn't understands the interface. Fortunately, the port on the equipment is on a PC that is part of it anyways, so that the cable is a DTE to DTE crossover. And most of the time you see some doubtful decisions, that were maybe taken to avoid trouble with people that can't configure them correctly, because it's common to see suggested connection diagrams of cables with the control signals looped-back at each end, which defeats their purpose. We just build them with the control signals intact and require that both sides have the same flow control configured. But for the PC, an automatic, fool-proof, very high speed interface like USB makes a lot of sense. It leaves something to be desired about cable length, and often it's hard to see which way the conector must go (specially with connectors that are black on the inside), but that's pretty much it. |
| Buriedcode:
--- Quote from: IDEngineer on December 24, 2018, 06:23:51 am ---Keep in mind that nobody is bit-banging USB. By definition, USB requires dedicated hardware (at least a peripheral in an MCU). So it's simply not realistic to claim that USB is simpler on the hardware side than SPI, I2C, or good ol' "serial". To make the comparison fair the latter options get to have dedicated hardware too, and the moment that's true you're left with protocol implementation - which nobody can legitimately claim is "easier" with USB. To sum up: Spec-compliant USB cannot be implemented without dedicated hardware, so if you want a simple HARDWARE serial interface USB is off the list while "traditional" serial, SPI, and I2C are all very viable candidates. If you level the hardware playing field and allow everyone to have dedicated hardware, USB loses the simplicity argument again because of all the handshaking mentioned several times in this thread. In contrast, you can implement a simple serial/SPI/I2C protocol in a few hours, and a multi-device protocol using network addressing in a bit longer, on any of the simpler standards. USB is awesome for the correct application. But it's grown far past its original intention. It's become the serial equivalent of spaghetti code - started off with one set of requirements, and has had so many new features cobbled onto it while demanding backwards compatibility that it's lost the whole point of its conception. That's why I believe there's a need, AND room in the industry, for a simpler standard and we have lots of good ones to choose from. I can tell you this... the next clean-sheet design I do that doesn't require full USB bandwidth I will push hard for SPI or I2C as its serial interface for all of the above reasons. --- End quote --- I'm unsure I get your point. Are you suggesting that there should be another standard, that uses SPI/I2C along with power delivery, with a new phy layer (new connectors, sockets, cable spec etc..) just to make your life easier when implementing peripheral devices? I can't say I have written a driver for a USB device, but I have designed several USB devices and it was of course much more difficult that using a UART or SPI peripheral.. but it made life significantly easier for the consumer. As Siwastaja mentioned, USB is for end-users who don't care how the bits fly, how things enumerate, or how you got your knickers in a twist trying to get an ARM's USB peripheral to behave. I'll admit, simplicity is better, but there is inevitable complexity when trying to create a Universal (as in catering for many different types of devices) Serial (using only 4 wires) Bus So we can connect multiple devices to the same host. Comparing it to RS232, or even standards meant for chip-chip comms just seems silly. We're all electronic engineers here, so which standard to use matters to us more than any other demographic (we design devices), but it really does seem like you don't like the modern USB spec because you've had difficulties implementing it. I strongly suspect that if you did create your own standard, and it was adopted, it would quickly grow in complexity to allow for more situations, beyond what you originally intended (it has to, otherwise it won't survive). I still can't believe someone actually compared USB to SPI/I2C. |
| IDEngineer:
--- Quote from: Buriedcode on December 24, 2018, 03:08:36 pm ---it really does seem like you don't like the modern USB spec because you've had difficulties implementing it. I strongly suspect that if you did create your own standard, and it was adopted, it would quickly grow in complexity to allow for more situations, beyond what you originally intended (it has to, otherwise it won't survive). I still can't believe someone actually compared USB to SPI/I2C. --- End quote --- I've implemented quite a few USB devices, host and device, which is precisely what has yielded my informed opinion on the topic. I understand your comments, but disagree that a "simple serial" standard would automatically endure feature creep. We ALREADY have USB for the higher order functions. The whole point of this subthread is to backfill the void at the low end left when USB grew into the spaghetti monster it's become. To extrapolate, your argument is like saying that since we have Intel i9 processors available, there's no need for PIC microcontrollers... the i9 can do it all! Sure, that's true, but it doesn't mean the i9 is always and everywhere the best or most optimal answer. Sometimes an i9 would be massive overkill, all of the overhead required to implement an i9-based system being far too much for a simple application. The same is true for USB vs. "simple serial" communications. |
| soldar:
Um, guys? The topic of this thread is the evolution of the USB connector. Not about how the USB protocol compares with the cost of tea in China during the monsoon season. Can we get it back on track? Please? |
| Buriedcode:
--- Quote from: IDEngineer on December 24, 2018, 04:08:39 pm ---I've implemented quite a few USB devices, host and device, which is precisely what has yielded my informed opinion on the topic. I understand your comments, but disagree that a "simple serial" standard would automatically endure feature creep. We ALREADY have USB for the higher order functions. The whole point of this subthread is to backfill the void at the low end left when USB grew into the spaghetti monster it's become. To extrapolate, your argument is like saying that since we have Intel i9 processors available, there's no need for PIC microcontrollers... the i9 can do it all! Sure, that's true, but it doesn't mean the i9 is always and everywhere the best or most optimal answer. Sometimes an i9 would be massive overkill, all of the overhead required to implement an i9-based system being far too much for a simple application. The same is true for USB vs. "simple serial" communications. --- End quote --- I see your point, but I think you've got the wrong end of the stick here. No-one is suggesting we replace SPI/I2C or RS232 with USB, or that simpler protocols shouldn't be used, I'm not sure where you got the idea from and I don't know where to start to point out whats wrong with comparing the two, they occupy different roles. I have never used USB for IC-IC communication... in fact I can't think of any instance where one would have to choose between using USB or SPI, since they serve different purposes. Simpler protocols serve their purpose, no-one is claiming otherwise. I replied specifically to your post because it "seemed" like you were claiming USB has got a lot of feature creep and that simpler protocols are the answer. Yes, it has had a lot of features added, because of pressure from consumers and the specs success as a form of universal connectivity and power delivery. I2C and SPI and any other simpler protocol has no such pressures, because the only people who care about them are engineers who use (and abuse) the very loose spec to their advantage. I still stand by the statement that if you create a simpler consumer standard, it would grow in complexity if consumers adopted it and required more from it. But it seems you want such a standard purely to make your life as an engineer simpler - I'm sure many of us would love USB to be super simple, but we're engineers, its our job to develop things to customer requirements. --- Quote from: soldar on December 24, 2018, 04:57:39 pm ---Um, guys? The topic of this thread is the evolution of the USB connector. Not about how the USB protocol compares with the cost of tea in China during the monsoon season. Can we get it back on track? Please? --- End quote --- Yeah I am helping derail this thread. Apologies. As for the connector... as I mentioned in my previous post, I think it works rather well! I think either the OP has had devices with cheap (as in VERY cheap) connectors, or likes to use brute force with everything. With the battering my USB hub gets I'm amazed these things last years - and even if they don't, hubs are so cheap its worth it just for the life of the sockets. I don't have much experience with USB C yet, but time will tell. |
| Navigation |
| Message Index |
| Next page |
| Previous page |