Skip to content

Commit f044292

Browse files
committed
ip: Pmods: PmodGPS: Validated for 2015.4
Driver code formatting and commenting Demo rework Interrupts are now required for the demo Interrupt system setup moved to main.c Added README
1 parent f9aff46 commit f044292

File tree

5 files changed

+1922
-1686
lines changed

5 files changed

+1922
-1686
lines changed

ip/Pmods/PmodGPS_v1_1/README.md

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
PmodGPS IP
2+
==============
3+
4+
Using the IP in Vivado
5+
--------------
6+
A tutorial for using Pmod IP cores in Vivado is available [here](https://reference.digilentinc.com/learn/programmable-logic/tutorials/pmod-ips/start).
7+
This Pmod IP does not require interrupts for normal operation, but the demo
8+
supplied with the drivers requires interrupts, be sure to follow the section
9+
for connecting interrupts in the tutorial above if you will be using the demo.
10+
More details on interrupts and polling are available in the following section.
11+
12+
Demo Program in Xilinx SDK
13+
--------------
14+
The demo program continuously prints location data provided by the PmodGPS. That
15+
data is formatted as follows:
16+
17+
- Latitude:
18+
- Longitude:
19+
- Altitude:
20+
- Number of Satellites:
21+
22+
If the PmodGPS fails to connect to the GPS satellites, the demo will only print
23+
out the line for number of satellites.
24+
25+
The demo program uses interrupts, but the IP can also be polled for data. To use
26+
the IP in polling mode, call the function GPS_getData(), then call the functions
27+
that return the information you want (getLatitude(), getLongitude(), etc.).
28+
29+
The PmodGPS generally has trouble connecting to the satellites while indoors. If
30+
you have connectivity issues, try taking the Pmod outdoors or next to a window.
31+
A way to see if the Pmod has been able to determine its location is to check
32+
the LED on the Pmod. If the Pmod has determined its location, the LED will stay
33+
off; otherwise, the LED will alternate between on and off every second.
34+
35+
To set up the demo you will need to open a serial terminal, such as TeraTerm, to
36+
see the data being printed out. Settings for the terminal will vary depending on
37+
your board.
38+
39+
For Zynq projects, apply the following settings:
40+
- Baud rate: 115200
41+
- Data bits: 8
42+
- Parity: none
43+
- Stop bits: 1
44+
45+
For MicroBlaze projects, apply the settings according to the AXI Uartlite IP
46+
configurations. These settings can be found by double clicking the AXI Uartlite
47+
IP in the block design and clicking the IP Configuration tab.
48+
49+
When viewing the demo's output in certain terminals, the degree symbol in the
50+
latitude and longitude lines may not display correctly. A way to work around
51+
this is to log the terminal's output to a text file, which should display all
52+
characters correctly.

ip/Pmods/PmodGPS_v1_1/component.xml

+9-9
Original file line numberDiff line numberDiff line change
@@ -887,7 +887,7 @@
887887
<spirit:parameters>
888888
<spirit:parameter>
889889
<spirit:name>viewChecksum</spirit:name>
890-
<spirit:value>2a23500b</spirit:value>
890+
<spirit:value>7885f72f</spirit:value>
891891
</spirit:parameter>
892892
</spirit:parameters>
893893
</spirit:view>
@@ -912,7 +912,7 @@
912912
<spirit:parameters>
913913
<spirit:parameter>
914914
<spirit:name>viewChecksum</spirit:name>
915-
<spirit:value>4f2e8964</spirit:value>
915+
<spirit:value>d36f913e</spirit:value>
916916
</spirit:parameter>
917917
</spirit:parameters>
918918
</spirit:view>
@@ -940,7 +940,7 @@
940940
<spirit:parameters>
941941
<spirit:parameter>
942942
<spirit:name>viewChecksum</spirit:name>
943-
<spirit:value>ae1daae8</spirit:value>
943+
<spirit:value>010927f3</spirit:value>
944944
</spirit:parameter>
945945
</spirit:parameters>
946946
</spirit:view>
@@ -954,7 +954,7 @@
954954
<spirit:parameters>
955955
<spirit:parameter>
956956
<spirit:name>viewChecksum</spirit:name>
957-
<spirit:value>142ef21f</spirit:value>
957+
<spirit:value>1b4224ac</spirit:value>
958958
</spirit:parameter>
959959
</spirit:parameters>
960960
</spirit:view>
@@ -1853,7 +1853,7 @@
18531853
<spirit:file>
18541854
<spirit:name>src/PmodGPS.v</spirit:name>
18551855
<spirit:fileType>verilogSource</spirit:fileType>
1856-
<spirit:userFileType>CHECKSUM_b90ce24d</spirit:userFileType>
1856+
<spirit:userFileType>CHECKSUM_a9a07c38</spirit:userFileType>
18571857
<spirit:userFileType>IMPORTED_FILE</spirit:userFileType>
18581858
</spirit:file>
18591859
</spirit:fileSet>
@@ -2099,15 +2099,15 @@
20992099
<xilinx:taxonomy>/UserIP</xilinx:taxonomy>
21002100
</xilinx:taxonomies>
21012101
<xilinx:displayName>PmodGPS_v1_1</xilinx:displayName>
2102-
<xilinx:coreRevision>4</xilinx:coreRevision>
2103-
<xilinx:coreCreationDateTime>2016-04-15T02:11:07Z</xilinx:coreCreationDateTime>
2102+
<xilinx:coreRevision>12</xilinx:coreRevision>
2103+
<xilinx:coreCreationDateTime>2017-10-13T20:13:55Z</xilinx:coreCreationDateTime>
21042104
<xilinx:tags>
21052105
<xilinx:tag xilinx:name="natinst.com:user:PmodGPS:1.0_ARCHIVE_LOCATION">C:/Tommywork/PmodGPS_v1_1</xilinx:tag>
21062106
<xilinx:tag xilinx:name="digilentinc.com:user:PmodGPS:1.0_ARCHIVE_LOCATION">C:/Tommywork/PmodGPS_v1_1</xilinx:tag>
21072107
<xilinx:tag xilinx:name="digilentinc.com:user:PmodGP:1.0_ARCHIVE_LOCATION">C:/Tommywork/PmodGPS_v1_1</xilinx:tag>
21082108
<xilinx:tag xilinx:name="digilentinc.com:IP:PmodGP:1.0_ARCHIVE_LOCATION">C:/Tommywork/PmodGPS_v1_1</xilinx:tag>
21092109
<xilinx:tag xilinx:name="digilentinc.com:IP:PmodGPS:1.0_ARCHIVE_LOCATION">C:/Tommywork/PmodGPS_v1_1</xilinx:tag>
2110-
<xilinx:tag xilinx:name="digilentinc.com:IP:PmodGPS:1.1_ARCHIVE_LOCATION">C:/Tommywork/PmodGPS_v1_1</xilinx:tag>
2110+
<xilinx:tag xilinx:name="digilentinc.com:IP:PmodGPS:1.1_ARCHIVE_LOCATION">C:/Users/user/Desktop/vivLib/ip/Pmods/PmodGPS_v1_1</xilinx:tag>
21112111
</xilinx:tags>
21122112
<xilinx:configElementInfos>
21132113
<xilinx:configElementInfo xilinx:referenceId="BUSIFPARAM_VALUE.AXI_LITE_GPIO.ADDR_WIDTH" xilinx:valueSource="user"/>
@@ -2163,7 +2163,7 @@
21632163
<xilinx:xilinxVersion>2015.4</xilinx:xilinxVersion>
21642164
<xilinx:checksum xilinx:scope="busInterfaces" xilinx:value="e9e6f907"/>
21652165
<xilinx:checksum xilinx:scope="memoryMaps" xilinx:value="cd480073"/>
2166-
<xilinx:checksum xilinx:scope="fileGroups" xilinx:value="670feef0"/>
2166+
<xilinx:checksum xilinx:scope="fileGroups" xilinx:value="67e5fa68"/>
21672167
<xilinx:checksum xilinx:scope="ports" xilinx:value="722c7981"/>
21682168
<xilinx:checksum xilinx:scope="parameters" xilinx:value="b17d4ed1"/>
21692169
</xilinx:packagingInfo>

0 commit comments

Comments
 (0)