2021年10月30日

販売製品一覧

今回は最近追加された製品含めて改めて販売中のCrescent製品を紹介します。※2021年10月更新
■ProjectionBall IoT (Version 5)
 ProjectionBallはベクター方式の簡易レーザープロジェクタで、
 簡単な図形や英数字などを描画できます。
 Running Electronics様で販売中です。

■磁気エンコーダモジュール
 AMS社製磁気エンコーダAS5048Aを2.54 mmピッチへ変換する基板です。
 専用の磁石を同梱。

■磁気エンコーダピッチ変換基板
 AMS社製磁気エンコーダAS5048AやAS5047Dなどを
 2.54 mmピッチへ変換する基板です。
 基板のみでエンコーダIC、磁石は同梱されていません。

■STM32F303CC搭載DIP変換基板
 Nucleo等の評価ボードが発売されていない48ピンIC STM32F303CC
 LQFP48を2.54 mmピッチへ変換した基板です。
 ※昨今の半導体不足の影響で供給が不安定になっています

■STM32F373CC搭載DIP変換基板
 Nucleo等の評価ボードが発売されていない48ピンIC STM32F303CC
 LQFP48を2.54 mmピッチへ変換した基板です。
 ※昨今の半導体不足の影響で供給が不安定になっています
 スイッチサイエンスで販売中

■アナログ出力MEMSマイク変換基板
 搭載した、ピッチ変換モジュールです。ピン間隔は2.54 mm。
 可聴音から超音波まで(100 Hz〜80 kHz)の幅広い帯域を
 高感度にセンシングすることが可能です。
 超音波センサや超音波通信などに使用可能です。

■アンプ内蔵アナログ出力MEMSマイク変換基板
 50倍のアンプを搭載した、ピッチ変換モジュールです。
 ピン間隔は2.54 mm。
 可聴音から超音波まで(100 Hz〜80 kHz)の幅広い帯域を
 高感度にセンシングすることが可能です。
 超音波センサや超音波通信などに使用可能です。

■デジタル出力MEMSマイク変換基板
 搭載した、ピッチ変換モジュールです。ピン間隔は2.54 mm。
 可聴音から超音波まで(100 Hz〜80 kHz)の幅広い帯域を
 高感度にセンシングすることが可能です。
 超音波センサや超音波通信などに使用可能です。

■LattepandaArduino変換基板
 LattepandaのLeonardoポートをArduino Leonardoピッチへ
 変換する基板です。Arduinoのシールドが使えるようになります。
 表面実装部品のみ実装済みです。
 ピンヘッダ、ソケット、リセット用のタクトスイッチは別売です。

■PS/2 USB逆変換アダプタ
 USBキーボードをPS/2化する変換アダプタです。
 標準ドライバで動作可能なUSBキーボードをPS/2キーボードとして
 使用できるように変換します。
 プログラミング専用こどもパソコンIchigoJamやサーバマシンなど、
 PS/2キーボードのみをサポートしている場合に本製品を使用して、
 USBキーボードをPS/2化します。

■e-Paper I2Cモジュール
 e-Paper I2CモジュールはWAVESHARE製200x200, 1.54inch
 E-Inkディスプレイを搭載したモジュールです。WAVESHARE製200x200,
 1.54inch E-InkディスプレイはSPI接続ですが、配線の容易性を実現するために
 SPI I2CプロトコルブリッジIC SC18IS602Bを搭載してI2C化しています。

■nanopi neo/neo2 拡張ボード
 FriendlyElec製NanoPi Neo/Neo2の拡張ボードです。
 ピンヘッダ上にあるUSB2ポート、I2Cポート(Grove)のコネクタを
 搭載しています。標準USBの1ポートで足りないという場合やGrove
 で拡張したいという場合に最適です。
 また、I2Cポートには純正NASキットと同じRTC DS1307が搭載しています。

■Digital Video Shield
 SPIからDVI出力(HDMIコネクタ)するArduinoシールドです。
 FTDI製ビデオエンジンBT816とDVIトランスミッタTFP410を搭載しています。

