TE0808の使い方(2) モード設定ピンの使い方
TE0808のJ2の端子を眺めてみると、I/OピンやMGTピン、電源ピンのほかにPG_xxxやEN_xxxといった設定ピンがたくさんあることに気が付きます。
今回はこれらの設定ピンの使い方を紹介します。
EN_xxxとPG_xxx
ZYNQ UltraScale+の電源はLowPowerドメインやFullPowerドメインなど、いくつものドメインに分かれています。これらのドメインごとに電源をON/OFFするためのピンがEnableを示すEN_xxxと、PowerGoodを示すPG_xxxです。
EN_xxxには以下のものがあります。
- EN_LPD・・・TPS82085SILのEN。HでLPDが電源供給される。
- EN_FPD・・・NC7S08P5XでPG_LPDとAND。HでFPDが電源供給される。
- EN_PL・・・LTM4638EYのRUN。HでPLに電源供給される。
- EN_DDR・・・NC7S08P5XでPG_FPDとAND。HでDDR4に電源供給される。
- EN_PSGT・・NC7S08P5XでPG_FPDとAND。HでPSのMGTに電源供給される。
- EN_GT_R・・NC7S08P5XでPG_PLとAND。HでR側GTHに電源供給される。
- EN_GT_L・・NC7S08P5XでPG_PLとAND。HでL側GTHに電源供給される。
- EN_PLL_PWR・・TPS82085SILのEN。HでSI社PLLがEnableになる
となっています。
EN端子は、それぞれの電源ICのENABLE端子につながっていたり、PG信号とANDをとるためのワンチップゲートにつながっていたりするのですが、すべて3.3Vのロジックで動作するようになっています。Trenz製ベースボードのTEBT0808の回路図を見ると3.3Vから5.1kΩでプルアップしてDIPスイッチで切り替えられるようになっているので、GNDか、3.3Vへプルアップするかという選択ができればよいと思われます。
MGTにはRとLがあります。MGT_RはBank228、Bank229、Bank230で、J1に出ているGTHが該当します。
MGT_LはJ2に出てきているBank128のGTHが該当します。
PSGTというのは、DisplayPortなどで使われるPSのGTです。
なお、TE0808にはSilab社(現Skyworks社)のSi5345Aというクロックドライバが搭載されています。EN_PLL_PWRはSi5345Aの電源を個別にON/OFFするためのものです。Si5345Aは最大で1200mWの電力を消費し、また極めて敏感なPLL発振器なので個別の電源を用意しているのだと思われます。
PowerGood系の信号には
- LP_GOOD
- PG_FPD
- PG_PL
- PG_DDR
- PG_PSGT
- PG_GT_R
- PG_GT_L
- PG_PLL_1V8
があります。これらの信号はLP_DCDCやDCDCIN(通常は3.3V)などの電源入力に対して数kΩでプルアップされています。
まとめると、EN_xxxは3.3Vにプルアップすると各電源が有効になり、PG_xxxがHにプルアップされるというわけです。使わないクロックドメインは個別にシャットダウンできます。
PLL系信号
前述のようにTE0808にはクロックドライバSi5345Aが載っているのですが、このSi5345Aのコントロール信号がPLL_xxxの信号です。
- PLL_FINC・・・周波数増加
- PLL_LOLN・・・ロック消失(アクティブL)
- PLL_SEL0 / PLL_SEL1・・・マニュアル入力スイッチング
- PLL_FDEC・・・周波数減少
- PLL_RST・・・デバイスリセット(アクティブL)
- PLL_SCL / PLL_SDA・・・I2Cインタフェース
いろいろな信号がありますが、最低限必要なのはPLL_SCLとPLL_SDAです。I2CのインタフェースでSi5345Aの内蔵レジスタや内蔵ROMに書き込みを行うために必要です。出荷時にはSi5345Aは書き込みが行われていないので、SkyWorks社のツールをつないで外部から書き込みができるよう、ベースボードにはPLL_SDAとPLL_SCLをコネクタ等に出しておくか、FSBL中で操作できるようにしておく必要があります。
PLL_SDAとPLL_SCLの信号は1.8Vロジックです。ベースボードを設計する際に、ベースボード上にプルアップ抵抗を付けてください。I2Cのアドレスは1101001bです。
なお、TE0808にはEEPROMが乗っていて、PLL_SDA、PLL_SCLを通じてアクセスができるようになっています。しかし、これはSi5345Aのメモリではなく、MACアドレス等を記憶しておくための汎用的なEEPROMとして使われることを想定しているようです。
JTAG系信号
TCK、TDI、TMS、TDOはJTAG信号でPSの1.8V系のロジックとなっています。
MR信号
MRという信号は電圧監視IC「TPS3106」のMR端子につながっています。MRはManual Resetの意味であるようです。LPDの電源電圧である0.85Vが0.74Vを下回るとリセット信号POR_Bを出します。また、MR端子からもマニュアルでリセットできます。
つまり、MRをLにすると、POR_BがLになってリセットがかかります。MRはTE0808でどこにも接続されずにコネクタに出ているので、リセットを使用しない場合はオープンにすればよいでしょう。
なお、MRはTPS3106内部でLP_DCDC(3.3V)レールに対してプルアップされています。HになるのはVDD×0.7Vなので、1.8Vを加えてもHの電圧になりません。リセットをかけない場合はオープンにして、リセットをかける場合にGNDに落とすようにします。
ZYNQのコンフィグ関連端子
以下の端子はZYNQのコンフィグ関係の端子がそのまま出ています。
- PROG_B
- DONE
- INIT_B
- SRST_B
- PUDC_B
TE0808ボード上で4.7kΩでプルアップがされている(PUDCは1kΩ)ので、ユーザボード上ではオープンにしておいて構いません。
ZYNQのモード設定端子
MODE0..MODE3は、ZYNQの起動モードを決定します。MODEの値と起動モードの対応は以下のようになります。
- 0x0・・・JTAG
- 0x2・・・QSPI32 MIO[12:0]
- 0x3・・・SD0 MIO[25:13]
- 0x5・・・SD1 MIO[51:38]
- 0x6・・・eMMC_18 MIO[22:13]
- 0x7・・・USB0 MIO[52:63]
- 0x8・・・PJTAG_0 MIO[29:26]
- 0xE・・・SD1-LS MIO[51:39]
ZYNQ7000シリーズと異なり、SD0だけではなくSD1が使えるようになっていたり、USBやPJTAGからも起動できるようになっていて進化を感じさせます。
TE0808上ではプルアップもプルダウンもされずにコネクタに出ています。様々なモードを試すことがあると思うので、プルアップ/ダウン抵抗やDIPスイッチで設定しておくとよいでしょう。なお、ロジックレベルは1.8Vで、プルアップ先はPS用の1.8Vです。
ZYNQのエラー端子
ZYNQ UltraScale+のPSにはERR_STATUSとERR_OUTというエラー端子があります。
ERR_OUTはZYNQ内部のPMUが電源断やエラーや例外を検出するとアサートされます。ERR_STATUSはセキュアロックダウンステートであることを示します。いずれも1.8VのPS_1.8V系ロジックで、アサートされるとHになります。
TE0808のコントール端子の使い方まとめ
- EN_xxxを3.3Vにプルアップすると各電源ドメインがONになる。配線必須。
- PG_xxxは各電源ドメインの状態を表す。使わなければオープンで構わない。
- DONE、PROG、INIT、SRST、PUDCはオープンで構わない。
- MRは、マニュアルリセットしたい場合にLにする。それ以外はオープン。
- MODE[0..3]はプルアップ/ダウン抵抗を使って所定の値を設定すること。
- PLL_SDAとPLL_SCLは外部からコントロールできるようにすること。配線必須。プルアップ必須。
- それ以外のPLL_xxxはオープンで構わない。
- JTAG信号はコネクタに出す
TE0808の端子を調べているつもりが、いつのまにか、Zynq UltraScale+の端子の使い方を調べることになっていました。
| 固定リンク
コメント
スーパーコピーブランド!
友達の紹介するネットショップ.
対応するとても良いのがあります.
信用の店があるのです!
スーパーコピー腕時計 https://www.bbagok.com
投稿: スーパーコピー腕時計 | 2024.10.18 06:48