usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

GPIO N210 MIctor

IB
Ian Buckley
Mon, Mar 27, 2017 4:04 AM

Dave,
FWIW the Mictor was not conceived as user GPIO but as a development interface for FPGA work. You are 100% free to do with it what you will. It’s set up in the FPGA pinout so as to have clocks and data where an HP logic analyzer would expect to find them if it was directly connected. As you can see it’s just tied off to GND in u2plus_core.v for the release code.
One way you could use those pins (as outputs) with reasonably easy UHD support would be to add simple GPIO logic to the user_settings module and hook up the mictor wires, then use the set_user_register method of multi_usrp https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a417d8733daa8582957e8de4741ef9ced https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a417d8733daa8582957e8de4741ef9ced

-Ian

On Mar 26, 2017, at 8:29 PM, Dave NotTelling via USRP-users usrp-users@lists.ettus.com wrote:

Marcus,

  I hadn't thought about looking at the schematics for this issue.  Thank you very much!!

-Dave

On Sun, Mar 26, 2017 at 11:16 PM, Marcus D. Leech <mleech@ripnet.com mailto:mleech@ripnet.com> wrote:
On 03/26/2017 10:31 PM, Dave NotTelling wrote:

Marcus,

  Thanks for that info.  I poked around and found https://github.com/EttusResearch/uhd/blob/release_003_009_004/host/lib/usrp/dboard/db_ubx.cpp#L165-L193 <https://github.com/EttusResearch/uhd/blob/release_003_009_004/host/lib/usrp/dboard/db_ubx.cpp#L165-L193>.  Are those the lines I need to be concerned about?  One thing that doesn't make sense is that the tx_io bus (https://github.com/EttusResearch/fpga/blob/593aae943b7d18e4e165ccd91a6b6581005e62e8/usrp2/top/N2x0/u2plus.ucf#L73-L88 <https://github.com/EttusResearch/fpga/blob/593aae943b7d18e4e165ccd91a6b6581005e62e8/usrp2/top/N2x0/u2plus.ucf#L73-L88>) is 16 bits wide while the number of bits in the cpp file is 19 to TX (if you add up all of the widths in ubx_v1_gpio_info for TX.  Are there other GPIO lines somewhere?  Am I not looking at the right thing?

Thanks!

The width fields for the GAIN functions appears to be set to "10" when in fact it's 6.  This likely doesn't actually affect anything, but is conceptually a bug.

If you look at the schematics, GPIO 8 on the TX unit is unused, and several on the RX unit are unused, but they aren't connectorized in any way.

On Sun, Mar 26, 2017 at 9:56 PM, Marcus D. Leech via USRP-users <usrp-users@lists.ettus.com mailto:usrp-users@lists.ettus.com> wrote:
On 03/26/2017 07:07 PM, Dave NotTelling via USRP-users wrote:

So the next question is, could I harm anything by using all 32 bits for whatever I want?  That is, do the UBX or N210 main board actually need to use those "GPIO" lines?

Some of the GPIO lines are "used up" in internal board-management functions, depending on the board.  You'd have to consult the driver code and
schematics to see which GPIO lines are used for actual functions on the daughtercards, etc.

On Sun, Mar 26, 2017 at 6:20 PM, Dave NotTelling <dmp250net@gmail.com mailto:dmp250net@gmail.com> wrote:
Oops, forgot the link:

https://www.mail-archive.com/usrp-users@lists.ettus.com/msg00244.html https://www.mail-archive.com/usrp-users@lists.ettus.com/msg00244.html

On Sun, Mar 26, 2017 at 6:18 PM, Dave NotTelling <dmp250net@gmail.com mailto:dmp250net@gmail.com> wrote:
I found this link [1] which says "There's a debug port (MICTOR connector) on the USRP2 (J301) which you can route signals to for debugging. It's connected to the 32-bit wire "debug" in u2_core.v. Just connect signals you're interested in to debug and use a logic analyzer."

Modifying u2plus_core.v to have assign debug = {io_tx, io_rx}; at line 768 instead of assign debug = 32'd0; allows me to output values with timed commands to GPIO.

On Sun, Mar 26, 2017 at 1:43 PM, Dave NotTelling <dmp250net@gmail.com mailto:dmp250net@gmail.com> wrote:
Oh, and I should mention that I am using the UBX-40

