« 2024年11月 | トップページ

2024.12.22

いまさらながらCyclone3の回路を設計しています

いまさらですが、Cyclone3の基板を設計しています。

私はXILINX派なのでALTERAのことはよくわかりませんので、デバイスハンドブックを読んで電源ピンや専用ピンについて間違いのないように調べています。

電源ピンについて

電源のピンにはVCCINTとVCCIOのほか、VCCAとVCCD_PLLというものがあります。これはいったい何?

データシートをみると、VCCINT=VCCD_PLL=1.2V。VCCA=2.5V。

VCCIOは1.2~3.3Vの範囲であるようです。

Cy3_2

ちなみに絶対最大定格は下記のとおり。

Cy3_1

VCCAとVCCD_PLLは内部PLLのための電源だそうで、VCCD_PLLはVCCINTにつなげとのことです。

 

また、nSTATUS、nCONFIG、nCE、CONF_DONE、MSEL、DCLKですが、基本的にはnSTATUSとnCONFIG_DONEは10kΩでプルアップし、nCEはGNDに接続すればよいようです。

Cy3_3

 

XILINXでもSpartan-3のころはCONF_DONEが内部での起動開始信号に使われていたはずで立ち上がりの品質とかにうるさかったはずなので、同世代のCyclone3もこのあたりの使用方法については気になるところです。

ちなみに、ASとはActive SerialのことでシリアルROMを外部につけるやりかたです。外部のマイコンから注入されるのがPassive Serialで、Serialだと遅いのが問題になる場合にはActive ParallelやPassive Parallelを使います。

 

MSELについて

あと、MSELについてはコンフィギュレーションのモードに合わせて選択します

Cy3_4

Cy3_5

MSELについて気になることがいくつか書いてあって、コンフィギュレーション電圧によってMSELの値を変えなければならないようです。コンフィギュレーション電圧とはコンフィグピンが所属するバンクのVCCIO電圧のことです。これはわかる。

MSELはVCCINTで動いているようなのですが、電圧の設定はVCCAでおこなうそうです。VCCINTなのかVCCAなのかどっちやねん!

誤ったコンフィギュレーションスキームが選択されるのを避けるためにもVCCAやGNDにプルアッププルダウン抵抗を介さずに直接つなげと書かれています。あとマイコンからMSELを駆動するなとか書いてあるし。

MSELには9kΩの内蔵プルダウン抵抗が入っているとも書かれていますが、フローティングにするなとも書かれています。どっちやねん!

それから、JTAGを使ったコンフィギュレーションはその他のコンフィグよりも優先されると書かれていますが、その場合でもMSELはオープンにするなと書かれています。だからどっちやねん!まぁ、GNDに接続するのが推奨だとのこと。

 

スタータキットの回路を調べてみる 

Cyclone3のスタータキットの回路図を見てみると、

Cy3_6

VCCAに直接つないでいますね。MSEL=1011だから3.0/2.5VのActive Parallelだと!?

評価基板のくせに2.5V IOを使うのか!?レベル高いな。

 

ALTERAのpinoutファイルをダウンロードして調べてみると、コンフィグ関連ピンはIO Bank 1に所属し、CONF_DONEとMSELはIO Bank 6に所属しているようです。

Cy3_7

スタータキットの回路図を見るとJTAGは2.5Vなのに外部のピンに出したり、他のデバイスとチェーンするためにADG3304やADG3308のバッファを使って電圧を変換しています。大変そうだし、一歩間違えると基板の作り直しになるややこしい設計になっています。

Cy3_8

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へプルアップ。

 

| | コメント (0)

2024.12.21

JLCPCBに実装まで含めて発注してみた

今回、はじめてJLCPCBに実装まで含めて発注してみました。

検索するとJLCPCBに発注する記事はいくつか見かけるのですが、どれもKiCADを使ったものばかりですね。

私はPROTEL99SEを25年使っているのですが、さすがのJLCPCBもPROTEL99SEには対応していません。

ということで、PROTEL99SEで作った部品表を手作業で調整しながら、JLCPCBに発注する方法をまとめます。

 

まず、いつものようにガーバデータをZIPで固めて、JLCPCBの見積ページにドラッグ&ドロップして読み込ませます。

私の作ったデータの場合、どうしても2層として自動判定されてしまうので手動で4層を選びなおします。

Jlc_1

 

ガーバをアップロードしなおしたりPCBAをON/OFFすると層数が2に、「異なるデザイン」の数量が1に、表面処理が自動的にHASLになってしまので、正しい値を選択します。

基板のオプションなどを設定していって、下にいくとPCB組み立てというのがあるのでONにします。なお、ステンシルはOFFのままでもよさそうです。(PCB組み立てを選んだだけで自動的にステンシルは作られる)

Jlc_2

PCB組み立てをONにするとパネルづくりを手伝うかというダイアログが出るので、「いらない」を選択します。

Jlc_3

量産するような場合に、面付をJLCPCBに任せて効率化することを意味するようです。

PCB組み立ての選択パネルが開くのですが、デフォルトでは片面実装になっています。

両面実装にするにはエコノミックから標準に切り替えて、組み立てサイドを両面にします。

PCBA数量は最低が2個からなので、少なくとも2枚は実装しなければなりません。

Jlc_4_20241222074401

