Showing posts with label connections. Show all posts
Showing posts with label connections. Show all posts

Wednesday, September 20, 2017

USB Audio Class 2.0 Support in Windows 10, FINALLY!!!!

I was just reviewing this blog and I realized I mentioned that I'd provide updates if anything changed regarding a Microsoft driver for USB Audio Class 2.0 in a previous post way back in 2014. I failed to mention this when it was first news last Spring (2017). Besides, I don't think Microsoft made any big announcement about this. People just started to notice that the latest Microsoft Windows 10 Creators Update (a.k.a. Redstone2 or RS2) includes a new USB Audio 2.0 class driver, usbaudio2.sys.

I'm not sure if this native driver supports multichannel surround but several people have used it for high-resolution stereo. Just do a google search for "USB Audio Class 2.0 Windows 10" and you'll see numerous discussions about this.

Confirmed: Windows 10 now supports USB Audio Class 2.0

USB Audio 2.0 Class Driver in latest Windows 10 RS2

USB Audio 2.0 support coming to Windows 10 from Microsoft

Finally, after years of nonsense decisions, Microsoft is working to add a native class driver for USB Audio 2.0 devices. They are testing it in the latests Windows Insider versions:
'Native support for USB Audio 2.0: We now have native support for USB Audio 2.0 devices with an inbox class driver! This is an early version of the driver that does not have all features enabled, for e.g.: only playback (render) is supported with this version. Recording (capture) support is scheduled to arrive in later iterations. We encourage you to play with the driver and let us know what you think (using the Feedback app). If you already have third party drivers for your USB Audio 2.0 device installed, follow instructions in this blog post to switch to using the inbox class driver.'
Latest Windows 10 build brings native support for USB Audio 2.0

 Oh well... it's too late for us. Amplio Audio is no longer.

Monday, February 24, 2014

USB Audio Class 2.0, Windows and Computer HiFi

One of the reasons we never completed a commercial product was because we didn't have a very good interface between our hardware and the software player. I'm going to explain this in really simple terms, because I don't really want to get into all the technical details.

A device driver, in this case an audio driver, is the software that controls the audio hardware attached to your computer. Our DAC/amp will not function without a driver. The prototype we built long ago, relied on a FireWire driver for operation, meaning our hardware connects to a PC using a FireWire connection. It has a "FireWorks" circuit board, designed by Echo Digital Audio, that supports 8 channels of audio at 24-bit and 192 KHz (the FireWorks can handle many more channels, but we only use 8). Echo uses this board in the AudioFire FireWire audio interfaces they sell to audio engineers. Recording studios use audio editing software like Avid's Pro Tools, Yamaha's Steinberg Cubase, Sony's Vegas/Sound Forge and Roland's Cakewalk Sonar with Echo's FireWire audio interface hardware to provide multiple connections for microphones and musical instruments to record and edit audio. Echo created custom drivers for working in Windows. The audio editing software usually works with Echo's ASIO drivers to get the best performance and Echo also provides a standard WDM (Windows Device Manager) driver so their hardware will also work as a basic soundcard in Windows.

