I’m looking into writing a native USB driver for Windows and the USRP,
i’m
trying to find out some information on the USB interface of the USRP.
I have found the info here regarding the USB descriptor table
(usrp/firmware/src/usrp2/usb_descriptors.a51).
Does anyone know where the best place is to find documentation (if any)
of the USB data structures that are sent on interface 0, 1 & 2 (ep0, ep2
and
ep6) so that I can achive this. I assume the ep0 data strucutres are
that
of the USB Device Request structure on the default control pipe, but I
also
assume there are more control requests than the standard USB ones.
Another thing I was wondering, since the vendor id is a standard free
for
all type, how do you actually determine if it is indeed a USRP that you
are
connected to, and on top of that if you are connected to an FX2 chip
which
is not the USRP and has not been initalised, can you determine that it
is an
FX2 that in on a USRP or not?
I have found the info here regarding the USB descriptor table
(usrp/firmware/src/usrp2/usb_descriptors.a51).
FX2 that in on a USRP or not?
All USRPs that Matt ships have a non-Cypress USB VID/PID burned into
them. There is no confusion between a USRP and an unprogrammed FX2.
We use: VID = 0xfffe, PID = 0x0002. We distinguish board revs and
whether or not we’ve loaded our firmware via the DID.
See usrp/firmware/include/usrp_ids.h
Pretty much every question about how to control the USRP is answered
in one of the .h files in usrp/firmware/include
In particular, see fpga_regs_common.h and fpga_regs_standard.h for
the definitions of the configuration registers in the FPGA.
Thanks for you help.
You’re welcome.
Regards.
It’s really OK to let us know who you are, Mr Pub
Eric
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.