■ロードスイッチ変換基板
  Vishay製超低漏洩電流ロードスイッチSiP32431を搭載した変換基板です。
 1.5 V~5.5 V、最⼤1.4 Aまでの負荷の電源管理が可能です。
 FETを使⽤する場合に⽐べ、漏れ電流が10 pAと非常に⼩さいことが特徴です。

■ISO 14443 Type A RFID付きEEPROMモジュール
 デュアルインタフェースEEPROM M24SR64とアンテナを搭載したI2C Groveモジュールです。
 64k bit EEPROMにI2CとRFIDの2つの通信で内部のデータにアクセスできます。
 EEPROM M24SR64はISO 14443 NFC/RFID tag NFC forum Type 4 に対応しています。

■BLE5モジュール変換基板
 SiliconLabs製BLE5モジュールBGX13Pを搭載した変換基板です。
 BLE5の制御ソフトウェアが予め書き込まれているため、容易にBluetooth通信を使⽤できます。
 3.3 Vシリアル通信(UART,初期115200 bps)で外部機器からパラメータを設定できます。
 TELEC(技適)認証済 工事設計認証番号 209-J00282

■WiFiモジュール変換基板
 SiliconLabs製WiFiモジュールAMW037を搭載した変換基板です。
 WiFi制御ソフトウェアが予め書き込まれているため、容易にWiFi通信を使⽤することができます。
 3.3 Vシリアル通信(UART,初期115200 bps)で外部機器からパラメータを設定することが可能です。
 TELEC(技適)認証済 工事設計認証番号 201-180092

■I2C-Uart変換基板
 マイコンのI2CポートをUART通信ポートに変換するアダプタです。
 マイコンからI2Cデバイスとして制御し、UARTのボーレート設定、送信、受信処理をすることができます。

■I2C-RS232C変換基板
 マイコンのI2CポートをRS232C通信ポートに変換するアダプタです。
 マイコンからI2Cデバイスとして制御し、UARTのボーレート設定、送信、受信処理をすることができます。

■USBシリアルI2C変換基板
 USBシリアルをI2Cマスタに変換する基板です。
 シリアルCOMポートを介してPCやRPI等からI2Cデバイスを制御できます。
 I2Cデバイスの動作確認やラピッドプロトタイピングに最適です。

■デュアル出力昇圧コンバータ基板
 ADP1612スイッチングコンバータを使用した昇圧電源です。
 1.8V~5.5Vの入力で±15.1Vの出力が得られます。
 1.8Vから使用可能なため、電池駆動のアンプ電源に最適です。

■高感度磁界センサ変換基板
 TI製高感度磁界センサDRV425を使用した高感度磁界センサ基板です。
 高感度±0.5 mT、帯域最大47 kHzで磁界をアナログ出力として得ることができます。

■USB-PDM変換基板
 2個のデジタルPDM出力MEMSマイクをUSBオーディオデバイス(ステレオ)に変換します。
 24 bit、44.1 kHz/48 kHzサンプリングで変換します。
 デジタルPDM出力MEMSマイクの評価や動作確認に便利です。

■USB-SMBUS/I2C変換基板
 CP2112を使用したUSB-SMBUS/I2C変換基板です。
 Simplicity Studioを使用してVIDやPID等のパラメータを設定変更できます。
 USB-PDM変換基板のパラメータ書き換えに最適です。

■AC電流センサ基板
 ホール素子を用いた低侵襲AC電流センサ基板です。
 一般的な電源ケーブルを加工せずに近接させて使用します。
 電源ケーブルの電流に応じて比例してアナログ電圧が出力されます。

■可変アンプ内蔵アナログ出力MEMSマイク変換基板
 増幅回路TLV316とKnowles社製アナログ出力MEMSマイクSPU0410LR5Hを搭載した基板です。
 可聴音から超音波(100Hz〜80kHz)までの幅広い帯域を高感度にセンシングすることが可能です。
 RV1により約1倍〜約50倍まで増幅率を変更することが可能です。

■エアクオリティセンサ
 ルネサスエレクトロニクス製 室内空気質(IAQ)センサZMOD4410及び
 温湿度センサHS3001を搭載したセンサ基板と専用変換基板です。
 CO2、IAQ(空気質指標)、温度、湿度の測定ができます。