Our product was designed for listening to stereo and multichannel surround sound (I've written several posts explaining how to rip and play multichannel surround audio from DVD-Audio, SACD and Blu-ray discs), not as a recording and mastering device for pro-audio. Unfortunately, Echo's FireWire WDM driver didn't work with popular Windows programs for playing surround, like Windows Media Player or Windows Media Center. If you configured your PC to use Echo's WDM driver, you would get 4 stereo channels instead of an 8-channel device. So we contracted with Echo to update their driver to support an 8-channel WDM device. For those of you using Echo's AudioFire devices with your PCs for listening to surround music or movies, you can thank us for paying for the development of the multichannel driver. Our contract didn't say anything about exclusive use, so now all of Echo's customers benefit from these updated multichannel drivers. You can now choose between stereo mode (which will provide the 4 stereo pairs) or multichannel mode (for an 8-channel setup). Now Windows Media Center can use any FireWorks based product as a multichannel device and you can listen to full surround when you watch TV or play movies and surround audio recordings.

If you were to purchase a device like ours, after connecting it to your PC (via FireWire), you'd have to install the custom driver before you could listen to surround recordings. It wouldn't be plug and play. And, if you get a new operating system, like Windows 8.1, you may need to download an update to remain compatible. So we'd have to continue paying Echo to make sure our device was supported in the case of bug fixes or updates for new operating systems. Also, back when we started this project, FireWire ports were included on most PC motherboards. That's not the case anymore, especially with the smaller form factor PCs that have great potential as HTPCs. Every PC and motherboard has multiple USB ports. So if we were to develop a commercial product, we'd switch to a USB interface and we wouldn't want to depend on a custom or proprietary driver that you'd need to install and keep up to date. Ideally, we'd want an audio device that'd work with drivers that are native to the operating system.

Here's the problem, at least for Windows (including Windows 7 and Windows 8/8.1). All popular operating systems (Windows, Mac OS X and Linux) support USB Audio Class 1.0 natively. Only Mac OS X and Linux support USB Audio Class 2.0 natively. We wanted to sell our product to Windows users because that's where the best apps are for playing high resolution, surround audio and video files. USB Audio Class 1.0 was the standard developed back in 1998 and because of its limited bandwidth only supports 2 channel audio. USB Audio Class 2.0, which became a standard in 2009, has plenty of bandwidth to support multichannel audio. Since Microsoft doesn't have a native USB Audio Class 2.0 driver for Windows, you'd need a proprietary 3rd party driver. We can't afford the licensing fees and we don't want our users to deal with the hassles of installing and maintaining drivers.

Microsoft's Frank Yerrace, who's part of the Windows sound team, asked the WDM driver development community (wdmaudiodev) several years ago why they would want USB Audio 2.0 in Windows. Many responded that they would like USB Audio 2.0 because of support for higher sample rates, bit depth and channel counts.

I agree with David Hoatson, an engineer from Lynx Studio Technology, a manufacturer of pro audio interfaces, who responded:
"now that there are more USB Audio 2.0 solutions coming to market, each company is having to develop its own driver and of course each will have varying degrees of success. Audio driver development is generally not the core competence for a chip-set company so they end up having a 3rd party company develop the driver. OEMs end up with the "not our fault" situation where the chip-set company blames the driver company and the driver company isn't being paid to fix bugs. The end result is products that don't work very well on Windows, but work better on OS X."
David went on to say that he thought the key issue is market acceptance:
"Microsoft never supported audio on FireWire in the OS, and I would say there are fewer FireWire audio devices on the market as a result. If Microsoft supports USB Audio 2.0 in Windows, I think you will see many USB Audio 2.0 devices hit the market." 
A later response from David spoke more to the marketing issues when he wrote:
"I understand the need to convince the upper-level management to get on-board with developing something new. Our VP of Marketing is famous for pushing his "Faster, Cheaper, Better" phrase. I think the phrase applies very well in this instance. Right now the choices for anything more than 16-bit/48kHz are VERY limited. This certainly limits the ability to create a product that will work well with Windows. USB Audio 2.0 does it faster and better, but at the moment it certainly isn't cheaper. If most of the responses were from the pro side, I think that is because we are the people that care about higher quality audio the most... and trickle down does work. Satisfy the top end client and the lower end will thrive filling the low-price-point void.  In other-words, if Microsoft makes the price of entry to the market less expensive to develop, you will see the consumer price-point fill with products.  ("If you build it, they will come"). Besides, do they really want Apple to beat them with USB Audio 2.0? :-)"
Bernt Ronningsbakk, with the Norwegian software company that develops 'Audiolense', responded to Frank Yerrace's post:
"Our customers are basically consumers who are conscious about sound quality. The standard USB implementation is not good for audio. The limitations are not simply about channel count, bit depth and driver problems. It is also about the protocol used to transmit the data. It is basically a S/PDIF-equivalent protocol where the clock on the transmitter (the computer) puts a signature on the sound. S/PDIF is an inferior protocol to begin with. Add to that some added challenges with USB and it stands out as the worst alternative. Some of the jitter out of the PC will manifest itself in the analog waveform regardless of how the receiver side works. A couple of consumer/prosumer manufacturers have developed USB interfaces with asynchronous audio transmission. I don't know the details, but I assume it is equivalent to block processing or callback based buffer filling where the clock in the DAC is the only one that matters. USB has the potential to provide bit perfect transmission. As it is today, a high quality non-USB sound card is required for top quality audio rendering. USB sound cards with multichannel/bit depth capability that reflects the new waveformextensible standards with regards to channel count and bit depth would be a huge selling point to the masses. Callback-based audio streaming would be an added bonus that would bring USB into the picture also amongst those who pay whatever it takes to get the best possible sound quality. Computer based hifi has so much going for it, and a good USB audio solution would lower the threshold of entry significantly."
Like I said, that discussion was several years ago. I think it was around the time Windows 7 was first released and I was very disappointed that Microsoft didn't include native support for USB Audio Class 2.0. We didn't hear anything back from Microsoft or Frank Yerrace. Well actually, Frank did respond to thank everyone for their feedback, but he didn't offer any words of encouragement that would indicate Microsoft was moving toward developing a USB Audio Class 2.0 driver. Following this discussion there were a few people speculating that Microsoft doesn't think there's enough demand to justify the investment needed to develop a driver. Perhaps they are right. I've read a few other forum threads on the same topic and I haven't come across any comments that sound promising. A person (Petter103) who supposedly has close ties to Microsoft offered:
"It would cost Microsoft $50K to have a third party develop this for them (OK let's quadruple that, it is still inexpensive and enabling for consumer scenarios). Until recently, however, Microsoft has not been all that concerned with consumers. It has always been much more important to add 1000 group policy objects per year ..." and, "I have had deep contacts with Microsoft on this very topic for about 8 years now - was pushing very hard for a number of years including walking into program managers and developers offices unannounced. The sad story is that their USB Audio developer who actually contributed to the UAC2 standard quit the company, no idea what is going on now other than hearing through the grapevine that no UAC2 support is forthcoming for Windows 8. My history with Microsoft on this suggests that this will not be a feature of Windows 8, so if it is of interest to you, get yourself a third party driver (not even sure how to do that as a consumer without also buying hardware) with the benefits and caveats that implies, or switch to a platform that offers it. It is sad that this is so, because lack of driver causes fragmentation of driver model (a big third party driver vendor makes the audio driver a non-audio device ....) which in the longer term causes more problems for consumers."
Now that Windows 8 has shipped with no USB Audio Class 2.0 driver, it looks like Petter103 was correct. However, Windows 8 hasn't been very successful and they've had to deal with lots of media reports about its supposed big failures. The market is different now. Not only are Macs more popular than a few years ago, but now Microsoft has to compete with iPads and Android tablets. Windows 8 was suppose to tie together the smartphone, tablet and PC platforms, which you'd think would help keep loyal customers from switching, but that doesn't seem to be working. Maybe Microsoft will pay more attention to their home consumers (not just their corporate customers) and offer better audio capabilities. I was pleasantly surprised to see a new post dated 2/13/2014 from Frank Yerrace on the wdmaudiodev listserv saying:
"I had asked this list several years ago about the level of interest in USB Audio 2 and reasons for the interest. I received some private responses as well as responses to this public list. Even though in-box support ultimately was not included in Windows 8, those responses were greatly appreciated and very helpful. As you can imagine, we are constantly evaluating where to invest for future versions of Windows. I assume the interest in in-box USB Audio 2 support is still quite high. If interest has further increased or perhaps decreased for any reason, please don't hesitate to speak out." 
First to respond was Kevin Halverson, CTO of High Resolution Technologies, LLC., a manufacturer of high quality DACs for consumers. Kevin wrote:
"USB Audio Class 2.0 support is important for a number of reasons. First, the ability to run High Speed USB is becoming a more important issue as the number of new platforms shipped with USB controllers and root hubs which properly support Full Speed USB devices properly diminishes on a nearly daily basis. Second, USB Audio Class 1.0 precludes higher sample rate, high channel count audio which for many companies like ours, means that we have to provide our own USB Audio Class 2.0 drivers. Third, the amount of maintenance necessary to keep custom drivers patched and working well across many different versions of Windows is a considerable challenge. The final point is, we constantly hear from customers that are looking to other host platforms running other operating systems just in order to get native USB Audio Class 2.0 support (and hence why we went to the time and expense of developing our own). While support of Audio Class 1.0 is important to support legacy hardware, it is fairly absurd that all these years later Microsoft still hasn't done what nearly every other operating system supplier has in terms of keeping current with audio requirements. Certainly if a small company such as ours can accomplish this, the task should be rather trivial for an industry powerhouse such as Microsoft."
Again, in this thread there are responses that, depending on your point of view, are pessimistic or realistic. Tim Roberts, a consultant with Providenza & Boekelheide, Inc. and Microsoft Partner, was quick to argue:
"There has to be a business case to justify the considerable development and testing expense. Standards are only interesting if they are used. If USB Audio 2 is a niche standard that is only interesting to a tiny fraction of the market (and the current evidence suggests that is the case), then it doesn't make sense to develop a class driver. To four decimal places, Audio Class 1.0 satisfies 100% of the Windows users in the world." 
To which Timothy Knudtson, a Software Engineer with iConnectivity, replied:
"Where does this number come from? In the audio industry things are moving towards using USB Audio 2.0. USB Audio 1 may work for 100% of the Windows users because for those users who want USB Audio 2.0 they are simply switching to Mac." 
Tim responded:
"The problem is sheer volume. There are a billion Windows machines in the world.  How many really need to use USB Audio 2 devices right now? Maybe 1,000? Maybe 10,000?  999,990,000 out of a billion is 100%, to four significant digits. That's the problem Microsoft faces. They need to make sure all of the corporate secretaries in the world can listen to Michael Bolton through iTunes. 16-channel 192 kHz audio is cool, but there just isn't widespread business demand for it yet."
Jerry Evans, who I believe is a developer with Instrumental Innovations, replied:
"Lack of standards compliance from Microsoft is a barrier for vendors and dissuades consumers from purchasing ‘unsupported’ hardware. Build it and they will come. WASAPI has enabled us to push this project forward. I’m not convinced anyone could have made a business case for its provision. But eventually it arrived, and was quickly supported by all the major DAW’s. Surely a much, much tougher nut to crack than a relatively mundane driver … "
And Philip Gruebele added:
"I think that the lack of standards support is not a strategy that Microsoft can continue pursuing in today's competitive market. It is doing the same thing as the lack of Bluetooth Low Energy support under Windows Phone. The competition (aka Apple & Google) is simply leaving Microsoft behind in this regard."
I thought this response to Frank was very interesting. Børge Strand-Bergesen, who's a hardware guy working on an open source DAC project (Audio Widget Project), had this to say:
"We have an open source Windows UAC2 ASIO driver. Ideally, we'd have a Windows UAC2 driver like the one on Mac and Linux. But since we don't, what I wish to do next is gather enough force to make a fully fledged UAC2 driver and release it under GPL. One centrally distributed device driver with the potential of supporting all UAC2 hardware. The 30-60 demographic has a lot of users who still prefer a PC over a tablet, and who love their music. My doctor is the perfect fit. He loves classical music. After trying a couple different DACs he's ended up with quite the driver collection and resulting DLL version inconsistencies. Now he's in the market for a Mac to play his music, even though he has no other use for one. I have watched the HiEnd audio scene and built DACs for some years now. People borrow and test each other's DACs the whole time. The lack of native UAC2 drivers on Windows is the single largest inhibitor of growth for high resolution audio. Having to install a driver scares away a large chunk of today's customer base, and it prevents that customer base from growing. DLL conflicts and crappy user interfaces push even more users into the Mac camp, where things work out of the box. Getting the promised sample rate in real life is important. Kbps sells just like megapixels. The hardware brand owners also have to struggle with the costly licensing terms of commercial drivers. Those are actually among the largest inhibitors of growth among those who supply to the early adopter users in the DAC market. The demand for UAC2 support on Win7 and onwards does not yet come from Logitech and Sony. It comes from the little guy like me who sells a couple hundred DACs to early adopters. Satisfy those, and HiFi brands like NAD and Rotel will start selling to larger groups. Satisfy those, and the Logitechs will follow. UAC2 support can easily be made a winning sales pitch for Windows PCs. 
In response to Børge, Kevin Halverson, said:
"An open source driver is an interesting idea, but native Windows support for both USB Audio Class 1.0 and 2.0 devices would be infinitely better. While we ship nowhere near the numbers of products as a Logitech and Sony, we do ship +50k units annually and a disproportionate percentage are to Mac and Linux users than one would expect based upon market share of these two platforms. I find it hard to believe that Microsoft's vast resources would even notice the trivial effort necessary to provide a USB Audio Class 2.0 driver (host stack), our small engineering staff accomplished our own in a matter of a few months and that included a lot of research and coming up to speed on what would be well known internally at Microsoft. I really wonder how this could even be something that would have to be considered for more than a moment, it just shouldn't be much of a task. Well, if nothing else. Its getting discussed again."
Here's another person with a good response to Frank's query, from Chris Barker: 
"I've been a lurker on this thread for a while. I'm not actively involved in the industry, but I am an audiophile and been dealing with PC (e.g. Windows) audio for decades. If there is a need to further prove the audience size for improved high bitrate audio support built in Windows, one only has to contact the guys at LH Labs and their very successful Kickstarter and Indiegoo Geek DAC projects. Anything that can improve and make Windows more "plug'n play" and "it just works"  for high quality audio devices would be a good thing for the world in general and users (and thus Microsoft by better perception) in particular. Also check out your favorite consumer audio magazine like Stereophile and The Absolute Sound. Each month's cover always features computer audio articles and now DSD in particular. Many of the writers who are very analog and not computer savvy revert to Mac machines because of the perceived easier experience in getting these systems working. Microsoft should be concerned at this example of quality and ease of use gap."
To counter Chris's enthusiasm, Tim Roberts, the devil's advocate of the group, responded:
"It is really hard to talk about topics like this in an objective and business-oriented way, because the whole arena is filled with so much astrology and incense and pyramids. Physiologically, 384kHz audio is just dumb, as is 192kHz and 96kHz. Anything more than 48kHz is just wasted bits. Sure, a few people are willing to spend money for that kind of equipment -- those are the same people keep telling themselves that tube amplifiers are better. They are buying Macs because Macs are cooler. I'm just not sure that a company like Microsoft can ever have mindshare in that population. Even if they released a USB Audio 2 driver stack tomorrow, I don't think it would be trusted."
So Marc Lindahl of Bowery Engineering, responded:
"Wow, clearly not a pro audio guy. While there is ongoing debate in the professional audio community and the audiophile community regarding 176.4KHz and up, there is little anymore that there is great utility for 96K and 88.2K in addition to generally superior sound quality to 44.1K/48K. The market shows there is a demand for high sample rates and bit depths, Microsoft should be interested in that. It's not 'just a few people'. Windows continues to enjoy popularity among audio pros for running various DAW software, and audiophiles as well.  The market is there."
And Børge wrote:
"I'm sorry Tim, but this is like saying Canon should've stopped adding megapixels once their cameras got 4 or so of them. kHz is a simple number. Comparing the kHz of your audio system will be done in the consumer crowds just like they compared the MHz of their CPUs and the megapixels of their cameras. The more you have of that simple metric, the better they will feel. And at the moment, Microsoft is the audio equivalent of a 3 megapixels camera or a Pentium 4 computer."
 To which Tim replied:
"No, this is not a valid comparison. Our eyes can tell the difference between 300 dpi and 600 dpi, and a 4 MP camera can only do about 200 dpi when printed at 8.5x11. Those extra pixels ARE being put to use. The same is simply not true of audio. You don't "zoom in" on an audio track. The concept doesn't make sense. The best human ears are physically unable to sense frequencies above about 20 kHz. Per Nyquist, anything above twice that frequency serves no purpose at all. They CANNOT, physically, alter what we sense in the sound. That's voodoo, not engineering.  Those MHz and megapixels are being used. Those extra kHz are utterly pointless.  Unlike the other two, we have reached a physical limit."
 Philip Gruebele replied to Tim by writing:
"Three points worth making:
  1. Whether or not it is technically necessary to support higher sample rates is not relevant. What is relevant is whether the market demands it, and it undeniably does. Otherwise why would so many companies - hardware manufacturers and download services - invest so many resources to make it happen?
  2. Using Nyquist and human hearing to make a case for not supporting higher sample rates is looking at the issue too narrowly. The reason higher sample rates can be better are complex and include things like simplifying DAC design and out-of-band filtering. Also some protocols like DSD64 over DoP require 176.4Khz and DSD128 requires double that just to get the data across. UA2.0 also supports certain use cases which are not possible with UA1.0. The minimum sample rate that should be supported is at least 384Khz and UA2.0 has handled all these cases for many years.
  3. The lack of USB Audio 2.0 support causes a headache for consumers because they have to deal with low quality, poorly tested, third party drivers. These drivers are not going away because of point (1). There are a LOT of high-end audio enthusiasts who voted against Windows by using Apple products because they provide a better end-user experience."
There were a few followup responses that went into technical details about the advantages of USB Audio Class 2.0 ver Class 1.0, but what you read above covers the main debate. The last posting was about a week ago on 2/16/2014. I hope these responses to Frank's inquiry will have some effect at Microsoft and convince them to develop a native USB Audio Class 2.0 driver for a future version of Windows. Time will tell. If I hear anything, I'll keep you posted.

Monday, September 28, 2009

Light Peak

With Freecom's USB 3.0 hard drive ready to ship in November, and many more USB 3.0 products expected in 2010, it looks like USB 3.0 is going to be the most popular connection for peripherals in the future. There are a lot of peripherals that will never need the performance of USB, so they may continue to use USB 2.0, but since USB 3.0 is backwards compatible, it will also work for USB 2.0 devices. So I think more and more motherboard manufacturers may start including USB 3.0 ports.

Even though FireWire-800 has been around for awhile, I haven't found any included on any motherboards yet. These manufactures will probably stop including any FireWire ports - IEEE1394a or IEEE1394b) in future motherboards. Actually almost all of the new small form factor, higher performance mini-ITX motherboards don't include a FireWire port. The future doesn't really look to bright for FireWire.

Some people say USB became popular because a lot of PC systems and peripheral manufacturers did not want to pay licensing fees to Apple for FireWire. So they conspired to develope USB. Sure it wasn't as fast, but for a ot of peripherals, it was fast enough. Then USB 2.0 came along and provided much better performance. Many argued that it was still not as fast as FireWire for things like external hard drives, but for many people it was fast enough. Now USB 3.0 may make the need for FireWire totally obsolete. Except there is that little issue of cable length, which still gives FireWire an advantage.

But maybe USB isn't the perfect solution. I haven't heard of anyone using USB for display devices. Monitors are connected with DVI, HDMI or DisplayPort.

Now we've learned that Apple has pushed Intel to develop a new fiber-optic connection for peripherals called Light Peak. Light Peak could be a solution for just about every PC peripheral. It could replace all the cables we currently use for monitors, external drives, printers, scanners, audio interfaces, etc. Distance isn't a problem, at least compared to FireWire, because a Light Peak cable can be up to 100 meters long. So, will USB 3.0 become the most popular way to connect peripherals? Maybe not.

Monday, December 17, 2007

New FireWire S3200 Spec

Back in September, the 'USB Promoter Group' announced the next 'USB 3.0' specification. Many people were speculating that it might be the death blow for FireWire. Well, the FireWire folks aren't standing still. They just announced their next FireWire version called 'S3200', which builds on the earlier spec of IEEE1394b, also called FireWire 800. S3200 quadruples the speed from 800 Kbps to 3.2 Gbps and can use existing FireWire 800 cables and connectors.

We'll probably first see S3200 used with storage devices like external hard disks and optical drives. Eventually, they hope it will be adopted by consumer electronics manufacturers and used with home entertainment products. The new spec will let consumers connect HDTVs, set-top boxes and computers via coax cable with distances more than 100 meters.

Even though many motherboards are designed with a FireWire port, all include several USB 2.0 connections. With the huge success of USB and the expensive FireWire royalties, unless consumers see a big advantage like better audio and video performance, I think FireWire S3200 will have difficulty becoming as common as USB. Maybe people will understand that FireWire was specifically designed to be used for high speed streaming data and is ideal for a hard drive moving large chunks of data, like video. USB was originally designed for low bandwidth, low latency peripherals, like mice and keyboards. It allocates data bandwidth in inverse proportion to demand, so for example, mass storage gets whatever's left after mice, keyboards and tablets have had their share.

Here's a little more technical information on the topic. The USB 3.0 spec claims transfer speeds up to 10 times faster than USB 2.0, but the real world throughput of FireWire S3200 and its peer-to-peer technology might be better because of the overhead caused by USB's host/client technology. FireWire uses a double-simplex architecture, so for example, with the original FireWire speed of 400 Mbps, the actual aggregate speed is 800 Mbps. USB 1.0/2.0 uses a half-duplex architecture and 10% of its bandwidth is reserved for host commands. There are more delays inserted between TX and RX packets while the host and target devices' transceivers switch directions, wasting several microseconds each time. However, FireWire S3200 might become irrelevant because USB 3.0 is suppose to be 4.8 Gbps using double-simplex fibre, which is faster than S3200 on raw speed and finally gets rid of USB1/2's half-duplex overhead.

Wednesday, September 19, 2007

USB 3.0 Spec Proposed

There was an Intel press release yesterday announcing a group of companies including Intel, HP, Microsoft, NEC, NXP Semiconductor (formerly Philips Semiconductor) and TI have formed the 'USB Promoter Group' to create a superspeed personal USB interconnect that can deliver over 10 times the speed of today's connection. "We don't want to be the bottleneck in the system," said Jeff Ravencraft, an Intel executive overseeing the USB 3.0 initiative.

More from the press release: "USB (Universal Serial Bus) 3.0 will create a backward-compatible standard with the same ease-of-use and plug and play capabilities of previous USB technologies. Targeting over 10x performance increase, the technology will draw from the same architecture of wired USB. In addition, the USB 3.0 specification will be optimized for low power and improved protocol efficiency. USB 3.0 ports and cabling will be designed to enable backward compatibility as well as future-proofing for optical capabilities."

Some people are saying USB 3.0 will finally supplant FireWire. If it really delivers the 300 Mbytes/second or 4 Gbits/second theoretical speeds it obviously leapfrogs the 400 Mbit/second performance of FireWire 1394a and the 800 Mbit/sec for 1394b and 1394c. If the "Quality of Service" support for HD video also results in a very low jitter interface for audio, USB 3.0 is definitely the way to go. The only advantage for FireWire is cable distance. FireWire's 1394c can work over ethernet cable with speeds of 800 Mbit/second up to 100 meters and USB 3.0 may be limited to only 2 meters. However, it might be a long time before we see any audio interfaces that support 1394c. I've also read that the 1394 Trade Association is reading proposals for a 10 Gbit/second FireWire spec. For more detailed information on this, read this article in EETimes.

It will be awhile before we see any USB 3.0 chipsets and drivers for USB Audio, so this probably won't have any impact on our current development efforts. It would be nice if we finally had an interconnect that was very high performance (meaning it could handle up to 24 or more channels of 24bit/192kHz audio with extremely low jitter) and was available on all shipping PCs.

Tuesday, August 29, 2006

Connecting to the HTPC

Today most computers communicate with external soundcards using a USB or FireWire connection. Other technologies that might become popular in the future include Audio over Ethernet (AoE) and some new varieties of FireWire like VersaPHY, S800BaseT and POF with IEEE 1394. Our conceptual prototype uses a FireWire connection, which works very well. However, we are looking very closely at other technologies to make sure we provide the best solution for our users.

I also know that some pro-audio external soundcards like M-Audio's Delta 66 and Delta 1010 or Echo Audio's Layla and Gina use a proprietary connection to a dedicated PCI adapter card. Both of these manufacturers are now using either USB or FireWire on all of their newer external soundcard products. We will not be using a proprietary PCI adapter card solution.

USB is the most common method used to connect peripherals to a computer. USB 1.1 was originally meant as a replacement for legacy ports, and a user-friendly, low-cost way to connect peripherals such as keyboards, mice, and printers to a PC. USB was never designed to handle intense multimedia data loads. USB 1.1 is limited to a data rate of only 12Mbits/sec, which is enough bandwidth for CD audio (1.4Mbits/sec). However, it might be difficult for USB 1.1 with it's associated overhead to handle multiple streams of CD audio or DVD-Audio (with 6 channels of 24 bit audio at a sample rate of 96KHz) which requires up to 8.6Mbits/sec. USB 2.0, which is backwards compatible with USB 1.1, provides the fastest data rate currently available at 480Mbits/sec. However, USB uses a host/client (or master/slave) architecture. The PC takes on the role as the host, which requires some overhead to handle all of the arbitration functions and dictate commands to the clients, thus reducing the overall data rates. Data rates are reduced more if addition communication between other clients is required. The maximum length of a USB cable is 5 meters, greater lengths require USB hubs.

Many of the manufacturers of pro-audio soundcards offer an external solution using FireWire (IEEE 1394). FireWire is based on a peer-to-peer technology where each "intelligent" peripheral communicates with each other to provide sustained data rates. Unlike USB, no additional PC overhead (system memory or CPU) is needed to sustain the data rates. FireWire includes support for memory-mapped devices, which allows high-level protocols to run without forcing numerous interrupts and buffer copy operations on host CPUs. The most common FireWire in use today, IEEE-1394a, provides data rates up to 400Mbits/sec with cable lengths limited to 4.5 meters, but up to 16 cables can be daisy chained using an active repeater, external hub or internal hubs included in many FireWire devices. The maximum length possible with any configuration of IEEE-1394a is 72 meters. A newer FireWire standard, IEEE-1394b (sometimes called FireWire-800) provides a data rate of 800Mbits/sec (but promises to support speeds of 1600Mbits/sec. to 3200Mbits/sec. in the future) and cable lengths of 100 meters when using optical fiber or CAT5 cabling. However, if you read the fine print, these longer lengths only support data rates of 100Mbits/sec when using CAT5 cabling. A future version of FireWire, p1394c is suppose to provide data rates of 800Mbits/sec for cable lengths of 100 meters.

Theoretically USB 2.0 should be faster than FireWire IEEE 1394a. Each FireWire device has to negotiate for bus access and the FireWire bus must wait until a given signal has been sent to all devices on the bus. The more devices on the bus the lower the performance. While USB is only limited by the host-client branch, not the whole network. USB's host-client technology also allows the host to allocate more bandwidth to higher priority devices. Even though the USB 2.0 spec of 480Mbits/sec is higher than FireWire's (IEEE 1394a) 400Mbits/sec, the increased CPU and host overhead due to the host/client technology of USB 2.0 reduces its sustained throughput to rates lower than those of IEEE 1394a. USB comes standard on over 90% of computers shipped today (probably more than 90%, now). Unfortunately, FireWire does not come standard with most new PCs. However, I've noticed that it is included on many of the motherboards that are popular with people who build their own HTPCs. Anyhow, both FireWire and USB 2.0 can handle the audio throughput needs of an external soundcard.

Looking into the future, it appears that the performance of USB isn't really going to change much. The only references to a future version of USB talk about wireless USB (WUSB). Wireless USB sounds interesting. You'll get USB 2.0 performance within a range of 3 meters. Between 3 and 10 meters, WUSB can operate at 110Mbit/sec. The future versions of FireWire are even more interesting. I'm not sure exactly what the bandwidth requirements will be for future audio formats like HD-DVD and Blu-Ray (probably, not much more than DVD-Audio's 8.6Mbit/sec, but you never know). And who knows, maybe there will be something better after these two formats kill each other off. Anyhow, the speed improvements of future versions of FireWire might be very useful. What's even more exciting is the fact that the cable lengths will let us support features like whole-house multi-zone audio much easier. With S800BaseT maybe we will be able to have an HTPC in the family room with our soundcard/amp, and others in the kitchen or dining area and bedrooms. All of the PCs are connected via FireWire to either multichannel soundcard/amps or stereo soundcard/amps. They are also connected to each other over the S800BaseT network. Because of the network connection, any of the PCs will be able to recognise all of the other soundcard/amps on the network. That is, your PC will actually have every soundcard on the network in its list of audio devices. With the appropriate software, like J.Rivers Media Center, they'll be able to set up multiple zones. From any one of the PCs you'll be able to pipe music all over the house. For parties, the same tune can play in every zone. However, you will still be able to control each soundcard from the local PC. Hopefully the software will be able to manage when the soundcard is under local control or is available across the network. Anyhow, the possibilities are very exciting since you should be able to connect all FireWire devices up to distances of 100 meters and still maintain S800 (800Mbits/sec) speeds.

After reading several articles or papers describing Audio over Ethernet, I'm not sure if it will ever come into the mainstream. First, there are a lot of proprietary solutions and without a standard, it's unlikely to move beyond its niche. The technology is really geared to professional applications like auditoriums or large recording studios. Second, if S800BaseT takes off, it looks like there will be no need for audio over Ethernet. Anyhow, it is another technology that we will keep an eye on.

I'm sure some people reading this post are wondering why I haven't included HDMI in this discussion. It's because I don't think HDMI (High Definition Multimedia Interface) will ever replace USB or FireWire as a way to connect to external soundcards. Instead, it will probably replace S/PDIF because it is also basically just a one way connection. It is a much higher bandwidth digital connection. Instead of the S/PDIF limits of 2 channel PCM or multichannel Dolby Digital or DTS compressed audio, HDMI can handle 8 channels of uncompressed audio (in addition to all of the HD video). We are considering using an HDMI input instead of/or in addition to S/PDIF as our digital input option. We are already beginning to see HDMI connectors on graphics cards, high resolution displays and A/V receivers. In the next few months HDMI connectors will be included on new motherboards. Another big part of HDMI is content protection and HDCP, but I don't really want to cover that in this blog entry. Maybe some other time.
Powered By Blogger