FC2カウンター FPGAの部屋 2020年10月27日
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

GPS と 3軸加速度センサーを使ったシステム2(GPS 受信をしてみた)

GPS と 3軸加速度センサーを使ったシステム1(GPS 受信の検討)”の続き。

前回は、3 軸加速度センサー+ GPS システムの検討をした。今回は 3 軸加速度センサーの Vivado プロジェクトに GPS のデータを受信する axi_uartlite IP を追加したプロジェクトを作って、GPS のデータを受信したが、まだ、外に持っていっていないので、ちゃんとしたデータは取れていない。

まずは、ブロックデザインに axi_uartlite IP を追加した Vivado 2020.1 プロジェクトを示す。
acc_gps_sensor_2_201027.png

ブロックデザインを示す。 ( acc_gps_bd.bd )
acc_gps_sensor_3_201027.png

axi_uartlite IP が追加されている。

Address Editor を示す。
acc_gps_sensor_4_201027.png

XDC ファイルを示す。 ( acc_gps_bd.xdc )

set_property PACKAGE_PIN V8 [get_ports IIC_0_scl_io]; # JB,1
set_property PACKAGE_PIN W8 [get_ports IIC_0_sda_io]; # JB,2
set_property IOSTANDARD LVCMOS33 [get_ports IIC_0_scl_io];
set_property IOSTANDARD LVCMOS33 [get_ports IIC_0_sda_io];

set_property PACKAGE_PIN U7 [get_ports UART_0_rxd]; # JB,3
set_property PACKAGE_PIN V7 [get_ports UART_0_txd]; # JB,4
set_property IOSTANDARD LVCMOS33 [get_ports UART_0_rxd];
set_property IOSTANDARD LVCMOS33 [get_ports UART_0_txd];

set_property PACKAGE_PIN Y7 [get_ports GPIO_0_tri_i]; # JB,7
set_property IOSTANDARD LVCMOS33 [get_ports GPIO_0_tri_i];


Vitis 2020.1 の画面を示す。
acc_gps_sensor_5_201027.png

アプリケーション・ソフトウェアの acc_gps_test.c を示す。

// acc_gps_test.c
// 2020/10/26 by marsee
//

#include <stdio.h>

#include "xparameters.h"
#include "xuartlite_l.h"

int main(){
    XUartLite_SetControlReg(XPAR_AXI_UARTLITE_0_BASEADDR, XUL_CR_FIFO_RX_RESET|XUL_CR_FIFO_TX_RESET); // Rst Rx FIFO, Rst TX FIFO
    XUartLite_SetControlReg(XPAR_AXI_UARTLITE_0_BASEADDR, 0); // normal

    while(1){
        u8 status = XUartLite_GetStatusReg(XPAR_AXI_UARTLITE_0_BASEADDR);
        if(status & XUL_SR_RX_FIFO_VALID_DATA){ // received data
            u8 read_data = XUartLite_RecvByte(XPAR_AXI_UARTLITE_0_BASEADDR);
            putchar((int)read_data);
        }
    }

}


ZYBO Z7-20 と 3 軸加速度センサー + GPS のシステムを示す。ブレッドボードで作っている。
acc_gps_sensor_6_201027.jpg

acc_gps_sensor_7_201027.jpg

Tera Term に表示された GPS データを示す。
acc_gps_sensor_1_201026.png

$GPGGA,001530.799,,,,,0,0,,,M,,M,,*48
$GPGLL,,,,,001530.799,V,N*7A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,00*79
$GPRMC,001530.799,V,,,,,0.00,0.00,050180,,,N*41
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
$GPZDA,001530.799,05,01,3880,,*51

  1. 2020年10月27日 05:12 |
  2. FPGAを使用したシステム
  3. | トラックバック:0
  4. | コメント:0