title0a.gif

Memorandumの小部屋

本ページは金銭授受を伴う行為を含むAuctionや商用Web Pageからの無断リンク・無断参照を禁じます。
無断リンク・無断参照が判明した時点で然るべき処置をとらさせて頂きます。


まるごとNMEA AE−RP2040編

 

 このWebページは「RP2040マイコンボードキット (AE−RP2040)」を用いてGNSSロガーを製作した経緯を記録として残した個人的なメモです。

 文中の一部の用語は下記を意味します。


− 目次 −

1.はじめに

2.「まるごとNMEA AE−RP2040版」の製作

3.「まるごとNMEA AE−RP2040編」の仕様

4.「まるごとNMEA AE−RP2040編」のスケッチ

5.動作設定EEPROMデータ書き込みスケッチの内容

6.「まるごとNMEA AE−RP2040編」のスケッチの書き込みと動作例

7.「まるごとNMEA AE−RP2040編」のファイルマネージャー操作方法と動作例
 


1.はじめに

 「まるごとNMEA Arduino編」、 「まるごとNMEA Raspberry Pi Pico編」 、「まるごとNMEA RP2040 Zero編」、「まるごとNMEAもどき SPRESENSE(メインボード)編」、「まるごとNMEAもどき SPRESENSE(メインボード+拡張ボード)編」「電池ボックス電子工作(その23) まるごとNMEAボックス版」に続く製作記録です。

 ハードウエアとしては「RP2040マイコンボードキット (AE−RP2040)」 のピン配列と「Raspberry Pi Pico」のピン配列がほぼ同じのため、両方のボードを利用できるようにしました。 ソフトウエア としては「電池ボックス電子工作(その23) まるごとNMEAボックス版」のスケッチを改訂しました。 今回の改訂版はRP2040を用いた「まるごとNMEA Raspberry Pi Pico編」 、「まるごとNMEA RP2040 Zero編」、「電池ボックス電子工作(その23) まるごとNMEAボックス版」にも利用できます。

 

2.「まるごとNMEA AE−RP2040版」の製作

 GNSSロガーの操作・機能は基本的に「まるごとNMEA Raspberry Pi Pico編」 を踏襲しました。 本来は仕様を先に記載すべきですが、仕様説明に際して回路図を参照しているため製作情報を先に記載します。

 下記に「まるごとNMEAボックス版」の回路図、製作時の画像を掲載します。

 

上記回路図をクリックすると原寸大の回路図をダウンロードできます。

【 「まるごとNMEA AE−RP2040編」 回路図 】

 

【 「まるごとNMEA AE−RP2040編」基板外観1 】

 

【 「まるごとNMEA AE−RP2040編」基板外観2 】

 

【 「まるごとNMEA AE−RP2040編」基板外観3 】

 

【 「まるごとNMEA AE−RP2040編」基板外観4 】

 

【 「まるごとNMEA AE−RP2040編」基板外観5 】

 

【 「まるごとNMEA AE−RP2040編」基板外観6 】

 

RP2040マイコンボードキット (AE−RP2040)」を実装した場合です。

【 「まるごとNMEA AE−RP2040編」基板外観7 】

 

Raspberry Pi Pico」を実装した場合です。

【 「まるごとNMEA AE−RP2040編」基板外観8 】

 

 「AE−RP2040」 を実装して「GT−U12」の動作確認をしています。

【 「まるごとNMEA AE−RP2040編」動作確認1 】

 

 「Raspberry Pi Pico」を実装して「GT−U12」の動作確認をしています。

【 「まるごとNMEA AE−RP2040編」動作確認2 】

 

3.「まるごとNMEA AE−RP2040編」の仕様

  「まるごとNMEA AE−RP2040編」の仕様を下記に記載します。  動作は「GNSSロガー」もしくは「ファイルマネージャー」の2種類のいずれかを、電源投入時のSW1とSW2のオンオフ状態で選択します。
 

