2020年05月16日

CP2615パラメータ書き換え方法

今回はUSB-I2S変換IC CP2615について紹介します。

Silicon Labs社から販売されているUSBインタフェース関連ICの1つにCP2615があります。CP2615はUSBとI2Sの変換ICで、I2S接続のcodecやadc、dacをUSBに変換することができます。USBをPCに接続するとPCからは標準オーディオデバイスとして認識され、USB接続マイクやスピーカーの開発を容易に行うことができます。また、USBデバイスを開発する際にはVID(Vender ID)やPID(Product ID)をUSB.orgから取得したり、ドライバを開発する必要がありますが、Silicon Labs社のCP2615はSilicon Labs社のVIDやPIDをそのまま最終製品に利用しても構わないと謳っているため、開発の敷居が低くなっています。

CP2615は出荷直後はUSBスピーカデバイスとして認識される設定となっており、使用するcodecやadc、dacに応じて内部のパラメータを変更して使用します。主要なcodecやadc、dacはI2Sでオーディオ信号を送受信する前にI2Cでパラメータ初期化が必要です。CP2615の内部パラメータを変更することでI2Cマスタとしての送受信を合わせて設定することができます。他にCP2615のGPIOでボリューム上げ下げのインタフェース設定等もできます。CP2615とcodec等を組み合わせてUSBスピーカやUSBマイクを簡単に開発できるようになっています。



CP2615のパラメータ変更はSimplicityStudio内のXpress Configuratorで行います。下記のようなイメージでパラメータを変更できます。

CP2615_setting_image.jpg



内部パラメータの書き換えはCP2615単体ではできません。書き込み治具としてCP2112が別途必要です。CP2615とCP2112はI2Cで接続し、CP2112を介してUSBで書き換えを行います。書き込む際には電源を入れる前にCP2615のCFGとRSTをGNDに接続し、電源投入後にRSTをVDDに接続し、CFGモードの状態で書き換えを行います。CP2615をXpress Configuratorから書き換えてみましたが下記の様なエラーが発生しました。

Programming completed,but with errors!
CP2615_SetConfig:HID_SMBUS_DEVICE_NOT_FOUND
CP2615_GetConfig:HID_SMBUS_DEVICE_NOT_FOUND

LogではProgramming completedと出ていますが、CP2615をUSBで接続しても設定が反映されておらず、書き込み失敗していました。原因を調査すると書き込み治具のCP2112のPIDが0xEA93でないと書き込み失敗するようです。CP2112のデフォルトVIDは0x10C4、PIDは0xEA90となっていまずが、CP2615の書き換えをSimplicityStudio内のXpress Configuratorで行うためにはPIDが0xEA93である必要があるようです。CP2615のEvalボードCP2112は出荷時にPIDが変更されているようですが、市販のCP2112を使ったため、書き込みに失敗したようです。

CP2615の書き換えを行う前にCP2112のXpress Configuratorのプロジェクトを作成し、PIDを0xEA93に変更してCP2112のパラメータを書き換えました。残念ながら、CP2112のパラメータ書き換えは1回限りのワンタイムプログラムとなっているため、再度の変更はできません。間違ったパラメータを書き込まないように注意する必要があります。

cp2112_pid.jpg


PIDを変更したCP2112で再度、CP2615の書き換えを行ったところ、正常に書き換えができました。手持ちのCP2112はPIDを0xEA93に変更したため、Xpress Configurator専用の治具になってしまいました。なお、CP2112はワンタイムプログラムですが、CP2615はフラッシュベースのため、CP2112を用いて何度も書き換えできます。CP2615で様々なI2Sデバイスを検証することができます。CP2615を用いてI2S接続のcodecやadcを組み合わせて遊んでみたいと思います。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする