If you have worked with USB at all you might know that if you build a device with a USB interface you will quickly discover one of the requirements of the USB device/interface is to be able to identify itself so M$ OS (or some other) can load the appropriate driver to get it to work, so you can send and receive data through it. If you are just building something for yourself at home and will never share it with others you can pretty much select almost anything, as long as it does not conflict with something else you own (which is what I had done so far). To do this and to share the design with others though is a tad more complicated, and expensive, you need to obtain a unique VID/PID combination for your carefully crafted bit of homebrew. The two parts VID and PID the first VID identifies who you are, or rather who the seller of the USB device is, the second identifies the 'product', so you can imagine someone selling a range of USB widgets would have one VID and a range of PID to identify each product. Simple enough to understand :-)
Now somewhat niavely I thought Ok I better go and get a VID and PID.... then the reality hit me. Far from simple and certainly not cheap.
The VID, is a 16-bit value that identifies who the manufacturer of a USB device is, and there is a lookup table (www.usb.org).
The PID, would then identify which product manufactured by the vendor, or more usually which driver that device might use .
Then the combination of the VID and PID should provide a unique reference to the driver required for each and every USB product on the market.
In addition to the VID/PID combination there is another number that can be added (I think some products use these to identify for licence keys etc.) so every device in a VID/PID pair could have a unique serial number. So for example say a range of SDR you would have one type of USB/SDR and each has a different serial number.
So far still easy to understand...
So try and get a VID/PID and note the costs involved or the legal garbage you get handed! Eek they must be joking, but they are not, and if you only want a couple (at most I suspect even kit makers will only ever use a dozen or so) it makes no difference, so there is the conundrum...
Right now trying to work out for myself which way I am going to go... Use V-USB, Microchip or FTDI or even obtain a VID outsight!
How's this radio?
Well I'm working with Simon Brown HB9DRV on SDR-Radio.com as well as my own designs for usb controlled kit and this now a problem.
It is a bit like if you are running you own network at home you happily use IP's from 192.168.1.x or whatever to identify your PC and 1,000's of others, companies too, do the same thing but go outside your home/company and all those websites have their own IP.
Years ago the IP subnet 44.x.x.x was grabbed for amateur radio. The class A 44 netblock of 16.7 Million IP addresses was set aside for amateur radio users worldwide, having been secured in the 1970s by Hank Magnuski, when the internet was in its infancy. Shame the same never happened for USB devices.
I'll write more on this....
2 comments:
Post a Comment