Discussion and technical support related to USRP, UHD, RFNoC
View all threadsI'm hoping someone has had experience with Johnathon Corgan's gpio branch of
the UHD tree, and can help me get the GPIO async messages working with an
Ettus N200. The GPIO branch is mentioned in a post on March 7, "USRP1 UHD
and GPIO + a quick USRP B100 question".
From that branch, I built the FPGA, firmware, and UHD. I am running with
that matched set, having burned the FPGA and firmware images into the N200.
I am using the UHD driver directly, and not using GnuRadio.
I tried what I thought would be a simple demonstration of receiving the GPIO
async messages. I modified the host test_messages example to configure one
RX IO pin as a GPIO input, and a different pin as a GPIO output. I jumpered
the two pins together. I added code at the top of the loop inside
test_messages that would raise and lower the GPIO output (and input) just
before executing each test. Presumably, this configuration should generate
the async GPIO messages if I have things set up properly.
The test functions inside test_messages were untouched, as they each have a
branch to report unknown messages that come in. As I run the test_messages
executable, I can watch the GPIO pins pulse on an oscilloscope (about 4 ms
active high), so I believe the GPIO setup was correct. However, no unknown
messages are reported. Am I doing anything fundamentally wrong, or should
this exercise have worked?
Thanks,
Ed
It sounds like your doing all the right things (per our off-list emails).
One quick way to verify all the software is to install a daughterboard
besides the LF or Basic TX/RX. This will generate async messages (from the
daughterboard control I/O) without you having to do anything, so you can
verify that the FPGA, firmware, and UHD are all working. That will
eliminate a lot of debugging steps.
Johnathan
I've replaced the Basic RX board with an SBX board (that's the only dual
board I have).
Still can't see any async messages. It is possible that something very
basic was done wrong.
Here are some potential sources of problems:
I'd like to start by verifying the FPGA. How can I know that the FPGA image
burned into the N200 is the custom GPIO image I built? The burner seemed to
be happy (erase/write/verify all went OK). Is there a settings register
that can be read back with something unique to the GPIO build, such as
unique version number? Would it be helpful for me to hack one into the FPGA
source code and rebuild, just to help verify it? I've looked at the output
of the get_pp_string() API, and at the output of the uhd_usrp_probe.exe, but
I don't see anything in their respective outputs that would confirm that the
custom GPIO FPGA image is running.
-----Original Message-----
From: Johnathan Corgan [mailto:jcorgan@corganenterprises.com]
Sent: Friday, August 17, 2012 4:17 PM
To: Ed Jubenville
Cc: usrp-users@lists.ettus.com
Subject: Re: [USRP-users] GPIO async messages with N200 not working
It sounds like your doing all the right things (per our off-list emails).
One quick way to verify all the software is to install a daughterboard
besides the LF or Basic TX/RX. This will generate async messages (from the
daughterboard control I/O) without you having to do anything, so you can
verify that the FPGA, firmware, and UHD are all working. That will
eliminate a lot of debugging steps.
Johnathan