On Sun, Mar 26, 2017 at 1:41 PM, Dave NotTelling <dmp250net@gmail.com mailto:dmp250net@gmail.com> wrote:
After further research it seems that the Mictor connector is called 'debug' not GPIO.  Can the Mictor connector be used for timed commands?  If so, how do I access those debug pins?  I haven't seen anything in the UHD api for that.  Failing the ability to use timed commands with the Mictor connector, how can I get GPIO out of the N210 chassis?  I need 3-4 lines that I can run to an external device.

On Sun, Mar 26, 2017 at 1:17 PM, Dave NotTelling <dmp250net@gmail.com mailto:dmp250net@gmail.com> wrote:
How does one access the output of the Mictor connector via the UHD API?  Calling get_gpio_banks() returns just RXA and TXA with no mention of FP0.  I have a breakout cable attached to the Mictor connector but my scope shows no changes when I bit bang the pins.

Thanks!


USRP-users mailing list
USRP-users@lists.ettus.com mailto:USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Dave, FWIW the Mictor was not conceived as user GPIO but as a development interface for FPGA work. You are 100% free to do with it what you will. It’s set up in the FPGA pinout so as to have clocks and data where an HP logic analyzer would expect to find them if it was directly connected. As you can see it’s just tied off to GND in u2plus_core.v for the release code. One way you could use those pins (as outputs) with reasonably easy UHD support would be to add simple GPIO logic to the user_settings module and hook up the mictor wires, then use the set_user_register method of multi_usrp https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a417d8733daa8582957e8de4741ef9ced <https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a417d8733daa8582957e8de4741ef9ced> -Ian > On Mar 26, 2017, at 8:29 PM, Dave NotTelling via USRP-users <usrp-users@lists.ettus.com> wrote: > > Marcus, > > I hadn't thought about looking at the schematics for this issue. Thank you very much!! > > -Dave > > On Sun, Mar 26, 2017 at 11:16 PM, Marcus D. Leech <mleech@ripnet.com <mailto:mleech@ripnet.com>> wrote: > On 03/26/2017 10:31 PM, Dave NotTelling wrote: >> Marcus, >> >> Thanks for that info. I poked around and found https://github.com/EttusResearch/uhd/blob/release_003_009_004/host/lib/usrp/dboard/db_ubx.cpp#L165-L193 <https://github.com/EttusResearch/uhd/blob/release_003_009_004/host/lib/usrp/dboard/db_ubx.cpp#L165-L193>. Are those the lines I need to be concerned about? One thing that doesn't make sense is that the tx_io bus (https://github.com/EttusResearch/fpga/blob/593aae943b7d18e4e165ccd91a6b6581005e62e8/usrp2/top/N2x0/u2plus.ucf#L73-L88 <https://github.com/EttusResearch/fpga/blob/593aae943b7d18e4e165ccd91a6b6581005e62e8/usrp2/top/N2x0/u2plus.ucf#L73-L88>) is 16 bits wide while the number of bits in the cpp file is 19 to TX (if you add up all of the widths in ubx_v1_gpio_info for TX. Are there other GPIO lines somewhere? Am I not looking at the right thing? >> >> Thanks! > The width fields for the GAIN functions appears to be set to "10" when in fact it's 6. This likely doesn't actually affect anything, but is conceptually a bug. > > If you look at the schematics, GPIO 8 on the TX unit is unused, and several on the RX unit are unused, but they aren't connectorized in any way. > > > > > >> >> On Sun, Mar 26, 2017 at 9:56 PM, Marcus D. Leech via USRP-users <usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com>> wrote: >> On 03/26/2017 07:07 PM, Dave NotTelling via USRP-users wrote: >>> So the next question is, could I harm anything by using all 32 bits for whatever I want? That is, do the UBX or N210 main board actually need to use those "GPIO" lines? >> Some of the GPIO lines are "used up" in internal board-management functions, depending on the board. You'd have to consult the driver code and >> schematics to see which GPIO lines are used for actual functions on the daughtercards, etc. >> >> >>> >>> On Sun, Mar 26, 2017 at 6:20 PM, Dave NotTelling <dmp250net@gmail.com <mailto:dmp250net@gmail.com>> wrote: >>> Oops, forgot the link: >>> >>> https://www.mail-archive.com/usrp-users@lists.ettus.com/msg00244.html <https://www.mail-archive.com/usrp-users@lists.ettus.com/msg00244.html> >>> >>> On Sun, Mar 26, 2017 at 6:18 PM, Dave NotTelling <dmp250net@gmail.com <mailto:dmp250net@gmail.com>> wrote: >>> I found this link [1] which says "There's a debug port (MICTOR connector) on the USRP2 (J301) which you can route signals to for debugging. It's connected to the 32-bit wire "debug" in u2_core.v. Just connect signals you're interested in to debug and use a logic analyzer." >>> >>> Modifying u2plus_core.v to have `assign debug = {io_tx, io_rx};` at line 768 instead of `assign debug = 32'd0;` allows me to output values with timed commands to GPIO. >>> >>> On Sun, Mar 26, 2017 at 1:43 PM, Dave NotTelling <dmp250net@gmail.com <mailto:dmp250net@gmail.com>> wrote: >>> Oh, and I should mention that I am using the UBX-40 >>> >>> On Sun, Mar 26, 2017 at 1:41 PM, Dave NotTelling <dmp250net@gmail.com <mailto:dmp250net@gmail.com>> wrote: >>> After further research it seems that the Mictor connector is called 'debug' not GPIO. Can the Mictor connector be used for timed commands? If so, how do I access those debug pins? I haven't seen anything in the UHD api for that. Failing the ability to use timed commands with the Mictor connector, how can I get GPIO out of the N210 chassis? I need 3-4 lines that I can run to an external device. >>> >>> On Sun, Mar 26, 2017 at 1:17 PM, Dave NotTelling <dmp250net@gmail.com <mailto:dmp250net@gmail.com>> wrote: >>> How does one access the output of the Mictor connector via the UHD API? Calling get_gpio_banks() returns just RXA and TXA with no mention of FP0. I have a breakout cable attached to the Mictor connector but my scope shows no changes when I bit bang the pins. >>> >>> Thanks! >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> USRP-users mailing list >>> USRP-users@lists.ettus.com <mailto:USRP-users@lists.ettus.com> >>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com <http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com> >> >> >> _______________________________________________ >> USRP-users mailing list >> USRP-users@lists.ettus.com <mailto:USRP-users@lists.ettus.com> >> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com <http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com> >> >> > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
DN
Dave NotTelling
Mon, Mar 27, 2017 1:34 PM

Ian,

 Thank you for the idea.  I didn't think it would be that clear cut.

For future work I think I will go after that approach.

Thanks!

On Mon, Mar 27, 2017 at 12:04 AM, Ian Buckley ianb@ionconcepts.com wrote:

Dave,
FWIW the Mictor was not conceived as user GPIO but as a development
interface for FPGA work. You are 100% free to do with it what you will.
It’s set up in the FPGA pinout so as to have clocks and data where an HP
logic analyzer would expect to find them if it was directly connected. As
you can see it’s just tied off to GND in u2plus_core.v for the release code.
One way you could use those pins (as outputs) with reasonably easy UHD
support would be to add simple GPIO logic to the user_settings module and
hook up the mictor wires, then use the set_user_register method of
multi_usrp https://files.ettus.com/manual/classuhd_1_
1usrp_1_1multi__usrp.html#a417d8733daa8582957e8de4741ef9ced

-Ian

On Mar 26, 2017, at 8:29 PM, Dave NotTelling via USRP-users <
usrp-users@lists.ettus.com> wrote:

Marcus,

  I hadn't thought about looking at the schematics for this issue.

Thank you very much!!

-Dave

On Sun, Mar 26, 2017 at 11:16 PM, Marcus D. Leech mleech@ripnet.com
wrote:

On 03/26/2017 10:31 PM, Dave NotTelling wrote:

Marcus,

  Thanks for that info.  I poked around and found

https://github.com/EttusResearch/uhd/blob/release_003_
009_004/host/lib/usrp/dboard/db_ubx.cpp#L165-L193.  Are those the lines
I need to be concerned about?  One thing that doesn't make sense is that
the tx_io bus (https://github.com/EttusResea
rch/fpga/blob/593aae943b7d18e4e165ccd91a6b6581005e62e8/
usrp2/top/N2x0/u2plus.ucf#L73-L88) is 16 bits wide while the number of
bits in the cpp file is 19 to TX (if you add up all of the widths
in ubx_v1_gpio_info for TX.  Are there other GPIO lines somewhere?  Am I
not looking at the right thing?

Thanks!

The width fields for the GAIN functions appears to be set to "10" when in
fact it's 6.  This likely doesn't actually affect anything, but is
conceptually a bug.

If you look at the schematics, GPIO 8 on the TX unit is unused, and
several on the RX unit are unused, but they aren't connectorized in any way.

On Sun, Mar 26, 2017 at 9:56 PM, Marcus D. Leech via USRP-users <
usrp-users@lists.ettus.com> wrote:

On 03/26/2017 07:07 PM, Dave NotTelling via USRP-users wrote:

So the next question is, could I harm anything by using all 32 bits for
whatever I want?  That is, do the UBX or N210 main board actually need to
use those "GPIO" lines?

Some of the GPIO lines are "used up" in internal board-management
functions, depending on the board.  You'd have to consult the driver code
and
schematics to see which GPIO lines are used for actual functions on
the daughtercards, etc.

On Sun, Mar 26, 2017 at 6:20 PM, Dave NotTelling dmp250net@gmail.com
wrote:

Oops, forgot the link:

https://www.mail-archive.com/usrp-users@lists.ettus.com/msg00244.html

On Sun, Mar 26, 2017 at 6:18 PM, Dave NotTelling dmp250net@gmail.com
wrote:

I found this link [1] which says "There's a debug port (MICTOR
connector) on the USRP2 (J301) which you can route signals to for
debugging. It's connected to the 32-bit wire "debug" in u2_core.v. Just
connect signals you're interested in to debug and use a logic analyzer.

"

Modifying u2plus_core.v to have assign debug = {io_tx, io_rx}; at
line 768 instead of assign debug = 32'd0; allows me to output values with
timed commands to GPIO.

On Sun, Mar 26, 2017 at 1:43 PM, Dave NotTelling dmp250net@gmail.com
wrote:

Oh, and I should mention that I am using the UBX-40

On Sun, Mar 26, 2017 at 1:41 PM, Dave NotTelling <dmp250net@gmail.com

wrote:

After further research it seems that the Mictor connector is called
'debug' not GPIO.  Can the Mictor connector be used for timed commands?  If
so, how do I access those debug pins?  I haven't seen anything in the UHD
api for that.  Failing the ability to use timed commands with the Mictor
connector, how can I get GPIO out of the N210 chassis?  I need 3-4 lines
that I can run to an external device.

On Sun, Mar 26, 2017 at 1:17 PM, Dave NotTelling <
dmp250net@gmail.com> wrote:

How does one access the output of the Mictor connector via the UHD
API?  Calling get_gpio_banks() returns just RXA and TXA with no mention of
FP0.  I have a breakout cable attached to the Mictor connector but my scope
shows no changes when I bit bang the pins.

Thanks!


USRP-users mailing listUSRP-users@lists.ettus.comhttp://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com


USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Ian, Thank you for the idea. I didn't think it would be that clear cut. For future work I think I will go after that approach. Thanks! On Mon, Mar 27, 2017 at 12:04 AM, Ian Buckley <ianb@ionconcepts.com> wrote: > Dave, > FWIW the Mictor was not conceived as user GPIO but as a development > interface for FPGA work. You are 100% free to do with it what you will. > It’s set up in the FPGA pinout so as to have clocks and data where an HP > logic analyzer would expect to find them if it was directly connected. As > you can see it’s just tied off to GND in u2plus_core.v for the release code. > One way you could use those pins (as outputs) with reasonably easy UHD > support would be to add simple GPIO logic to the user_settings module and > hook up the mictor wires, then use the set_user_register method of > multi_usrp https://files.ettus.com/manual/classuhd_1_ > 1usrp_1_1multi__usrp.html#a417d8733daa8582957e8de4741ef9ced > > > -Ian > > On Mar 26, 2017, at 8:29 PM, Dave NotTelling via USRP-users < > usrp-users@lists.ettus.com> wrote: > > Marcus, > > I hadn't thought about looking at the schematics for this issue. > Thank you very much!! > > -Dave > > On Sun, Mar 26, 2017 at 11:16 PM, Marcus D. Leech <mleech@ripnet.com> > wrote: > >> On 03/26/2017 10:31 PM, Dave NotTelling wrote: >> >> Marcus, >> >> Thanks for that info. I poked around and found >> https://github.com/EttusResearch/uhd/blob/release_003_ >> 009_004/host/lib/usrp/dboard/db_ubx.cpp#L165-L193. Are those the lines >> I need to be concerned about? One thing that doesn't make sense is that >> the tx_io bus (https://github.com/EttusResea >> rch/fpga/blob/593aae943b7d18e4e165ccd91a6b6581005e62e8/ >> usrp2/top/N2x0/u2plus.ucf#L73-L88) is 16 bits wide while the number of >> bits in the cpp file is 19 to TX (if you add up all of the widths >> in ubx_v1_gpio_info for TX. Are there other GPIO lines somewhere? Am I >> not looking at the right thing? >> >> Thanks! >> >> The width fields for the GAIN functions appears to be set to "10" when in >> fact it's 6. This likely doesn't actually affect anything, but is >> conceptually a bug. >> >> If you look at the schematics, GPIO 8 on the TX unit is unused, and >> several on the RX unit are unused, but they aren't connectorized in any way. >> >> >> >> >> >> >> On Sun, Mar 26, 2017 at 9:56 PM, Marcus D. Leech via USRP-users < >> usrp-users@lists.ettus.com> wrote: >> >>> On 03/26/2017 07:07 PM, Dave NotTelling via USRP-users wrote: >>> >>> So the next question is, could I harm anything by using all 32 bits for >>> whatever I want? That is, do the UBX or N210 main board actually need to >>> use those "GPIO" lines? >>> >>> Some of the GPIO lines are "used up" in internal board-management >>> functions, depending on the board. You'd have to consult the driver code >>> and >>> schematics to see which GPIO lines are used for actual functions on >>> the daughtercards, etc. >>> >>> >>> >>> On Sun, Mar 26, 2017 at 6:20 PM, Dave NotTelling <dmp250net@gmail.com> >>> wrote: >>> >>>> Oops, forgot the link: >>>> >>>> https://www.mail-archive.com/usrp-users@lists.ettus.com/msg00244.html >>>> >>>> On Sun, Mar 26, 2017 at 6:18 PM, Dave NotTelling <dmp250net@gmail.com> >>>> wrote: >>>> >>>>> I found this link [1] which says "*There's a debug port (MICTOR >>>>> connector) on the USRP2 (J301) which you can route signals to for >>>>> debugging. It's connected to the 32-bit wire "debug" in u2_core.v. Just >>>>> connect signals you're interested in to debug and use a logic analyzer.* >>>>> " >>>>> >>>>> Modifying u2plus_core.v to have `assign debug = {io_tx, io_rx};` at >>>>> line 768 instead of `assign debug = 32'd0;` allows me to output values with >>>>> timed commands to GPIO. >>>>> >>>>> On Sun, Mar 26, 2017 at 1:43 PM, Dave NotTelling <dmp250net@gmail.com> >>>>> wrote: >>>>> >>>>>> Oh, and I should mention that I am using the UBX-40 >>>>>> >>>>>> On Sun, Mar 26, 2017 at 1:41 PM, Dave NotTelling <dmp250net@gmail.com >>>>>> > wrote: >>>>>> >>>>>>> After further research it seems that the Mictor connector is called >>>>>>> 'debug' not GPIO. Can the Mictor connector be used for timed commands? If >>>>>>> so, how do I access those debug pins? I haven't seen anything in the UHD >>>>>>> api for that. Failing the ability to use timed commands with the Mictor >>>>>>> connector, how can I get GPIO out of the N210 chassis? I need 3-4 lines >>>>>>> that I can run to an external device. >>>>>>> >>>>>>> On Sun, Mar 26, 2017 at 1:17 PM, Dave NotTelling < >>>>>>> dmp250net@gmail.com> wrote: >>>>>>> >>>>>>>> How does one access the output of the Mictor connector via the UHD >>>>>>>> API? Calling get_gpio_banks() returns just RXA and TXA with no mention of >>>>>>>> FP0. I have a breakout cable attached to the Mictor connector but my scope >>>>>>>> shows no changes when I bit bang the pins. >>>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> >>> _______________________________________________ >>> USRP-users mailing listUSRP-users@lists.ettus.comhttp://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>> >>> >>> >>> _______________________________________________ >>> USRP-users mailing list >>> USRP-users@lists.ettus.com >>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>> >>> >> >> > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com > > >