Question

Hello everyone,

I bought for my Zedboard the GPS Pmod.

I wrote something about reading the datas out with UART.

Do you have some example code, how to do this? And is it possible to connect the GPS Module directly to my Pmod connections? And do I take the AXI GPIO block in the block diagram to solve this?

 

Edit:

I was able to solve it. But I do not really know now why. I think that I did some mistakes with the interrupt handling. I use now polled mode and now it is working perfectly. But I am still interested in the hardware design. I want to understand how the interrupt is working

Edited by HelplessGuy

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

Hi @cepwin,

Is there a reason that you are using the Microblaze MCS instead of Microblaze? Here is a forum the discusses Microblaze and Microblaze MCS in regards to interfacing with the axi bus. 

best regards,

Jon 

Share this post


Link to post
Share on other sites
  • 0

Hi @cepwin,

Here is a verified Vivado 2019.1 Arty-S7-50 Pmod GPS on JB project that uses the Microblaze instead of the Microblaze MCS.

best regards,

Jon

Share this post


Link to post
Share on other sites
  • 0
On 7/25/2019 at 4:46 PM, jpeyron said:

Hi @cepwin,

Here is a verified Vivado 2019.1 Arty-S7-50 Pmod GPS on JB project that uses the Microblaze instead of the Microblaze MCS.

best regards,

Jon

Yes, that was the one they suggested in the course.    I will try your verified example tonight and let you know...Thank you so much for your help!

Share this post


Link to post
Share on other sites
  • 0

So far no luck with the example.   It complains about pins not being attached if I try to build it.   I then tried loading the bitstream as it comes in the example and it does the same thing my original one was...it prints out nothing.     I'm going to try redoing the example from scratch with the full microblaze to see what happens.  I swear it at least initialized the UART once...but now it gets to the CGInit and stops as I described earlier.

Share this post


Link to post
Share on other sites
  • 0

Hi @cepwin,

Have you added the Vivado library to your Vivado 2019.1 installation? You can do this from inside Vivado by Choosing settings in the Project Manager in the upper left, expand the IP selection in Project Settings and choose Repository. You can then add in the path to the Vivado-Library from Digilent (which you can download from our GitHub here). This should let you generate the bitstream.

Otherwise, you don't need to open up Vivado at all. If you have a fresh project you can open Xilinx SDK 2019.1, choose the workspace folder when it prompts you as the sdk folder source (as an example, mine is C:\Users\jcolvin\Documents\VivadoPrj\Arty-S7-PmodGPS_Vivado_2019_1\Arty-S7-PmodGPS_Vivado_2019_1.sdk) and wait for SDK to finish loading the workspace. When it is completed, you should see the hardware platform_0, the PmodGPS application folder, and the PmodGPS_bsp. You can then click the Xilinx tab at the top of the GUI, and choose to program the FPGA with the bitstream it finds. You will then want to connect to your board with your serial terminal of choice (I used TeraTerm) otherwise you won't see anything printing out. I then right-click on the PmodGPS application folder and choose Run As->Launch on Hardware (System Debugger). I then see the data printing out on the serial terminal.

Is this what you did for your project?

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Thanks!  I will have to try downloading  over the weekend!

I tried generating the bit stream and also tried letting it upgrade the software...I was never able to get it  to work.  I even tried generating a new project using other examples.

Share this post


Link to post
Share on other sites
  • 0

Hi @cepwin,

Where are you running the GPS project I.E. on a roof, in a park, in a building....?  If in a building, how close to a window? If outside, could you be having issues with urban canyons? 

best regards,

Jon

Share this post


Link to post
Share on other sites
  • 0

I'm running it in a bedroom I use as my "lab".   It's on the top floor of my house and the unit is a few feet from a closed window.

Share this post


Link to post
Share on other sites
  • 0

@cepwin,

There's a real easy way to debug whether or not you are getting a fix or not.  Remove the FPGA design, and replace it with a pass through from the GPS UART transmit pin to the FT2232 UART RX transmit pin.  You can then use your favorite terminal program, mine is minicom some like teraterm, to examine the NEMA stream produced by the GPS device.  It's typically 9600 Baud, 8 data bits, no parity and one stop bit.  It's also pseudo-human readable--line upon line of CSVs--you should then be able to tell if you are getting lock or not.

I see no reason why you wouldn't be getting lock from your upstairs bedroom.

Also, for your security, you probably don't want to paste the NEMA stream coming out of the device here for discussion--since it may well reveal the coordinates of your bedroom.

Dan

Share this post


Link to post
Share on other sites
  • 0

That you Dan!   I did a little googling over lunch and realized there's a very simple/stupid reason I'm not getting a signal....I don't have the GPS module....I see Digilent sells one a long with some other sensors/etc. that work with the Arty s7.   Those could be fun to play with.   I did create a full Microblaze with memory and UART and that appears to be good.   I just have to fix the code to use the UART library for that rather than the simple Microblaze that my class example used.   What I realized is Vivado will generate the necessary headers based on your design,

I also want to thank Jon again for his help as well.    I have learned so much working this issue.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now