■光センサ基板
 アナログ光センサAPDS-9008-020を用いた光センサ基板です。 
 光強度のアナログ出力(A)と可変抵抗で調整可能な閾値によるデジタル出力(D)を備えています。

■I2C-RS422/485変換基板
 マイコンのI2CポートをRS422/RS485通信ポートに変換するアダプタです。
 本アダプタでI2Cから半二重RS422/RS485の送信、受信処理をすることができます。
 7.3728 MHzの水晶発振子を搭載しており、マイコンのメインクロックから独立してRS422/RS485のボーレート設定ができます。

■DC電流パルス検知基板  
 直流信号線のON、OFF状態をクランプ式CTセンサで検出するための変換基板です。
 本変換基板とクランプ式CTセンサによって信号線を加工せずに直流信号線の状態を取得することができます。
 信号線ON/OFFによって発生するパルスをCTセンサで検出し、状態をラッチします。
 ラッチ保持した状態(信号線のON/OFF状態)を1/0のデジタル信号として出力します。

■CTセンサアンプ基板
 本基板はクランプ式CTセンサの出力を増幅してRMS値(実効値)に変換する基板です。
 交流電流に応じたRMS値(実効値)をアナログ値(直流)として得ることができます。
 実効値をアナログ値として得られるため、マイコン側での高サンプリングAD変換やRMS演算等が不要です。

■I2Cバスアクセラレータ 
 本基板はLTC4311を使用したI2C通信の信号波形を改善するバスアクセラレータです。
 I2Cケーブルを延長する場合や多数デバイスを接続する場合に通信を安定させます。
 I2Cバスラインに挿入して使用します。
 Grove互換コネクタを搭載しており、既存のデバイスに容易に接続できます。




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

2021年10月23日

PIC32マイコンSDカード読み書き

今回はPIC32MX270F256BをターゲットにMPLAB X v5.45+Harmony3+XC32 v2.50を使用して、PIC32マイコンにSDカードを接続して読み書きする方法について紹介します。

Harmony3を用いることでSPI接続で簡単にSDカードの読み書きを実装することが可能です。Harmony3のプロジェクトグラフは下記の通りです。

sd_spi1.jpg

今回はSPI1をSDカード用に割り当てました。

sd_spi4.jpg

SPI1の設定はデフォルトのままで問題ありません。

sd_spi3.jpg

SD Card設定ではSDカードのチップセレクトをどのポートにするか設定します。他の設定はそのままで問題ありません。



sd_spi2.jpg
FILE SYSTEMの設定はそのままで問題ありませんが、32GB以上のSDカードを使用する場合は「Enable exFAT ~」にチェックを入れます。

sd_spi5.jpg

最後にSPI1のIOとSDのCSのポートを忘れずに設定します。SPI1のIOとCSをGPIO OUTPUTに設定します。なお、SDI1とSDO1をプルダウン有効にしていますが、必須ではありません。

Harmony3の設定完了後、Generate Codeボタンでコードを生成します。コード生成後、app.cのAPP_Tasks内にファイル書き込みのテストコードを追加します。


SYS_FS_HANDLE fileHandle;
char hello[] = "Hello World !!";
int res;
//SDカードマウント
res=SYS_FS_Mount("/dev/mmcblka1", "/mnt/myDrive1", FAT, 0, NULL);
if(res!= 0)
{
  SYS_DEBUG_PRINT(SYS_ERROR_DEBUG, "Mount ERR\r\n",res);
  return;
}
else
{
 SYS_DEBUG_PRINT(SYS_ERROR_DEBUG, "Mount OK\r\n");
}


//ファイルオープン
fileHandle = SYS_FS_FileOpen("TestData.txt", (SYS_FS_FILE_OPEN_WRITE));
if(fileHandle == SYS_FS_HANDLE_INVALID)
{
  SYS_DEBUG_PRINT(SYS_ERROR_WARNING, "FileOpen Error\r\n");
  return;
}
//ファイル書き込み
res= SYS_FS_FileWrite(fileHandle, hello, sizeof(hello));
if(res!= -1) //OK
{
  SYS_DEBUG_PRINT(SYS_ERROR_WARNING, "File Write OK\r\n",);
}
else//NG
{
  SYS_DEBUG_PRINT(SYS_ERROR_WARNING, "FileWrite NG\r\n");
  return;
}
//ファイルクローズ
SYS_FS_FileClose(fileHandle);


