こんにちは! ネフロックでハードウェアを担当している ごとぅー です。
前回のブログでは K26 SOM についてをお話させていただきました。
いよいよ今回は設計した K26 SOM の拡張基板について少しお話いたします。
電源周り
SOMの電源周りの接続は下記の図になっています。
電源の種類
前回も言った通り SOM の動作に最低限必要な電源は VCC_SOM(+5V) だけですが、 今回はコンフィギュレーション周りとペリフェラルのため下記の電源を実装しています。
- VCC_SOM:+5V (Switching)
- コンフィギュレーション、PSペリフェラル: +1.8V (Switching)
- PSペリフェラル:+3.3V (Switching)
- PL-IOバンク :+1.8V (Switching)
- PLペリフェラル:+1.8V (LDO)
- PLペリフェラル:+3.3V (LDO)
VCC_SOMから Core, PLL, PS 用電源が生成されるため、データシートによれば最大電流4Aで最大ノイズが 50mVpp 以下の電源を準備する必要があります。今回は KV260 の回路図を参考に同等の同期整流型のスイッチング電源を採用しました。
JTAG と SD でのコンフィギュレーション用と、PSペリフェラルのために +1.8V と +3.3V 、PL-IOバンク用に +1.8V をマルチ出力の同期整流型のスイッチング電源で生成しています。 そして PLペリフェラルの Audio Codec IC 用に +1.8V と +3.3V をリニアレギュレータ電源ICで生成しています。
今回 VCC_SOM以外の上記の電源を5chマルチ出力電源ICを使うことにより回路面積を縮小しています。
電源入力
今回の拡張基板のポイントの一つが、電源入力にUSB-PDを採用したことです。
KV260では12VのACアダプター入力になっていますが、ACアダプターだと同じジャック経でも電圧や電流容量が異なり回路を壊してしまうことがあります。
USB-PD の機能である Power Data Object (PDO) の仕組みを使うことで、電圧と電流の仕様がお互いに一致したときだけ拡張基板に電源が供給されるようにしました。
またエッジシチュエーションを想定しているので、USB-PD であればモバイルバッテリーでも動作できます。
またパワーオンには単純なスライドスイッチを採用せず パワーオン/オフ コントローラー IC を用いることにより、小型のプッシュスイッチでオン/オフができるのと、システム側からパワーオフすることができる設計にしました。
電源シーケンス
データシートをもとに下記のパワーオンシーケンスを設計しています。
- USB-PDに電源入力をする
- パワーオン/オフ コントローラー のプッシュスイッチを押す
- パワーオン/オフ コントローラー が VCC_SOM の電源ICをイネーブルにする
- VCC_SOM の電源IC のパワーグッド がアサートされ、SOM の PWROFF_C2M_L をネゲートする
- SOM の VCCO_EN_PS と VCCO_EN_PL がアサートされ、ペリフェラル電源の +1.8V と +3.3V をイネーブルにする
- ペリフェラル電源のすべてのパワーグッドがアサートされたら、SOM の PS_POR_L をネゲートして SOM をブートする
ペリフェラル
SOMのペリフェラルの接続は下記の図になっています。
コンフィギュレーション周り
KV260では基本的にXilinxのチュートリアルをベースに使う想定?なので Boot Mode は SOM 内蔵の QSPI でのブート固定になっています。
今回の拡張基板も最終的には SOM 内蔵の QSPI か eMMC でのブートを想定しているものの、開発段階では使いにくいため他のブードモードも選べるようにMODE ピンにDIPスイッチを実装して JTAG/SD でのブートもできるようにしました。
PSペリフェラル
KV260 にはカメラ画像の処理ができるようにPS側にカメラや USB3.0、映像出力のインターフェースが実装されています。
今回は音声処理をメインで行うため、それらのインターフェースは基板サイズも消費電力も大きくなるので削除し、代わりにBT/Wi-Fiモジュールを実装しました。
また ZYNQ や Linux のデバックができるように USB-Serial (UART) は残してあります。
SOM は DDR や QSPI、eMMC などのメモリデバイスがすでに実装済みなので、PSペリフェラルの設計はかなり楽でした。
PLペリフェラル
私も KV260 の実物を見るまでわからなかったのですが、KV260 の SOM の SOM240_2 コネクタは実装されておらず、KV260 側もコネクタは実装されていません。KV260 は FPGA をアクセラレーターとして使うことを想定しているため PL の外部I/Oしかアサインされていない SOM240_2 コネクタはコスト削減のため削除されたのかもしれません。(KV260評価ボードより SOM 単体のほうが価格が高いので、KV260 を買って SOM 単体を取り外して使われるのを防ぐため?)
ただ SOM240_1 コネクタにもPLの外部I/Oが一部アサインされており、今回の用途ではこのピン数で間に合うため設計した拡張基板も SOM240_2 は未使用となっています。
今回の用途が「音声処理をする」なのでPL側にはオーディオコーデック IC を実装しています。オーディオコーデック IC でマイク等からのアナログ入力をAD変換してFPGAに入力し FPGA でその信号を処理して再び オーディオコーデック IC に戻しDA変換を行いヘッドホンなどに出力します。
今回は オーディオコーデック IC に使うクロックの発振器も実装し、PL側のクロック入力専用ピンにアサインしました。
おわりに
今回は Xilinx Kria K26 SOM とその拡張基板の設計について3回に分けてお話しました。
SOM は新発売のデバイスで Xilinx のオフィシャルドキュメント以外の情報がなかったので設計中は動作するか心配でしたが、なんとか改修などなく動作させることができました。
SOMを使用したことにより、従来のFPGA基板の設計で必要な、電源、メモリ、コンフィギュレーションなどの設計をかなり軽減することができるだけでなく、基板サイズや基板層数、部品点数などが抑えられコスト的にもメリットを感じられました。
3回に渡りこの記事を読んでいただいた皆様どうもありがとうございました。 引き続きハードウェアに関しての記事もアップしていきますので、今後ともよろしくおねがいします!