今回は昨年から試行錯誤しながら取り組んでいるプロジェクトを少し紹介します。組込系でカメラ機能を利用する場合、昨今ではOpenMVやM5Camera、ESP32-Cam等を利用することが多いと思いますが、いまいち継続的な入手性や汎用性に欠けます。
そこで汎用的なUSBカメラから取り込むことで汎用性高く実装することを検討しています。ただ、USBカメラはUVC(USB Video Class)という規格があるものの、非常に帯域を要するため、組込系では処理がギリギリです。また、USBカメラの機種やメーカによっても細かい挙動が異なるため、なかなか苦戦中です。
まだ動作に改善の余地がありますが、LCDに表示させてみました。
もともとはSTM32マイコンで実装予定でしたが、Isochronous転送が安定しないことと、、昨今の半導体不足で入手困難であるため、断念しました。FTDIのVinculum2ではRTOSのオーバーヘッドが無視できず、SPIの転送速度が遅すぎて断念しました。現状はPIC32マイコンで実装しています。
紆余曲折あって、苦戦していますが、もう少しファームの作りこみや動作確認を継続して、検討中のプロジェクトに組込たいと思います。