マウントからファイル操作、ファイルクローズまでの一連の流れは上記の通りです。

ディレクトリを生成する場合は
SYS_FS_DirectoryMake(dirname);
でdirnameに文字列を渡すことでフォルダの生成ができます。

生成したフォルダに移動する場合は
SYS_FS_DirectoryChange(dirname);
でdirnameに文字列を渡すことでそのフォルダに移動します。

逆にルートフォルダに戻る場合は
SYS_FS_DirectoryChange("/");
でルートフォルダに戻ることが可能です。


FILE SYSTEMの設定で「Enable exFAT ~」にチェックを入れることで32GB以上のSDカードに対応できますが、そのままではビルドに失敗します。ff.hで「#error exFAT feature wants C99 or later」のエラーが発生します。XC32コンパイラはexFATで使用するint64等の変数定義に対応していますが、XC32内でstdバージョン定義がされていないようです。

ff.hの37行目に
#define __STDC_VERSION__ 199902L
を追記して強制的に定義を変更します。


ファイルシステムの時刻がデフォルトは固定となっているため、RTC機能等を実装している場合はapp.cやmain.c等のユーザー側で下記の関数を追加することでファイル生成時やフォルダ生成時に日時が反映されます。なお、GetRtcDateTimeは自作の関数で必要に応じて外付けのRTC等から日時を取得する関数を実装してください。

DWORD get_fattime(void)
{
  SYS_FS_TIME time;
  time.packedTime = 0;
  uint8_t year, month, day, hour, min, sec;

  GetRtcDateTime( &year, &month, &day, &hour, &min, &sec);
  // All FAT FS times are calculated based on 0 = 1980
  time.discreteTime.year = (2000+ year - 1980);
  time.discreteTime.month = month;
  time.discreteTime.day = day;
  time.discreteTime.hour = hour;
  time.discreteTime.minute = min;
  time.discreteTime.second = sec;
  return (time.packedTime);
}


設定によってはすんなりビルドが通らない等ありましたが、比較的簡単にPIC32マイコンにSDカードを接続して読み書きすることができました。その他の注意点としてSDカードの読み書きとconsoleを有効にしただけでプログラムメモリ120kB程度(最適化レベル1)が既に使用済となりました。SDカードの読み書きをする場合は256kB以上のプログラムメモリが大きなPIC32マイコンを選択する必要があります。
posted by Crescent at 00:00| Comment(0) | 組込ソフト | このブログの読者になる | 更新情報をチェックする

2021年10月16日

mTouchライブラリ追加方法

今回はPIC32マイコンではなく、8bitマイコンのPIC12、PIC16系のmTouchライブラリ追加方法について紹介します。PIC12、PIC16系のマイコンの一部にはCapacitive Sensing (CPS) module、mTouch機能があります。mTouchは静電容量式のスイッチやセンサとして利用できる機能です。

MCC(MPLAB Code Configurator)が利用できるようになってから、mTouchを利用していかなったため、利用してみることにしました。調べてみるとデフォルトではmTouchの機能をMCCから利用できるようにはなっておらず、ライブラリの追加が必要であることが分かりました。マイクロチップのサイトではライブラリファイルをダウンロードして追加するという説明ですが、バージョンやサイトの表示が異なっており、試行錯誤しながらmTouchライブラリを追加することができたので、今回はその方法を紹介します。


mTouchライブラリファイルはこちらからダウンロードします。マイクロチップのサイトではmTouchという名前ですが、「MCC - Touch Library - XXX」という名前になっているようです。Application Libraries内の4ページ目に「MCC - Touch Library - XXX」という名前のフ項目を確認することができます。

webpage.jpg

ライブラリファイルがダウンロードできたら、MPLAB Xを起動させ、Tools→Optionsをクリックします。

mTouch1.jpg

