2019年04月06日

シリアルBLE5モジュール

今回は簡単に使用できるBLE5のモジュールを紹介します。


Bluetoothを使った通信をマイコン等で行う場合は電波法等の関係から技適取得済モジュールを使用することが多いと思います。
一般的なBluetoothモジュールはベースとなるファームを書き換えて、任意のプログラムを書き込んで使用します。

この場合、Bluetoothモジュール単体でセンサ情報を処理して送信するといったことができるため、他のマイコン等が不要で消費電力を抑えて低コストでBluetoothセンサを実現することができます。
ただ、この方法の場合はBluetoothモジュール毎に専用の開発環境を構築する必要やファームの開発、書き込みが必要なため、敷居が高いのが問題です。


世の中にはこのような問題に対して、予めファーム書き込み済でUARTシリアルからコマンドを送ることで設定変更できるBluetoothモジュールが販売されています。
例えば、Bluetooth2.1、BLE4などではシリアルで設定変更できるモジュール(RN42,RN4020)が売られています。
ただ、UARTシリアルで設定変更できる、かつ最近のMeshに対応したBLE5のモジュールはほとんどありませんでした。


今回紹介するのはBLE5のMeshに対応したUARTシリアルで設定変更できるBLE5のモジュール、Silicon Labs製 BGX13P です。
なお、似たシリーズにBGM13がありますが、こちらは別途ファーム書き込みが必要なタイプです。

アンテナ内蔵でUSBの幅程度のサイズです。


IMG_0042.JPG

BGX13Pは様々なプロファイルに変更可能なファームが予め書き込まれているため、STM32マイコンやArduinoといったマイコンのUARTシリアルからコマンドを送ることで簡単にBLE5通信をすることができます。
いくつかマクニカのサイトでも事例が紹介されていました。

UARTシリアルで設定変更できるため、マイコン側のファーム書き換えのみで様々な機能を実現できるというのは魅力的です。
時間を見つけて試食してみたいと思います。

posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2019年02月23日

組込用ビデオコントローラ 解像度テスト

今回は先日紹介した組込用のビデオコントローラFTDI製BT815/816について解像度を変更して実験してみた結果を簡単に紹介します。

BT815/816はパラメータ設定で画面解像度のHSIZE、VSIZEは勿論のこと、水平、垂直のCYCLE、OFFSET、HSYNCといったパラメータを細かく設定することができます。

また、ピクセルクロックについても設定できるため、様々な液晶に対応しています。


BT815/816の動作保証範囲の最大解像度は800x600となっていますが、パラメータを細かく設定できるメリットを生かすと実は動作保証外でありながら、仕様の800x600を超えた高解像度の表示が可能です。

どこまで高解像度で可能かテストしてみました。
開発中のDigitalVideoSheildを下記のディスプレイに接続してテストしました。

手持ちのディスプレイ
LG IPS235 HDMI接続
iiyama Prolite E431S
Aitendo 7インチ800x480ディスプレイ
他中華製ディスプレイ

総称解像度PCLK表示
QVGA320x2402
WQVGA480x2722
VGA640x4802
WVGA800x4802
SVGA800x6002
WSVGA1024x6001〇※
XGA1024x7681〇※
WXGA
1280x768
1
SXGA1280x10241
UXGA1600x12001×
HD1920x10801×

〇は手持ちの複数ディスプレイで表示
〇※は表示するがアニメーションによって表示ラグ、不連続な動きが発生する場合がある
△は手持ちの一部の中華製ディスプレイで表示、アニメーションの表示ラグ、不連続な動き
×は手持ちの一部の中華製ディスプレイで表示するが不安定、ちらつき色抜け有、アニメーションの表示ラグ、不連続な動き

現実的にはWVGA、XGA辺りが限界なようです。
それ以上の場合は規格のフレームレート、周波数を逸脱するため、一般的なディスプレイでは信号チェック機能のエラー表示が出て表示できませんでした。

ただ、Aitendoのディスプレイや中華製ディスプレイでは信号チェック機能がないため、規格のフレームレート、周波数を逸脱している信号でもなんとか表示しようとします。結果として表示できてしまうという感じです。HDでもちらつきや色抜け等はありますが、無理に表示ができることが確認できました。


一般的な使用であれば仕様範囲内の800x480のWVGAの信号をHD表示のHDMIディスプレイに接続すれば、自動的に拡大表示されるので簡易的な情報を表示する分には問題ありません。