項  目

仕  様

電源電圧

5Vdc

 下記2方法のいずれか1つを選択することが望ましいです。

消費電流

消費電流は利用するSDカード、GNSSモジュールにより異なります。

GNSS
供給電源

3.3Vdc及び5Vdc。

GNSS
シリアルポート
通信速度

4800bps、9600bps、19200bps、38400bps、57600bps、115200bps

EEPROMのデータにより通信速度を選択します。

GNSS
信号レベル

3.3Vレベルのみ 

5Vレベル の場合は「4ビット双方向ロジックレベル変換モジュール BSS138使用」などを用いてレベル変換をしてください。

GNSS用
バックアップ
電源

「まるごとNMEA AE−RP2040編」基板上のTB3から給電します。

Monitor
シリアルポート
通信速度

 パソコンなどに接続して、「まるごとNMEA AE−RP2040編」の動作確認/動作指示をするシリアルポートです。

  • GNSSロガー起動時(動作確認用です。)

4800bps、9600bps、19200bps、38400bps、57600bps、115200bps

EEPROMのデータにより通信速度を選択します。

  • ファイルマネージャー起動時(動作確認/動作指示をします。 ファイルデータ読込みがあるため高速通信としています。)

115200bps、230400bps、460800bps、921600bps

通信速度毎にGNSSロガー用スケッチを公開しています。 通信速度に応じて選択して利用してください。

SDカード

FAT16もしくはFAT32。

マイクロSDカードもしくはマイクロSDHCカード。 (最大32GB)

できる限り高速書き込みができるクラスの製品が望ましいです。 今回の動作確認にはCLASS10を利用しました。

タクトスイッチ
SW1

  • 電源投入直後もしくはリセットスイッチSW4押してリセットした直後

 タクトスイッチSW1とタクトスイッチSW2の状態で、GNSSロガーの「BLOCK0 〜BLOCK2のいずれかをロードしてGNSSモジュールデータ受信」もしくは「ファイルマネージャ起動」のいすれかの機能を選択できます。  (下段のGNSSロガーシーケンス行を参照願います。)

  • GNSSモジュール NMEAセンテンス受信時

 スイッチを押すごとにLED表示、ブザー発音有無を順次切り替えます。 (Step 0→1→2→3→4→0→1→2→…) デフォルトはStep0です。 

 

Step

LED表示

ブザー発音

有り

無し

無し

有り

無し

無し

有り

有り

 切替えのタイミングはトリガとなるNMEAのIDメッセージを検出判定した場合です。 なかなか思うように切替えできず所望の状態にするために何度も押し直しする必要がありました。

タクトスイッチ
SW2

  • 電源投入直後もしくはリセットスイッチSW4押してリセットした直後

 タクトスイッチSW1とタクトスイッチSW2の状態で、GNSSロガーの「BLOCK0 〜BLOCK2のいずれかをロードしてGNSSモジュール受信」もしくは「ファイルマネージャ起動」のいすれかの機能を選択できます。  (下段のGNSSロガーシーケンス行を参照願います。)

  • GNSSモジュール NMEAセンテンス受信時

約3〜5秒連続押すことでロギング終了します。 (SDカードアクセス停止)

スライド
スイッチ
SW3

 SW3をオンすることで、GNSSモジュールのTXデータをTB1のMonitor−RXへ出力します。 Monitor−RXは EEPROMデータの読込みデータの確認やGNSSロガーの受信データ確認のため利用します。 GNSSロガー動作時はSW3をオフで利用することができます。

LED表示

ブザー発音

注記:ブザー周波数はパラメータ設定となります。 下記表中ではパラメータ毎にF1・F2・F3・F4として記載しています。

 

状態

LED/ブザー

電源投入時
(リセット時)
Core0、1起動

時間

0.2s

 

1s

LED

全色(白)

消灯

ブザー

F3

 

消音