マイクロチップのサイトではEmbeddedという項目にImport Libraryボタンがありますが、MPLAB X v5.45の場合はPluginsという項目のMPLAB Code Configurator 4.xのタブ内にImport Libraryボタンがあります。

mTouch2.jpg


Import Libraryボタンから先ほどダウンロードした「MCC - Touch Library - XXX」のファイルを選択してOKボタンを押すと、ライブラリがインポートされ、mTouch機能を利用することができるようになります。mTouch機能についてはまた別の機会に紹介したいと思います。
posted by Crescent at 00:00| Comment(0) | 組込ソフト | このブログの読者になる | 更新情報をチェックする

2021年10月09日

PIC32 ソフトウェアリセット

今回はPIC32MX270F256BをターゲットにMPLAB X v5.45+Harmony3+XC32 v2.50を使用して、PIC32マイコンのソフトウェアリセット(Soft Reset)を利用する方法について紹介します。

何かしらの異常が発生した場合に電源投入時の状態に初期化する際にソフトウェアリセットを利用します。Harmony3では予めコンポーネントが用意されているため、コンポーネントを追加するだけで簡単にソフトウェアリセットを利用することができます。ただ、名称が分かりづらく、RCONというコンポーネント名称になっているため、注意が必要です。

RCON1.jpg

RCONを追加した状態でコード生成をするとconfig/(ユーザ指定名)/peripheral/rcon/plib_rcon.h内にソフトウェアリセットの関数が定義されています。

条件に応じてRCON_SoftwareReset();を呼び出すだけでソフトウェアリセットを実行することができます。RCON_SoftwareReset()関数内では割込みの無効化、システムレジスタのアンロック、リセットという一連の必要な処理が既に定義されているため、自身でソフトウェアリセットを実装するよりも簡単に使用することができます。

異常が連続して起きた場合に変な挙動にならないようにソフトリセットの使い方には要注意ですが、コンポーネントを追加するだけで比較的簡単に実装することができました。
posted by Crescent at 00:00| Comment(0) | 組込ソフト | このブログの読者になる | 更新情報をチェックする

2021年10月02日

マルチゾーンToF測距センサVL53L5

今回はSTから販売されているマルチゾーンToF測距センサVL53L5について少し試食したので、その内容を紹介します。

今までもSTからToF測距センサVL53LXXシリーズが出ていましたが、VL53L5の特徴として最長4mまでの測距距離と最大64(8x8)の測距ゾーンを実現しています。デフォルト設定では4x4のマルチゾーンですが、設定変更で8x8のマルチゾーンに対応します。

VL53L5.jpg

VL53L5の評価ボード、VL53L5CX-SATELを使ってみました。従来のVL53LXの評価ボードとピン配列が異なっているため、注意が必要です。VL53L5CX-SATELは1列のピンになっています。少し戸惑った点としてVL53L5自体にないPWRENピンが評価ボードのピンにあり、評価ボード上のレギュレータの有効化ピンになっています。PWRENピンを3.3Vに接続して、AVDDからの5Vを3.3Vに落とすレギュレータを有効化します。

サンプルコードを実行したところ、デフォルト設定の4x4で取得できることが確認できました。ただ、従来のLVL53LXシリーズとの大きな違いとして、センサ自体がマイコンを搭載しているため、センサの初期化の際にセンサのファームウェアのロードが必要です。それに伴ってセンサドライバのコードサイズが非常に大きくなっています。手元にあったROMサイズ64kBのSTM32F303K8ではでは入らず、STM32F401REでサンプルコードを実行しました。

ビルドした際の出力を確認すると下記のようにサンプルコードだけで100kB近く使用していることが分かりました。

RAM: 1856 B 96 KB 1.89%
FLASH: 105800 B 512 KB 20.18%

VL53L5は最大64のマルチゾーン対応で非常に魅力的なセンサですが、それに合わせてセンサドライバが大きいということが分かりました。機能の制限や実装方法を工夫することで多少小さくできる余地はありますが、従来のセンサに比べて大きいということは変わりません。VL53L5を使用する場合はプログラムサイズが少なくとも128kB以上のマイコンを使用する必要がありそうです。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする