いまさらながらCyclone3の回路を設計しています
いまさらですが、Cyclone3の基板を設計しています。
私はXILINX派なのでALTERAのことはよくわかりませんので、デバイスハンドブックを読んで電源ピンや専用ピンについて間違いのないように調べています。
電源ピンについて
電源のピンにはVCCINTとVCCIOのほか、VCCAとVCCD_PLLというものがあります。これはいったい何?
データシートをみると、VCCINT=VCCD_PLL=1.2V。VCCA=2.5V。
VCCIOは1.2~3.3Vの範囲であるようです。
ちなみに絶対最大定格は下記のとおり。
VCCAとVCCD_PLLは内部PLLのための電源だそうで、VCCD_PLLはVCCINTにつなげとのことです。
また、nSTATUS、nCONFIG、nCE、CONF_DONE、MSEL、DCLKですが、基本的にはnSTATUSとnCONFIG_DONEは10kΩでプルアップし、nCEはGNDに接続すればよいようです。
XILINXでもSpartan-3のころはCONF_DONEが内部での起動開始信号に使われていたはずで立ち上がりの品質とかにうるさかったはずなので、同世代のCyclone3もこのあたりの使用方法については気になるところです。
ちなみに、ASとはActive SerialのことでシリアルROMを外部につけるやりかたです。外部のマイコンから注入されるのがPassive Serialで、Serialだと遅いのが問題になる場合にはActive ParallelやPassive Parallelを使います。
MSELについて
あと、MSELについてはコンフィギュレーションのモードに合わせて選択します
MSELについて気になることがいくつか書いてあって、コンフィギュレーション電圧によってMSELの値を変えなければならないようです。コンフィギュレーション電圧とはコンフィグピンが所属するバンクのVCCIO電圧のことです。これはわかる。
MSELはVCCINTで動いているようなのですが、電圧の設定はVCCAでおこなうそうです。VCCINTなのかVCCAなのかどっちやねん!
誤ったコンフィギュレーションスキームが選択されるのを避けるためにもVCCAやGNDにプルアッププルダウン抵抗を介さずに直接つなげと書かれています。あとマイコンからMSELを駆動するなとか書いてあるし。
MSELには9kΩの内蔵プルダウン抵抗が入っているとも書かれていますが、フローティングにするなとも書かれています。どっちやねん!
それから、JTAGを使ったコンフィギュレーションはその他のコンフィグよりも優先されると書かれていますが、その場合でもMSELはオープンにするなと書かれています。だからどっちやねん!まぁ、GNDに接続するのが推奨だとのこと。
スタータキットの回路を調べてみる
Cyclone3のスタータキットの回路図を見てみると、
VCCAに直接つないでいますね。MSEL=1011だから3.0/2.5VのActive Parallelだと!?
評価基板のくせに2.5V IOを使うのか!?レベル高いな。
ALTERAのpinoutファイルをダウンロードして調べてみると、コンフィグ関連ピンはIO Bank 1に所属し、CONF_DONEとMSELはIO Bank 6に所属しているようです。
スタータキットの回路図を見るとJTAGは2.5Vなのに外部のピンに出したり、他のデバイスとチェーンするためにADG3304やADG3308のバッファを使って電圧を変換しています。大変そうだし、一歩間違えると基板の作り直しになるややこしい設計になっています。
CONF_DONEやnSTATUSなどは2.5Vでプルアップしているようです。
このスタータキット、CONF_DONEでLEDを光らせるために2回もトランジスタを使っている・・。
まとめ
VCCINT=VCCD_PLL=1.2V。
VCCA=2.5。
VCCIOは1.2~3.3Vですが、Bani1とBank6にコンフィグ関連ピンがあるので要注意です。
CONF_DONEとMSELはBank6に所属しています。Bank6のVCCIO電圧は3.3Vでも構わないのですが、MSELの設定はVCCA(2.5V)からの直結(プルアップ抵抗なし)になるので、ちょっと恐ろしいです。MSELはVCCA(2.5V)で設定ですがMSELのBankはVCCIO6なので要注意です
nCEはGNDへ。nSTATUSとCONF_DONEとnCONFIGは10kΩでVCCIO1へプルアップ。
最近のコメント