右側の料金計算の部分で「PCBAのみ」と書かれた方を選択して次へを押します。

※PCBAのみというのは、PCB実装しかしてくれないものだと思っていましたが、おそらくPCB実装を依頼する場合のみ選択して良いという意味なのでしょう。

確認の画面が出るので次へを押します。

Jlc_5

そして、BOMファイルとCPLファイルを求められます。

BOMは部品表、CPLは配置データのことです。

PROTEL99SEの場合、Cam ManagerでBOMとPickPlaceを追加します。

Jlc_6

やり方としては、PROTELが吐き出すBOMファイルの拡張子をXLSに変更してExcelで開き、新しいExcelファイル(xlsx)に内容をコピペして貼り付けます。(拡張子をxlsxにするのと、書式をクリアするため)

BOMは以下のような形式になります。

  • 1列目 Comment 素子の値とか
  • 2列目 Designators 部品番号
  • 3行目 Footprint 形状
  • 4行目 LCSC 部品会社LCSCの品番

Jlc_7

CommentsとDesignatorsとFootprintはPROTEL 99SEが出力したものをそのまま使えます。自分でやらなければならないのはLCSC品番を調べることくらいです。

ちなみに、LCSCというのは香港の部品流通業者で大量の部品在庫を持っています。Cで始まる部品番号を調べて記入します。このときLCSCが在庫しているデバイスに合わせるために若干手動で調整することがあるかもしれませんし、1.8Vと3.3Vの電源ICを同じ型番で回路図を書いてしまったようなときには、ここで手作業で修正します。

  

次にPROTELの出力した「Pick Place for ●●●●.csv」という配置データを開きます。

実は、このファイルはそのままCPLファイルとして読み込ませることができます。さすがPROTEL99SE、優秀。25年経ってもまだ使える。

形式は以下のとおりです。

Jlc_8

もしかするとFootprintとCommentはBOMと合わせておいたほうがいいかもしれません。

 

BOMとCPLを読み込ませたら、「BOMとCPLを処理する」ボタンを押します。

Jlc_9

私の場合、部品数が多すぎるせいなのかエラーが出ますが、そのまま次へを押せば次に進むことができました。

Jlc_10

(もしかするとDESIGNATORSという部品番号の部品がCPLファイルにみつからないと言っているのかもしれない。BOMの先頭行がコメントとして認識されていないだけか?)

 

BOMとCPLが連携されて、LCSCとも連携されて詳細な部品リストが表示されます。

Jlc_11

LCSCに在庫がない部品は「●個不足」にしておきます。

テストポイントみたいに実装しない部品は、BOMでLCSCの列を空欄にしておけば、「部品選択なし」になるので実装されません。(このやり方が正解かどうかはわからないけどうまくいっている)

次へを押した先のダイアログで「配置しない」を押せば、実装されないまま次に進むことができそうです。

Jlc_12

 

基板に部品が乗ったイメージの絵が生成されるので、3Dにして思う存分堪能します。

Jlc_13

 

そして最後の画面で金額を確認して終了です。

基板を作って、1604個の部品を実装しても3万円程度ですからコストパフォーマンスがすごすぎますね。

 

BOMはExcelを使って自分で書けるし、CPLはPROTELのPickPlaceのCSVがそのまま使えました。

 

| | コメント (3)

2024.12.20

シンIC Type-B用デバッグ基板の設計

シンICのType-B用デバッグ基板の設計を行いました。

この基板は中継基板から上がってくる720個の信号をLEDに表示するというものです。

コネクタのピンはGNDを含めて800ピンあるのですが、使っている信号は720個です。

しかし、コネクタのピン番号とLEDや抵抗の部品番号がずれるとややこしくなるので、ダミーのLED+抵抗を80個乗せています。

Sdb_1

合計で800個のLEDがあるのですが、使っているのは720個という富豪な設計です。

 

この基板の設計はシルクとの闘いの連続でした。

部品はコピペできますが、シルクは1つ1つ大きさや位置を微調整しないと見栄えがわるくなります。

Sdb_2

特に裏面はシルクを配置する隙間がなく苦労しました。

Sdb_3 

 

 

| | コメント (0)

2024.12.18

シンIC Type-Aデバッグ基板の設計

永き眠りを経て、半導体真贋判定装置「シンIC」の開発を再開します。

 

2023年に開発したシンICの装置は、検査の速度が遅いという問題がありました。

今の装置でも数個程度の検査なら構わない(セットアップの手間と時間のほうがかかるので、1個あたりのランタイムは気にならない)のですが、100個とか200個といった単位でICを検査する場合には実行時間を短くしなければなりません。

 

そこで、100倍の高速化を目指してコントロール装置を全面的に作り直すことにしました。

(ほかにも安全対策とか、いろいろな目的がある)

 

まずは設計の感覚を取り戻すためにもType-A用デバッグ基板の設計を行います。

たしか、最初に1辺の配置をして・・

Sda_3

コピペするんだったかな・・

Sda_4

 

そんなこんなで設計できました。

この基板は中継基板から上がってくる360個の信号をLEDに表示するというものです。

Sda_1

Sda_2

作っているうちにだんだん感覚を取り戻してきました。

 

年内に何か成果をだせるかな?

| | コメント (0)

« 2024年11月 | トップページ