2019年01月13日

LGT8F328Pを試す

以前にこのブログで紹介していた、ATMEGA328P互換のマイコン LogicGreen社LGT8F328P搭載のマイコンボード(Arduino nano互換, OCROBOT ALPHAベース?)をAliexpressのBAITE ONLINE STOREで購入し、届いたのでレビューします。

LGT8F328_nano4.jpg

いつも買っているNano互換ボードとの比較です。下側のArduino nano互換ボード(DSmainやDSairで使っているBAITEのコンパチ品)は、CH340GやATMEGA328を使ってます。外付け部品が多いですね。
一方で、LGT8F328Pを使ったボードは、USBシリアルにHetai HT42B534-1を使用しており、発振器などが省略できるチップが多く、コストダウンや基板の小型化に有利です。なお、HT42B534-1はWindows10では自動認識&ドライバ自動インストールでした。CH340より良いですね!

LGT8F328_nano.jpg

裏側には部品実装はありません。これも低コスト化の一環かと。

LGT8F328_nano2.jpg

■チップの概要

いくつかのページで解説されてます。

LogicGreen本家
ElectroDoragon
OCROBOT

元々は、ATMEGA88互換シリーズでLGT8FX8Dというものがあったようですが、強化したLGT8FX8Pというシリーズに今は置き換わっているようです。LGT8F328Pは、後者のシリーズに該当します。X=32(32KB FLASH)という意味です。

32KBと言ってますが、EEPROM分はデータFLASHを使用するので、実質は30KBしか使えません。ここは要注意です。

■導入方法

2種類あります。@OCROBOTのArduinoIDE互換開発環境をダウンロードするか、AArduino IDEに手動でパッケージを追加する(Larduino HSP, LogicGreen社提供の公式パッケージ)の2通りです。

@の場合は、関数や値の意味が、拡張されていて、ソフトを少し調整しないと(たとえばアナログ読み出しが10bitから12bitにされているなど→この仕様からは逃げられない)、動かないケースがあります。
素直に、Arduino IDEにパッケージ追加した方が互換性は維持できると思います。

Aの最新パッケージは、公式のダウンロードページにあります。

OCROBOT_IDE_4.png

■インストール方法

Larduino HSPのパッケージの中にinstall.txtがあるので、これを読んでインストール。と言っても、Arduino IDE 1.6.6以降の環境に、hardwaresとlibrariesフォルダの2つをまるごとコピーするだけなので簡単です。

■Arduino IDEのボード設定

ちゃんと導入できていると、こんな感じで選べます。
ボードの種類は「LGT8F328P-LQFP32 miniEVB」を選びます。

OCROBOT_IDE_3.png

■DSair2ハードで確認

・電源電圧 5V OK
・電源電圧 3.3V OK
・DCCパケット生成 OK
・CV読み出し OK (ただし、閾値は検出値に応じて調整しないといけない。)
・S88入力 OK
SDカードアクセス NGGPS_NMEA様のライブラリにして対応。

SDカードアクセスだけ、そのままのスケッチでは失敗します。ArduinoのSDカードライブラリまんまなので、何かうまく動かないところがあるのだと思います。

LGT8F328_nano3.jpg

■まとめ

・32MHzの威力は不明(DSair2スケッチは無駄時間が多すぎるため・・・)
・特にArduinoとの違いを感じずに使える。
・analogReadが10bitではなく12bit(4倍)で出てくる。つまり精度が良くなっている。
・普通のATMEGA328Pとの切り替えには、__LGT8FX8P__が自動で定義されるので、これをうまく利用すれば良い。以下例。

#ifdef __LGT8FX8P__
#define ADC_SHIFT 2
#else
#define ADC_SHIFT 0
#endif

■テスト版スケッチ一式

r2j TEST版(細かいところまでテストできてません、ATMEGAとLGT8F兼用できます)

DSairFirmware_r2j_TEST.zip

----------------------------------

普通に動くことは分かったのですが、これを活用していろいろやるか!と言われると実は悩ましいところで、ADCの精度が上がったこと、32MHzの高性能化は喜ばしいのですが、他の機能はそれほど大きな違いはないので、どう扱おうかなと言うところです・・・。
仮に、DMACやペリフェラルが強化されていると、一気に話が変わるのですが・・・。S88ラインにUARTとかI2Cを別チャンネルで出せたら、大きなメリットになってきます。

妙案がある方は、ぜひとも教えて頂ければ幸いです。
posted by yaasan at 09:55 | Comment(1) | ガジェッド
この記事へのコメント
s88-Nを使った在線検出とアクセサリーデコーダ連動(まあ信号機とポイント制御ですね)がDSair2のWebアプリ上でも実現出来る様になると色々使い方が広がるとは思うのですが。

あとスマホ/タブレット端末でのワイヤレス制御が売りなので自動運転までは必要無いと思いますが、多(他)列車制御のみを自動運転化するなんてのは需要があるかも知れませんね。
Posted by LOCKE at 2019年01月19日 21:08
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。