パラメータ設定
BLOCK0
読込み

時間

0.1s

 

0.3s

 

0.1s

 

0.3s

 

0.1s

 

0.3s

 

1s

 

0.5s

LED

赤色

消灯

緑色

消灯

青色

消灯

白色

消灯

ブザー

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

パラメータ設定
BLOCK1
読込み

時間

0.1s

 

0.3s

 

0.1s

 

0.3s

 

0.1s

 

0.3s

 

1s

 

0.5s

 

1s

 

0.5s

LED

赤色

消灯

緑色

消灯

青色

消灯

白色

消灯

白色

消灯

ブザー

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

パラメータ設定
BLOCK2)
読込み

時間

0.1s

 

0.3s

 

0.1s

 

0.3s

 

0.1s

 

0.3s

 

1s

 

0.5s

 

1s

 

0.5s

 

1s

 

0.5s

LED

赤色

消灯

緑色

消灯

青色

消灯

白色

消灯

白色

消灯

白色

消灯

ブザー

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

パラメータ設定
ファイル
マネージャ
起動

時間

0.1s

 

0.3s

 

0.1s

 

0.3s

 

0.1s

 

0.3s

 

1s

 

0.5s

 

1s

 

0.5s

 

1s

 

0.5s

 

1s

 

0.5s

LED

赤色

消灯

緑色

消灯

青色

消灯

白色

消灯

白色

消灯

白色

消灯

白色

消灯

ブザー

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

F3

 

消音

 

ロギング
終了時

下記の繰返し

時間

0.5s

 

0.5s

LED

全色(白)

消灯

ブザー

消音

 

消音

SDカード
未検出時

下記の繰返し

時間

0.5s

 

0.5s

LED

赤色

消灯

ブザー

消音

 

消音

測位表示

測位表示期間(次行参照)のLED表示とブザ−発音

時間

測位不可/
2次元測位

3次元測位

GSU−140−102限定
3次元測位/
QZSS衛星(みちびき)補足

LED

赤色

緑色

青色

ブザー

F1

F2

F3

 

測位表示
期間

 測位表示の開始は NMEAのIDメッセージで判定します。 判定用IDメッセージはパラメータ設定NMEA ID値で設定されます。 デフォルトはID値=1(GGA)です。

 測位表示終了もはパラメータ設定Period値で設定されます。 デフォルトはPeriod値=100(100ms)です。 

備考

 当該のセンテンスを受信できない場合は、測位表示しない現象が発生します。す。

 「GSU−140型GNSS評価キット」の初期設定では測位する衛星システムを「GPS」+「QZSS L1S」を選択しています。

GNSS

ロガー

シーケンス

 電源オン時はSW1・SW2のオンオフ状態で動作が変わります。 

Step

状態

動作シーケンス

電源投入時 (リセット時)

電源投入時 (リセット時) Core1起動確認

電源投入時 (リセット時)

電源投入時 (リセット時) Core0起動確認

3−1

SW1 :オフ SW2:オフ

パラメータ設定BLOCK0(SW1)読込み → Step4

3−2

SW1 :オン SW2:オフ

パラメータ設定BLOCK1(SW2)読込み → Step4

3−3

SW1 :オフ SW2:オン

パラメータ設定BLOCK1(SW2)読込み  → Step4

3−4

SW1 :オン SW2:オン

ファイルマネージャー起動

SDカード初期設定

正常終了時:LED表示/ブザー発音 無し

異常終了時:SDカード未検出時

GNSSロガー
NMEAセンテンス記録

測位表示

記録終了時

SW2を約3〜5秒連続押 します。 終了時はこの操作することを強く推奨します。

 ファイルをクローズしてロギングを終了します。 ファイル書き込み中に電源が不安定となることでSDカードデータが損傷することを防止します。 また、PC−Monitorのデータ出力も停止します。

注意
 GNSSモジュールへの電源供給は継続します。 そのため、GNSSモジュールの測位は継続しますが、SDカードへのGNSSセンテンスデータの書き込みを終了した状態です。 電源はオンしたままですので、電池駆動時は早めに電源オフすることをお勧めします。

 

格納ファイル

格納ファイル名は「GNSS」+「000」を開始番号とした追番号+拡張子「.LOG」となります。

例 GNSS000.LOG → GNSS001.LOG → …

格納ファイルの1行目にヘッダー文字列を格納します。

 

4.「まるごとNMEA AE−RP2040編」のスケッチ

 「まるごとNMEA AE−RP2040編」のスケッチは2種類の組み合わせで利用します。 2種類のスケッチの一つはGNSSロガー用スケッチ、もう一つは動作設定EEPROMデータデータ書き込みスケッチです。

 ファイルマネージャー動作時のMonitorシリアルポート通信速度毎に下記のいずれかを利用してください。 GNSSロガー動作時のMonitorシリアルポート通信速度は動作設定EEPROMデータ書き込みスケッチで設定します。

ファイル名

ファイルマネージャー動作時のMonitorシリアルポート通信速度

jsk96j1.uf2

115200bps

jsk96j2.uf2

230400bps

jsk96j3.uf2

460800bps

jsk96j4.uf2

921600bps

 

  動作設定EEPROMデータ書き込みスケッチは、GNSSロガー用スケッチの動作を設定するデータを書込むスケッチです。 GNSSロガー用スケッチを動作させる前に、事前にこのスケッチでEEPROMに 所定のデータを書込む必要があります。

 本WebページでEEPROMと記載していますが、「Raspberry Pi Pico」などで使用されているチップRP2040にはEEPROMがありません。 正 しくは「Raspberry Pi Pico」などで使用されているチップRP2040に内蔵されているFLASHメモリの一部をデータ保存/読出しすることでEEPROMと同等の機能を実現しています。

 GNSSモジュール初期設定有無、GNSSモジュール通信速度、Monitorシリアルポート通信速度の異なる4種類のスケッチのいずれかを利用してください。

ファイル名

Monitorシリアルポート通信速度

jsk96k1.uf2

BLOCK0

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

115200bps

Monitorシリアルポート通信速度

115200bps

BLOCK1

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

4800bps

Monitorシリアルポート通信速度

115200bps

BLOCK2

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

9600bps

Monitorシリアルポート通信速度

115200bps

jsk96k2.uf2

BLOCK0

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

9600bps

Monitorシリアルポート通信速度

115200bps

BLOCK1

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

19200bps

Monitorシリアルポート通信速度

115200bps

BLOCK2

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

38400bps

Monitorシリアルポート通信速度

115200bps

jsk96k3.uf2

BLOCK0

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

9600bps

Monitorシリアルポート通信速度

115200bps

BLOCK1

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

19200bps

Monitorシリアルポート通信速度

115200bps

BLOCK2

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

57600bps

Monitorシリアルポート通信速度

115200bps

jsk96k4.uf2

BLOCK0

GNSSモジュール用初期設定ルーチン

GSU−140B」用初期設定

GNSSモジュール通信速度

115200bps

Monitorシリアルポート通信速度

115200bps

BLOCK1

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

115200bps

Monitorシリアルポート通信速度

115200bps

BLOCK2

GNSSモジュール用初期設定ルーチン

0(初期設定無し)

GNSSモジュール通信速度

9600bps

Monitorシリアルポート通信速度

115200bps

 

5.動作設定EEPROMデータ書き込みスケッチの内容

 EEPROMのデータ例(jisaku96k1.uf2)を下記に掲載します。 

項  目

アドレス

BLOCK0

BLOCK1

BLOCK2

動作設定EEPROMデータ書き込みスケッチ
送信データ項目名

GNSSモジュール用初期設定ルーチンの選択

0:汎用GNSSモジュール(初期設定無し)
1:「GSU−140B」(初期設定有り)

0x0000

0x00

0x00

0x00

GNSS Module

GNSSモジュールの通信速度(bps)  

1:4800

2:9600

3:19200

4:38400

5:57600

6:115200

その他:9600

0x0001

0x06

0x01

0x02

GNSS Baud Rate

Monitor−TX/RXの通信速度(bps)

1:4800

2:9600

3:19200

4:38300

5:57600

6:115200

その他:9600

0x0002

0x06

0x06

0x06

Monitor Baud Rate

測位表示トリガ判定用IDメッセージ NMEA ID

1:GGA

2:GLL

3:GSA

4:GSV

5:RMC

6:VTG

7:ZDA

 

 

0x0003

0x01

0x01

0x01

Trigger NMEA ID

LED表示、ブザー発音有無初期値

0:LED表示有り・ブザー発音無し
1:LED表示無し・ブザー発音有り
2:LED表示無し・ブザー発音無し
3:LED表示有り・ブザー発音有り
 

0x0004

0x00

0x00

0x00

LED/Buzzer Status

ブザー周波数(未測位・2D測位時) F1
unsigned int 上位バイト (例:2000Hz=0x07D0)

0x0005

0x07

0x07

0x07

Buzzer Freqency 1

ブザー周波数(未測位・2D測位時) F1
unsigned int 下位バイト

0x0006

0xD0

0xD0

0xD0

ブザー周波数(未測位・2D測位時) F2
unsigned int 上位バイト (例:4000Hz=0x0FA0)

0x0007

0x0F

0x0F

0x0F

Buzzer Freqency 2

ブザー周波数(未測位・2D測位時) F2
unsigned int 下位バイト

0x0008

0xA0

0xA0

0xA0

ブザー周波数(未測位・2D測位時) F3
unsigned int 上位バイト (例:5000Hz=0x1388)

0x0009

0x13

0x13

0x13

Buzzer Freqency 3

ブザー周波数(未測位・2D測位時) F3
unsigned int 下位バイト

0x000A

0x88

0x88

0x88

ブザー周波数(未測位・2D測位時) F4
unsigned int 上位バイト (例:3000Hz=0x0BB8)

0x000B

0x0B

0x0B

0x0B

Buzzer Freqency 4

ブザー周波数(未測位・2D測位時) F4
unsigned int 下位バイト

0x000C

0xB8

0xB8

0xB8

測位表示期間(LED・ブザー) Period
unsigned int 上位バイト (例:100msz=0x0064)

0x000D

0x00

0x00

0x00

Period of LED/Buzzer On

測位表示期間(LED・ブザー) Period
unsigned int 下位バイト

0x000E

0x64

0x64

0x64

SDカード用バッファサイズ
unsigned int 上位バイト (例:1024=0x0400)

0x000F

0x04

0x04

0x04

Buffer size (SD)

SDカード用バッファサイズ
unsigned int 下位バイト

0x0010

0x00

0x00

0x00

GNSSモジュール受信用バッファサイズ  
unsigned int 上位バイト (例:2048=0x0800)

0x0011

0x08

0x08

0x08

Buffer size (Serial)

GNSSモジュール受信用バッファサイズ
unsigned int 下位バイト

0x0012

0x00

0x00

0x00

GSU−140 B」初期設定 衛星選択 0:未選択 1:選択

bit0:GPS
bit1:GLONASS
bit2:SBAS
bit3:QZSS L1C/A
bit4:Reserved
bit5:QZSS L1S

0x0013

0x00

0x00

0x00

Satellite Type

SDカード格納時先頭行コメント(ヘッダー) 最大128バイト
(半角文字を推奨、127バイト以下の終了判定データ:0x00)

BLOCK0
GNSS Logger for RP2040 (GNSS:115200bps Monitor:115200bps)
+(末尾に0X00追加)

BLOCK1
GNSS Logger for RP2040 (GNSS:4800bps Monitor:115200bps)
+(末尾に0X00追加)

BLOCK2
GNSS Logger for RP2040 (GNSS:9600bps Monitor:115200bps)
+(末尾に0X00追加)

0x0020

0x00BF

Header

 

6.「まるごとNMEA AE−RP2040編」のスケッチの書き込みと動作例

 ”4.「まるごとNMEA AE−RP2040編」のスケッチ”に掲載のスケッチファイルuf2の書き込みは下記の方法で行います。

(1) マイコンボード上のBOOTSELスイッチを押しながら通電、もしくは、BOOTSELスイッチを押しながらRESETスイッチを押します。

(2) パソコンでマイコンボードをドライブとして認識させます。

(3) uf2ファイルを選択してマイコンボードのドライブにドラッグ&ドロップします。

(4) ドラッグ&ドロップ後にスケッチ書き込み終了後、リセットがかかりスケッチが実行されます。

 

..

【 ドラッグ&ドロップ操作例 】

 

 「まるごとNMEA AE−RP2040編」を動作させる手順は「動作設定EEPROMデータ書き込みスケッチ」を書き込んで動作用のパラメータを設定します。 その後に「GNSSロガー用スケッチ」を書き込みます。 以下に書き込み時のMonitor表示例を以下に示します。

 

【 「動作設定EEPROMデータ書き込みスケッチ(jsk96k1.uf2)」書き込み後の起動時表示例 】

 

【 「GNSSロガー用スケッチ(jsk96j1.uf2)」書き込み後の起動時表示例 】

 

7.「まるごとNMEA AE−RP2040編」のファイルマネージャー操作方法と動作例

 ファイルマネージャーはSDカードを 実装した状態でSDカード内のファイルリスト取得、ファイル読み出し、ファイル削除の機能を有します。 実際の動作例を以下に示します。

 

機能

操作/操作例

起動時メッセージ

ファイルリスト

  •  ファイルマネージャー機能立ち上げ時にメッセ―ジを表示します。
     

  •  コマンド入力待ち状態ではコマンドプロンプト”>”を表示します。
     

  •  コマンド”list”+ENTERでファイルリストを取得できます。 ファイル名とファイルサイズのみを取得・表示します。 タイムスタンプはGNSSログデータから取得可能ですが、この時点で必須の機能ではないのでタイムスタンプの取得はしませんでした。
     

  •  正常終了すると”***** Done *****”表示します。
     

【 起動時メッセージ・ファイルリスト操作例 】

 

ファイル読み出し

  •  コマンド入力待ちでファイル名+ENTERを入力すると当該ファイルのデータを読み出せます。 読み出しデータをログファイルに格納して必要部分を切り取って利用します。
     

  •  ファイル名は大文字小文字の区別はありません。
      

  •  受信終了時に受信開始時、受信終了時のCPU経過時間とその差の実行時間を表示するようにしました。 (時間の数値はコアが起動してからの経過時間を意味するとのことです。)
     

  •  ファイルが見つからない場合はその旨のメッセージを表示します。

 

【 ファイル読み出し操作例 】

 


  【 ファイル未検出時表示例 】

 

ファイル削除

  •  コマンド”del”に続いてファイル名+ENTERを入力すると、当該ファイル削除開始します。
     

  •  2回の再確認を経て削除が実行されます。 再確認では最初に”y”キー、次に”n”キーを押すことで実際に削除を実行します。 その際、ENTERキーを押す必要はありません。
     

  •  正常終了すると”***** Done *****”表示します。
     

  •  ファイル(GNSS003.LOG)が見つからない、 読み取り専用ファイル(GNSS002.LOG)を削除などの理由でファイルを削除できない場合はその旨のメッセージを表示します。

 

  【 ファイル削除時表示例 】

 

【 ファイル削除操作例 】
 

   


 目次に戻る  Memorandumの小部屋 へ戻る   ホームページへ戻る


End of This Page.