Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SecurityCamp2023基板作るコース講義資料/Security Camp 2023 Lecture Materials

SecurityCamp2023基板作るコース講義資料/Security Camp 2023 Lecture Materials

セキュリティ・キャンプ2023のX2 基板作るコースで利用した講義資料です。

Toshifumi NISHINAGA

March 15, 2024
Tweet

More Decks by Toshifumi NISHINAGA

Other Decks in Technology

Transcript

  1. 謝辞 • レビュー協⼒ • uchanさん • koiking213さん • 回路設計アドバイス •

    homelithさん • 講義を受けてくださった受講⽣のみなさま • 講義を⼿伝ってくださったチューターのみなさま 3 ありがとうございました!
  2. 講義⽬的 • 問題解決⼿段に「電⼦回路・基板を作る」を加えるきっかけを 作る • 必要になる知識・技能 • 回路図の読み書き • ブレッドボードを使った試作

    • はんだづけ • ユニバーサル基板を使った試作 • 回路図CAD・基板設計ソフトを使った設計 • 基板制作の外部発注 10
  3. ⽬次 • 電⼦回路⼊⾨ • かんたんな回路図の読み⽅・書き⽅の解説 • はんだづけ⼊⾨ • はんだづけの⽅法を学び、実践的に習得する •

    回路図CAD・基板設計⼊⾨ • コンピュータを⽤いて電⼦回路基板を設計する • ノイズ対策⼊⾨ • 基本的なノイズ対策を学ぶ • 実践: JTAGアダプタを作ってみよう • マイコン等のデバッグに使うJTAGアダプタを作る • 電⼦回路の設計、基板作成、試作、デバッグ技能を習得する 12
  4. よく使う部品と回路図記号 • 以下をご紹介 • 抵抗器(resistor) • コンデンサ(capacitor) • コイル(inductor) •

    ⽔晶(crystal) • ダイオード(diode) • トランジスタ(transistor) • 電源(power) • 接続点(junction) 20
  5. 抵抗器(resistor) • 概要 • 電気を流れを妨げる部品 • 電源電圧と抵抗値に応じた電流が流 れる • オームの法則(V=IR)に従う

    • 単位 • オーム(Ω) • ⽤途 • 流れる電流の制限 • 別の部品に加わる電圧の調整 21 回路図記号 実物
  6. コンデンサ (capacitor) • 概要 • 電気(電荷)を貯めて放出する部品 • 単位 • ファラッド(F)

    • 主な⽤途 • 電源の安定化・ノイズ対策 • バイパスコンデンサなど(後述) 22 回路図記号 実物
  7. コンデンサの種類 • 無極性コンデンサ • 接続の極性が無いコンデンサ • 極性: 正負の電荷の偏り 電池のプラス・マイナス •

    例: 積層セラミックコンデンサ • 極性ありコンデンサ • 接続の極性があるコンデンサ • 逆接続すると爆発するものもあ るので注意 • 例: 電解コンデンサ 23 積層セラミックコンデンサ(無極性) マイナス側 (⾜の短い⽅) 電解コンデンサ(極性あり) プラス側 (⾜の⻑い⽅)
  8. コイル(inductor) • 概要 • 電気を磁気に変えて貯める部品 • 単位 • ヘンリー(H) •

    ⽤途 • 電圧変換 • ノイズ対策 24 画像は秋⽉商品ページより引⽤ https://akizukidenshi.com/catalog/g/gP-13551/ 回路図記号 実物
  9. ⽔晶(Crystal) • 概要 • 電圧を加えると⼀定周期で振動する部 品 • ⽤途 • ICのクロック

    25 画像は秋⽉商品ページより引⽤ https://akizukidenshi.com/catalog/g/gP-01757/ 回路図記号 実物
  10. 半導体 • 電気を通しやすいもの(導体)と 電気を通しにくいもの(不導体) の中間のもの • 異なる不純物を混ぜた半導体(P型、 N型)を組み合わせると、様々な特 性が得られる •

    ⼀定⽅向(順⽅向)に電圧を加えた ときのみ電流が流れる • 少ない電流を増幅して流す 26 ⾼電位 低電位 参考資料: https://ja.wikipedia.org/wiki/半導体 はじめての電⼦回路15講 (pp.22-24, 秋⽥純⼀著, 講談社)
  11. ダイオード(diode) • 概要 • アノード側からカソード側にのみ電流を流す 半導体部品 • アノード(Anode): 電源装置の+側を繋げるところ •

    カソード(Kathode):電源装置の-側を繋げるところ • 光るLEDもダイオードの⼀種 • Light Emitting Diode : LED • ⽤途 • 電源整流 • 電流の流れる向きを1⽅向に整える • 回路保護 • 逆向きの電流が流れないようにする • 光らせる(LED) 27 A K A K アノード カソード ※ Kathodeはドイツ語(参考: https://ja.wikipedia.org/wiki/%E3%82%AB%E3%82%BD%E3%83%BC%E3%83%89 ) 線のある⽅がK 回路図記号 実物
  12. トランジスタ (transistor) • 概要 • ベース(B)・エミッタ(E)間に電流(ベース 電流)を流すと、ベース電流の数百倍の電 流がエミッタ(E)・コレクタ(C)間に流れ る半導体部品 •

    NPNとPNPの2種類ある • NPN: B→Eにベース電流を流すとC → Eに⼤きな電流が流れる • PNP: E → Bにベース電流を流すとE → Cに⼤きな電流が流れる • ⽤途 • 電流増幅 • スイッチング 28 ベース エミッタ コレクタ npn pnp 回路図記号 実物
  13. 電源(power) • 概要 • 回路に電気を供給する装置 • 実態は電池やAC/DCアダプタ等 • VCCとGND •

    VCC: 基準電位から⾒て電位の⾼い⽅ • +5Vなど、電圧を書いたシンボルもある • 電池だとプラス側 • GND: 基準電位 • ある回路内で基準とする電圧 • 電池だとマイナス側 29 VCC GND 回路図記号 実物
  14. 定格の例: 抵抗 • 1/4W抵抗 • 消費電⼒0.25Wまで⼤丈夫 -> 抵抗に5V加えて50mAまで 電流を流してOK 33

    https://akizukidenshi.com/catalog/g/gR-25103/ より引⽤ 消費電⼒(W) = 電流(A) * 電圧(V)
  15. 定格の例: LED • LEDの定格は種類・⾊によって異な る • OSR5JA3Z74Aの場合 • 標準順⽅向電圧Vf: 2.1V

    • 最⼤順⽅向電流If: 30mA • https://akizukidenshi.com/ catalog/g/gI-11577/ • 電源に直つなぎすると壊れる • 電流制限抵抗を⼊れて調整する 34 ※秋⽉のサイトにはIfが標準電流として記載されている
  16. 演習1ヒント • 直流回路なので… … • 抵抗Rに流れる電流IrとLEDに流れる電 流Ifは同じ • V =

    Vf + Vr • IfとVrの関係から抵抗Rを求める • 回答は次ページ 36 R 5V V Vr
  17. 演習1の答え • R = (5[V] ‒ 2.1[V]) / 0.03[A] ≒

    97[Ω] • 100Ωの抵抗をつけると定格の最 ⼤で光る • 丁度よい抵抗が売ってない場 合は近い値の抵抗を使う 37 100Ω 5V
  18. 演習1.1の答え • I =(V ‒ Vf) / Rより I =

    (5 - 2.1) / 1000 = 2.9[mA] • 定格最⼤順⽅向電流の1/10程 度で⼗分光る • LEDの⾊や仕様によって異なるの で注意 40 100Ω抵抗で光らせたLED 1kΩ抵抗で光らせたLED
  19. なにを実現したいか考える • 何を実現したいかを考える • 実現の⽅法は複数ある • 電⼦回路でなくても良いことも • 今回の実習の場合 •

    LEDを点滅させたい • ⾮安定マルチバイブレーター(講義で扱うのはこれ) • タイマーIC? • マイコン? 43
  20. ⾮安定マルチバイ ブレーターとは • コンデンサが充放電を繰り返して左右の トランジスタを交互に作動させる回路 • LEDを繋ぐとLEDを点滅させられる • 原理は下記参照 •

    http://www.piclist.com/images/www/hobby _elec/ckt7_2.htm • https://cc.cqpub.co.jp/system/contents/150 0/ 44 回路図参考: http://bbradio.sakura.ne.jp/multi11/multi11.html
  21. ブレッドボード 試作の メリット・デメ リット • 試作が簡単 • デバッグも簡単 メリット •

    ⾼い(1枚400円程度) • 部品が簡単に抜けるため、⻑ 期的に使う回路には向かない デメリット 53
  22. アートワーク設計 • 基板のどこに部品を置いて、 どう配線するかを記した図 • 書き⽅ • ⼿書き • 基板をコピー機で印刷して⼿書き

    • (機材に同梱して配布予定) • コンピュータ • Fritzingというツールがある • 個⼈的には⼿書きの⽅がおすすめ 55
  23. はんだづけで使う道具 • はんだこて • 替えのこて先 • こて台 • こて先クリーナー •

    はんだ • はんだ吸い取り器 • はんだ吸い取り線 • フラックス 64 • ニッパー • ラジオペンチ • ピンセット • 保護メガネ • 耐熱・静電気防⽌マット • ルーペ
  24. Note: スルーホールと 表⾯実装 • スルーホール(Through Hole Device, THD) • 部品のリードを基板の⽳に

    通してはんだづけする部品 • はんだづけしやすいが、ス ペースをとりがち • 表⾯実装(Surface Mount Device, SMD) • 部品の端⼦を基板の表⾯に はんだづけする部品 • はんだづけしづらいが、省 スペース 68 画像はSeeedstudioより引⽤ https://www.fusionpcb.jp/blog/?p=316
  25. こて先クリーナー • こて先のはんだを落とすもの • ⼤まかに2タイプある • スポンジ • ⽔で膨らませて使う •

    ⽔分でこて先温度を下げられる • ⾮温調はんだごて向き • クリーニングワイヤー(⾦たわし) • たわし部に差し込んで使う • 使ってもこて先温度が変わらな い • 温調はんだこて向き 70
  26. Note: 有鉛はんだと鉛フリーはんだ 素材 融点 はんだづけ性 有鉛はんだ 鉛 + すず 約183℃

    良い (鉛が流動性を⾼めるため) 鉛フリーはんだ すず + 銅 など 約217℃ あまりよくない 72 参考: https://godhanda.co.jp/blog/melting-point-of-solder/
  27. Note: なぜ鉛フリーはんだを使うのか • 環境問題対策 • 1990年代 • 廃棄電⼦部品からの鉛流出が問題になった • 2006年

    • EUがRoHS指令(有害物質規制)を施⾏ • 鉛等の電⼦回路への使⽤が原則禁⽌ • 作業者の安全対策 • はんだづけ中に鉛を吸う可能性が減る • 時代の流れ • 今は鉛フリーの世の流れ • 慣れておいたほうが役⽴つかも 73 参考資料 https://www.hakko.com/japan/namari/pages/ https://ja.wikipedia.org/wiki/鉛フリーはんだ ⽬で⾒てわかる はんだ付け作業鉛フリーはんだ編(pp.6-10, 野瀬 昌治, ⽇刊⼯業新聞社)
  28. はんだ吸い 取り器 • 溶けたはんだを空気圧で吸 い取る道具 • 押し込んだピンがバネで戻 る⼒で吸い込む • 多めのはんだ除去に便利

    • スルーホール部品等 • コスパよし • 使っても減らない • 吸い取り線と併⽤がおすす め • 吸い取り器は少しはん だが残る 74 講師オススメ吸い取り器: ENGINEER SS-02
  29. はんだ吸い取り線 • 溶けたはんだを熱した銅の布で 吸い取る道具 • 少量のはんだ除去に便利 • Tips: • Widthが太い:

    スルーホールにオス スメ • Widthが細い: 表⾯実装にオススメ 75 https://www.amazon.co.jp/dp/B001PR1KPQ より引⽤
  30. フラックス • はんだづけしやすくする液 体 • ⾦属表⾯の酸化膜を取 る • ⾦属表⾯の不純物を取 る

    • 無洗浄タイプがおすすめ • 洗浄しないと基板が腐 ⾷するものもある • ⼀応⼈体に有害なので、 使うときは要換気 & ⼿洗い 76
  31. ⼯具類 • ニッパー • 細い⾦属線を切る道具 • 切ったときに部品が⾶ばないよう注 意 • ⽖切りをイメージ

    • ラジオペンチ(※) • 先の細いペンチ • 部品の曲げ加⼯等に使⽤ • ピンセット • ⼩さい部品を掴む道具 • 表⾯実装時に必須 • ⽤途に応じて形状等使い分ける 77 ニッパー ラジオペンチ ピンセット ※: ラジオペンチは⽇本独⾃の呼び⽅。世界的にはロングノーズプライヤー
  32. 吸煙装置 • ヒュームを吸い取る装置 • ヒューム • はんだづけ時に出る煙 • 吸い込むと喉を痛める等、⼈体に 有害

    • なるべく吸わない⽅が良い • 買うと⾼いが⾃作もできる • https://www.sho- k.co.uk/tech/646.html 79 画像はgoodの商品ページより引⽤ https://www.goot.co.jp/products/detail/ss_10
  33. 怪我をしないために注意したいこと • はんだこての持ち⼿以外を触らない • はんだこてを使い終わったら必ず電源を抜く • はんだ付け中は部品を⼿で持たない • 部品も⼀緒に加熱されてやけどする •

    耐熱テープ等で固定するのがおすすめ • はんだ付け中は保護メガネを着⽤する • 部屋の換気する • 気化したフラックスを吸い込まないように • 耐熱マットを敷く • はんだづけが終わったら⼿を洗う 82
  34. コツ:はんだの形 • 富⼠⼭型が理想のはんだづけ • 右図参照 • はんだ不良 • はんだがしっかりついてない状 態のこと

    • ショート・割れ・接続不良等の 原因 88 https://www.hakko.com/japan/namari/pages/ より引⽤
  35. ユニバーサル基板を使う理由 • ⼩サイズ化できる • ブレッドボードより無駄なくコンパクトに纏められる • 試作回路を固定できる • ブレッドボードは⼀時的に使うもの •

    何度も使いたい回路は基板に実装するとバラけず、使いやすい • (⽳を開ければ)ブレッドボードに刺さらない部品も使える • デバッグ・修理が⽐較的容易 • 配線が隠れていないためテスタが当てやすい • 配線を切ったり、バイパスもやり放題 93
  36. ユニバーサル基板 の素材 • 紙フェノール • メリット • 安価 • 柔らかくて加⼯しやすい

    • デメリット • 経年で曲がる • ガラスエポキシ • メリット • 経年で曲がりづらい • デメリット • 固くて少し加⼯しづらい 95 画像はマルツ商品ページより引⽤ https://www.marutsu.co.jp/pc/i/55048/ https://www.marutsu.co.jp/pc/i/55049/ 紙フェノール ガラスエポキシ
  37. ユニバーサル基板のランド • ⽚⾯ • ランドが⽚⾯にだけついている • 両⾯(著者のおすすめ) • ランドが両⾯についている •

    ランドの表裏は導通していない • 部品の裏⾯でショートとか考えなく て良い • 両⾯スルーホール • ランドが両⾯についている • ランドの表裏が導通している 96
  38. 演習4: アートワークの作成 • ユニバーサル基板上での⾮安定マ ルチバイブレーターLED点滅回路 のアートワークを作ってみましょ う • 概要図・回路図はskip •

    おすすめのやり⽅ • ユニバーサル基板をモノクロコピー して書き込む • (機材に同梱予定) • 表⾯は⿊ペン・裏⾯は⾚ペンで書く 98
  39. PWBとPCB • PWB(Printed Wiring Board) • 部品の載っていない、配線のみのプ リント基板 • PCB(Printed

    Circuit Board) • 部品が載って回路が動作するように なったプリント基板 107 参考: https://www.p-ban.com/about_pcb/pcb.html PWB PCB
  40. ユニバーサル基板に対するプリント基板のメ リット・デメリット メリット • より⾃由に作れる • 部品を置く場所が⽳の位置に左右されない • 表⾯実装部品も使いやすい •

    めっき線での配線⼯程が不要 • 基板が届いた時点で配線済み • ⼤量⽣産しやすい デメリット • ⾼価(安くても10枚3000円くらい) • 2週間程度の納期 • デバッグしづらい • 配線がすべてレジスト(塗料)の下にあり、テ スタをつなぎづらい • 配線修正にはパターンカット等の職⼈芸が 必要 108 `
  41. いつプリント基板を作るか • 基本はメリットがデメリットを上回ったときに作る • 基板を⼩さくしたい • 表⾯実装部品を沢⼭使いたい • 同じ基板を複数個作りたい •

    複雑な回路の配線作業時間コストを減らしたい • 時給1000円として3時間以上配線作業すると基板発注費⽤を超える 109
  42. 回路図CAD・基板 設計とは • 回路図CAD • 回路図をコンピュータ上で書くため のソフトウェア • 基板設計(ソフト) •

    プリント基板の配線を設計するソフ ト • 配線図をコンピュータで作るイ メージ • 基本両⽅セットで1つのアプリ 111
  43. 回路図CADを使った回路図設計⼿順 • 準備 • KiCadのインストール • 基本操作を覚える • 回路図を引く(省略) •

    アノテーション(部品番号)する • ERC • 配線のルールチェック • 部品選定 • 実際に使う部品をショップで⾒繕う • footprint assign • 回路図のシンボルと部品のはんだ付け⾯(footprint)を対応付ける 113
  44. KiCadのインストール • 以下からversion7.0.1をダウンロード • Mac • https://downloads.kicad.org/kicad/macos/explore/stable/download/kicad- unified-universal-7.0.1-0.dmg • Windows

    • https://downloads.kicad.org/kicad/windows/explore/stable/download/kicad- 7.0.1-x86_64.exe • Ubuntu • https://www.kicad.org/download/ubuntu/ • Note: バージョンを指定する理由 • 回路図を作った環境と開く環境が異なると不具合が起こる場合がある • (開くソフトのバージョン < 作ったソフトのバージョン) で起こりがち 114
  45. 配線作業中の基本操作(Mac) アイコン ショートカット 機能 ⽤途 Esc Esc 選択 シンボルの選択等 A

    シンボル追加 クリックして部品を追加 P 電源シンボル追加 クリックして電源シンボルを追加 W 配線 配線を追加する Q No connect flag “何も繋がない“を明⽰するフラグ J 接続点 交差した配線を繋ぐマーク L Local label 配線にラベルを付ける (同じラベルは接続される) T Text コメントを書き込む 119
  46. 選択後右クリック操作(Mac) ショートカット 機能 ⽤途 M Move シンボルを移動する G Drag 配線を接続したまま移動

    する R, X, Y Orientation 回転・XY軸反転 E Edit properties シンボルの値等を編集 120
  47. シンボル追加の⽅法 • 検索窓に⽬的の部品名を⼊れ る • 例: LED • 部品を選んだらOKボタンを押 す

    • 部品選択状態で回路図CAD画 ⾯に戻る • 任意の場所でクリックして配置 122
  48. kicad上でのシンボル名 123 部品 kicad シンボル名 部品番号(頭⽂字) 抵抗 R R 無極性コンデンサ

    C C 極性ありコンデンサ CP C 電源 VCC, +5V等 ダイオード D, LED D トランジスタ npn, pnp Q ⽔晶 Crystal Y
  49. ラベル • 配線に名前(ラベル)をつけられる • 同じラベルがついた配線はつな がったことになる • ラベルの種類 • label(local)

    • 同⼀シート内だけで使えるラベル • 右の例で使っているのはこれ • Global label • 複数シートをまたげるラベル 126 回路図 アートワーク
  50. 回路図CADを使った回路図設計⼿順 • 準備 • KiCadのインストール • 基本操作を覚える • 回路図を引く(省略) •

    アノテーション(部品番号)する • ERC • 配線のルールチェック • 部品選定 • 実際に使う部品をショップで⾒繕う • footprint assign • 回路図のシンボルと部品のはんだ付け⾯(footprint)を対応付ける 127
  51. 回路図CADを使った回路図設計⼿順 • 準備 • KiCadのインストール • 基本操作を覚える • 回路図を引く(省略) •

    アノテーション(部品番号)する • ERC • 配線のルールチェック • 部品選定 • 実際に使う部品をショップで⾒繕う • footprint assign • 回路図のシンボルと部品のはんだ付け⾯(footprint)を対応付ける 129
  52. ERC(Electrical Rule Check)のやり⽅ • ERCはすべての配線完了後に実⾏ するテスト機能 • 以下を検出できる • アノテーション忘れ

    • 未配線 • ERCボタン( )を押して開始 • エラー0を⽬指す • 無視せざるを得ないエラーもある • (ので迷ったら講師に相談してください) 130
  53. よくあるERCエラーと対応 • no connect • 未配線のピンがあるときに出る • no connect flag(✗マーク)をピンにつけると解決

    • PWR_FLAG忘れ • VCC等にどこからも電源が供給されてないと出る • PWR_FLAGをつけると解決するかも • 無視せざるを得ないエラー • symbolのin/out属性の不⼀致等 • その他⾊々 • 困ったら講師やチューターに相談してください 131
  54. 回路図CADを使った回路図設計⼿順 • 準備 • KiCadのインストール • 基本操作を覚える • 回路図を引く(省略) •

    アノテーション(部品番号)する • ERC • 配線のルールチェック • 部品選定 • 実際に使う部品をショップで⾒繕う • footprint assign • 回路図のシンボルと部品のはんだ付け⾯(footprint)を対応付ける 132
  55. 部品選定 • footprint選定に必要 • 使う部品のサイズにあったfootprintを選ぶ必要があるため • 部品は以下を気にしながら探す • ショップに在庫があるか •

    耐圧等のスペックが⾜りるか • ⾃分がはんだづけできる⼩ささか • 1つのショップで買えるか • まとめたほうが送料が得 133
  56. 部品選定の例 • 買うもの • 3.3V電源で使うバイパスコンデンサ(0.1uF 無極性) • 買う場所を選ぶ • 実店舗で買いたいので秋⽉

    • サイズを選ぶ • 0.1uFで検索。1608に決定 • 定格等を確認する • 定格50V、部品供給状況も問題なし • 部品を決定 • GCM188L81H104K57 • https://akizukidenshi.com/catalog/g/gP- 16143/ 135 秋⽉商品ページより引⽤ https://akizukidenshi.com/catalog/g/gP-16143/
  57. 回路図CADを使った回路図設計⼿順 • 準備 • KiCadのインストール • 基本操作を覚える • 回路図を引く(省略) •

    アノテーション(部品番号)する • ERC • 配線のルールチェック • 部品選定 • 実際に使う部品をショップで⾒繕う • footprint assign • 回路図のシンボルと部品のはんだ付け⾯(footprint)を対応付ける 136
  58. footprint assignのやり⽅ 1. footprint設定したい部品を選ぶ 2. フィルタルールを活⽤して購⼊予定の部 品のfootprintを探す • 例: 1608Mサイズコンデンサ

    • Capacitor_SMDライブラリ内から1608で検索 3. footprint⼀覧からfootprintを選び、ダブ ルクリックで確定する • Capacitor_SMD_C_0603_1608Metric を選択し てダブルクリック 4. ”Apply, Save schematic & Continue”ボタ ンを押す • 忘れてOK押すと対応が消えたりするので注意 5. ”OK”ボタンを押す 141
  59. よく使うfootprintライブラリ 142 部品 ライブラリ名 抵抗 Resistor_SMD, Resistor_THT コンデンサ Capacitor_SMD, Capacitor_THT

    ダイオード Diode_SMD, Diode_THT, LED_SMD, LED_THT トランジスタ、IC等 Package_TO等(ICのパッケージ名で検索) ⽔晶 Crystal
  60. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 144
  61. 配線作業中の基本操作(Mac) アイコン ショートカット 機能 ⽤途 X 配線 配線を開始する Shift +

    Cmd + V Via 複数レイヤの配線を繋げる⽳ Option + Z Zone 領域内をベタ塗りする Shift + Cmd + K Keepout Area 不可侵領域をつくる。 ベタが⼊り込まないようにする Shift + Cmd + L Line 外形線等を引くのに使う Shift + Cmd + T Text テキストを書き込む 147
  62. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 149
  63. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 153
  64. よく使う基板のレイヤー • Cu • 配線⽤の銅レイヤー • SilkS • 基板表⾯に⽂字等を印刷するシルクスクリーンレイヤ •

    Edge.Cuts • 基板の外形レイヤ • ここで引いた線に沿って基板がカットされる 155
  65. たまに使うレイヤー • Fab • 製造者向けの情報(部品番号等)を書くレイヤ • PCB Assembly(部品実装)を頼むときに使う • Dwgs.User

    • ユーザーが⾃由に使えるレイヤ • コメントや⼨法確認を⼊れるときに使う • Mask • レジストをマスクするレイヤ • 銅板をむき出しにしてはんだを盛るなどしたいときに使う(※) 156 ※参考: https://uchan.hateblo.jp/entry/2016/02/07/153224
  66. 外形作成 • 基板の外形線をつくる • ⼿順 • Edge.Cutsレイヤーを選ぶ • Lineを引いて外形を作る •

    Shift + Spaceを押して外形線 が45°ごとにしか動かせない ようにしておくと便利 157
  67. 外形作成のコツ • サイズ感 • 最⼤は10cm x 10cm • このサイズを超えると基板の値段が⾼くなる •

    最⼩はnetlist読み込み直後の部品⾯積の総和くらい • 両⾯実装した場合を除く • 配線できるのは外形から1mm内側のところまで • これを守らないとカット時の誤差で配線が切れるかも • 形は四⾓形が安牌 • ⾯付け等のコストカットがやりやすくなる 158
  68. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 159
  69. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 162
  70. 配線のコツ • 電源線から引き始める • 電源が無いと部品は動かないため • 電源線は太くする • 1mm幅あたり1Aまでが⽬安 •

    配線幅は0.2mm以上にする • 安価に作れるライン(製造業者に依存) • 鋭⾓(+直⾓)は避ける • ⾼速信号線で問題が起こる • 基板の製造不良を減らす 164
  71. ベタGNDの追加⽅法 • 基板外形を囲むと範囲内がベタ で満たされる • Cmd + B を押すとベタが消える •

    B を押すとベタを再度塗れる • 同じ作業を基板裏⾯側にも⾏う 172
  72. Viaの追加⽅法 • 配線中 • 途中でVを押すとViaが出現する • そのまま別の層で配線を続⾏できる • その他 •

    右図のViaアイコンを押してViaを置く • 置いたViaを選択してEで編集を開き、 netから特定の配線に接続する 175 ここをクリック
  73. keepout zone設定 • Keep out tracks • 配線不可にする • Keep

    out Vias • Viaを配置不可にする • Keep out pads • padを配置不可にする • Keep out copper fill • ベタが⼊ってこないようにする • Keep out footprints • footprintを配置不可にする 179
  74. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 181
  75. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 188
  76. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 190
  77. 製造業者選定 • 基板製造をお願いする業者を選ぶ • 趣味レベル(低コスト、納期余裕あり)なら国外業者がおすすめ 192 国内 国外(主に中国) ⾔語 ⽇本語

    英語 お値段 25,000円程度(※1) 4000円程度(※1) 納期 1週間程度 2週間程度 ※1: 国内はP板.com , 国外は fusuinpcb で⾒積もり。送料込み(2022/05/03時点) サイズ10cm x 10cm, 枚数10枚, 2層, 板厚1mm, 最⼩⽳径0.3mm, 最⼩パターン幅0.3mm
  78. 国外業者例(主に中国) • 講師の利⽤実績あり • FusionPCB • https://www.fusionpcb.jp/fusion_pcb.html • 注⽂までは⽇本語でできる(相談は英語) •

    Elecrow • https://www.elecrow.com/pcb-manufacturing.html • 講師の利⽤実績なし • PCBWay • https://www.pcbway.com/ • PCBGOGO • https://www.pcbgogo.jp/ • ⽇本語あり 193
  79. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 195
  80. PCB設計ソフトを使った設計⼿順 • 基本操作を覚える • 回路図の反映 • 外形(edge.cut)レイヤー作成 • 部品配置 •

    配線 • DRC • 熟成 • 発注準備 • 部品購⼊ • ガバー&ドリルデータ出⼒ 197
  81. 発注例: 基板の詳細設定 • 層数(No. of Layers) • 基板の層数 • 2層(両⾯基板)以外は⾼くなるので、基本2層がオススメ

    206 Base board F.Cu B.Cu Base board B.Cu In1.Cu In2.Cu F.Cu Base board Base board 2層基板 4層基板
  82. 発注例: 基板の詳細設定 • ⼨法(PCB Dimensions) • 基板の外形⼨法 • 10cm x

    10cmを超えると値段が 上がるので注意 207 基板 max 100mm max 100mm
  83. 発注例: 基板の詳細設定 • 製造枚数(PCB Quantity) • 基板を作ってもらう枚数 • 基本10枚でOK •

    10枚超えると値段が上がるので注意 • 5枚にしても値段は下がらないので10枚頼 んだほうがお得 208 届いた基板の写真 10枚分の厚さがある
  84. 発注例: 基板の詳細設定 • 異種⾯付けの種類 (No. of Different Designs) • ⾯付けとは?

    • 1枚に複数の基板を載せてコストカットする⽅法 • ⾯付けすれば10cm x 10cm基板1枚の価格で1cm x 10cmの基板が10枚作れる • 同じ基板を複数載せる同種⾯付けと異なる基板を 載せる異種⾯付けがある • 通常発注時は1を設定すればOK • 異種⾯付けすると値段が上がるので注意 • 上がらない製造業者もあるらしい 209 基板A 基板A 基板A 基板A
  85. 発注例: 基板の詳細設定 • 板厚(PCB Thickness) • 基板の厚さ • 使う部品等の事情に応じて変更する •

    例 • スルーホール部品の⾜の⻑さが1.2mmしか ないので、板厚を1mmにする • 例2 • 特性インピーダンスを1mm厚で計算したの で、板厚を1mmにする 210 板厚
  86. 発注例: 基板の詳細設定 • レジスト⾊ • 基板の表⾯⾊が変えられる • 特にこだわりが無ければ緑が 安牌 •

    ⽬に優しいので⻑時間配線を追 いやすくてデバッグ時に有利 211 緑レジストの例
  87. 発注例: 基板の詳細設定 • 基板の表⾯処理(Surface Finish) • 基板のパッド・ランド(はんだ付けする ところ)のメッキ処理 • 今回はHASL

    Lead Free(鉛フリーはん だラベラー)を選択する • fusionpcbでは有鉛より鉛フリーのほうが 値段が⾼くなる 212 ここはメッキ処理されている Top view side view Base board 銅箔 はんだメッキ部
  88. レジスト部 発注例: 基板の詳細設定 • パッド間レジストの最⼩幅 (Minimum Solder Mask Dam) •

    パッド間レジストマスクがつけら れる最⼩幅 • デフォルトは0.4mm 213 パッド パッド top view ここの幅
  89. 発注例: 基板の詳細設定 • 銅箔の厚さ(Copper Weight) • 配線部の銅箔の厚さを設定する部分 • 1ft^2あたりの銅箔の重さ(単位はオン ス)で指定

    • メートル・グラム法では 1oz/1ft^2 = 300g/1m^2 • 1ozの銅箔厚は35μm • 基本はデフォルトの1ozでOK 214 Base board 銅箔 35μm 参考: https://lipoyang.hatenablog.com/entry/2020/05/02/152327 https://www.fusionpcb.jp/blog/?p=1388
  90. 発注例: 基板の詳細設定 • 最⼩⽳径 • ドリルで開ける⽳の最⼩径 • via等で使う • デフォルト⽳径は0.3mm

    • ランド部はドリル⽳径の1.5倍はほ しい • 参考: https://www.p- ban.com/htmlmail_qanda/2013/0 6/ 215 ⽳径 ランド径
  91. 発注例: 基板の詳細設定 • 最⼩パターン幅/パターン間隔 • パターン(配線)幅と各パターン 間の最⼩幅 • デフォルトは6mil(0.1524mm) •

    パターン幅及び間隔を0.2mmまで に抑えるのが安牌 216 パターン レジスト パターン パターン幅 パターン間隔
  92. 発注例: 基板の詳細設定 • 端⾯スルーホール • 基板端にスルーホール(の半分)を置くちょっと特 殊な基板を作るオプション • 参考: https://www.fusionpcb.jp/blog/?p=1311

    • DIP ICのように使える基板を作りたいときに使う • 必要なければ“なし”でOK • インピーダンス制御 • 基板の特性インピーダンス制御を⾏うオプション • 参考: https://www.p- ban.com/product/impedance.html • ⾼速信号を扱わなければ必要なし • (講師も今の所使ったことがない) 217 端⾯スルーホールの例 Raspberry Pi Pico
  93. ノイズとは • 機器の動作を妨げる余計な電気信号 • wikipediaより引⽤ • https://ja.wikipedia.org/wiki/%E3%83%8E%E3%82%A4%E3%82%BA • ノイズの影響例 •

    電源ノイズ: 電源電圧が不安定になってICの動作が不安定になる • 信号ノイズ: 信号が正しく伝わらなくなる • 放射ノイズ: 他の機器の動作に悪影響を与える • 静電気: kV単位の⾼電圧が流れて機器が壊れる 220
  94. ノイズ対策 • 各種ノイズ影響を避けるための様々な対策 • やらなくても動くことはあるが、動かない可能性が⾼まる • 最低限やったほうがいいレベルはある • この資料で解説するのはこのレベルまで •

    やればやるほどよい……というわけでもない • ノイズと対策が不⼀致だと逆効果にもなる • 本格的にやるには⼤学レベルの電気回路・電磁気学の知識、部品の知 識、データシートを読み込んでの計算、計測 が 必要 • ⼤学の電気・電⼦・電磁気関連の講義は真⾯ ⽬に受けておくと超お得 222
  95. 過渡現象 • コンデンサ等のエネルギーを貯める素⼦ がある回路では過渡現象が⽣じる • 過渡状態 • 電源ON/OFFにより素⼦のエネルギーが充放 電されている途中の状態 (=時間変化がある)

    • コンデンサ充電例(右図): VINに対しVOUT の電圧がC1への充電時間分遅れて⽴ち上がっ ている • 定常状態 • 素⼦のエネルギーの充放電が完了した状態 (=時間変化がない) 224 回路図と過渡応答の例 ⾚線が電源波形(vin) ⿊線が出⼒波形(OUT) 過渡状態 定常状態
  96. インピーダンス(impedance) • 交流回路における(直流回路の)抵抗のようなもの • 電流 = 電圧 / インピーダンスの⼤きさ •

    記号はZ • 単位はΩ • インピーダンスは以下の素⼦のインピーダンスから求める(後述) • 周波数により値が変化しない • 抵抗 • 周波数により値が変化する • コイル • コンデンサ 225 参考: https://analogista.jp/impedance/
  97. 素⼦とインピーダンス 抵抗 R(Ω) コンデンサ 静電容量C(F) インダクタ インダクタンス値L(H) インピーダンス R 1

    / (jωC) = -jωC jωL 周波数(f)が⾼くなると 変わらない 減少する (=⾼周波を通す) 増加する (=低周波を通す) 定常状態の インピーダンス (f → 0(Hz)) R lim 𝒇→𝟎 𝟏 𝒋𝝎𝑪 = ∞ (絶縁) 0 (導通) 226 j: 虚数 ω: ⾓周波数(ω=2πf) f: 周波数
  98. インピーダンスの⼤きさ • 電流の計算にはインピーダンス 𝑍 の ⼤きさ 𝑍 が必要 • インピーダンスはベクトル

    • 始点(0,0)、終点( 実部, 虚部 ) • ⼤きさはスカラー(実数) • (位相の遅れについては説明省略) • ⼤きさ 𝑍 は三平⽅の定理より求まる • 例: 𝑍 = 𝑅 + 𝑗𝜔𝐿 − 𝑗𝜔𝐶 のとき 𝑍 = 𝑅* + 𝜔𝐿 − 1/𝜔𝐶 * 227 𝑍 実部Re 虚部Im 𝑍 𝜔𝐿 − 1/𝜔𝐶 𝑅 三平⽅の定理: 直⾓三⾓形の斜辺の2乗は、その他の辺の2乗の和に等しい
  99. インピーダンス計算の例 • Q. 右図のLC直列回路のインピーダンスを計算しましょう • A. 𝑍 = 𝑅! +

    𝜔𝐿 − 1/𝜔𝐶 ! なので 𝑍 = 0 + 𝜔𝐿 − 1/𝜔𝐶 ! = 𝜔𝐿 − 1/𝜔𝐶 L=100uH, C=1uF, ω=2πf, f=100MHzなので 𝑍 = 𝜔𝐿 − 1 𝜔𝐶 = 𝜋 2 . 100 . 10" . 100 . 10#" − 1 𝜋 2 . 100 . 10" . 1 . 10#" =𝜋 2 . 10$ − % & !'%(! = & !'%(! '& !'%(" #% & !'%(! = &! $'%(# #% & !'%(! 𝜋=3.14で計算すると 𝑍 ≈ 62800 = 62.8𝑘(Ω) 228
  100. 配線とインピーダンス • 分布定数回路 • これまでの電気回路(集中定数回路)に以下 を加えたもの • 伝送路の距離 • 距離に応じたLCR(G)成分

    • 右図の回路が配線に複数分布していると考 える • 以下のような、伝送路内で信号の伝達遅れ が問題になるものは分布定数回路で考える • 1GHz以上の⾼周波信号 • ⻑距離伝送路 229 分布定数回路における極⼩ 区間の配線の等価回路 参考元資料: http://asaseno.aki.gs/tech/bunpu01.html https://www.zuken.co.jp/club_Z/z/drama/d01/08/d_081127_2.html L: 配線に発⽣する磁界 R: 配線の導体抵抗等 C: 配線間の静電容量 G: 漏洩電流等によるコン ダクタンス
  101. 特性インピーダンス (Characteristic impedance) • 分布定数回路におけるインピーダンスは以 下で求まる • 𝑍2 = 34567

    84569 • RとGが無視できるほど⼩さい場合 • 𝑍2 ≈ 7 9 • この 𝑍! を特性インピーダンスという 230 参考元資料: https://www.zuken.co.jp/club_Z/z/drama/d01/08/d_081127_2.html https://analogista.jp/characteristic-impedance/
  102. Note: 特性インピーダンスについての薀蓄 • 配線の特性インピーダンスは50Ωにすると良い • 配線の間で反射(後述)を無くすため • 配線の特性インピーダンスは50Ωが多い • datasheetやapplication

    noteにかかれている場合もある • 例: microchipのSPI信号線の特性インピーダンス > The characteristic impedance of the PCB trace should be 50 ohms +/-15% at 50MHz operating frequency > http://ww1.microchip.com/downloads/en/AppNotes/00002402A.pdf • 特性インピーダンス50Ωが使われる理由 • 同軸ケーブルで損失を最も抑える特性インピーダンスが約50Ωらしい • 参考: https://edn.itmedia.co.jp/edn/articles/1003/03/news112.html 231
  103. 反射 • 反射 • 伝送路上のインピーダンス 𝑍! から 𝑍" に変化する際、 𝑍!

    および 𝑍" に加わ る電圧が変化する過渡現象 • ⾼校物理 波の反射とほぼ同じ • 反射係数 Γ • インピーダンス 𝑍! から 𝑍" に変化する際、反射する電圧の割合 • Γ = #$$#% #$%#% で求める • 0 < Γ の場合は 𝑍" の電圧が増加、 Γ < 0 の場合は 𝑍" の電圧が減少する • インピーダンス整合 • 反射が起こらないよう、反射係数が0になるよう回路のインピーダンスを 調整する作業 232 参考: https://www.macnica.co.jp/business/semiconductor/articles/basic/132300/ https://www.murata.com/ja-jp/products/emc/emifil/library/knowhow/basic/chapter03-p2 http://zakii.la.coocan.jp/transmission_line/21_reflection_coeff.htm
  104. 反射の例(※) • 𝑍" = 50Ω, 𝑍# = 75Ω のとき •

    Γ = :;<;2 :;4;2 = 0.2 • 1Vを加えると 0.2V返ってくる • 𝑍! に加わる電圧(⼊射波+反射波)は1.2V • 𝑍" = 75Ω, 𝑍# = 50Ω のとき • Γ = ;2<:; ;24:; = −0.2 • 1Vを加えると-0.2V返ってくる • 𝑍! に加わる電圧(⼊射波+反射波)は0.8V 233 1V 反射 1V 0.2V 回路と反射の例 過渡状態でp1の電圧が1Vにな るとき、p2は1.2Vになる 波形の流れ ※抵抗値等は以下を参考にさせていただきました 碓井有三のスペシャリストコラム ⾖知識: 反射係数 https://www.macnica.co.jp/business/semiconductor/articles/basic/132300/
  105. シミュレータによる反射実験 • 実験内容 • 𝑍" = 50Ω, 𝑍! = 75Ω

    の回路(右図)に電源 1Vを印加したとき、p2に反射による電 圧の変化が⾒られるかを確認する • 回路図上では 𝑍! = 𝑇1, 𝑍" = 𝑅1 • 予想 • p2(R1に加わる電圧)に1.2Vのリンギング が見えるはず • リンギング • 反射等で波形が歪むこと • リンギングが一定の電圧を超えると素子 が壊れたり、誤入力の原因になる 234 ltspiceで作った反射係数0.2の回路 T1は5nsの遅延が発⽣するインピーダ ンス50Ωの伝送路
  106. シミュレータによる反射実験2 • 実験内容 • 𝑍= = 50Ω, 𝑍* = 50Ω

    の回路(右図) に電源1Vを印加したとき、p2に 反射による電圧の変化が⾒られる かを確認する • 回路図上では 𝑍" = 𝑇1, 𝑍! = 𝑅1 • 予想 • 反射係数0なので、p2にはp1と同 じ波形が見えるはず 236 ltspiceで作った反射係数0の回路 T1は5nsの遅延が発⽣するインピーダ ンス50Ωの伝送路
  107. ノイズ対策の例 • 回路図レベルの対策 • バイパスコンデンサを⼊れる • バイパスコンデンサを複数⼊れる • 基板設計レベルの対策 •

    回路図レベル対策の効果を活かす配線をする • データシートの推奨設計を採⽤する • ベタGNDを適切に⼊れる • 基板外周にGND(とVia)を⼊れる • GNDがアンテナにならないようにする • ICの下にはGNDベタを⼊れる • 配線の⾓度・太さに注意する 238
  108. バイパスコンデンサ(パスコン) • ICの電源端⼦近傍に設置するコンデンサ • 役割 • ICの電源に流出⼊するノイズをGNDに落と して軽減する • ノイズは交流なので、コンデンサのインピーダ

    ンスが下がってノイズがGNDに落ちる • ICの電源電圧が変動するのを防ぐ • IC動作時の電流増加分をコンデンサに貯めた電 荷を放出して補い、電圧変動を防ぐ • (電源は遠いので瞬間的な変動に対応できない) 239 画像はRaspberry Pi Pico datasheet pp.24 Figure 18より引⽤ https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf 参考: https://detail-infomation.com/bypass-capacitor/
  109. 共振周波数 • 実際のコンデンサは共振周波数以降 はインピーダンスが上昇する (=ノイズ対策効果が減っていく) • 共振周波数以降はESLのインピーダンス 上昇がコンデンサのインピーダンス減少 を上回るため •

    共振周波数: • 実際のコンデンサのインピーダンスが最 も低くなる周波数 • 右図の例ではfrが共振周波数 • 共振周波数付近はインピーダンスが低い (=ノイズ軽減効果が⾼い) 242 画像はRohmの資料Figure2より引⽤ https://fscdn.rohm.com/jp/products/databook/applinote/common /bypass_capacitor_impedance_characteristics_an-j.pdf 参考: https://article.murata.com/ja-jp/article/impedance-esr-frequency-characteristics-in-capacitors
  110. 複数組み合わせた場合の周波数特性 • 共振周波数の異なる複数のコン デンサを並列接続すると広い周 波数に対してインピーダンスを 下げられる • 共振周波数の離れすぎたコンデ ンサをつなぐと並列共振により 逆効果(インピーダンスが上が

    る)にもなる点に注意する • 参考: https://www.macnica.co.jp/business/semi conductor/articles/basic/115313/ 243 画像はRohmの資料Figure3より引⽤ https://fscdn.rohm.com/jp/products/databook/applinote/common/bypass_capacit or_impedance_characteristics_an-j.pdf 複数の容量の積層セラミックコ ンデンサを並列接続したイ ン ピーダンス特性の⼀例。
  111. 回路図レベルの対策を活かす配線 • 適切な配置・配線を⾏うことで効果を発揮するものが多々ある • 対策⼀覧 • パスコン関係 • パスコンはICの近くに配置する •

    パスコンは⼩さい順に配置する • バイパスコンデンサを通って配線されるようにする • ベタ • 基板外周にベタGNDを⼊れる • ベタのアンテナ化を防ぐ • ICの下にGNDベタを⼊れる • 配線 • ⾓度・太さに注意する • リターンパスを確保する • その他 • データシートの推奨設計を採⽤する 245
  112. パスコンは⼩さい順に配置する • 低容量パスコンからIC近くに配置す ると良い • 低容量(⾼周波に効く)パスコンの効果を 配線のインダクタンスで下げてしまう のを防げる • ⼤容量の⽅はインダクタンスが増えて

    も影響が少ない (=少し遠くにおいても⼤丈夫) • 配線のインダクタンスは微量なので、⼤容 量パスコンのESLにとっては誤差レベル 247 良い例の等価回路 避けたい例 良い例 参考: https://www.wti.jp/contents/hint-plus/hint-plus012.htm https://www.noise-counterplan.com/point/407/
  113. バイパスコンデンサを通って配線される ようにする • パスコンを通してICに電源供給 するようにするとよい • コンデンサと電源の間のインダク タンスが減る • 参考

    • 4.1.2. デカップリングコンデンサの配置, プリント基 板設計ガイド EMI 対策の指針 - TOSHIBA https://toshiba.semicon- storage.com/info/docget.jsp?did=63626 • https://www.noise-counterplan.com/point/405/ 248 良い例 避けたい例 避けたい例の等価回路 良い例の等価回路
  114. ベタのアンテナ化を防ぐ • ベタはアンテナ化してノイズ元になりうる • 浮島 • どこにも接続されていないベタ • スタブ •

    (遠くで接続されている)細⻑いベタ • 対処⽅法 • keep outを使ってベタの侵⼊を防ぐ • スタブができないようにする対処 • Viaを打って別の配線とつなぐ • 主にGNDの浮島・スタブを作らない対処 251 スタブ→ 参考: https://www.noise-counterplan.com/point/446/ スタブあり スタブなし
  115. 配線の⾓度に注意する • 配線の⾓度を鋭⾓(90°以下)にしない • ⾓度を⼤きくするとその部分の配線のキャパ シタンス成分が増える • 参考:https://www.ritael.co.jp/archive/20060401b09/ • キャパシタンスが増えると、⾼周波の信号が

    来るとインピーダンスが下がる • インピーダンスが途中で変化すると、 反射が起きる(= ノイズが発⽣する) • ※電流が急に曲がれないからなどの解説もある • https://www.p- ban.com/htmlmail_qanda/2013/10/ 253 GOOD 参考: https://www.noise-counterplan.com/faq/45/
  116. リターンパスを確保する • リターンパスとは? • > ⾼周波信号の場合、配線信号の近くにある導体に逆向きの電流が流 れます。この逆向きに流れる電流 経路をリターンパスと呼びます。信 号線とリターンパスから成るループを可能な限り⼩さくすることで、 EMI

    を⼩さくできます。 • TOSHIBA プリント基板設計ガイド EMI対策の指針 3.2 リターンパスの確保 より引⽤ • https://toshiba.semicon- storage.com/info/PCB_Design_Guide_ja_20180909.pdf?did=63626 •つまり、(⾼速)信号線下にはGNDを途 切れないように敷くと良い 254
  117. 例: USBラインのESD対策 • 信号はESD保護素⼦を通してからIC等に ⼊れると良い • ESD保護素⼦の効果を⾼めるため (パスコン等と同様) • 参考:

    https://emb.macnica.co.jp/articles/16290/ • 表⾯実装のESD保護素⼦で実現するのは 難しい • 推奨レイアウト設計の出番 257 マクニカの記事 図6 ESD源と TVSが同⼀⾯にある時のESDの 流れ より引⽤ https://emb.macnica.co.jp/artic les/16290/
  118. 例: TPD4S012(USB ESD対策素⼦) の推奨設計 • 表⾯実装なのでESD素⼦を通すのは難し い • どうすればよい? →推奨設計の出番

    • 推奨設計 • チップ直前のViaで分岐させる • Viaのインダクタンスがあるので、ESD対策チッ プの効果が先に出るはず 258 図はTDP4S012 datasheet, pp.12, 10.2 Layout Example より引⽤ https://www.ti.com/jp/lit/ds/symlink/ tpd4s012.pdf
  119. JTAGアダプタとは • JTAG(Joint Test Action Group) • IC等のデバッグに⽤いるシリアル通信の規格 • マイコン等のハードウェアデバッグに使える

    • OS等動いてなくてもステップ実⾏・レジスタ参照等できる • 詳細は以下資料を確認 • https://speakerdeck.com/tnishinaga/kernelvm-online4 • JTAGアダプタ • PCにつなげてJTAGの信号を喋ってもらう機械 262
  120. 何を実現するものを作りたいか考える • Raspberry Piをハードウェアデバッグしたい • JTAGアダプタが必要 • USB Type Cしか無いPCにつなぎやすくしたい

    • PCとの接続インターフェースはUSB Type Cにする • ※ 市販品はUSB Type Bやmini Bが多め • 市販品と同等か安くしたい • 安い市販品は5000円程度 • 例: ARM-USB-TINY-H, 5500円 • https://strawberry-linux.com/catalog/items?code=15045 265
  121. 何を使うと実現できるか考える • 条件 • JTAGアダプタが作れる • USBで接続できる • 安価 •

    潤沢に買える • ⼿ではんだづけできる • QFPまでのパッケージならやりやすい • QFNは⾼い技能とピン間隔等の条件が揃えばなん とか 266
  122. 決定案: Raspberry Pi Pico(のIC)を使おう • JTAGアダプタが作れる • rust-dapを使えばJTAGアダプタ(CMSIS-DAP)に なる •

    https://github.com/ciniml/rust-dap • USB で接続できる • 安価 • IC(RP2040)単体なら税込130~150円 • 潤沢に買える • mouserで10000個の在庫(2023/04/06時点) • (ギリギリ)⼿ではんだづけできる • QFN 56ピン 0.4mmピッチ • ⾮常に難易度は⾼いけどはんだづけ可能 267 https://datasheets.raspberrypi.com/pico/pico-product-brief.pdf より画像引⽤
  123. 事前知識: ⼀般的なUSBマイコン周辺回路の構成 271 マイコン 電源 降圧レギュレータ 外部 クロック ROM USBコネクタ

    電源供給 USB通信 クロック 信号 データ https://datasheets.raspberrypi.com/pico/ pico-product-brief.pdf より画像引⽤ USB 電源 (レギュレータ) 外付けROM マイコン 外部クロック
  124. 事前知識 : 電源レギュレータ • 半導体部品の動作には電源が必須 • 電源供給源は⾃由 • 例: USB,

    ACアダプタ, 電池, その他⾊々 • 供給源の電圧 > マイコンの電源電圧 の場合 • レギュレータ等を使った降圧回路が必要 • 例: USB(5V) -降圧-> マイコン(3.3V) 272 マイコン 電源 降圧レギュレータ ROM USBコネクタ 電源供給
  125. 事前知識 : クロック供給源 • マイコンにはクロック供給源も必要 • 回路内外でタイミングを揃えて動作させる 必要があるため(※) • クロック供給源(発振⼦・発振器)は⽤

    途に合わせて選択 • 内蔵RCクロック、⽔晶、セラミック、 MEMS発振器、等々 273 マイコン 外部 クロック クロック 信号 ※参考 宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎 第9回 マイコンのクロック周波数って何? 速いほどいいの? https://edn.itmedia.co.jp/edn/articles/1505/25/news013.html
  126. 事前知識:具体的な回路構成の調べ⽅ • 基本的に使⽤するICのデータシートのサンプル回路を読んで理 解して考える • データシートからサンプル回路を⾒つける • サンプル回路からそのICの他に必要なものを調べる • 例:

    USBの5VからICの電源3.3Vを作る降圧レギュレータ • サンプルに書かれていない部分は別途調べる • 例: 降圧レギュレータの回路 • 使⽤する降圧レギュレータのデータシートを同様に調べていく 275
  127. 事前知識: 基本的なデータシートの読み⽅ 1. [部品名 datasheet] で検索してデータシートを取得する 2. 概要(⼤抵1ページ⽬にある)を読んで機能を把握する 3. ⽬次(概要の後にある)を読んで資料の構成を把握する

    4. 各種必要な情報を読んで把握する • 回路例が知りたい • Application Sample等の節を探して読む • ないときはサムネイル画像から回路図っぽいところを探して読む • 耐圧等の特性が知りたい • Characteristics等の節を探して読む • 各ピンの詳細が知りたい • Pin Description等の節を探して読む 276
  128. 調べる必要のあること • [ ] RP2040を動かすために必要な部品と回路 • [ ] 電源 •

    USB Type C端⼦から5Vをもらうにはどうすればよいか • [ ] JTAG IFとRP2040の接続 • [ ] ARM JTAGのピン配置はどうなってるか • ARM JTAG: Arm社の決めたJTAG端⼦規格 • [ ] RP2040のどのピンをJTAG端⼦に配線すればよいか 277
  129. 例: RP2040のHardware design manual • Hardware design manual with RP2040

    • https://datasheets.raspberrypi.com/rp2040/har dware-design-with-rp2040.pdf • build-date: 2023-03-02 • build-version: ae3b121-clean • Chapter 2. Minimal Design Example に RP2040 を動かすため最低限必要なも の・ことが書かれている • ⼀般的なデータシートのサンプル回路部の超 豪華版 • ⼀度全体に⽬を通すのがオススメ • この資料を基本参考にして、不⾜部をデータ シートから読み取ると良い 279 Hardware design manualより引⽤
  130. 例: RP2040のデータシート • データシートの場所(build-date: 2023-03-02, version: ae3b121-clean) • https://datasheets.raspberrypi.com/rp2040/rp2040- datasheet.pdf

    • 書いてある内容(必要な情報を抜粋) • 概要 • Chapter 1. Introduction, pp.9 の Key features のあたり • サンプル回路 • データシート内にはない • 別資料の hardware design manual 参照 • 各ピンのレイアウトと概要 • pp.613 の Figure 170 にレイアウト • pp.614 の Table 613 〜 620 に各ピンの概要 • 耐圧等の情報 • 5.5.3. Pin Specifications, pp.616あたりに記載 • 電源電圧 • 5.6. Power Supplies, pp.620に記載 280 rp2040 datasheetより引⽤
  131. 例: RP2040の最⼩回路 • RP2040の基板に最低限必要な 部分は以下 • 電源 • 降圧レギュレーター •

    パスコン • ROM(Flash Storage) • クロック供給源 • IOポート • USB • (今回の場合)JTAG IF • SWD 281 回路図はHardware design with RP2040, Figure 11. Complete schematic of the minimal board より引⽤ USB & 電源 ROM クロック RP2040 と パスコン IO⽤端⼦
  132. 例: 電源(降圧レギュレーター) • USBの5Vを3.3Vに降圧して いる部分 • RP2040の電源電圧が3.3Vな ので • 降圧はNCP1117という降圧

    レギュレータを使っている 282 回路図はHardware design with RP2040, Figure 4. Schematic section showing the power input より引⽤
  133. 例: NCP1117 • リニア電圧レギュレーターのひとつ • 電圧を熱に変換して降圧する • 推奨設計は右図参照 • 基本的に⼊⼒コンデンサと出⼒コンデン

    サにサンドイッチされている 283 NCP1117のデータシートより引⽤ https://www.onsemi.com/pdf/da tasheet/ncp1117-d.pdf
  134. MEMO: リニアレギュレーターの推奨コンデンサ • 推奨設計が電解コンデンサの場合、セ ラミックコンデンサの利⽤は避けた⽅ が良い • 理由: レギュレータの安定稼働にコンデンサ のESRが必要なため

    • 参考: リニア・レギュレータの安定性に必要と されるESRの選択 https://e2e.ti.com/blogs_/japan/b/power- ic/posts/esr • セラミックコンデンサを使いたい場合 • 対応したレギュレータを選ぶと良い • 例: TCR3UF33ALMなど 284 NCP1117のデータシートより引⽤ https://www.onsemi.com/pdf/da tasheet/ncp1117-d.pdf
  135. 例: 電源(パスコン) • 各電源端⼦の近くに0.1uFの セラミックコンデンサが必要 • ノイズ対策⽤のパスコン • VREG_INとVREG_OUTの近 くには1uFのセラミックコン

    デンサが必要 • 内蔵レギュレータ(※)の⼊⼒・ 出⼒コンデンサ • ※: コア⽤の1.1Vを作るため。詳 しくは Hardware design with RP2040の2.1.3. Internal voltage regulatorを参照 285 回路図はHardware design with RP2040, Figure 5. Schematic section showing the RP2040 power supply inputs, voltage regulator and decoupling capacitors より引⽤ IOVDD(3.3V) DVDD(1.1V)
  136. 例: ROM(Flash Storage) • RP2040のプログラムを保存するとこ ろ • QSPI接続のフラッシュストレージが 必要 •

    QSPI: SPI通信のデータ線を4本に拡張し たもの • CSにジャンパと抵抗が必要 • USB Boot(プログラム書き込み⽤) と Flash Boot(通常起動) を切り替えるため • 2.2. Flash storage, pp.8参照 • 10kΩはプルアップ抵抗。1kΩは(多分) 電流制限抵抗(※) 286 回路図はHardware design with RP2040, Figure 7. Schematic section showing the flash memory and USB_BOOT circuitry より引⽤ ※プルアップ抵抗があれば電流は0.3mA程度しか流れないので、1kΩはなくても問題ないかも
  137. MEMO: Flash Storageの容量はどうすればよいか • 最⼤容量は16MB • > which is a

    128Mbit chip (16MB). This is the largest memory size that RP2040 can support. • Hardware design with RP2040, 2.2 Flash storage, pp.8より引⽤ • Raspberry Pi PicoのROMが2MB(16MBit)なので、16MBitにし ておくとよい • Raspberry Pi Picoを使ってデバッグできる 287
  138. 例: クロック供給源 • USB通信のために⾼精度な 12MHzのクロック供給が必要 • Hardware design manual with

    RP2040では⽔晶振動⼦ を使う⽅法が紹介されている • ⽔晶振動⼦の動作に必要な発振 回路のコンデンサと抵抗の値の 選択⽅法が書かれている • 本講義ではMEMS発振器の利 ⽤を推奨 (※) • 発振回路が不要で簡単なため 288 回路図はHardware design with RP2040, Figure 8. Schematic section showing the crystal oscillator and load capacitors より引⽤ ※: 2021年チューターの提案です。ありがとうございました!
  139. MEMO: MEMS発振器 • MEMS(※1) 振動⼦を搭載した発振器 • ⽔晶に⽐べ以下の利点がある(※2) • 発振回路が不要 •

    不良が少ない • 寿命が⻑い • ノイズ・温度変化に強い 289 https://www.sitime.com/products/lvcmo s-oscillators/sit2001 より画像引⽤ ※1: MEMS(メムス、Micro Electro Mechanical Systems)は、機械要素部品、センサ、アクチュエータ、電 ⼦回路を⼀つのシリコン基板、ガラス基板、有機材料などの上に微細加⼯技術によって集積化したデバイスを指す。 (https://ja.wikipedia.org/wiki/MEMS より引⽤) ※2: 利点に関しては以下を参考にさせていただきました https://www.macnica.co.jp/business/semiconductor/articles/sitime/142404/ https://www.paltek.co.jp/techblog/productinfo/221125_01
  140. MEMO: MEMS発振器の例 SiT2001B • SiTime社のプログラマブルMEMS発 振器 • 12MHz設定済みの製品を使う • 書き込み機は4万円くらいする

    • https://www.digikey.jp/ja/products/detail/ sitime/SIT6100DK/4506991 • 外付け部品はパスコンとpullup抵抗だ け • 詳細はデータシートを参照 • https://www.sitime.com/support/resource- library/datasheets/sit2001-datasheet 290 秋⽉商品ページより引⽤ https://akizukidenshi.com/catalog/g/gI-11093/
  141. 例: USB • 以下の場合USB端⼦をつける • USBデバイスとして動かしたい • USBでプログラムを書き込みたい • 後述のSWDがあればプログラムを書き込め

    るので、なくても良い • 今回はUSB接続デバイスを作る⽬的 なので、USB端⼦は必須 291 回路図はHardware design with RP2040, Figure 4. Schematic section showing the power input , Figure 9. Schematic section showing the USB pins of RP2040 and series termination より引⽤
  142. 例: USB周りの推奨設計 • USBのインピーダンス仕様を満たす ため、以下が必要 (Hawdware design with RP2040, 2.4.1

    USB, pp.9参照) • RP2040のD+/D-のなるべく近くに終 端抵抗 27Ω を⼊れる • D+/D-の差動インピーダンスが90Ωに なるように基板厚・配線幅・配線間隔 を調整する 292 回路図はHardware design with RP2040, Figure 4. Schematic section showing the power input , Figure 9. Schematic section showing the USB pins of RP2040 and series termination より引⽤
  143. 例: SWD • Armの定めたデバッグインターフェース • 主にArmマイコンのデバッグに使われる • 信号線は以下の2つ(とGND) • SWDIO

    • SWCLK • 以下ができて便利なのでpinを出しておくと良い • Flashへのプログラム書き込み • プログラムのデバッグ 293
  144. 今回調べる必要のあること • [x] RP2040を動かすために必要な部品と回路 • [ ] 電源 • USB

    Type C端⼦から5Vをもらうにはどうすればよいか • [ ] JTAG端⼦とRP2040の接続 • [ ] RP2040のどのピンをJTAG端⼦に配線すればよいか • [ ]ARM JTAGのピン配置はどうなってるか • ARM JTAG: Arm社の決めたJTAG端⼦規格 294
  145. USB Type C端⼦から5Vをもらうにはどう すればよいか • USB micro B(USB 2.0)までは何 もしなくてもUSB端⼦から5Vが取

    れた • USB Type Cからはちょっと⼯夫 が必要 • CC端⼦を5.1kΩでプルダウンすると よい 295
  146. Note: CCに5.1k pull downが必要な理由 • Type-Cからレガシーアダプタケーブル に変換する際は終端抵抗(Rd) 5.1kΩをつ けるように仕様書に書かれているため •

    レガシーアダプタケーブル • Figure 3-30のようなUSB 2.0までのアダプタに 変換するケーブル • 電圧は5V固定(= 5Vが得られる) • 今回作る機器はFigure 4-30のLegacy Device Adapter側に相当 296 図はUSB TypeCの仕様書より引⽤ https://www.usb.org/sites/default/files/USB%20Typ e-C%20Spec%20R2.0%20-%20August%202019.pdf Ø USB Type-C plugs associated with the “A” end of a legacy adapter cable are required to have Rd (5.1 kΩ ± 20%) termination incorporated into the plug assembly Ø Universal Serial Bus Type-C Cable and Connector Specification Release 2.0 August 2019, pp.38 より引⽤
  147. Note: なぜCC1とCC2の両⽅にRdが必要か • Type Cプラグ側を上下反転して差し込め るようにするため • 仕様的にはプラグ側のCCに終端抵抗Rdがあ れば良い •

    前スライドのFigure 4-30を参照 • 機器側(receptacle)はCC1とCC2にRdが必要 • 反転しても必ずCCにRdがつくようにするため) 右図参照) 297 普通にプラグを差し込んだときの図 CCにCC1経由でRdがついている プラグを上下反転して差し込んだときの図 CCにCC2経由でRdがついている
  148. 今回調べる必要のあること • [x] RP2040を動かすために必要な部品と回路 • [x] 電源 • USB Type

    C端⼦から5Vをもらうにはどうすればよいか • [ ] JTAG端⼦とRP2040の接続 • [ ] RP2040のどのピンをJTAG端⼦に配線すればよいか • [ ]ARM JTAGのピン配置はどうなってるか • ARM JTAG: Arm社の決めたJTAG端⼦規格 298
  149. JTAG端⼦のピン配置 • ARM JTAG 20のピン配置を使う • https://developer.arm.com/docum entation/dui0499/d/BEHEIHCE • コネクタ形状

    • 2.54mmピッチ 2x10オスコネクタ • https://akizukidenshi.com/catalog /g/gC-13176/ 299 画像はMITOUJTAGのページより引⽤ http://www.tokudenkairo.co.jp/jtag/jtagpin_arm.html
  150. 今回調べる必要のあること • [x] RP2040を動かすために必要な部品と回路 • [x] 電源 • USB Type

    C端⼦から5Vをもらうにはどうすればよいか • [x] JTAG端⼦とRP2040の接続 • [x] RP2040のどのピンをJTAG端⼦に配線すればよいか • [x] ARM JTAGのピン配置はどうなってるか • ARM JTAG: Arm社の決めたJTAG端⼦規格 302
  151. 回路図の作り⽅の⽅針 • 以下の主要部品をとりあえずおいてみる • USBコネクタ • RP2040 • 降圧レギュレータ •

    QSPI Flash Storage • JTAGコネクタ(Conn_ARM_JTAG_SWD_20) • MEMS発振器 • 作りやすい部品から周辺回路をつけていく 304
  152. 演習の答え: USB周り • USBコネクタを置く • USB_C_Receptacle_USB2.0 • CC端⼦を5.1kΩでプルダウンする • D+とD-に27Ω抵抗を挟む

    • RP2040につなぐ部分にラベルをはる • (option)ESD対策部品を挟む • あると壊れにくくなる • コストの都合でつけない選択肢もあり • 実際Raspberry Pi Picoにはついてない • (講師の想像)対策部品を⼊れて販売価格を上 げるより、安くして壊れたら買い換える設計⽅ 針 305 1 2 A B R1 10k +5V GND 1 I/O1 2 I/O2 3 VCC 4 D1 PRTR5V0U2X GND GND R5 5.1k R13 27 R14 27 R4 5.1k GND A1 VBUS A4 CC1 A5 D+ A6 D- A7 SBU1 A8 CC2 B5 D+ B6 D- B7 SBU2 B8 SHIELD S1 J1 USB_C_Receptacle_USB2.0 +5V +3.3V +3.3V GND ~{CS} 1 DO(IO1) 2 IO2 3 ND DI(IO0) 5 CLK 6 IO3 7 VCC 8 C1 0.1uF C3 0.1uF R15 10k + QSPI_SD3 QSPI_SD2 QSPI_CSN QSPI_SCLK QSPI_SD0 QSPI_SD1 QSPI_C S S D+ D- X RD- RD+ ESD suppressor USB pullup Flash VBUS,D+,D- should be connected via ESD suppressors RC (tau= C3 0.1uF R15 10k R1 10k +3.3V R14 27 R13 27 GND D1 PRTR5V0U2X GND 1 I/O1 2 I/O2 3 VCC 4 +5V
  153. 演習の答え: QSPI Flash周り • 16MbitのFlashストレージを選択 • W25Q16JVZPIMははんだづけしづらい ので⾮推奨 • ⾜の出ているW25Q16JVSNIQがオスス

    メ • プルアップ抵抗とバイパスコンデン サをつける • BOOT SELECTは別途作る • ジャンパのシンボルは Connector_Generic:Conn_01x02 • RP2040との接続部はラベルをはる 307 B C R1 10k R21 10k R12 0 VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 ND TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 +3.3V R19 10k R20 10k R6 0 R11 0 R8 0 R9 0 R7 0 R10 0 GND 1 I/O2 3 VCC 4 D1 PRTR5V0U2X GND GND R14 27 GND A1 D+ A6 D- A7 SBU1 A8 D+ B6 D- B7 SBU2 B8 SHIELD S1 +3.3V +3.3V GND ~{CS} 1 DO(IO1) 2 IO2 3 GND 4 DI(IO0) 5 CLK 6 IO3 7 VCC 8 EP 9 U2 W25Q16JVZPIM GND C1 0.1uF GND +3.3V 0.1 10 C2 0.1uF QSPI_SD3 QSPI_SD2 QSPI_CSN QSPI_SCLK QSPI_SD0 QSPI_SD1 ~{SRST} ~{TRST} TDI TMS_SWDIO RTCK TDO_SWO TCK_SWCLK QSP QSP D+ RD+ QSP QSP QSP QSP damping resistor close to rp2040 Connector pullup Flash VBUS,D+,D- should be connected via ESD suppressors Os 0.1 10 R1 10k +3.3V R14 27 GND D1 PRTR5V0U2X GND 1 I/O2 3 VCC 4 R10 0 R7 0 R9 0 R8 0 R11 0 R6 0 R20 10k R19 10k VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 ND TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 R12 0 R21 10k A B C tnishinaga R1 10k C12 1uF C14 0.1uF C16 0.1uF C9 0.1uF C8 0.1uF C17 0.1uF GND +3.3V C5 1uF C7 0.1uF C6 0.1uF GND +5V PWR_FLAG D4 GREEN GND H3 MountingHole GND +3.3V R18 1k H4 MountingHole H1 MountingHole H2 MountingHole PWR_FLAG GND PWR_FLAG 1 2 3 J4 SWD GND 1 2 J3 BOOT R17 1k C15 0.1uF D3 RED C13 0.1uF C11 0.1uF +3.3V R21 10k 0 VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 GND TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 CUHS20S30 1 2 JP1 GND TP1 GND +3.3V R19 10k C4 10uF TP3 R20 10k 0 0 C10 10uF IN 1 GND 2 EN 3 OUT 5 U4 TCR3UF33ALM GND R16 10k 0 0 0 0 +5V GND 1 I/O1 2 I/O2 3 VCC 4 D1 PRTR5V0U2X GND GND R5 5.1k R13 27 R14 27 R4 5.1k S A4 A5 A6 A7 A8 B5 B6 B7 B8 SB2.0 +3.3V +3.3V +1V1 ~{CS} 1 DO(IO1) 2 IO2 3 GND 4 DI(IO0) 5 CLK 6 IO3 7 VCC 8 EP 9 U2 W25Q16JVZPIM GND C1 0.1uF GND R3 0 +3.3V R2 10k GND 1 NC 2 OE 3 VDD 4 OUT 5 U1 GND IOVDD 1 IOVDD 10 GPIO8 11 GPIO9 12 GPIO10 13 GPIO11 14 GPIO12 15 GPIO13 16 GPIO14 17 GPIO15 18 TESTEN 19 GPIO0 2 XIN 20 XOUT 21 IOVDD 22 DVDD 23 SWCLK 24 SWDIO 25 RUN 26 GPIO16 27 GPIO17 28 GPIO18 29 GPIO1 3 GPIO19 30 GPIO20 31 GPIO21 32 IOVDD 33 GPIO22 34 GPIO23 35 GPIO24 36 GPIO25 37 GPIO26/ADC0 38 GPIO27/ADC1 39 GPIO2 4 GPIO28/ADC2 40 GPIO29/ADC3 41 IOVDD 42 ADC_AVDD 43 VREG_VIN 44 VREG_VOUT 45 USB_DM 46 USB_DP 47 USB_VDD 48 IOVDD 49 GPIO3 5 DVDD 50 QSPI_SD3 51 QSPI_SCLK 52 QSPI_SD0 53 QSPI_SD2 54 QSPI_SD1 55 QSPI_~{SS} 56 GND 57 GPIO4 6 GPIO5 7 GPIO6 8 GPIO7 9 U3 RP2040 +3.3V GND C3 0.1uF R15 10k +3.3V C2 0.1uF TCK_SWCLK TMS_SWDIO XIN ~{TRST} QSPI_SD3 QSPI_SD2 QSPI_CSN QSPI_CSN SWDIO SWCLK VO QSPI_SCLK QSPI_SD0 QSPI_SD1 LED LED RD+ RD- QSPI_CSN SWCLK SWDIO QSPI_SCLK D+ D- XIN RD- RD+ ~{SRST} TDI TDO_SWO RTCK QSPI_SD3 QSPI_SD1 QSPI_SD2 QSPI_SD0 JP1: Power draw check point ESD suppressor ng resistor to rp2040 nector pullup Misc RP2040 SWD BOOT SELECT 1uF: close to pin45 VBUS,D+,D- should be connected via ESD suppressors 0.1uF: close to each IOVDD pin Oscillator RC delay (tau=10(ms)) pullup 1uF: close to pin44 Bypass capatitor 0.1uF: close to each DVDD C4 10uF U4 TCR3UF33ALM IN 1 GND 2 EN 3 OUT 5 R16 10k GND C3 0.1uF R15 10k U1 GND 1 NC 2 OE 3 VDD 4 OUT 5 R1 10k +3.3V R14 27 R13 27 GND D1 PRTR5V0U2X GND 1 I/O1 2 I/O2 3 VCC 4 +5V 0 0 0 0 0 0 R20 10k R19 10k VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 GND TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 0 R21 10k C11 0.1uF C13 0.1uF D3 RED C15 0.1uF R17 1k GND R18 1k GND D4 GREEN PWR_FLAG C6 0.1uF C7 0.1uF C17 0.1uF C8 0.1uF C9 0.1uF C16 0.1uF C14 0.1uF
  154. 演習の答え: JTAGコネクタ周り • JTAGコネクタを置く • シンボルはConn_ARM_JTAG_SWD_20 • VCCとVREFは⾮接続とする(※) • VCC:

    ターゲットへの給電⽤端⼦ • VREF: ターゲットの信号電圧を知るための端⼦。 今回は信号電圧3.3V固定なので未接続 (=3.3V以外のデバイスは接続不可) • nTRST・nSRSTにプルアップ抵抗を⼊れる • TCKにはプルダウン抵抗を⼊れる • TCKは⽴ち上がりエッジなのでLowに固定 • TCKが固定されていればJTAGステートマシンは動 かない • (option)ダンピング抵抗を⼊れ(たい) • まだ設計できてないので、0Ω抵抗を置いている 308 1 2 B C D R1 10k R21 10k R12 0 GND VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 GND 4 TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 J2 Conn_ARM_JTAG_SWD_20 +3.3V R19 10k R20 10k R6 0 R11 0 R8 0 R9 0 R7 0 R10 0 R14 27 G A1 SBU2 S S1 +3.3V +3.3V GND ~{CS} 1 DO(IO1) 2 IO2 3 GND 4 DI(IO0) 5 CLK 6 IO3 7 VCC 8 EP 9 U2 W25Q16JVZPIM GND C1 0.1uF GND +3.3V GND C2 0.1uF GND QSPI_SD3 QSPI_SD2 QSPI_CSN QSPI_SCLK QSPI_SD0 QSPI_SD1 ~{SRST} ~{TRST} TDI TMS_SWDIO RTCK TDO_SWO TCK_SWCLK QSPI_C SW SW QSPI_S XI QSPI_S QSPI_S QSPI_S QSPI_S damping resistor close to rp2040 Connector pullup Flash VBUS,D+,D- should be connected via ESD suppressors Osc GND R1 10k +3.3V R14 27 R10 0 R7 0 R9 0 R8 0 R11 0 R6 0 R20 10k R19 10k J2 Conn_ARM_JTAG_SWD_20 VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 GND 4 TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 GND R12 0 R21 10k ※ VREFはバッファIC等を⽤いてターゲット電圧に応じて信号電圧を変化させたい場合に使う
  155. 演習の答え: MEMS発振器 • SiT2001Bを⼊れる • シンボルはないので講師⾃作のシンボルを使 う • (追加⽅法等は聞いてください) •

    プルアップとバイパスコンデンサをつけ る • (option)ダンピング抵抗を⼊れる • まだ設計できてないので0Ω抵抗を置いてい る 309 1 2 3 C D K S T F S t R21 10k R12 0 GND VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 GND 4 TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 J2 Conn_ARM_JTAG_SWD_20 +3.3V R19 10k R20 10k R6 0 R11 0 R8 0 R9 0 R7 0 R10 0 ~{CS} 1 DO(IO1) 2 IO2 3 GND 4 DI(IO0) 5 CLK 6 IO3 7 V EP 9 U2 W25Q16JVZPIM GND C1 0.1uF GND R3 0 +3.3V GND R2 10k GND 1 NC 2 OE 3 VDD 4 OUT 5 U1 SIT2001B GND TESTEN 19 SWCLK 24 SWDIO 25 GP GP GP GP GP GP GP GPIO26/AD GPIO27/AD GPIO28/AD GPIO29/AD QSPI_SD3 51 QSPI_SCLK 52 QSPI_SD0 53 QSPI_SD2 54 QSPI_SD1 55 QSPI_~{SS} 56 GND 57 +3.3V GND C2 0.1uF GND XIN QSPI_SD3 QSPI_SD2 QSPI_CSN QSPI_SCLK QSPI_SD0 QSPI_SD1 ~{SRST} ~{TRST} TDI TMS_SWDIO RTCK TDO_SWO TCK_SWCLK QSPI_CSN SWCLK SWDIO QSPI_SCLK QSPI_SD3 QSPI_SD1 QSPI_SD2 QSPI_SD0 damping resistor close to rp2040 Connector Oscillator pullup GND U1 SIT2001B GND 1 NC 2 OE 3 VDD 4 OUT 5 GND R10 0 R7 0 R9 0 R8 0 R11 0 R6 0 R20 10k R19 10k J2 Conn_ARM_JTAG_SWD_20 VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 GND 4 TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 GND R12 0 R21 10k
  156. 演習の答え: 電源まわり • 降圧レギュレータに TCR3UF33ALMを選択 • 300mA/3.3Vのレギュレータ • セラミックコンデンサ利⽤可 •

    (option)逆電流保護ダイオードを⼊ れる • 次ページで解説 • (基本不要) 電流計測⽤ジャンパ • 300mAで動くか不安だったので電流計 測⽤のジャンパを⼊れた(が多分不要 ) 310 2 3 4 5 6 A B C14 0.1uF C16 0.1uF C12 1uF C9 C8 C17 GND +3.3V C5 C7 C6 C15 C13 C11 D2 CUHS20S30 +5V TP3 GND 1 2 JP1 +3.3V TP1 C10 1uF C4 1uF GND IN 1 GND 2 EN 3 OUT 5 U4 TCR3UF33ALM GND R16 10k ND R13 27 ND I/O1 2 I/O2 3 VCC 4 D1 PRTR5V0U2X R14 27 +5V GND IOVDD 1 IOVDD 10 GPIO8 11 GPIO9 12 GPIO10 13 GPIO11 14 GPIO12 15 GPIO13 16 GPIO14 17 GPIO15 18 GPIO0 2 XIN 20 XOUT 21 IOVDD 22 DVDD 23 SWCLK 24 SWDIO 25 RUN 26 GPIO16 27 GPIO17 28 GPIO18 29 GPIO1 3 GPIO19 30 GPIO20 31 GPIO21 32 IOVDD 33 GPIO2 4 IOVDD 42 ADC_AVDD 43 VREG_VIN 44 VREG_VOUT 45 USB_DM 46 USB_DP 47 USB_VDD 48 IOVDD 49 GPIO3 5 DVDD 50 GPIO4 6 GPIO5 7 GPIO6 8 GPIO7 9 U3 RP2040 +3.3V +1V1 V +3.3V +1V1 C1 R15 10k C3 0.1uF +3.3V TCK_SWCLK TDI TMS_SWDIO ~{TRST} D- VO RD- RD+ RD+ RD- SWCLK SWDIO XIN LED D+ ~{SRST} TDO_SWO RTCK POWER JP1: Power draw check point ESD suppressor RP2040 1uF: close to pin45 0.1uF: close to each IOVDD pin 1uF: close to pin44 RC delay (tau=10(ms)) Bypass capatitor 0.1uF: close to each DVDD D+,D- should be connected SD suppressors C4 1uF U4 TCR3UF33ALM IN 1 GND 2 EN 3 OUT 5 R16 10k GND R15 10k C3 0.1uF V +5V R14 27 D1 PRTR5V0U2X ND I/O1 2 I/O2 3 VCC 4 R13 27 ND C11 C13 C15 C6 C7 C17 C8 C9 C16 0.1uF C14 0.1uF
  157. 逆接続バイパスダイオード • LDOに逆接続バイパスダイオードをつけている • 電源OFF直後、回路のコンデンサ等の影響でLDOの⼊出⼒ 電圧が Vin < Vout になる

    • LDOに逆電流が流れると故障してしまう • ショットキーバリアダイオード(SBD)を⼊れると故障を防 げる • Vin < Voutになっても電流はダイオード経由で流れるため • リーク電流の少ないダイオードを使うと消費電⼒を抑えられる • 参考 • https://toshiba.semicon- storage.com/jp/semiconductor/knowledge/faq/linear_low- dropout-voltage/low-dropout26.html • https://fscdn.rohm.com/jp/products/databook/applinote/ic/p ower/linear_regulator/linearreg_reverse_voltage_appli-j.pdf • http://nahitafu.cocolog-nifty.com/nahitafu/2020/11/post- 004207.html 311 2 3 4 5 R1 10k C14 0.1uF C16 0.1uF C12 1uF GND D2 CUHS20S30 +5V TP3 GND 1 2 JP1 +3.3V TP1 C10 1uF C4 1uF GND IN 1 GND 2 EN 3 OUT 5 U4 TCR3UF33ALM GND R16 10k GND 5.1k GND R13 27 GND 1 I/O1 2 I/O2 3 VCC 4 D1 PRTR5V0U2X R14 27 +5V +5V GND IOVDD 1 IOVDD 10 GPIO8 11 GPIO9 12 GPIO10 13 GPIO11 14 GPIO12 15 GPIO13 16 GPIO14 17 GPIO15 18 GPIO0 2 XIN 20 XOUT 21 IOVDD 22 DVDD 23 RUN 26 GPIO16 27 GPIO1 3 IOVDD 33 GPIO2 4 IOVDD 42 ADC_AVDD 43 VREG_VIN 44 VREG_VOUT 45 USB_DM 46 USB_DP 47 USB_VDD 48 IOVDD 49 GPIO3 5 DVDD 50 GPIO4 6 GPIO5 7 GPIO6 8 GPIO7 9 U3 RP2040 +3.3V +1V1 5.1k +3.3V +1V1 R15 10k C3 0.1uF +3.3V TCK_SWCLK TDI TMS_SWDIO ~{TRST} D- VO RD- RD+ RD+ RD- XIN D+ ~{SRST} TDO_SWO RTCK POWER JP1: Power draw check point ESD suppressor RP2040 1uF: close to pin45 RC delay (tau=10(ms)) Bypass capatitor 0.1uF: close to each DVDD VBUS,D+,D- should be connected via ESD suppressors C4 1uF U4 TCR3UF33ALM IN 1 GND 2 EN 3 OUT 5 R16 10k GND R15 10k C3 0.1uF R1 10k +3.3V +5V R14 27 D1 PRTR5V0U2X GND 1 I/O1 2 I/O2 3 VCC 4 R13 27 GND C16 0.1uF C14 0.1uF 逆接続バイパス ダイオード
  158. 演習の答え: RP2040まわり • RP2040を置く • KiCad 7.0はデフォルトでRP2040のシ ンボルがある • RP2040と周辺回路をつなぐラベル

    をつけていく • RUN部にはRC回路を⼊れる • 次ページで解説 312 1 2 3 4 A B C +3.3V IOVDD 1 GPIO8 11 GPIO9 12 GPIO10 13 GPIO11 14 GPIO12 15 GPIO13 16 GPIO14 17 GPIO15 18 TESTEN 19 GPIO0 2 XIN 20 XOUT 21 DVDD 23 SWCLK 24 SWD 25 RUN 26 GPIO16 27 GPIO17 28 GPIO18 29 GPIO1 3 GPIO19 30 GPIO20 31 GPIO21 32 GPIO22 34 GPIO23 35 GPIO24 36 GPIO25 37 GPIO26_ADC0 38 GPIO27_ADC1 39 GPIO2 4 GPIO28_ADC2 40 GPIO29_ADC3 41 ADC_AVDD 43 VREG_IN 44 VREG_VOUT 45 USB_DM 46 USB_DP 47 USB_VDD 48 GPIO3 5 QSPI_SD3 51 QSPI_SCLK 52 QSPI_SD0 53 QSPI_SD2 54 QSPI_SD1 55 QSPI_SS 56 GND 57 GPIO4 6 GPIO5 7 GPIO6 8 GPIO7 9 U5 RP2040 R15 10k +5V R13 27 +1V1 GND 1 I/O1 2 I/O2 3 VCC 4 D1 PRTR5V0U2X GND GND C3 0.1uF +3.3V GND R5 5.1k GND R4 5.1k +3.3V F 1 2 GND A1 VBUS A4 CC1 A5 D+ A6 D- A7 SBU1 A8 CC2 B5 D+ B6 D- B7 SBU2 B8 SHIELD S1 J1 USB_C_Receptacle_USB2.0 +5V +5V C4 1u R14 27 GND GND 1 2 3 GND +3.3V C5 1uF C6 0.1uF R19 k R20 k +3.3V ~{CS} 1 DO(IO1) 2 IO2 3 GND 4 DI(IO0) 5 CLK 6 IO3 7 VCC 8 EP 9 U2 W25Q16JVZPIM +3.3V R1 10k GND C1 0.1uF GND GND QSPI_SCLK QSPI_SD2 D+ RD+ RD- TDO_SWO RTCK QSPI_SD1 ~{SRST} QSPI_CSN ~{TRST} QSPI_SD0 QSPI_SD3 QSPI_SD2 TDI LED TCK_SWCLK XIN QSPI_SCLK TMS_SWDIO D- SWCLK RD+ RD- SWDIO SWCLK SWDIO QSPI_SD1 QSPI_SD3 QSPI_CSN QSPI_SD0 Misc USB RP2040 SWD POW VBUS,D+,D- should be connected via ESD suppressors Connector ESD suppressor pullup Flash Bypa capat 1uF: close 0.1uF: clos RC delay (tau=10(ms)) RP2040 C6 0.1uF C4 1u F 1 2 R1 10k +3.3V R20 k R19 k R14 27 GND C3 0.1uF GND D1 PRTR5V0U2X GND 1 I/O1 2 I/O2 3 VCC 4 R13 27 +5V R15 10k
  159. RC回路 • RC回路 • ⼀定時間後にHighにしたいときに使う回路 • R(Ω)*C(F) 秒後に抵抗・コンデンサ間電圧が ⼊⼒電圧の0.6倍になる •

    この時刻τを時定数と呼ぶ(τ=R(Ω)*C(F)) • RUN端⼦にRC回路を⼊れて起動を遅延さ せている • MEMS発振器の起動時間(5ms) < RC回路の時定数(10k*0.1u=10ms) 313 1 2 3 +3.3V 23 RUN 26 VREG_VOUT 45 USB_DM 46 USB_DP 47 QSPI_SD0 53 54 QSPI_SD1 55 QSPI_SS 56 R15 10k +5V R13 27 +1V GND 1 I/O1 2 I/O2 3 VCC 4 D1 PRTR5V0U2X GND C3 0.1uF GND R5 5.1k GND R4 5.1k GND A1 VBUS A4 CC1 A5 D+ A6 D- A7 SBU1 A8 CC2 B5 D+ B6 D- B7 SBU2 B8 SHIELD S1 J1 USB_C_Receptacle_USB2.0 +5V R14 27 QSPI_SD2 D+ RD+ RD- D- RD+ RD- QSPI_SD1 QSPI_CSN QSPI_SD0 USB VBUS,D+,D- should be connected via ESD suppressors ESD suppressor RC delay (tau=10(ms)) RP20 R14 27 GND C3 0.1uF GND D1 PRTR5V0U2X GND 1 I/O1 2 I/O2 3 VCC 4 R13 27 +5V R15 10k
  160. 演習の答え: バイパスコンデンサ • RP2040の電源のバイパスコンデン サを追加する • 内蔵レギュレータの⼊出⼒部の近く だけ1uFを⼊れる 314 A

    B C +3.3V IOVDD 1 GPIO8 11 GPIO9 12 GPIO10 13 GPIO11 14 GPIO12 15 GPIO13 16 GPIO14 17 GPIO15 18 TESTEN 19 GPIO0 2 XIN 20 XOUT 21 DVDD 23 SWCLK 24 SWD 25 RUN 26 GPIO16 27 GPIO17 28 GPIO18 29 GPIO1 3 GPIO19 30 GPIO20 31 GPIO21 32 GPIO22 34 GPIO23 35 GPIO24 36 GPIO25 37 GPIO26_ADC0 38 GPIO27_ADC1 39 GPIO2 4 GPIO28_ADC2 40 GPIO29_ADC3 41 ADC_AVDD 43 VREG_IN 44 VREG_VOUT 45 USB_DM 46 USB_DP 47 USB_VDD 48 GPIO3 5 QSPI_SD3 51 QSPI_SCLK 52 QSPI_SD0 53 QSPI_SD2 54 QSPI_SD1 55 QSPI_SS 56 GND 57 GPIO4 6 GPIO5 7 GPIO6 8 GPIO7 9 U5 RP2040 R15 10k +1V1 V0U2X +3.3V GND GND C3 0.1uF +3.3V C11 0.1uF C13 0.1uF D3 RED C15 0.1uF D2 CUHS20S30 +5V R17 1k 1 2 J3 BOOT R16 10k C4 1uF GND TP3 GND IN 1 GND 2 EN 3 OUT 5 U4 TCR3UF33ALM 1 2 JP1 +3.3V TP1 C10 1uF 1 2 3 J4 SWD GND GND +3.3V C5 1uF GND C6 0.1uF C7 0.1uF +1V1 C12 1uF C14 0.1uF C16 0.1uF C9 0.1uF GND C17 0.1uF C8 0.1uF QSPI_SD2 RD+ RD- TDO_SWO RTCK ~{SRST} ~{TRST} TDI LED TCK_SWCLK XIN QSPI_SCLK VO TMS_SWDIO SWCLK + SWDIO SWCLK SWDIO QSPI_CSN QSPI_SD1 QSPI_SD3 QSPI_CSN QSPI_SD0 Misc RP2040 SWD 1uF: close to pin45 ted JP1: Power draw check point BOOT SELECT 0.1uF: close to each DVDD Bypass capatitor 1uF: close to pin44 0.1uF: close to each IOVDD pin (tau=10(ms)) C11 0.1uF C13 0.1uF D3 RED C15 0.1uF R17 1k C6 0.1uF C7 0.1uF C17 0.1uF C8 0.1uF C9 0.1uF C16 0.1uF C14 0.1uF U4 TCR3UF33ALM IN 1 GND 2 EN 3 OUT 5 C4 1uF R16 10k C3 0.1uF GND V0U2X R15 10k
  161. その他 • SWDデバッグ⽤の端⼦を⼊れ る • LEDを⼊れる • D3: 電源確認⽤ •

    D4: ソフトウェアの動作確認⽤ • PWR_FLAG • ERCを通す⽤ • MountingHole • 基板の取り付け⽳を作る⽤ 315 B C D File: rp2040_jtag_debugger.kicad_sch Sheet: / tnishinaga GPIO15 TESTEN 19 XIN 20 XOUT 21 SWCLK 24 SWD 25 GPIO16 27 GPIO17 28 GPIO18 29 GPIO19 30 GPIO20 31 GPIO21 32 GPIO22 34 GPIO23 35 GPIO24 36 GPIO25 37 GPIO26_ADC0 38 GPIO27_ADC1 39 GPIO28_ADC2 40 GPIO29_ADC3 41 GND 57 U5 RP2040 +3.3V GND C11 0.1uF C13 0.1uF D3 RED C15 0.1uF R17 1k 1 2 J3 BOOT GND GND 1 2 3 J4 SWD GND +3.3V C5 1uF H3 MountingHole H2 MountingHole H1 MountingHole H4 MountingHole GND D4 GREEN GND R18 1k PWR_FLAG PWR_FLAG GND +3.3V +5V PWR_FLAG GND C6 0.1uF C7 0.1uF C2 0.1uF +3.3V GND 1 NC 2 OE 3 VDD 4 OUT 5 U1 SIT2001B R2 10k 1uF 0.1uF 0.1uF C9 0.1uF GND C17 0.1uF +3.3V C8 0.1uF R3 0 GND XIN LED XIN SWCLK LED SWDIO SWCLK SWDIO QSPI_CSN Misc RP2040 SWD BOOT SELECT Oscillator pullup capatitor 1uF: close to pin44 0.1uF: close to each IOVDD pin C11 0.1uF C13 0.1uF D3 RED C15 0.1uF R17 1k GND D4 GREEN R18 1k GND PWR_FLAG C6 0.1uF C7 0.1uF C17 0.1uF C8 0.1uF C9 0.1uF 0.1uF 0.1uF U1 SIT2001B GND 1 NC 2 OE 3 VDD 4 OUT 5 GND
  162. 講師作の回路図例 316 1 2 3 4 5 6 1 2

    3 4 5 6 A B C D A B C D Date: 2023-03-21 KiCad E.D.A. kicad 7.0.1-0 Rev: 2022-03-21 Size: A4 Id: 1/1 Title: RP2040 JTAG DEBUGGER File: rp2040_jtag_debugger.kicad_sch Sheet: / tnishinaga +3.3V IOVDD 1 GPIO8 11 GPIO9 12 GPIO10 13 GPIO11 14 GPIO12 15 GPIO13 16 GPIO14 17 GPIO15 18 TESTEN 19 GPIO0 2 XIN 20 XOUT 21 DVDD 23 SWCLK 24 SWD 25 RUN 26 GPIO16 27 GPIO17 28 GPIO18 29 GPIO1 3 GPIO19 30 GPIO20 31 GPIO21 32 GPIO22 34 GPIO23 35 GPIO24 36 GPIO25 37 GPIO26_ADC0 38 GPIO27_ADC1 39 GPIO2 4 GPIO28_ADC2 40 GPIO29_ADC3 41 ADC_AVDD 43 VREG_IN 44 VREG_VOUT 45 USB_DM 46 USB_DP 47 USB_VDD 48 GPIO3 5 QSPI_SD3 51 QSPI_SCLK 52 QSPI_SD0 53 QSPI_SD2 54 QSPI_SD1 55 QSPI_SS 56 GND 57 GPIO4 6 GPIO5 7 GPIO6 8 GPIO7 9 U5 RP2040 R15 10k +5V R13 27 +1V1 GND 1 I/O1 2 I/O2 3 VCC 4 D1 PRTR5V0U2X +3.3V GND GND C3 0.1uF +3.3V C11 0.1uF GND R5 5.1k GND C13 0.1uF R4 5.1k GND +3.3V D3 RED R21 10k VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 GND 4 TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 J2 Conn_ARM_JTAG_SWD_20 GND A1 VBUS A4 CC1 A5 D+ A6 D- A7 SBU1 A8 CC2 B5 D+ B6 D- B7 SBU2 B8 SHIELD S1 J1 USB_C_Receptacle_USB2.0 +5V C15 0.1uF D2 CUHS20S30 +5V R17 1k 1 2 J3 BOOT R16 10k C4 1uF R14 27 GND TP3 GND IN 1 GND 2 EN 3 OUT 5 U4 TCR3UF33ALM GND 1 2 JP1 +3.3V TP1 C10 1uF GND 1 2 3 J4 SWD GND GND +3.3V C5 1uF R10 0 R11 0 H3 MountingHole H2 MountingHole H1 MountingHole H4 MountingHole GND R12 0 D4 GREEN GND R18 1k PWR_FLAG PWR_FLAG GND +3.3V +5V PWR_FLAG GND C6 0.1uF C7 0.1uF C2 0.1uF R19 10k R20 10k R6 0 R8 0 R7 0 R9 0 +3.3V ~{CS} 1 DO(IO1) 2 IO2 3 GND 4 DI(IO0) 5 CLK 6 IO3 7 VCC 8 EP 9 U2 W25Q16JVZPIM +3.3V R1 10k GND +3.3V GND 1 NC 2 OE 3 VDD 4 OUT 5 U1 SIT2001B GND R2 10k +1V1 C12 1uF C14 0.1uF C16 0.1uF C1 0.1uF GND GND C9 0.1uF GND C17 0.1uF +3.3V C8 0.1uF R3 0 GND QSPI_SCLK QSPI_SD2 D+ RD+ RD- XIN TDO_SWO RTCK QSPI_SD1 ~{SRST} QSPI_CSN ~{TRST} QSPI_SD0 QSPI_SD3 QSPI_SD2 TDI LED TCK_SWCLK XIN QSPI_SCLK VO TMS_SWDIO D- SWCLK ~{SRST} RD+ ~{TRST} TDI TMS_SWDIO RTCK RD- LED SWDIO SWCLK SWDIO QSPI_CSN TCK_SWCLK TDO_SWO QSPI_SD1 QSPI_SD3 QSPI_CSN QSPI_SD0 Misc USB RP2040 SWD 1uF: close to pin45 damping resistor close to rp2040 POWER VBUS,D+,D- should be connected via ESD suppressors JP1: Power draw check point Connector ESD suppressor BOOT SELECT pullup Oscillator pullup Flash 0.1uF: close to each DVDD Bypass capatitor 1uF: close to pin44 0.1uF: close to each IOVDD pin RC delay (tau=10(ms)) RP2040 C11 0.1uF C13 0.1uF D3 RED C15 0.1uF R17 1k GND D4 GREEN R18 1k GND PWR_FLAG C6 0.1uF C7 0.1uF C17 0.1uF C8 0.1uF C9 0.1uF C16 0.1uF C14 0.1uF U4 TCR3UF33ALM IN 1 GND 2 EN 3 OUT 5 C4 1uF R16 10k GND R21 10k J2 Conn_ARM_JTAG_SWD_20 VTREF 1 RTCK 11 TDO/SWO 13 ~{SRST} 15 DBGRQ/NC 17 DBGACK/NC 19 VCC/NC 2 ~{TRST} 3 GND 4 TDI 5 TMS/SWDIO 7 TCK/SWDCLK 9 R10 0 R11 0 R12 0 GND U1 SIT2001B GND 1 NC 2 OE 3 VDD 4 OUT 5 GND R1 10k +3.3V R9 0 R7 0 R8 0 R6 0 R20 10k R19 10k R14 27 GND C3 0.1uF GND D1 PRTR5V0U2X GND 1 I/O1 2 I/O2 3 VCC 4 R13 27 +5V R15 10k
  163. その他やること • 回路図を⾒やすくする • レビュー者や数カ⽉後の⾃分がわかりやすいようにしておく • 例: • シンボルや部品番号等がかぶらないようにする •

    電源シンボルのVCCは上⽅向、GNDは下⽅向を向くようにする • モジュールごとに分ける • 適宜コメントを追加する • ERCを通す • アノテーションとfootprint assignをする 317
  164. QFNを⼿はんだするための特殊加⼯ • 背⾯PadがあるICは基本⼿はんだ不可 • 通常はリフローという⼿法を使う • RP2040は背⾯PadがGND • 普通は⼿はんだできない •

    QFNはピンが出ていない • 側⾯には出ているので、 ⾮常に難しいが⼿ はんだ可能 321 product briefより引⽤ https://datasheets.raspberrypi.com/rp 2040/rp2040-product-brief.pdf
  165. 背⾯Padの⼿はんだ⽤加⼯ • 背⾯Pad部分に⼤⽳を開けると裏 からはんだを流し込める • 専⽤フットプリント • https://github.com/tnishinaga/seccam p2022_pcb/blob/main/cmsis- dap_rp2040/libs/RP2040/rp2040.pretty

    /RP2040_QFN56_HandSolderHack.kica d_mod • 参考 • https://makezine.jp/blog/2016/09/arm s22.html 322 表 裏 ※⼿はんだ専⽤Hackなので、リフローはできなくなる
  166. QFNのはんだづけ • 以下の⼿順で頑張ればはんだづけできる • ⾼難易度なので、講師にお任せください(挑戦者も募集!) 323 2. 上から端⼦とパッドの 位置をあわせつつ、横 から覗きこんで予備は

    んだ部と端⼦をあわせ る 3. 対⾓線上の2箇所をはん だづけして固定する 1.対⾓線上の2箇所を予 備はんだする (以降、各⼯程前にフラ ックスを塗ること) 4. こて先にはんだを乗せ て、未はんだ部を撫で るように滑らせてはん だをつける(※) ※はんだがつくと輝きが変わる
  167. 演習の答え: 主要部品を仮置する • 以下の主要部品を仮置する • RP2040 • USB • 降圧レギュレーター

    • MEMS発振器 • QSPI Flash JTAG端⼦ • 薄い⽔⾊の未接続配線をみて、絡 まりが少ないように部品を回転し ながら置く • その後の配線がしやすくなる 327
  168. 演習の答え: 配置制約のある部品を仮置 する • 配置場所の制約がある部品を設置する • バイパスコンデンサ • VCCのなるべく近くに置く •

    各VCCピン1つに対し1つ置く • ダンピング抵抗 • 基本は信号送信側近くに置く • USB信号線の27Ω抵抗 • RP2040のなるべく近くに置く • MEMS発振器 • RP2040のなるべく近くに置く • QSPI Flash • RP2040のそこそこ近くに置く • ちょっと離し気味に置くと配線しやす い 328
  169. 演習の答え: 電源線を引く • 電源線はなるべく太くする • viaの外形+0.1mmあると好きなとこ ろでvia作れるのでオススメ • 信号線を引き出すスペースを考え ながら引く

    • 基本は電源線優先 • ただし図のようにviaすら出せない 状況は避ける • ノイズ対策の節も参照しながら引 く • パスコンを経由して電源供給する等 329 出られない
  170. 演習の答え: 残りの部品を置いて配線す る • 残りの部品を置く • 信号線を引いていく • 気をつけるポイントは次ペ ージで解説

    • うまく配線できない場合は 以下を試す • 部品を移動させてスペース をあける • 電源線を⼀部引き直す 330
  171. MEMO: 差動信号の配線幅の決め⽅ • Kicad付属の計算機 (calculator tools)を使って計 算 • Transmission Lines

    -> Coupled Microstrip Line • 以下のパラメータを⼊⼒して Analyzeを押すと差動インピ ーダンスが右下⾚枠に出てく る • 基板厚(H): 1mm • 配線幅(W): 0.83mm • 配線間スペース(S): 0.2mm 333
  172. 演習の答え: 信号線を引く際に気をつけ たいこと • リターンパスを確保する 以下の信号線の始点から終点まで の下にGNDを(なるべく)途切れ ないように敷く • RP2040のSWD線

    • RP2040とFlash storage間の信号線 • RP2040とJTAG端⼦間の信号線 335 リターンパスが確保できている例 信号線下のGNDが迂回せず通っている
  173. Note: ノイズ対策の取捨選択 • すべてのノイズ対策の採⽤は不可能 • 特に2層基板は以下の理由で難しい • 信号線と電源層を分けられないので、電源配線が⻑くなりがち • すべての配線の下にGND層を引けない

    • リターンパス(※)の確保が難しい • 信号線とGND層の距離が遠くなりがち • 距離が近いほうがインピーダンスが下がる • 詳細は 「マイクロストリップライン」 で検索 • より効果のありそうな対策を取捨選択しながら適応する • 優先順位はシミュレーション・実測等で確認して考える 336 ※ リターンパスの詳細は「プリント基板設計ガイド EMI 対策の指針 ‒ TOSHIBA」を参照 https://toshiba.semicon-storage.com/info/docget.jsp?did=63626
  174. 残りのやること • ベタGNDを敷く • Viaを増やす • 基板外周をGNDで囲ってViaをあける • スタブにViaをあけてGNDにする or

    スタブを消す • GNDガード(信号線の両側に引くGND)にも等間隔にViaをあけて両 ⾯をつなぐ • DRCを通す • 説明省略。エラーのとり⽅がわからない場合は講師やチューターに聞 いてください。 • 部品番号等の情報を⾒やすくする • ⾃分のサインと基板のバージョンを⼊れる 337
  175. (余裕があれば)基板を⼩さくしてみる • 基板を作り直してもう少し⼩さ く作ってみましょう • ⼩さくするメリット • 複数⾯付けを⾏えば同じ価格で作 れる基板枚数が増える •

    信号線の⻑さが短くなるのでノイ ズに強くなる(かも) • 作業前に⼀旦完成した分はプロ ジェクトごと別の場所にコピー してバックアップを取ってから ⾏うこと • 締切に間に合わない場合はバッ クアップの基板を製造する 340 このあたりは不要 このあたりも不要 JTAG信号線は もっと短くできる
  176. JTAGアダプタとRaspberry Piの接続 • JTAGアダプタ接続基板をRaspberry Piに接続する • JTAGアダプタ接続基板とJTAGアダプタをコネクタで接続する • パソコンにOpenOCDをインストールする •

    OpenOCD configを書く • Raspberry Piのセットアップ • Raspberry PiのJTAGを有効化するconfigを書く • OpenOCDを起動して接続する 351
  177. OpenOCDを起動して接続する • OpenOCDのpi3.cfgのあるディレクトリで以下を実⾏してくだ さい • openocd -f interface/cmsis-dap.cfg -f pi3.cfg

    • 次ページと同じ画⾯が出てくれば回路とFWは問題ないはず • うまく動かない⼈は講師に相談してください 358
  178. JTAG経由でCPUのレジス タを覗く • JTAG経由でCPUのレジスタを⾒る • gdbでtcp 3333 portに接続するとデバッ グもできる •

    ⽅法 1. telnetでopenocdに接続する • telnet localhost 4444 2. regコマンドを実⾏する • うまく動けば右図のようにレジスタの中⾝ が表⽰される 360
  179. 参考資料 • 電⼦部品のはたらき, 村⽥製作所 • 抵抗・コンデンサ等部品が図付きで簡単に紹介されているサイト • https://article.murata.com/ja-jp/series/compo_func • TRSP

    No.148 回路図の描き⽅から始めるプリント基板設計&製作⼊ ⾨, CQ出版社 • 回路図の描き⽅から基板作成まで⾏う本。本講義と⼀緒に読むのおすすめ • https://shop.cqpub.co.jp/detail/2458/ • 初めての電⼦回路15講, 秋⽥純⼀, 講談社 • オームの法則から半導体を使った回路について知りたい⼈におすすめ • ⽬で⾒てわかる はんだ付け作業鉛フリーはんだ編, 野瀬 昌治, ⽇刊 ⼯業新聞社 • 基礎知識から始まり、どうすれば良いはんだ付けができるかまでわかりやす く解説されていておすすめ 363
  180. 参考⽂献: ノイズ対策系 • ノイズ対策.com • https://www.noise-counterplan.com/ • プリント基板設計ガイド EMI 対策の指針,東芝

    • https://toshiba.semicon-storage.com/info/docget.jsp?did=63626 • Hi-Speed USB 2.0 基板設計ガイドライン, Renesas • https://www.renesas.com/jp/ja/document/apn/869351 364