ただ、正直、SXGA辺りまで仕様で対応していれば理想的だと思いました。そこらへんは後継機種に期待したいと思います。



posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2019年02月16日

Digital Video Shield

HDMIトランスミッタTFP410を組み合わせて、
Digital Video Shieldを設計、作成してみました。

img1.jpg


SPIからDVI出力(HDMIコネクタ)するArduinoシールドです。

特徴は下記の通り。
  • Arduinoから文字列や図形、画像をDVI/HDMIディスプレイに描画可能。
  • 1MBのバッファRAMを搭載しているため、滑らかに表示の切り替え可能。
  • バッファIC搭載しているため、5V耐圧でArduinoUNOにも対応。
  • 最大解像度は800x600。
  • 128MbitのNOR Flash W25Q128を搭載しており、フォントや画像といった任意のデータを保存可能。
  • microSDスロットを搭載。

試しにBT816のデモ画面を800x480の
HDMIディスプレイに表示してみました。

img3.JPG


続いてBT816のデモ画面を開発用PCの1920x1080
(解像度は800x480)のHDMIディスプレイに表示してみました。


img6.jpg


HDMIディスプレイに文言を表示するためだけにraspberrypiといった
コンピュータを搭載するのは電源管理やセキュリティ管理などなかなか面倒です。
そんな場合にArduinoで簡単にHDMI出力できるDigital Video Shieldが便利です。

動画やアニメーションを高解像度、高フレームで処理することは
SPIの通信限界で難しいですが
時刻や簡単な情報、画像を切り替える程度はスムーズに可能です。

現在、量産前の試作検討をしており、
問題なければ春頃、どこかで1個5千円程度で販売開始予定です。

サンプルコードや詳細情報はこちら

続きを読む
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2019年02月02日

組込用ビデオコントローラ

今回は組込用のビデオコントローラについて紹介します。

組込用の小型グラフィック液晶等では
SSD1306、ILI9340、ST7565といった
コントローラICを搭載したモジュールが多く販売されています。
このようなコントローラICを使用することで
液晶のパラレル信号を扱いやすいSPIやI2Cといったシリアル信号に変換しています。
最近ではマイコン自体にコントローラを搭載しているものもあります。


一方で高解像度LCDになるとSPIやI2Cといったシリアル信号では
信号転送が間に合わないため、
LVDSやRGBといったパラレル接続が一般的です。

高解像度LCDではパラレル接続が一般的ですが、
世の中には大型RAMを搭載することで
SPIやI2Cといったシリアル信号から高解像度LCDをコントロールする
ビデオコントローラがあります。

日本で入手が難しい&安定供給が不明あるものの、
外部SDRAM、HD出力に対応しています。
HD対応とSDRAM対応は非常に魅力的ですが、
高価&入手性に難ありです。

FTDI製。日本で入手が容易である程度、安定供給が見込まれます。
NOR Flash対応、最大800x600の解像度に対応しています。
1個600円前後。

■LC74900
オンセミ製。既にディスコン予定。最大800x480の解像度。
1個1500円前後

■他


他にも低い解像度のものはありますが、
最低限800x600は欲しいものです。
また、市場がニッチなため、
すぐにディスコンになっているものが多いようです。

入手性や安定供給を考えるとFPGAで実装かFTDIが妥当そうです。

組込用のビデオコントローラを使用すれば、
SPIから高解像度のLCDを制御することができます。
FTDI辺りのビデオコントローラで実験してみたいと思います。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2019年01月05日

SDRAM 拡張ボード

明けましておめでとうございます。
今年もよろしくお願いします。

年末年始はKicadで高周波信号系の設計に挑戦してみました。

手始めにSDRAMの拡張ボード(ブレイクアウトボード)を作成してみました。
信号線の長さがビットで異なるのと、なぜか56pinあるため、
自分で作り直すことにしました。

秋月等でも取り扱いのあるSDRAMの多くはピン配置が同じため、
他のSDRAMでもTSSOP54であれば同様に使えると思います。


拡張ボードといってもブレッドボードでは高周波信号が歪んで使えませんが、
1本づつワイヤ配線するよりも便利だと思います。
電源系の共通化で54pinから42pinでなっています。

信号線の長さだけでなく、経路や太さなど考慮すべき点はありますが、
まずは全ての信号線を等長配線して設計してみました。
実際に使えるかPCBを作成して今後検討してみたいと思います。


SDRAM.jpg

SDRAM2.jpg

動作未確認ですが、
Gitにもデータを上げました。

posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする