PmodGPS分层块
使用Vivado中的分层块
在Vivado中使用Pmod分层块的教程是可用的在这里.这个Pmod分级块不需要中断来进行正常操作,但是提供给驱动程序的演示需要中断,一定要将它们连接到中断控制器。如果您要使用这个演示,请按照上述教程中连接中断的部分进行操作。关于中断和轮询的更多细节在下一节中提供。
Xilinx SDK中的演示程序
演示程序连续打印PmodGPS提供的位置数据。该数据的格式如下:
- 纬度:
- 经度:
- 高度:
- 卫星的数量:
如果PmodGPS无法连接到GPS卫星,演示将只打印卫星数量的行。
演示程序使用中断,但是层次块也可以轮询数据。要在轮询模式下使用PmodGPS,请调用函数GPS_getData(),然后调用返回所需信息的函数(getlatilatitude()、getLongitude()等)。
在室内,PmodGPS通常很难与卫星连接。如果你有连接问题,试着把Pmod带到室外或靠近窗户的地方。查看Pmod是否能够确定其位置的方法是检查Pmod上的LED。如果Pmod已确定其位置,LED将保持关闭;否则,LED会在每一秒的开和关之间交替。
要设置演示,您需要打开一个串行终端,比如TeraTerm,以查看正在打印的数据。终端的设置将根据您的电路板而有所不同。
对于Zynq项目,应用以下设置:
- 波特率:115200
- 数据位:8
- 奇偶校验:没有
- 停止位:1
对于MicroBlaze项目,根据AXI Uartlite IP配置应用设置。这些设置可以通过双击区块设计中的AXI Uartlite IP并单击IP配置选项卡来找到。默认情况下,这些设置是:
- 波特率:9600
- 数据位:8
- 奇偶校验:没有
- 停止位:1
在某些终端中查看演示的输出时,经纬度线上的度数符号可能显示不正确。解决这个问题的一种方法是将终端的输出记录到一个文本文件中,该文件应该正确显示所有字符。
一个关于如何使用PmodGPS分层块的示例项目可以找到在这里
约束
- 当使用板流时,不需要额外的约束。
- 当不使用Board Flow时,Pmod_out端口的模板约束可以在导入的“PmodGPS_*”中找到。xdc”文件。