グローバルシャッタータイプのCMOSセンサ、EV76C541をUSBカメラ化しました。
EV76C541は、e2vのSapphire センサのWVGAモデルです。1.3Mモデル、2Mモデルでも同様な方法でUSBモジュールが実現可能です。
基板は、CMOSセンサ(CIS)とUSB ISPの2枚構成です。
CMOSセンサは画像データを伝送するためのデータパスとCMOSセンサのレジスタ設定などの用いる制御パスに分かれています。
データパスはパラレルバスもしくはMIPI CSIなどのシリアルI/Fになります。
一般的なUSBカメラ用のISPチップは制御パスはI2CでCMOSセンサをコントロールするように作られています。
ところが、EV76C541は制御パスにSPIを採用しています。そこで、USB ISPチップとEV76C541の間にI2C-SPIブリッジを挿入することでEV76C541をUSBカメラ化することにしました。
方法1:ISPチップのGPIO端子を使ってソフト制御でSPIを実現
ISP内蔵のI2Cは使用せず、GPIO端子をソフトで制御してSPIアクセスを実現しました。
この方式にメリットは、追加の部品が不要なことです。基板面積とコストにメリットがあります。
デメリットとしては、ISPはAE動作の時に頻繁にCISにアクセスするため、露出が安定するのに若干時間がかかることです。また、ISPのファームウェアの構造が複雑になります。
方法2:I2C-SPIブリッジチップを使用する
この方式は、I2CとSPIのブリッジをハードウェアで実現するため、高速に動作させることができます。また、ファームウェアの記述も単純になります。
今回は、上記2種の方式で実装して実験を行いました。なお、ISPとCIS間ではロジックレベルの違いがあるため、実際はレベルシフタを別途挿入しています。
どちらの方式でも動作することを確認しています。
このカメラの詳細は、こちらのURLで確認ください。