チュートリアル

ZynqBerryボードの概要と特徴

ZynqBerryボードのトップビュー

TE0726

TE0726 “ZynqBerry”はRaspberry Pi Model 2と互換性を持つ、 SoCモジュール搭載のボードです。
Raspberry PiのDSIコネクタディスプレイやカメラモジュールなどがそのまま利用可能です。

 

部品の紹介

Xilinx Zynq XC7Z010-1CLG225l

Zynqの中身は、PS部と呼ばれるARMコア(Cortex-A9プロセッサ)と、PL部と呼ばれるFPGAで構成されていて、ARM上のLinuxからPL部に実装した回路を動作させるなど、 協調して動作させることが可能です。

Quad SPI Flash Memory

16MbyteのSPIフラッシュメモリです。ブートローダー、FPGAのコンフィギュレーション情報などはここに保存することになります。ZYNQのBootModeはQSPIモードに固定されていて変更が不可能なので、必ずこのフラッシュメモリにBOOT.binの起動イメージを書き込むことになります。

Linuxを起動するときには、フラッシュメモリにはU-Bootを内蔵したBOOT.BINだけを書いておいて、イメージはSDカードの中身から読み出して起動します。

DDR3 SDRAM

512MByteのDDR3 SDRAMです。

LAN9514 USB Hub with Ethernet

USB Hubには4つのUSB2.0ポートと、ひとつの100MBitイーサネットがつながっています。イーサネットには、ZYNQのPSに内蔵されたイーサネットPHYを使用するのではなく、このUSB Hubを介してアクセスすることになります。なお、USBは480MbpsのHSに対応しています。

HDMI

ボードはHDMIコネクタを備えており、コネクタへはZynqから直接ピンがつながっています。FPGAのピン入出力にTMDSを利用しているために抵抗などを解することなく直接ピンをつなげることができます。

40ピン ピンヘッダ (26 I/O)

ピンヘッダはRaspberry Piと同じ配置になっており26ピンのGPIOを制御することができます。これらはFPGAのI/O Bank34につながっていて3.3V規格なので、3.3V振幅となります。そのため、RasiberryPi用の外部回路をそのまま接続できます。

FT2232HQ

Raspberry Pi(1,2,3)のMicroUSBは電源供給だけの役割しかありませんでしたが、ZynqBerryではMicroUSBはオンボードのFT2232Hにつながっています。FT2232HというのはFTDI社のUSB-UART変換ICで、これがZYNQのUART1に接続されてデバッグ用のコンソールとなります。

LCMXO2

LCMXO2はLatticeのCPLDであり、FT2232Hと共にUSB-JTAGインタフェースを構成しています。このUSB-JTAGはDigilent社のUSB-JTAGと互換性があるので、XILINXのVivadoやSDKから認識させることができます。つまり、MicroUSBをパソコンにつないでおけば、XILINXのツール上からFPGAの書き込みや、ARMのデバッグ、プログラムのダウンロードなど開発に必要なことがすべてできるというわけです。

クロックとリセットについて

PS(CPU部分)のクロックは33.3333MHzですが、PLへはボード上ではクロックが接続されていないので、PLを動作させるにはPSが動作して、内部でFCLKをもらう必要があります。
ボード上のP1という箇所(下の写真参照)にリセット端子が出ていて、ここをショートするとPSおよびPLにリセットがかかります。

TE0726

 

ZynqBerryボードのブロック図

ブロック図は以下のようになっているようです。