Slide 1

Slide 1 text

セキュリティ・キャンプ 基板作るコース 講義資料 version 2024-03-16-01 https://github.com/tnishinaga 1

Slide 2

Slide 2 text

Changelog • 2023-06-12-01 • 2023年版の初版 • 2024-03-16-01 • 誤字脱字等の⼀部修正 2

Slide 3

Slide 3 text

謝辞 • レビュー協⼒ • uchanさん • koiking213さん • 回路設計アドバイス • homelithさん • 講義を受けてくださった受講⽣のみなさま • 講義を⼿伝ってくださったチューターのみなさま 3 ありがとうございました!

Slide 4

Slide 4 text

おねがい • 本資料の内容については細⼼の注意を払って記載しております が、誤字脱字や内容の誤りがある場合があります。 誤り等を⾒つけたら、ご連絡いただけると嬉しいです。 • 本資料は⾮商⽤かつ常識の範囲内でご活⽤ください(※) • 例:部活やサークルでの学習資料等 • 商⽤での利⽤等はご相談ください 4 ※他者の著作物を引⽤している部分もあるため、なるべくページそのままでの利⽤をお願いします

Slide 5

Slide 5 text

導⼊ 5

Slide 6

Slide 6 text

電⼦回路 とは • 特定機能を実現するため、電⼦ 部品を組み合わせ配線したもの 6 回路図の例

Slide 7

Slide 7 text

基板とは? • 電⼦部品を載せて配線した板 • 部品がない板も基板(後述) 7

Slide 8

Slide 8 text

電⼦回路・基板が作 れると何が嬉しい? • ソフトウェアで解決が難しい問 題をハードウェアで解決できる • 例: パソコン電源のハードリセッ トを⾃動化したい → WiFiマイコン+制御SW • セキュリティとの関係 • ハード⾯からハックするデバ イスが作れるかも 8

Slide 9

Slide 9 text

講義⽬的 9

Slide 10

Slide 10 text

講義⽬的 • 問題解決⼿段に「電⼦回路・基板を作る」を加えるきっかけを 作る • 必要になる知識・技能 • 回路図の読み書き • ブレッドボードを使った試作 • はんだづけ • ユニバーサル基板を使った試作 • 回路図CAD・基板設計ソフトを使った設計 • 基板制作の外部発注 10

Slide 11

Slide 11 text

講義概要 11

Slide 12

Slide 12 text

⽬次 • 電⼦回路⼊⾨ • かんたんな回路図の読み⽅・書き⽅の解説 • はんだづけ⼊⾨ • はんだづけの⽅法を学び、実践的に習得する • 回路図CAD・基板設計⼊⾨ • コンピュータを⽤いて電⼦回路基板を設計する • ノイズ対策⼊⾨ • 基本的なノイズ対策を学ぶ • 実践: JTAGアダプタを作ってみよう • マイコン等のデバッグに使うJTAGアダプタを作る • 電⼦回路の設計、基板作成、試作、デバッグ技能を習得する 12

Slide 13

Slide 13 text

本講義の共通作業 13 回路図 基板設計 (アートワーク設計) 試作 概要図

Slide 14

Slide 14 text

講義の進め⽅ • 基本は資料を使った⾃主学習をお願いします • わからないことがあったら適宜講師にdiscordで質問してくださ い • 5分考えたり調べてわからなかったら質問するのがおすすめ • 各演習が終わったら講師に報告してください • 発注の関係で締め切りがあるのでスケジュールに注意してくだ さい • 定期的に講師に進捗報告して頂けると嬉しいです😆 15

Slide 15

Slide 15 text

電⼦回路⼊⾨ v2023-06-12-01 16

Slide 16

Slide 16 text

この節の⽬標 • 電⼦回路の基礎知識をつける • はんだづけの基礎知識をつける • 実際に簡単なはんだづけを⾏えるようになる 17

Slide 17

Slide 17 text

電⼦回路 とは • 特定機能を実現するため、電⼦ 部品を組み合わせ配線したもの 18 回路図の例

Slide 18

Slide 18 text

回路図(schematics) • 電⼦回路の設計図 • 電⼦部品の配置とその配線を図 ⽰したもの 19 回路図の例

Slide 19

Slide 19 text

よく使う部品と回路図記号 • 以下をご紹介 • 抵抗器(resistor) • コンデンサ(capacitor) • コイル(inductor) • ⽔晶(crystal) • ダイオード(diode) • トランジスタ(transistor) • 電源(power) • 接続点(junction) 20

Slide 20

Slide 20 text

抵抗器(resistor) • 概要 • 電気を流れを妨げる部品 • 電源電圧と抵抗値に応じた電流が流 れる • オームの法則(V=IR)に従う • 単位 • オーム(Ω) • ⽤途 • 流れる電流の制限 • 別の部品に加わる電圧の調整 21 回路図記号 実物

Slide 21

Slide 21 text

コンデンサ (capacitor) • 概要 • 電気(電荷)を貯めて放出する部品 • 単位 • ファラッド(F) • 主な⽤途 • 電源の安定化・ノイズ対策 • バイパスコンデンサなど(後述) 22 回路図記号 実物

Slide 22

Slide 22 text

コンデンサの種類 • 無極性コンデンサ • 接続の極性が無いコンデンサ • 極性: 正負の電荷の偏り 電池のプラス・マイナス • 例: 積層セラミックコンデンサ • 極性ありコンデンサ • 接続の極性があるコンデンサ • 逆接続すると爆発するものもあ るので注意 • 例: 電解コンデンサ 23 積層セラミックコンデンサ(無極性) マイナス側 (⾜の短い⽅) 電解コンデンサ(極性あり) プラス側 (⾜の⻑い⽅)

Slide 23

Slide 23 text

コイル(inductor) • 概要 • 電気を磁気に変えて貯める部品 • 単位 • ヘンリー(H) • ⽤途 • 電圧変換 • ノイズ対策 24 画像は秋⽉商品ページより引⽤ https://akizukidenshi.com/catalog/g/gP-13551/ 回路図記号 実物

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

半導体 • 電気を通しやすいもの(導体)と 電気を通しにくいもの(不導体) の中間のもの • 異なる不純物を混ぜた半導体(P型、 N型)を組み合わせると、様々な特 性が得られる • ⼀定⽅向(順⽅向)に電圧を加えた ときのみ電流が流れる • 少ない電流を増幅して流す 26 ⾼電位 低電位 参考資料: https://ja.wikipedia.org/wiki/半導体 はじめての電⼦回路15講 (pp.22-24, 秋⽥純⼀著, 講談社)

Slide 26

Slide 26 text

ダイオード(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 回路図記号 実物

Slide 27

Slide 27 text

トランジスタ (transistor) • 概要 • ベース(B)・エミッタ(E)間に電流(ベース 電流)を流すと、ベース電流の数百倍の電 流がエミッタ(E)・コレクタ(C)間に流れ る半導体部品 • NPNとPNPの2種類ある • NPN: B→Eにベース電流を流すとC → Eに⼤きな電流が流れる • PNP: E → Bにベース電流を流すとE → Cに⼤きな電流が流れる • ⽤途 • 電流増幅 • スイッチング 28 ベース エミッタ コレクタ npn pnp 回路図記号 実物

Slide 28

Slide 28 text

電源(power) • 概要 • 回路に電気を供給する装置 • 実態は電池やAC/DCアダプタ等 • VCCとGND • VCC: 基準電位から⾒て電位の⾼い⽅ • +5Vなど、電圧を書いたシンボルもある • 電池だとプラス側 • GND: 基準電位 • ある回路内で基準とする電圧 • 電池だとマイナス側 29 VCC GND 回路図記号 実物

Slide 29

Slide 29 text

接続点(junction) • 概要 • 配線同⼠を繋げる点 • 点があるところは電気的に導通してい る • 点がない部分は跨いでるだけ (導通してない) 30

Slide 30

Slide 30 text

誤差 • 部品には誤差がある • 100Ω±5%の抵抗なら、95Ω〜105Ωの個体差がでる • 厳密な値が欲しい場合 • 誤差があっても問題ない設計にする • 誤差の少ない部品を選ぶ(1%など) 31

Slide 31

Slide 31 text

定格 • 部品には安全に使⽤できる電圧・電流等がある • 定格を超えると壊れる・燃える • たまに爆発するので注意 32

Slide 32

Slide 32 text

定格の例: 抵抗 • 1/4W抵抗 • 消費電⼒0.25Wまで⼤丈夫 -> 抵抗に5V加えて50mAまで 電流を流してOK 33 https://akizukidenshi.com/catalog/g/gR-25103/ より引⽤ 消費電⼒(W) = 電流(A) * 電圧(V)

Slide 33

Slide 33 text

定格の例: LED • LEDの定格は種類・⾊によって異な る • OSR5JA3Z74Aの場合 • 標準順⽅向電圧Vf: 2.1V • 最⼤順⽅向電流If: 30mA • https://akizukidenshi.com/ catalog/g/gI-11577/ • 電源に直つなぎすると壊れる • 電流制限抵抗を⼊れて調整する 34 ※秋⽉のサイトにはIfが標準電流として記載されている

Slide 34

Slide 34 text

演習1: LEDを定格最 ⼤で光らせる抵抗値 を計算する • 右図のLEDを以下の条件で光ら せるための電流制限抵抗Rを計算 してください • 順⽅向電圧Vf: 2.1V • 順⽅向電流If: 30mA 35 R 5V

Slide 35

Slide 35 text

演習1ヒント • 直流回路なので… … • 抵抗Rに流れる電流IrとLEDに流れる電 流Ifは同じ • V = Vf + Vr • IfとVrの関係から抵抗Rを求める • 回答は次ページ 36 R 5V V Vr

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

Note: 抵抗のラインナップ • 抵抗やコンデンサの値はE系列に従った値が売られている • 例: E3系列 • 1, 2.2, 4.7, 10 • 参考 • https://www.koaglobal.com/product/library/resistor/marking 38

Slide 38

Slide 38 text

演習1.1: 電流制限抵抗を1kΩにした際の 順⽅向電流Ifを計算しよう • 実際はLEDを最⼤順⽅向電流 で動かすことはあまりない • 明るすぎるため • 電流制限抵抗はとりあえず 1kΩを⼊れがち • Ifは何Aになるか計算してみま しょう 39 1kΩ 5V

Slide 39

Slide 39 text

演習1.1の答え • I =(V ‒ Vf) / Rより I = (5 - 2.1) / 1000 = 2.9[mA] • 定格最⼤順⽅向電流の1/10程 度で⼗分光る • LEDの⾊や仕様によって異なるの で注意 40 100Ω抵抗で光らせたLED 1kΩ抵抗で光らせたLED

Slide 40

Slide 40 text

回路図を書いてみよう ⾮安定マルチバイブレーターによるLED点滅回路作成 41

Slide 41

Slide 41 text

回路図を書くまで • なにを実現したいか考える • 概要図を描く • 回路図を描く 42

Slide 42

Slide 42 text

なにを実現したいか考える • 何を実現したいかを考える • 実現の⽅法は複数ある • 電⼦回路でなくても良いことも • 今回の実習の場合 • LEDを点滅させたい • ⾮安定マルチバイブレーター(講義で扱うのはこれ) • タイマーIC? • マイコン? 43

Slide 43

Slide 43 text

⾮安定マルチバイ ブレーターとは • コンデンサが充放電を繰り返して左右の トランジスタを交互に作動させる回路 • 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

Slide 44

Slide 44 text

Re: 本講義の共通作業 45 回路図 基板設計 (アートワーク設計) 試作 概要図

Slide 45

Slide 45 text

概要図を書く(skip) • 回路の要素、接続をブロック図で簡単に書く • 抵抗やピン等は⼀旦無視 • 回路⾃体が簡単な場合はスキップ • 今回の場合は回路図のほうがわかりやすい • 機能ブロックで分けられるような規模の回路では必須 46

Slide 46

Slide 46 text

回路図を書く • 基本の書き⽅ • 概要図に書いた主要な部品を並べる • 部品の定格等を調べながら抵抗やコンデンサを⾜す • それぞれの部品を線でつなぐ 47

Slide 47

Slide 47 text

演習2: 回路図を書 いてみよう • 右図の⾮安定マルチバイブレー ターLED点滅回路の回路図を⼿ 元で書いてみましょう 48 ※VCCは3V

Slide 48

Slide 48 text

発展演習(興味のある⽅だけやればOK): ⾮安定マルチバイブレーターの電圧計算 • RC回路のコンデンサCの電圧Vcを以下のサイトを参考に導出し てみましょう • https://detail-infomation.com/transient-rc-series-circuit- differential-equation/ • https://detail-infomation.com/rc-circuit-time-constant/ • 以下のサイトで⾏っている⾮安定マルチバイブレータの発振周 波数の計算をやってみましょう • https://cc.cqpub.co.jp/system/contents/1500/ 49

Slide 49

Slide 49 text

ブレッドボードで試作しよう ⾮安定マルチバイブレーターによるLED点滅回路の試作 50

Slide 50

Slide 50 text

ブレッドボー ドとは • 電⼦回路の試作⽤の板 • 簡単に抜き差しできる 51

Slide 51

Slide 51 text

ブレッドボードの 配線 • 隣接6つの⽳が導通してる • 例外: 電源ライン • ライン間はジャンパ線で繋ぐ 52 導通部分

Slide 52

Slide 52 text

ブレッドボード 試作の メリット・デメ リット • 試作が簡単 • デバッグも簡単 メリット • ⾼い(1枚400円程度) • 部品が簡単に抜けるため、⻑ 期的に使う回路には向かない デメリット 53

Slide 53

Slide 53 text

演習3: ブレッドボードで試作しよう 1. 演習2の回路をブレッドボード上で配線した図を作ってくださ い • 次ページを参照 2. 1.の配線図を参考にブレッドボード上で試作してください • 注意: 電源を⼊れるのはストップ 54

Slide 54

Slide 54 text

アートワーク設計 • 基板のどこに部品を置いて、 どう配線するかを記した図 • 書き⽅ • ⼿書き • 基板をコピー機で印刷して⼿書き • (機材に同梱して配布予定) • コンピュータ • Fritzingというツールがある • 個⼈的には⼿書きの⽅がおすすめ 55

Slide 55

Slide 55 text

電源投⼊まえの確 認 • テスターを使って電源のVCCと GNDがショート(導通)してな いか調べましょう • 導通確認モードを使う • ピーと⾳がならなければOK 56

Slide 56

Slide 56 text

演習3続き: 動作確認 • 電源を⼊れて動作確認をしましょう • 電池ボックスの⾚線をブレッドボードの ⾚線部に繋ぐ 電池ボックスの⿊線をブレッドボードの ⿊線部に繋ぐ • 電池ボックスの電源スイッチをONにする 57 OFF ON

Slide 57

Slide 57 text

動かない場合 • 回路図にミスがないか調べてみましょう • 他⼈に説明しながら⾒てもらうと⾒つかるかも • テスタを使って以下のミスがないか調べてみましょう • 各部品に電圧が来ていますか? • 電源ONにして、テスターで電圧確認 • 各部品の配線は正しいですか? • 電源OFFにしてテスターで導通確認 58

Slide 58

Slide 58 text

参考: 講師作のアートワーク 59

Slide 59

Slide 59 text

参考: 講師作の回路 60

Slide 60

Slide 60 text

はんだづけ⼊⾨ v2023-06-12-01 61

Slide 61

Slide 61 text

この節の⽬標 • はんだづけの基礎知識をつけ、実際に簡単なはんだづけを⾏え るようになる 62

Slide 62

Slide 62 text

はんだづけとは • 熱で溶ける合⾦(はんだ)を流 して銅箔とはんだの合⾦を作り、 物理的・電気的に接続する作業 63 はんだづけのイメージ画像

Slide 63

Slide 63 text

はんだづけで使う道具 • はんだこて • 替えのこて先 • こて台 • こて先クリーナー • はんだ • はんだ吸い取り器 • はんだ吸い取り線 • フラックス 64 • ニッパー • ラジオペンチ • ピンセット • 保護メガネ • 耐熱・静電気防⽌マット • ルーペ

Slide 64

Slide 64 text

はんだごて • はんだを溶かすためのこて • 温度調節機能付きがおすすめ • 温度を⼀定に保てる • 鉛フリーはんだには必須 65

Slide 65

Slide 65 text

はんだごての熱いところ 66 温度が⾼くなるところ ⽕傷するので触るの厳禁 持ち⼿。熱くない

Slide 66

Slide 66 text

こて先 • はんだこての先端部分 • 状況に応じて使い分ける • 表⾯実装部品はK型 • スルーホールはD型...等 • 標準装備はB型 • 慣れておくと潰しがきく 67 K型 B型

Slide 67

Slide 67 text

Note: スルーホールと 表⾯実装 • スルーホール(Through Hole Device, THD) • 部品のリードを基板の⽳に 通してはんだづけする部品 • はんだづけしやすいが、ス ペースをとりがち • 表⾯実装(Surface Mount Device, SMD) • 部品の端⼦を基板の表⾯に はんだづけする部品 • はんだづけしづらいが、省 スペース 68 画像はSeeedstudioより引⽤ https://www.fusionpcb.jp/blog/?p=316

Slide 68

Slide 68 text

こて台 • こてを置く台 • 安定してるものがおすすめ 69

Slide 69

Slide 69 text

こて先クリーナー • こて先のはんだを落とすもの • ⼤まかに2タイプある • スポンジ • ⽔で膨らませて使う • ⽔分でこて先温度を下げられる • ⾮温調はんだごて向き • クリーニングワイヤー(⾦たわし) • たわし部に差し込んで使う • 使ってもこて先温度が変わらな い • 温調はんだこて向き 70

Slide 70

Slide 70 text

はんだ • 低温で溶ける合⾦ • 融点180〜220℃程度 • 鉛ありと鉛なし(鉛フリー)がある • 今の時代は鉛フリーがおすす め • ⼀応⼈体に有害なので使う ときは要換気&⼿洗い 71

Slide 71

Slide 71 text

Note: 有鉛はんだと鉛フリーはんだ 素材 融点 はんだづけ性 有鉛はんだ 鉛 + すず 約183℃ 良い (鉛が流動性を⾼めるため) 鉛フリーはんだ すず + 銅 など 約217℃ あまりよくない 72 参考: https://godhanda.co.jp/blog/melting-point-of-solder/

Slide 72

Slide 72 text

Note: なぜ鉛フリーはんだを使うのか • 環境問題対策 • 1990年代 • 廃棄電⼦部品からの鉛流出が問題になった • 2006年 • EUがRoHS指令(有害物質規制)を施⾏ • 鉛等の電⼦回路への使⽤が原則禁⽌ • 作業者の安全対策 • はんだづけ中に鉛を吸う可能性が減る • 時代の流れ • 今は鉛フリーの世の流れ • 慣れておいたほうが役⽴つかも 73 参考資料 https://www.hakko.com/japan/namari/pages/ https://ja.wikipedia.org/wiki/鉛フリーはんだ ⽬で⾒てわかる はんだ付け作業鉛フリーはんだ編(pp.6-10, 野瀬 昌治, ⽇刊⼯業新聞社)

Slide 73

Slide 73 text

はんだ吸い 取り器 • 溶けたはんだを空気圧で吸 い取る道具 • 押し込んだピンがバネで戻 る⼒で吸い込む • 多めのはんだ除去に便利 • スルーホール部品等 • コスパよし • 使っても減らない • 吸い取り線と併⽤がおすす め • 吸い取り器は少しはん だが残る 74 講師オススメ吸い取り器: ENGINEER SS-02

Slide 74

Slide 74 text

はんだ吸い取り線 • 溶けたはんだを熱した銅の布で 吸い取る道具 • 少量のはんだ除去に便利 • Tips: • Widthが太い: スルーホールにオス スメ • Widthが細い: 表⾯実装にオススメ 75 https://www.amazon.co.jp/dp/B001PR1KPQ より引⽤

Slide 75

Slide 75 text

フラックス • はんだづけしやすくする液 体 • ⾦属表⾯の酸化膜を取 る • ⾦属表⾯の不純物を取 る • 無洗浄タイプがおすすめ • 洗浄しないと基板が腐 ⾷するものもある • ⼀応⼈体に有害なので、 使うときは要換気 & ⼿洗い 76

Slide 76

Slide 76 text

⼯具類 • ニッパー • 細い⾦属線を切る道具 • 切ったときに部品が⾶ばないよう注 意 • ⽖切りをイメージ • ラジオペンチ(※) • 先の細いペンチ • 部品の曲げ加⼯等に使⽤ • ピンセット • ⼩さい部品を掴む道具 • 表⾯実装時に必須 • ⽤途に応じて形状等使い分ける 77 ニッパー ラジオペンチ ピンセット ※: ラジオペンチは⽇本独⾃の呼び⽅。世界的にはロングノーズプライヤー

Slide 77

Slide 77 text

保護メガネ • ⽬を保護する安全対策 • 講師のヒヤリ事例 • ニッパで部品の⾜を切ったら メガネにあたった • はんだづけ中にはんだのフ ラックスが⾶んで顔にあたっ た 78 https://www.amazon.co.jp/dp/B004OCOQBE/ より引⽤

Slide 78

Slide 78 text

吸煙装置 • ヒュームを吸い取る装置 • ヒューム • はんだづけ時に出る煙 • 吸い込むと喉を痛める等、⼈体に 有害 • なるべく吸わない⽅が良い • 買うと⾼いが⾃作もできる • https://www.sho- k.co.uk/tech/646.html 79 画像はgoodの商品ページより引⽤ https://www.goot.co.jp/products/detail/ss_10

Slide 79

Slide 79 text

耐熱・静電気防⽌ マット • 机を焦がさないため • 静電気による故障対策 • アースをつなげると効果UP 80 https://www.amazon.co.jp/dp/B072LXVS6G より引⽤

Slide 80

Slide 80 text

ルーペ • はんだの付き具合確認⽤ • 表⾯実装時に必須 • ⾜が細くて⾁眼で⾒づらいため 81

Slide 81

Slide 81 text

怪我をしないために注意したいこと • はんだこての持ち⼿以外を触らない • はんだこてを使い終わったら必ず電源を抜く • はんだ付け中は部品を⼿で持たない • 部品も⼀緒に加熱されてやけどする • 耐熱テープ等で固定するのがおすすめ • はんだ付け中は保護メガネを着⽤する • 部屋の換気する • 気化したフラックスを吸い込まないように • 耐熱マットを敷く • はんだづけが終わったら⼿を洗う 82

Slide 82

Slide 82 text

はんだづけのやり⽅(スルーホール編) • 基本的なはんだづけのやり⽅やコツを解説 83

Slide 83

Slide 83 text

はんだごての持ち⽅ • こての熱くない部分 (持ち⼿)を掴む • 鉛筆を持つように握る のがおすすめ 84

Slide 84

Slide 84 text

はんだづけの基本 1. 部品とランド(はんだをつけるところ)をこて先で温める 2. こて先と部品・ランドの間にはんだを適量流し込む 3. はんだが流れきって安定したらこてを部品からはなす 85 https://handa-craft.hakko.com/support/good-soldering.html より画像引⽤

Slide 85

Slide 85 text

コツ:こて先温度 設定 • こてのダイヤルを回して温度を 320℃に設定する • 370℃にするとはんだがオー バーヒートするので注意 86

Slide 86

Slide 86 text

コツ:こて先の当て⽅ • こて先が部品とランド(ハンダ を付ける部分)に最も接する⾓ 度で当てる • B型なら⾓度30°くらいでこてを ⼊れる • なるべくこての根本のほうを当 てる • 根本の⽅が温度が⾼いため 87 https://handa-craft.hakko.com/support/good-soldering.html より画像引⽤

Slide 87

Slide 87 text

コツ:はんだの形 • 富⼠⼭型が理想のはんだづけ • 右図参照 • はんだ不良 • はんだがしっかりついてない状 態のこと • ショート・割れ・接続不良等の 原因 88 https://www.hakko.com/japan/namari/pages/ より引⽤

Slide 88

Slide 88 text

はんだ不良例 89 https://www.hakko.com/japan/namari/pages/ より引⽤

Slide 89

Slide 89 text

コツ: 部品の付け⽅ • 基本は背の低い部品、⼩さい部品からつけていく • はんだづけ時に部品固定が簡単にできる • 裏返すだけでよくなる • テープ⽌めもやりやすい 90

Slide 90

Slide 90 text

演習4:ユニバーサル基板へのはんだづけ • ユニバーサル基板に演習3で作った⾮安定マルチバイブレー ターLED点滅回路をはんだづけしましょう • ユニバーサル基板の説明は次ページ参照 91

Slide 91

Slide 91 text

ユニバーサル基板 とは • 部品を刺す⽳と銅箔(ランド)のあ る基板 • 簡単な回路を試作するのに使う • スズメッキ線などで配線 • ⼿間がかかるので数枚が限度 92

Slide 92

Slide 92 text

ユニバーサル基板を使う理由 • ⼩サイズ化できる • ブレッドボードより無駄なくコンパクトに纏められる • 試作回路を固定できる • ブレッドボードは⼀時的に使うもの • 何度も使いたい回路は基板に実装するとバラけず、使いやすい • (⽳を開ければ)ブレッドボードに刺さらない部品も使える • デバッグ・修理が⽐較的容易 • 配線が隠れていないためテスタが当てやすい • 配線を切ったり、バイパスもやり放題 93

Slide 93

Slide 93 text

ユニバーサル基板の種類 • ⼤まかに以下の2点が違う • 素材 • ランドの付き⽅ 94

Slide 94

Slide 94 text

ユニバーサル基板 の素材 • 紙フェノール • メリット • 安価 • 柔らかくて加⼯しやすい • デメリット • 経年で曲がる • ガラスエポキシ • メリット • 経年で曲がりづらい • デメリット • 固くて少し加⼯しづらい 95 画像はマルツ商品ページより引⽤ https://www.marutsu.co.jp/pc/i/55048/ https://www.marutsu.co.jp/pc/i/55049/ 紙フェノール ガラスエポキシ

Slide 95

Slide 95 text

ユニバーサル基板のランド • ⽚⾯ • ランドが⽚⾯にだけついている • 両⾯(著者のおすすめ) • ランドが両⾯についている • ランドの表裏は導通していない • 部品の裏⾯でショートとか考えなく て良い • 両⾯スルーホール • ランドが両⾯についている • ランドの表裏が導通している 96

Slide 96

Slide 96 text

Re: 本講義の共通作業 97 回路図 基板設計 (アートワーク設計) 試作 概要図

Slide 97

Slide 97 text

演習4: アートワークの作成 • ユニバーサル基板上での⾮安定マ ルチバイブレーターLED点滅回路 のアートワークを作ってみましょ う • 概要図・回路図はskip • おすすめのやり⽅ • ユニバーサル基板をモノクロコピー して書き込む • (機材に同梱予定) • 表⾯は⿊ペン・裏⾯は⾚ペンで書く 98

Slide 98

Slide 98 text

例 99 ⾚線: 部品 ⻘線: 裏側配線 ⻩線: 表側ジャンパ

Slide 99

Slide 99 text

演習4: 実装(はんだづけ) • 配線図を参考に、部品をはんだづけしましょう • 怪我対策 • はんだづけ作業はカメラをつなげて講師に⾒せながら⾏ってください • なるべく病院のやっている時間(⼣⽅くらいまで)にやりましょう • (重要)怪我したときにすぐ病院に⾏けるので 101

Slide 100

Slide 100 text

電源投⼊前の確認 • 最低限、電源ラインがショートしてないかだけは確認しましょ う 102

Slide 101

Slide 101 text

演習4: 動作確認 • ブレッドボード版と同様に動作するか確認 • LEDが点滅すれば完成! 103

Slide 102

Slide 102 text

回路図CAD・基板設計⼊⾨ v2023-06-12-01 104

Slide 103

Slide 103 text

この節の⽬標 • CADソフトを使ってプリント基板を設計できるようになる 105

Slide 104

Slide 104 text

プリント基 板とは • 絶縁体の板(基板)に配線 がプリントされたもの • 製品に⼊ってる基板の 多くはプリント基板 106

Slide 105

Slide 105 text

PWBとPCB • PWB(Printed Wiring Board) • 部品の載っていない、配線のみのプ リント基板 • PCB(Printed Circuit Board) • 部品が載って回路が動作するように なったプリント基板 107 参考: https://www.p-ban.com/about_pcb/pcb.html PWB PCB

Slide 106

Slide 106 text

ユニバーサル基板に対するプリント基板のメ リット・デメリット メリット • より⾃由に作れる • 部品を置く場所が⽳の位置に左右されない • 表⾯実装部品も使いやすい • めっき線での配線⼯程が不要 • 基板が届いた時点で配線済み • ⼤量⽣産しやすい デメリット • ⾼価(安くても10枚3000円くらい) • 2週間程度の納期 • デバッグしづらい • 配線がすべてレジスト(塗料)の下にあり、テ スタをつなぎづらい • 配線修正にはパターンカット等の職⼈芸が 必要 108 `

Slide 107

Slide 107 text

いつプリント基板を作るか • 基本はメリットがデメリットを上回ったときに作る • 基板を⼩さくしたい • 表⾯実装部品を沢⼭使いたい • 同じ基板を複数個作りたい • 複雑な回路の配線作業時間コストを減らしたい • 時給1000円として3時間以上配線作業すると基板発注費⽤を超える 109

Slide 108

Slide 108 text

プリント基板制作への道 110 回路図作成 基板設計 (アートワーク設計) 製造 完成

Slide 109

Slide 109 text

回路図CAD・基板 設計とは • 回路図CAD • 回路図をコンピュータ上で書くため のソフトウェア • 基板設計(ソフト) • プリント基板の配線を設計するソフ ト • 配線図をコンピュータで作るイ メージ • 基本両⽅セットで1つのアプリ 111

Slide 110

Slide 110 text

KiCad • 回路図CAD・基板設計ソフト ウェア • 商⽤利⽤含め無料で使える • OSSで開発されている • バグっても治せる • プラグインで機能拡張できる 112 http://wiki.kicad.jp/Kicad_JA より引⽤

Slide 111

Slide 111 text

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

Slide 112

Slide 112 text

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

Slide 113

Slide 113 text

プロジェクトの作成 115 ここから開始

Slide 114

Slide 114 text

プロジェクトの作成 116 1. プロジェクト名を設定 2. ファイル作成

Slide 115

Slide 115 text

回路図CADの起動 117 クリックして 回路図エディタ (eeschema) を起動

Slide 116

Slide 116 text

回路図CADのUI概要 118 プロット・拡 ⼤縮⼩等を⾏ うボタン 配線・シンボル選択等 回路図作成で使うボタン

Slide 117

Slide 117 text

配線作業中の基本操作(Mac) アイコン ショートカット 機能 ⽤途 Esc Esc 選択 シンボルの選択等 A シンボル追加 クリックして部品を追加 P 電源シンボル追加 クリックして電源シンボルを追加 W 配線 配線を追加する Q No connect flag “何も繋がない“を明⽰するフラグ J 接続点 交差した配線を繋ぐマーク L Local label 配線にラベルを付ける (同じラベルは接続される) T Text コメントを書き込む 119

Slide 118

Slide 118 text

選択後右クリック操作(Mac) ショートカット 機能 ⽤途 M Move シンボルを移動する G Drag 配線を接続したまま移動 する R, X, Y Orientation 回転・XY軸反転 E Edit properties シンボルの値等を編集 120

Slide 119

Slide 119 text

配線後の基本操作(Mac) アイコン 機能 ⽤途 アノテーション シンボルに部品番号をつける ERC 部品同⼠の接続チェックをする footprint assign シンボルとはんだづけ⾯の対応を設定する 121

Slide 120

Slide 120 text

シンボル追加の⽅法 • 検索窓に⽬的の部品名を⼊れ る • 例: LED • 部品を選んだらOKボタンを押 す • 部品選択状態で回路図CAD画 ⾯に戻る • 任意の場所でクリックして配置 122

Slide 121

Slide 121 text

kicad上でのシンボル名 123 部品 kicad シンボル名 部品番号(頭⽂字) 抵抗 R R 無極性コンデンサ C C 極性ありコンデンサ CP C 電源 VCC, +5V等 ダイオード D, LED D トランジスタ npn, pnp Q ⽔晶 Crystal Y

Slide 122

Slide 122 text

プロパティの設定 • シンボルをおいたらValueを設定する (部品を選択してEを押す) • 1k ohm抵抗なら1kや1000Rなど • 10uFコンデンサなら10uF 124

Slide 123

Slide 123 text

配線の⽅法 • 配線ボタン( )を押す • 部品の端をクリックで配線開始 • ○マーク部分は未配線 • 別の部品の端をクリックで接続 • ダブルクリックで配線終了 125

Slide 124

Slide 124 text

ラベル • 配線に名前(ラベル)をつけられる • 同じラベルがついた配線はつな がったことになる • ラベルの種類 • label(local) • 同⼀シート内だけで使えるラベル • 右の例で使っているのはこれ • Global label • 複数シートをまたげるラベル 126 回路図 アートワーク

Slide 125

Slide 125 text

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

Slide 126

Slide 126 text

アノテーションのやり⽅ • Annotateアイコン( )を押して開 始 • 特にこだわりが無ければ右下の Annotateボタンを押して終了 • 部品にC1やU1等の部品番号がつく 128

Slide 127

Slide 127 text

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

Slide 128

Slide 128 text

ERC(Electrical Rule Check)のやり⽅ • ERCはすべての配線完了後に実⾏ するテスト機能 • 以下を検出できる • アノテーション忘れ • 未配線 • ERCボタン( )を押して開始 • エラー0を⽬指す • 無視せざるを得ないエラーもある • (ので迷ったら講師に相談してください) 130

Slide 129

Slide 129 text

よくあるERCエラーと対応 • no connect • 未配線のピンがあるときに出る • no connect flag(✗マーク)をピンにつけると解決 • PWR_FLAG忘れ • VCC等にどこからも電源が供給されてないと出る • PWR_FLAGをつけると解決するかも • 無視せざるを得ないエラー • symbolのin/out属性の不⼀致等 • その他⾊々 • 困ったら講師やチューターに相談してください 131

Slide 130

Slide 130 text

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

Slide 131

Slide 131 text

部品選定 • footprint選定に必要 • 使う部品のサイズにあったfootprintを選ぶ必要があるため • 部品は以下を気にしながら探す • ショップに在庫があるか • 耐圧等のスペックが⾜りるか • ⾃分がはんだづけできる⼩ささか • 1つのショップで買えるか • まとめたほうが送料が得 133

Slide 132

Slide 132 text

個⼈でも買える部品屋さん •ネット・実店舗(秋葉原・⼋潮)あり •少量を買うのにおすすめ 秋⽉電⼦通商 (https://akizukidenshi.com/catalog/) •同上。実店舗は秋葉原にある。 千⽯電商(https://www.sengoku.co.jp/) •同上。実店舗は地⽅(⾦沢など)にもある マルツ(https://www.marutsu.co.jp/) •ネット通販のみ •少量でも買えるが基本⼤量発注向き digikey(https://www.digikey.jp/) •同上 Mouser(https://mouser.jp/) •ネット通販のみ •⼤量発注向き RS(https://jp.rs-online.com/) 134

Slide 133

Slide 133 text

部品選定の例 • 買うもの • 3.3V電源で使うバイパスコンデンサ(0.1uF 無極性) • 買う場所を選ぶ • 実店舗で買いたいので秋⽉ • サイズを選ぶ • 0.1uFで検索。1608に決定 • 定格等を確認する • 定格50V、部品供給状況も問題なし • 部品を決定 • GCM188L81H104K57 • https://akizukidenshi.com/catalog/g/gP- 16143/ 135 秋⽉商品ページより引⽤ https://akizukidenshi.com/catalog/g/gP-16143/

Slide 134

Slide 134 text

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

Slide 135

Slide 135 text

footprint assignのやり⽅ • foorprint assignボタン( )を押して、画⾯を開く 137

Slide 136

Slide 136 text

footprint assign画⾯の概要 138 ライブラリ選択 footprint対応 footprint⼀覧

Slide 137

Slide 137 text

footprintの検索⽅法 139 • 数が多いときはフィルタを設定して表⽰するfootprintを絞る

Slide 138

Slide 138 text

footprint view • footprintプレビューを⾒たいときはプレビューボタンを押す • 別画⾯でfootprintのプレビューがみられる 140 プレビュー ボタン

Slide 139

Slide 139 text

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

Slide 140

Slide 140 text

よく使うfootprintライブラリ 142 部品 ライブラリ名 抵抗 Resistor_SMD, Resistor_THT コンデンサ Capacitor_SMD, Capacitor_THT ダイオード Diode_SMD, Diode_THT, LED_SMD, LED_THT トランジスタ、IC等 Package_TO等(ICのパッケージ名で検索) ⽔晶 Crystal

Slide 141

Slide 141 text

基板設計ソフト(pcbnew)の起動 143 ここを クリック

Slide 142

Slide 142 text

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

Slide 143

Slide 143 text

基板設計ソフトUIの概要 145 ツールバーたち

Slide 144

Slide 144 text

PCB設計UIの概要 146 レイヤー選択

Slide 145

Slide 145 text

配線作業中の基本操作(Mac) アイコン ショートカット 機能 ⽤途 X 配線 配線を開始する Shift + Cmd + V Via 複数レイヤの配線を繋げる⽳ Option + Z Zone 領域内をベタ塗りする Shift + Cmd + K Keepout Area 不可侵領域をつくる。 ベタが⼊り込まないようにする Shift + Cmd + L Line 外形線等を引くのに使う Shift + Cmd + T Text テキストを書き込む 147

Slide 146

Slide 146 text

右クリック系操作 • 回路図CADとほぼ同じなので割愛 148

Slide 147

Slide 147 text

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

Slide 148

Slide 148 text

回路図の反映 150 ここをクリック

Slide 149

Slide 149 text

回路図の反映 151 クリックで反映 更新⽅法を選択する場所 回路図修正した場合に使う

Slide 150

Slide 150 text

Note: 回路図の修正と反映⽅法 • 回路図エディタ側作業: • 回路図を修正する • PCB設計ソフト側作業: • 回路図の反映をする • 増えた(or減った)部品を再配置する 152

Slide 151

Slide 151 text

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

Slide 152

Slide 152 text

レイヤー選択 • 基板設計はレイヤーに分けて⾏ う • デフォルトは2層基板設定 • 表がF, 裏がB • 各操作を⾏う前にレイヤー選択 を⾏う 154

Slide 153

Slide 153 text

よく使う基板のレイヤー • Cu • 配線⽤の銅レイヤー • SilkS • 基板表⾯に⽂字等を印刷するシルクスクリーンレイヤ • Edge.Cuts • 基板の外形レイヤ • ここで引いた線に沿って基板がカットされる 155

Slide 154

Slide 154 text

たまに使うレイヤー • Fab • 製造者向けの情報(部品番号等)を書くレイヤ • PCB Assembly(部品実装)を頼むときに使う • Dwgs.User • ユーザーが⾃由に使えるレイヤ • コメントや⼨法確認を⼊れるときに使う • Mask • レジストをマスクするレイヤ • 銅板をむき出しにしてはんだを盛るなどしたいときに使う(※) 156 ※参考: https://uchan.hateblo.jp/entry/2016/02/07/153224

Slide 155

Slide 155 text

外形作成 • 基板の外形線をつくる • ⼿順 • Edge.Cutsレイヤーを選ぶ • Lineを引いて外形を作る • Shift + Spaceを押して外形線 が45°ごとにしか動かせない ようにしておくと便利 157

Slide 156

Slide 156 text

外形作成のコツ • サイズ感 • 最⼤は10cm x 10cm • このサイズを超えると基板の値段が⾼くなる • 最⼩はnetlist読み込み直後の部品⾯積の総和くらい • 両⾯実装した場合を除く • 配線できるのは外形から1mm内側のところまで • これを守らないとカット時の誤差で配線が切れるかも • 形は四⾓形が安牌 • ⾯付け等のコストカットがやりやすくなる 158

Slide 157

Slide 157 text

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

Slide 158

Slide 158 text

部品配置 • 外形線内に部品を配置する作業 160

Slide 159

Slide 159 text

部品配置のコツ • まず部品を種類別に分類する • 端⼦等の場所が固定されてるもの を最初に置く • ⼤きい部品から置いていく • 配線を想像しながら置く • 細かいところは実際に引きながら調整 161

Slide 160

Slide 160 text

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

Slide 161

Slide 161 text

配線 • 部品の端⼦同⼠を繋ぐ作業 163

Slide 162

Slide 162 text

配線のコツ • 電源線から引き始める • 電源が無いと部品は動かないため • 電源線は太くする • 1mm幅あたり1Aまでが⽬安 • 配線幅は0.2mm以上にする • 安価に作れるライン(製造業者に依存) • 鋭⾓(+直⾓)は避ける • ⾼速信号線で問題が起こる • 基板の製造不良を減らす 164

Slide 163

Slide 163 text

配線幅の変更⽅法 165 ここをクリックして Edit pre-defined size を選択

Slide 164

Slide 164 text

配線幅の変更⽅法 166 ここをクリックして 配線幅定義を追加。

Slide 165

Slide 165 text

配線幅の変更⽅法 167 再度ここから 配線幅を選択

Slide 166

Slide 166 text

配線終了後 の例

Slide 167

Slide 167 text

ベタGND • ベタ • 指定範囲内を銅箔で埋めること • ベタGND • 信号線以外の部分をGNDの銅箔 で埋めること • ノイズ対策・放熱に有効 169

Slide 168

Slide 168 text

ベタGNDの追加⽅法 170 ここをクリックして 基板外形の⾓ をクリック

Slide 169

Slide 169 text

ベタGNDの追加⽅法 171 レイヤー選択 配線(net)選択 (GNDにする)

Slide 170

Slide 170 text

ベタGNDの追加⽅法 • 基板外形を囲むと範囲内がベタ で満たされる • Cmd + B を押すとベタが消える • B を押すとベタを再度塗れる • 同じ作業を基板裏⾯側にも⾏う 172

Slide 171

Slide 171 text

今は使わないけど知っておくと良いこと • Via • keepout zoneの追加⽅法 173

Slide 172

Slide 172 text

Via • 基板に開けられる電気を通す⽳の こと • Viaを使うと異なる層を接続でき る 174 Top view Side view

Slide 173

Slide 173 text

Viaの追加⽅法 • 配線中 • 途中でVを押すとViaが出現する • そのまま別の層で配線を続⾏できる • その他 • 右図のViaアイコンを押してViaを置く • 置いたViaを選択してEで編集を開き、 netから特定の配線に接続する 175 ここをクリック

Slide 174

Slide 174 text

今は使わないけど知っておくと良いこと • Via • keepout zoneの追加⽅法 176

Slide 175

Slide 175 text

keepout zoneの追加 • 囲んだ領域を配線不可にする機 能 • ベタを⼀部消すためなどに使う • ノイズ対策等のため 177

Slide 176

Slide 176 text

keepout zoneの追加⽅法 178 ここをクリックして 基板外形の⾓ をクリック

Slide 177

Slide 177 text

keepout zone設定 • Keep out tracks • 配線不可にする • Keep out Vias • Viaを配置不可にする • Keep out pads • padを配置不可にする • Keep out copper fill • ベタが⼊ってこないようにする • Keep out footprints • footprintを配置不可にする 179

Slide 178

Slide 178 text

keepout zoneを使ったベタの消し⽅ • Keep out copper fillを選択して OKを押す • ベタを消したい領域を囲う • B を押してベタを塗り直す 180

Slide 179

Slide 179 text

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

Slide 180

Slide 180 text

DRC(Design Rule Check) • 製造ルール的に問題ないかチェックする機能 • 配線が終わったら実施する • エラーが出たら治す 182

Slide 181

Slide 181 text

DRC実⾏⽅法 183 をクリック

Slide 182

Slide 182 text

DRC実⾏画⾯ 184 チェック内容 Violationsと Unconnected Itemsは 治す必要がある エラー内容 Runして何も出て こなければOK

Slide 183

Slide 183 text

外⾒確認 • KiCadの3D View機能で外⾒を確認する • 以下のような問題が⾒つかる場合がある • コネクタがオス・メス逆 • ピン番号が逆になるので致命的 • 部品の密度が⾼すぎる(or 低すぎる) • 部品番号のシルクが隠れている • はんだづけ時に困る 185

Slide 184

Slide 184 text

3D Viewのやり⽅ • メニューの View -> 3D Viewer で開く 186

Slide 185

Slide 185 text

3D Viewの操作 • 拡⼤・縮⼩ • マウスのスクロール • 回転 • ドラッグしてぐるぐるする • 移動 • ⽮印キー 187

Slide 186

Slide 186 text

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

Slide 187

Slide 187 text

熟成 • 完成後に1⽇放置する • 翌⽇にはバグ等が浮かんでくる(はず) 189

Slide 188

Slide 188 text

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

Slide 189

Slide 189 text

発注作業 • 製造業者選定 • 部品購⼊ • ガバー&ドリルデータ出⼒ • 発注 191

Slide 190

Slide 190 text

製造業者選定 • 基板製造をお願いする業者を選ぶ • 趣味レベル(低コスト、納期余裕あり)なら国外業者がおすすめ 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

Slide 191

Slide 191 text

国外業者例(主に中国) • 講師の利⽤実績あり • 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

Slide 192

Slide 192 text

再度DRC実⾏ • 基板発注先のデザインルールに合わせて再度DRCを実⾏する • 詳細は後述の発注例を参照 194

Slide 193

Slide 193 text

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

Slide 194

Slide 194 text

部品購⼊ • 基板で使う部品を購⼊する • 基板発注する直前に⾏う • 在庫切れ等あってもまだ基板側を修正可能 196

Slide 195

Slide 195 text

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

Slide 196

Slide 196 text

ガバー&ドリルデータ出⼒ 198 プロッターマーク をクリック

Slide 197

Slide 197 text

ガバーデータ出⼒画⾯ 199 出⼒レイヤー 出⼒ディレクトリ 各種設定

Slide 198

Slide 198 text

ドリルデータ出⼒画⾯ 200 各種設定 出⼒ディレクトリ

Slide 199

Slide 199 text

ガバー&ドリルデータ出⼒ • 製造業者ごとに設定が異なる • 製造業者の解説を参照しながら設定する • 例: fusionpcb • https://www.fusionpcb.jp/blog/?p=1178 • ガバーとドリルデータをzipでまとめて提出する場所が多い 201

Slide 200

Slide 200 text

発注 • ガバーとドリルデータをまとめてuploadする • 各種オプションを設定して注⽂する 202

Slide 201

Slide 201 text

発注例: fusionpcbの場合 203 詳細設定 ガバー アップロード部 料⾦

Slide 202

Slide 202 text

発注例: 基板の詳細設定 • 基板の設計ルール等を設定するところ • 基本的に初期設定から変更すると価格が⾼くなる • 変更が必要かよく考えること • デザイン⾒直しで回避できる場合もある 204

Slide 203

Slide 203 text

発注例: 基板の詳細設定 • 基材の材質(Base material) • 基板の銅箔部と銅箔部の間に挟ま れる基材の材質 • 基本FR4(ガラスエポキシ)でOK 205 基材(Base board) 銅箔(F.Cu) 銅箔 (B.Cu) 基板のside view

Slide 204

Slide 204 text

発注例: 基板の詳細設定 • 層数(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層基板

Slide 205

Slide 205 text

発注例: 基板の詳細設定 • ⼨法(PCB Dimensions) • 基板の外形⼨法 • 10cm x 10cmを超えると値段が 上がるので注意 207 基板 max 100mm max 100mm

Slide 206

Slide 206 text

発注例: 基板の詳細設定 • 製造枚数(PCB Quantity) • 基板を作ってもらう枚数 • 基本10枚でOK • 10枚超えると値段が上がるので注意 • 5枚にしても値段は下がらないので10枚頼 んだほうがお得 208 届いた基板の写真 10枚分の厚さがある

Slide 207

Slide 207 text

発注例: 基板の詳細設定 • 異種⾯付けの種類 (No. of Different Designs) • ⾯付けとは? • 1枚に複数の基板を載せてコストカットする⽅法 • ⾯付けすれば10cm x 10cm基板1枚の価格で1cm x 10cmの基板が10枚作れる • 同じ基板を複数載せる同種⾯付けと異なる基板を 載せる異種⾯付けがある • 通常発注時は1を設定すればOK • 異種⾯付けすると値段が上がるので注意 • 上がらない製造業者もあるらしい 209 基板A 基板A 基板A 基板A

Slide 208

Slide 208 text

発注例: 基板の詳細設定 • 板厚(PCB Thickness) • 基板の厚さ • 使う部品等の事情に応じて変更する • 例 • スルーホール部品の⾜の⻑さが1.2mmしか ないので、板厚を1mmにする • 例2 • 特性インピーダンスを1mm厚で計算したの で、板厚を1mmにする 210 板厚

Slide 209

Slide 209 text

発注例: 基板の詳細設定 • レジスト⾊ • 基板の表⾯⾊が変えられる • 特にこだわりが無ければ緑が 安牌 • ⽬に優しいので⻑時間配線を追 いやすくてデバッグ時に有利 211 緑レジストの例

Slide 210

Slide 210 text

発注例: 基板の詳細設定 • 基板の表⾯処理(Surface Finish) • 基板のパッド・ランド(はんだ付けする ところ)のメッキ処理 • 今回はHASL Lead Free(鉛フリーはん だラベラー)を選択する • fusionpcbでは有鉛より鉛フリーのほうが 値段が⾼くなる 212 ここはメッキ処理されている Top view side view Base board 銅箔 はんだメッキ部

Slide 211

Slide 211 text

レジスト部 発注例: 基板の詳細設定 • パッド間レジストの最⼩幅 (Minimum Solder Mask Dam) • パッド間レジストマスクがつけら れる最⼩幅 • デフォルトは0.4mm 213 パッド パッド top view ここの幅

Slide 212

Slide 212 text

発注例: 基板の詳細設定 • 銅箔の厚さ(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

Slide 213

Slide 213 text

発注例: 基板の詳細設定 • 最⼩⽳径 • ドリルで開ける⽳の最⼩径 • via等で使う • デフォルト⽳径は0.3mm • ランド部はドリル⽳径の1.5倍はほ しい • 参考: https://www.p- ban.com/htmlmail_qanda/2013/0 6/ 215 ⽳径 ランド径

Slide 214

Slide 214 text

発注例: 基板の詳細設定 • 最⼩パターン幅/パターン間隔 • パターン(配線)幅と各パターン 間の最⼩幅 • デフォルトは6mil(0.1524mm) • パターン幅及び間隔を0.2mmまで に抑えるのが安牌 216 パターン レジスト パターン パターン幅 パターン間隔

Slide 215

Slide 215 text

発注例: 基板の詳細設定 • 端⾯スルーホール • 基板端にスルーホール(の半分)を置くちょっと特 殊な基板を作るオプション • 参考: https://www.fusionpcb.jp/blog/?p=1311 • DIP ICのように使える基板を作りたいときに使う • 必要なければ“なし”でOK • インピーダンス制御 • 基板の特性インピーダンス制御を⾏うオプション • 参考: https://www.p- ban.com/product/impedance.html • ⾼速信号を扱わなければ必要なし • (講師も今の所使ったことがない) 217 端⾯スルーホールの例 Raspberry Pi Pico

Slide 216

Slide 216 text

演習5: ⾮安定マルチバイブレーター回路を作る • 課題 • ⾮安定マルチバイブレーター回路の基板を回路図CAD・基板設計ソフ トを⽤いて作ってください • 基板発注の⼿前まで⾏ってください • 完成したら講師に⾒せてください • わからないことがでたら講師に相談してください 218

Slide 217

Slide 217 text

ノイズ対策⼊⾨ v2023-06-12-01 219

Slide 218

Slide 218 text

ノイズとは • 機器の動作を妨げる余計な電気信号 • wikipediaより引⽤ • https://ja.wikipedia.org/wiki/%E3%83%8E%E3%82%A4%E3%82%BA • ノイズの影響例 • 電源ノイズ: 電源電圧が不安定になってICの動作が不安定になる • 信号ノイズ: 信号が正しく伝わらなくなる • 放射ノイズ: 他の機器の動作に悪影響を与える • 静電気: kV単位の⾼電圧が流れて機器が壊れる 220

Slide 219

Slide 219 text

本章で扱うノイズ • 主に基板の中で発⽣するノイズ • 例 • トランジスタの開閉による電流の増減等によるノイズ • ↑マイコン動作時もこれと同じ事が起きる 221

Slide 220

Slide 220 text

ノイズ対策 • 各種ノイズ影響を避けるための様々な対策 • やらなくても動くことはあるが、動かない可能性が⾼まる • 最低限やったほうがいいレベルはある • この資料で解説するのはこのレベルまで • やればやるほどよい……というわけでもない • ノイズと対策が不⼀致だと逆効果にもなる • 本格的にやるには⼤学レベルの電気回路・電磁気学の知識、部品の知 識、データシートを読み込んでの計算、計測 が 必要 • ⼤学の電気・電⼦・電磁気関連の講義は真⾯ ⽬に受けておくと超お得 222

Slide 221

Slide 221 text

ノイズ対策に必要な基礎知識 • ノイズ対策は交流回路の知識が必要 • 直流電圧で動作する回路において、交流成分は動作不良の原因となる ため • ここで紹介する知識 • 過渡現象 • インピーダンス • 配線のインピーダンス • 反射 223

Slide 222

Slide 222 text

過渡現象 • コンデンサ等のエネルギーを貯める素⼦ がある回路では過渡現象が⽣じる • 過渡状態 • 電源ON/OFFにより素⼦のエネルギーが充放 電されている途中の状態 (=時間変化がある) • コンデンサ充電例(右図): VINに対しVOUT の電圧がC1への充電時間分遅れて⽴ち上がっ ている • 定常状態 • 素⼦のエネルギーの充放電が完了した状態 (=時間変化がない) 224 回路図と過渡応答の例 ⾚線が電源波形(vin) ⿊線が出⼒波形(OUT) 過渡状態 定常状態

Slide 223

Slide 223 text

インピーダンス(impedance) • 交流回路における(直流回路の)抵抗のようなもの • 電流 = 電圧 / インピーダンスの⼤きさ • 記号はZ • 単位はΩ • インピーダンスは以下の素⼦のインピーダンスから求める(後述) • 周波数により値が変化しない • 抵抗 • 周波数により値が変化する • コイル • コンデンサ 225 参考: https://analogista.jp/impedance/

Slide 224

Slide 224 text

素⼦とインピーダンス 抵抗 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: 周波数

Slide 225

Slide 225 text

インピーダンスの⼤きさ • 電流の計算にはインピーダンス 𝑍 の ⼤きさ 𝑍 が必要 • インピーダンスはベクトル • 始点(0,0)、終点( 実部, 虚部 ) • ⼤きさはスカラー(実数) • (位相の遅れについては説明省略) • ⼤きさ 𝑍 は三平⽅の定理より求まる • 例: 𝑍 = 𝑅 + 𝑗𝜔𝐿 − 𝑗𝜔𝐶 のとき 𝑍 = 𝑅* + 𝜔𝐿 − 1/𝜔𝐶 * 227 𝑍 実部Re 虚部Im 𝑍 𝜔𝐿 − 1/𝜔𝐶 𝑅 三平⽅の定理: 直⾓三⾓形の斜辺の2乗は、その他の辺の2乗の和に等しい

Slide 226

Slide 226 text

インピーダンス計算の例 • 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

Slide 227

Slide 227 text

配線とインピーダンス • 分布定数回路 • これまでの電気回路(集中定数回路)に以下 を加えたもの • 伝送路の距離 • 距離に応じた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: 漏洩電流等によるコン ダクタンス

Slide 228

Slide 228 text

特性インピーダンス (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/

Slide 229

Slide 229 text

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

Slide 230

Slide 230 text

反射 • 反射 • 伝送路上のインピーダンス 𝑍! から 𝑍" に変化する際、 𝑍! および 𝑍" に加わ る電圧が変化する過渡現象 • ⾼校物理 波の反射とほぼ同じ • 反射係数 Γ • インピーダンス 𝑍! から 𝑍" に変化する際、反射する電圧の割合 • Γ = #$$#% #$%#% で求める • 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

Slide 231

Slide 231 text

反射の例(※) • 𝑍" = 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/

Slide 232

Slide 232 text

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

Slide 233

Slide 233 text

実験結果 235 反射波0.2Vが⾒ える ⼊射波 (p1時点の電圧) ⼊射波+反射波 (p2時点の電圧) 75Ωから50Ωへ の反射0.04Vも 出ている (反射波0.2Vの 0.2倍)

Slide 234

Slide 234 text

シミュレータによる反射実験2 • 実験内容 • 𝑍= = 50Ω, 𝑍* = 50Ω の回路(右図) に電源1Vを印加したとき、p2に 反射による電圧の変化が⾒られる かを確認する • 回路図上では 𝑍" = 𝑇1, 𝑍! = 𝑅1 • 予想 • 反射係数0なので、p2にはp1と同 じ波形が見えるはず 236 ltspiceで作った反射係数0の回路 T1は5nsの遅延が発⽣するインピーダ ンス50Ωの伝送路

Slide 235

Slide 235 text

実験結果 237 ⼊射波 (p1時点の電圧) ⼊射波+反射波 (p2時点の電圧) 反射は⾒られない

Slide 236

Slide 236 text

ノイズ対策の例 • 回路図レベルの対策 • バイパスコンデンサを⼊れる • バイパスコンデンサを複数⼊れる • 基板設計レベルの対策 • 回路図レベル対策の効果を活かす配線をする • データシートの推奨設計を採⽤する • ベタGNDを適切に⼊れる • 基板外周にGND(とVia)を⼊れる • GNDがアンテナにならないようにする • ICの下にはGNDベタを⼊れる • 配線の⾓度・太さに注意する 238

Slide 237

Slide 237 text

バイパスコンデンサ(パスコン) • 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/

Slide 238

Slide 238 text

パスコンを複数⼊れる • パスコンは複数容量組み合わせると広い周波数のノイズを減ら せる • Q. 何故? • (A. は後述) 240

Slide 239

Slide 239 text

理想コンデンサと実際のコンデンサ • 実際のコンデンサには抵抗(ESR)や インダクタンス(ESL)が含まれる • ESR: 電極の損失等による抵抗 • ESL: 電極等の寄⽣インダクタンス 241 理想コンデンサ 実際のコンデンサ

Slide 240

Slide 240 text

共振周波数 • 実際のコンデンサは共振周波数以降 はインピーダンスが上昇する (=ノイズ対策効果が減っていく) • 共振周波数以降は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

Slide 241

Slide 241 text

複数組み合わせた場合の周波数特性 • 共振周波数の異なる複数のコン デンサを並列接続すると広い周 波数に対してインピーダンスを 下げられる • 共振周波数の離れすぎたコンデ ンサをつなぐと並列共振により 逆効果(インピーダンスが上が る)にもなる点に注意する • 参考: 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 複数の容量の積層セラミックコ ンデンサを並列接続したイ ン ピーダンス特性の⼀例。

Slide 242

Slide 242 text

パスコンを複数⼊れる • パスコンは複数容量組み合わせると広い周波数のノイズを減ら せる • Q. 何故? • A. 異なる共振周波数のコンデンサをうまく組み合わせると、広 い周波数でインピーダンスを下げられるから 244

Slide 243

Slide 243 text

回路図レベルの対策を活かす配線 • 適切な配置・配線を⾏うことで効果を発揮するものが多々ある • 対策⼀覧 • パスコン関係 • パスコンはICの近くに配置する • パスコンは⼩さい順に配置する • バイパスコンデンサを通って配線されるようにする • ベタ • 基板外周にベタGNDを⼊れる • ベタのアンテナ化を防ぐ • ICの下にGNDベタを⼊れる • 配線 • ⾓度・太さに注意する • リターンパスを確保する • その他 • データシートの推奨設計を採⽤する 245

Slide 244

Slide 244 text

パスコンはICの近くに配置する • パスコンをICの電源の近くに 置くとインピーダンスが減る (=パスコンの効果が上がる) • 配線のインダクタンスが⼊ら なくなるため • 共振周波数の低下も防げる 246 GOOD パスコンがICから遠い等価回路 パスコンがICに近い等価回路 遠い例 近い例 参考: https://www.noise-counterplan.com/point/403/

Slide 245

Slide 245 text

パスコンは⼩さい順に配置する • 低容量パスコンからIC近くに配置す ると良い • 低容量(⾼周波に効く)パスコンの効果を 配線のインダクタンスで下げてしまう のを防げる • ⼤容量の⽅はインダクタンスが増えて も影響が少ない (=少し遠くにおいても⼤丈夫) • 配線のインダクタンスは微量なので、⼤容 量パスコンのESLにとっては誤差レベル 247 良い例の等価回路 避けたい例 良い例 参考: https://www.wti.jp/contents/hint-plus/hint-plus012.htm https://www.noise-counterplan.com/point/407/

Slide 246

Slide 246 text

バイパスコンデンサを通って配線される ようにする • パスコンを通してICに電源供給 するようにするとよい • コンデンサと電源の間のインダク タンスが減る • 参考 • 4.1.2. デカップリングコンデンサの配置, プリント基 板設計ガイド EMI 対策の指針 - TOSHIBA https://toshiba.semicon- storage.com/info/docget.jsp?did=63626 • https://www.noise-counterplan.com/point/405/ 248 良い例 避けたい例 避けたい例の等価回路 良い例の等価回路

Slide 247

Slide 247 text

ベタGNDを適切に⼊れる • 基板外周にGND(とVia)を⼊れる • ベタのアンテナ化を防ぐ • ICの下にはGNDベタを⼊れる 249 参考: https://www.noise-counterplan.com/point/425/ https://www.noise-counterplan.com/point/395/ https://www.noise-counterplan.com/point/435/

Slide 248

Slide 248 text

基板外周にGND(とVia)を⼊れる • 基板端をGNDで覆うと基板のノイズを防げる • 基板端のGNDはViaを打つとよりGOOD 250 Viaなし Viaあり(GOOD) 拡⼤

Slide 249

Slide 249 text

ベタのアンテナ化を防ぐ • ベタはアンテナ化してノイズ元になりうる • 浮島 • どこにも接続されていないベタ • スタブ • (遠くで接続されている)細⻑いベタ • 対処⽅法 • keep outを使ってベタの侵⼊を防ぐ • スタブができないようにする対処 • Viaを打って別の配線とつなぐ • 主にGNDの浮島・スタブを作らない対処 251 スタブ→ 参考: https://www.noise-counterplan.com/point/446/ スタブあり スタブなし

Slide 250

Slide 250 text

ICの下にはGNDベタを⼊れる • IC(特にデジタル)の裏から出る ノイズの影響を防ぐ • IC下の配線は可能なら避けたい 252 GOOD

Slide 251

Slide 251 text

配線の⾓度に注意する • 配線の⾓度を鋭⾓(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/

Slide 252

Slide 252 text

リターンパスを確保する • リターンパスとは? • > ⾼周波信号の場合、配線信号の近くにある導体に逆向きの電流が流 れます。この逆向きに流れる電流 経路をリターンパスと呼びます。信 号線とリターンパスから成るループを可能な限り⼩さくすることで、 EMI を⼩さくできます。 • TOSHIBA プリント基板設計ガイド EMI対策の指針 3.2 リターンパスの確保 より引⽤ • https://toshiba.semicon- storage.com/info/PCB_Design_Guide_ja_20180909.pdf?did=63626 •つまり、(⾼速)信号線下にはGNDを途 切れないように敷くと良い 254

Slide 253

Slide 253 text

リターンパスを確保する例 255 リターンパスが確保できていない例 信号線下のGNDが別の配線に遮られて⼤ きく迂回している リターンパスが確保できている例 信号線下のGNDが迂回せず通っている

Slide 254

Slide 254 text

データシートの推奨設計を採⽤する • データシートやdesign guideに推奨レイアウト設計がある場 合、なるべくそれに従った設計にすると良い • たまに推奨設計にミスがあるので、「なぜそうするのか」を考えな がら参考にする 256

Slide 255

Slide 255 text

例: 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/

Slide 256

Slide 256 text

例: 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

Slide 257

Slide 257 text

JTAGアダプタを作ってみよう v2023-06-12-01 259

Slide 258

Slide 258 text

この節の⽬標 • 実⽤的な基板を⾃分の⼒で作れるようになる 260

Slide 259

Slide 259 text

作るもの • 安価なJTAGアダプタ 261

Slide 260

Slide 260 text

JTAGアダプタとは • JTAG(Joint Test Action Group) • IC等のデバッグに⽤いるシリアル通信の規格 • マイコン等のハードウェアデバッグに使える • OS等動いてなくてもステップ実⾏・レジスタ参照等できる • 詳細は以下資料を確認 • https://speakerdeck.com/tnishinaga/kernelvm-online4 • JTAGアダプタ • PCにつなげてJTAGの信号を喋ってもらう機械 262

Slide 261

Slide 261 text

263 セキュリティ・キャンプ2018「BareMetalで遊ぼうゼミ」講義資料より引⽤ https://speakerdeck.com/tnishinaga/security-camp-2018-baremetal-seminar-material?slide=182 これを作る

Slide 262

Slide 262 text

⻄永流基板づくりのやり⽅ • 何を実現するものを作りたいか考える • 何を使うと実現できるか考える • ⼤まかな構成を考える • 各要素の詳細を調べて考える • 回路図作成 • ブレッドボード試作(できれば) • 基板設計 • 発注 • 実装 264

Slide 263

Slide 263 text

何を実現するものを作りたいか考える • 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

Slide 264

Slide 264 text

何を使うと実現できるか考える • 条件 • JTAGアダプタが作れる • USBで接続できる • 安価 • 潤沢に買える • ⼿ではんだづけできる • QFPまでのパッケージならやりやすい • QFNは⾼い技能とピン間隔等の条件が揃えばなん とか 266

Slide 265

Slide 265 text

決定案: 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 より画像引⽤

Slide 266

Slide 266 text

⼤まかな構成を考える • 主要な部品を並べ、構成を考える • ブロック図を作ると良い 268 USB TypeC RP2040 と 周辺回路 JTAG IF

Slide 267

Slide 267 text

各要素の詳細を調べて考える 各要素の詳細を調べて、考えて、つないで回路を作る 269 USB TypeC RP2040 と 周辺回路 JTAG IF

Slide 268

Slide 268 text

事前知識の紹介 • 以下を知っていると調査効率が上がるので紹介 • ⼀般的なマイコン周辺回路の構成 • 具体的な回路構成の調べ⽅ • データシートの読み⽅ 270

Slide 269

Slide 269 text

事前知識: ⼀般的なUSBマイコン周辺回路の構成 271 マイコン 電源 降圧レギュレータ 外部 クロック ROM USBコネクタ 電源供給 USB通信 クロック 信号 データ https://datasheets.raspberrypi.com/pico/ pico-product-brief.pdf より画像引⽤ USB 電源 (レギュレータ) 外付けROM マイコン 外部クロック

Slide 270

Slide 270 text

事前知識 : 電源レギュレータ • 半導体部品の動作には電源が必須 • 電源供給源は⾃由 • 例: USB, ACアダプタ, 電池, その他⾊々 • 供給源の電圧 > マイコンの電源電圧 の場合 • レギュレータ等を使った降圧回路が必要 • 例: USB(5V) -降圧-> マイコン(3.3V) 272 マイコン 電源 降圧レギュレータ ROM USBコネクタ 電源供給

Slide 271

Slide 271 text

事前知識 : クロック供給源 • マイコンにはクロック供給源も必要 • 回路内外でタイミングを揃えて動作させる 必要があるため(※) • クロック供給源(発振⼦・発振器)は⽤ 途に合わせて選択 • 内蔵RCクロック、⽔晶、セラミック、 MEMS発振器、等々 273 マイコン 外部 クロック クロック 信号 ※参考 宮崎 仁のQ&Aでよく分かるマイコン基礎の基礎 第9回 マイコンのクロック周波数って何? 速いほどいいの? https://edn.itmedia.co.jp/edn/articles/1505/25/news013.html

Slide 272

Slide 272 text

事前知識: ROM(Flashメモリ) • マイコンのプログラム等を置くメモリ • 正確には読み書きできるFlashメモリが使わ れる • マイコンのチップ内部に搭載されてるこ とが多い • 搭載されていない場合は外付けが必要 • RP2040は外付けが必要 274 マイコン ROM データ

Slide 273

Slide 273 text

事前知識:具体的な回路構成の調べ⽅ • 基本的に使⽤するICのデータシートのサンプル回路を読んで理 解して考える • データシートからサンプル回路を⾒つける • サンプル回路からそのICの他に必要なものを調べる • 例: USBの5VからICの電源3.3Vを作る降圧レギュレータ • サンプルに書かれていない部分は別途調べる • 例: 降圧レギュレータの回路 • 使⽤する降圧レギュレータのデータシートを同様に調べていく 275

Slide 274

Slide 274 text

事前知識: 基本的なデータシートの読み⽅ 1. [部品名 datasheet] で検索してデータシートを取得する 2. 概要(⼤抵1ページ⽬にある)を読んで機能を把握する 3. ⽬次(概要の後にある)を読んで資料の構成を把握する 4. 各種必要な情報を読んで把握する • 回路例が知りたい • Application Sample等の節を探して読む • ないときはサムネイル画像から回路図っぽいところを探して読む • 耐圧等の特性が知りたい • Characteristics等の節を探して読む • 各ピンの詳細が知りたい • Pin Description等の節を探して読む 276

Slide 275

Slide 275 text

調べる必要のあること • [ ] RP2040を動かすために必要な部品と回路 • [ ] 電源 • USB Type C端⼦から5Vをもらうにはどうすればよいか • [ ] JTAG IFとRP2040の接続 • [ ] ARM JTAGのピン配置はどうなってるか • ARM JTAG: Arm社の決めたJTAG端⼦規格 • [ ] RP2040のどのピンをJTAG端⼦に配線すればよいか 277

Slide 276

Slide 276 text

実例: RP2040の周辺回路を調べてみる • 以下からRP2040を動かすために必要な部品と回路を調べる • Hardware design manual with RP2040 • データシート 278

Slide 277

Slide 277 text

例: 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より引⽤

Slide 278

Slide 278 text

例: 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より引⽤

Slide 279

Slide 279 text

例: 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⽤端⼦

Slide 280

Slide 280 text

例: 電源(降圧レギュレーター) • USBの5Vを3.3Vに降圧して いる部分 • RP2040の電源電圧が3.3Vな ので • 降圧はNCP1117という降圧 レギュレータを使っている 282 回路図はHardware design with RP2040, Figure 4. Schematic section showing the power input より引⽤

Slide 281

Slide 281 text

例: NCP1117 • リニア電圧レギュレーターのひとつ • 電圧を熱に変換して降圧する • 推奨設計は右図参照 • 基本的に⼊⼒コンデンサと出⼒コンデン サにサンドイッチされている 283 NCP1117のデータシートより引⽤ https://www.onsemi.com/pdf/da tasheet/ncp1117-d.pdf

Slide 282

Slide 282 text

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

Slide 283

Slide 283 text

例: 電源(パスコン) • 各電源端⼦の近くに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)

Slide 284

Slide 284 text

例: 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Ωはなくても問題ないかも

Slide 285

Slide 285 text

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

Slide 286

Slide 286 text

例: クロック供給源 • 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年チューターの提案です。ありがとうございました!

Slide 287

Slide 287 text

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

Slide 288

Slide 288 text

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/

Slide 289

Slide 289 text

例: 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 より引⽤

Slide 290

Slide 290 text

例: 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 より引⽤

Slide 291

Slide 291 text

例: SWD • Armの定めたデバッグインターフェース • 主にArmマイコンのデバッグに使われる • 信号線は以下の2つ(とGND) • SWDIO • SWCLK • 以下ができて便利なのでpinを出しておくと良い • Flashへのプログラム書き込み • プログラムのデバッグ 293

Slide 292

Slide 292 text

今回調べる必要のあること • [x] RP2040を動かすために必要な部品と回路 • [ ] 電源 • USB Type C端⼦から5Vをもらうにはどうすればよいか • [ ] JTAG端⼦とRP2040の接続 • [ ] RP2040のどのピンをJTAG端⼦に配線すればよいか • [ ]ARM JTAGのピン配置はどうなってるか • ARM JTAG: Arm社の決めたJTAG端⼦規格 294

Slide 293

Slide 293 text

USB Type C端⼦から5Vをもらうにはどう すればよいか • USB micro B(USB 2.0)までは何 もしなくてもUSB端⼦から5Vが取 れた • USB Type Cからはちょっと⼯夫 が必要 • CC端⼦を5.1kΩでプルダウンすると よい 295

Slide 294

Slide 294 text

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 より引⽤

Slide 295

Slide 295 text

Note: なぜCC1とCC2の両⽅にRdが必要か • Type Cプラグ側を上下反転して差し込め るようにするため • 仕様的にはプラグ側のCCに終端抵抗Rdがあ れば良い • 前スライドのFigure 4-30を参照 • 機器側(receptacle)はCC1とCC2にRdが必要 • 反転しても必ずCCにRdがつくようにするため) 右図参照) 297 普通にプラグを差し込んだときの図 CCにCC1経由でRdがついている プラグを上下反転して差し込んだときの図 CCにCC2経由でRdがついている

Slide 296

Slide 296 text

今回調べる必要のあること • [x] RP2040を動かすために必要な部品と回路 • [x] 電源 • USB Type C端⼦から5Vをもらうにはどうすればよいか • [ ] JTAG端⼦とRP2040の接続 • [ ] RP2040のどのピンをJTAG端⼦に配線すればよいか • [ ]ARM JTAGのピン配置はどうなってるか • ARM JTAG: Arm社の決めたJTAG端⼦規格 298

Slide 297

Slide 297 text

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

Slide 298

Slide 298 text

RP2040側のピン • GPIOならどこでも良い • JTAGアダプタはソフトウェア実装なので任意に変更可能 300

Slide 299

Slide 299 text

接続例 301 RP2040側 JTAGkコネクタ側

Slide 300

Slide 300 text

今回調べる必要のあること • [x] RP2040を動かすために必要な部品と回路 • [x] 電源 • USB Type C端⼦から5Vをもらうにはどうすればよいか • [x] JTAG端⼦とRP2040の接続 • [x] RP2040のどのピンをJTAG端⼦に配線すればよいか • [x] ARM JTAGのピン配置はどうなってるか • ARM JTAG: Arm社の決めたJTAG端⼦規格 302

Slide 301

Slide 301 text

演習: 回路図作成 • 調査結果をもとに回路を書いていきましょう • ⾜りない回路が⾒つかったら都度調査からやり直してみましょ う • 答えは次ページ以降にstep by stepで解説 303

Slide 302

Slide 302 text

回路図の作り⽅の⽅針 • 以下の主要部品をとりあえずおいてみる • USBコネクタ • RP2040 • 降圧レギュレータ • QSPI Flash Storage • JTAGコネクタ(Conn_ARM_JTAG_SWD_20) • MEMS発振器 • 作りやすい部品から周辺回路をつけていく 304

Slide 303

Slide 303 text

演習の答え: 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

Slide 304

Slide 304 text

こだわりポイント: 静電気対策 • USBにESD対策素⼦を⼊れて、8kVま での静電気から回路を保護(※) • RP2040のGPIOは4kVまでの静電気に耐え るが、USBは対策されてなさそうなため • その他スイッチ等、外部から静電気が ⼊りうる部品もなるべく削除 • 開発はPicoボードでやるという割り切り 306 ※これも2021年のチューターの提案🙏

Slide 305

Slide 305 text

演習の答え: 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

Slide 306

Slide 306 text

演習の答え: 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等を⽤いてターゲット電圧に応じて信号電圧を変化させたい場合に使う

Slide 307

Slide 307 text

演習の答え: 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

Slide 308

Slide 308 text

演習の答え: 電源まわり • 降圧レギュレータに 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

Slide 309

Slide 309 text

逆接続バイパスダイオード • 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 逆接続バイパス ダイオード

Slide 310

Slide 310 text

演習の答え: 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

Slide 311

Slide 311 text

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

Slide 312

Slide 312 text

演習の答え: バイパスコンデンサ • 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

Slide 313

Slide 313 text

その他 • 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

Slide 314

Slide 314 text

講師作の回路図例 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

Slide 315

Slide 315 text

その他やること • 回路図を⾒やすくする • レビュー者や数カ⽉後の⾃分がわかりやすいようにしておく • 例: • シンボルや部品番号等がかぶらないようにする • 電源シンボルのVCCは上⽅向、GNDは下⽅向を向くようにする • モジュールごとに分ける • 適宜コメントを追加する • ERCを通す • アノテーションとfootprint assignをする 317

Slide 316

Slide 316 text

ブレッドボード試作(できれば) • 回路図に書いた回路が動くかチェックする • Raspberry Pi Picoを使う • JTAGの通信はできるか等をチェック • 問題が⾒つかったら修正して回路図に反映する 318

Slide 317

Slide 317 text

ブレッドボード試作基板回路図 319

Slide 318

Slide 318 text

演習: 基板設計(アートワーク)をしよう • 基本はこれまで説明した通り • 経路や場所が重要な部品の配置に注意 • ESD保護ダイオード等々 • QFNを⼿はんだするための特殊加⼯も必要 320

Slide 319

Slide 319 text

QFNを⼿はんだするための特殊加⼯ • 背⾯PadがあるICは基本⼿はんだ不可 • 通常はリフローという⼿法を使う • RP2040は背⾯PadがGND • 普通は⼿はんだできない • QFNはピンが出ていない • 側⾯には出ているので、 ⾮常に難しいが⼿ はんだ可能 321 product briefより引⽤ https://datasheets.raspberrypi.com/rp 2040/rp2040-product-brief.pdf

Slide 320

Slide 320 text

背⾯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なので、リフローはできなくなる

Slide 321

Slide 321 text

QFNのはんだづけ • 以下の⼿順で頑張ればはんだづけできる • ⾼難易度なので、講師にお任せください(挑戦者も募集!) 323 2. 上から端⼦とパッドの 位置をあわせつつ、横 から覗きこんで予備は んだ部と端⼦をあわせ る 3. 対⾓線上の2箇所をはん だづけして固定する 1.対⾓線上の2箇所を予 備はんだする (以降、各⼯程前にフラ ックスを塗ること) 4. こて先にはんだを乗せ て、未はんだ部を撫で るように滑らせてはん だをつける(※) ※はんだがつくと輝きが変わる

Slide 322

Slide 322 text

QFNのはんだづけ参考動画 QFNパッケージを⼿半⽥してみた ‒ Junichi AKITA https://www.youtube.com/watch?v=Mqg97L8LYg4 324

Slide 323

Slide 323 text

演習の答え: 外形を作る • Edge.cutsレイヤーを選んで外形 線を引く • (基板のイメージがなければ) 10cm x 10cmで作る • 発注先の最⼤サイズ • キャンバスが広いと作りやすい 325

Slide 324

Slide 324 text

演習の答え: 部品を読み込む • 回路図から部品を読み込む • とりあえず外形線の外に置く 326

Slide 325

Slide 325 text

演習の答え: 主要部品を仮置する • 以下の主要部品を仮置する • RP2040 • USB • 降圧レギュレーター • MEMS発振器 • QSPI Flash JTAG端⼦ • 薄い⽔⾊の未接続配線をみて、絡 まりが少ないように部品を回転し ながら置く • その後の配線がしやすくなる 327

Slide 326

Slide 326 text

演習の答え: 配置制約のある部品を仮置 する • 配置場所の制約がある部品を設置する • バイパスコンデンサ • VCCのなるべく近くに置く • 各VCCピン1つに対し1つ置く • ダンピング抵抗 • 基本は信号送信側近くに置く • USB信号線の27Ω抵抗 • RP2040のなるべく近くに置く • MEMS発振器 • RP2040のなるべく近くに置く • QSPI Flash • RP2040のそこそこ近くに置く • ちょっと離し気味に置くと配線しやす い 328

Slide 327

Slide 327 text

演習の答え: 電源線を引く • 電源線はなるべく太くする • viaの外形+0.1mmあると好きなとこ ろでvia作れるのでオススメ • 信号線を引き出すスペースを考え ながら引く • 基本は電源線優先 • ただし図のようにviaすら出せない 状況は避ける • ノイズ対策の節も参照しながら引 く • パスコンを経由して電源供給する等 329 出られない

Slide 328

Slide 328 text

演習の答え: 残りの部品を置いて配線す る • 残りの部品を置く • 信号線を引いていく • 気をつけるポイントは次ペ ージで解説 • うまく配線できない場合は 以下を試す • 部品を移動させてスペース をあける • 電源線を⼀部引き直す 330

Slide 329

Slide 329 text

演習の答え: 信号線を引く際に気をつけ たいこと • USB信号線をESDサプレッサ経由で配線する 331 ※ ESDサプレッサの配線レイアウトは以下を参考にさせていただきました https://www.masterzen.fr/2020/10/20/designing-a-keyboard-part3/

Slide 330

Slide 330 text

演習の答え: 信号線を引く際に気をつけ たいこと • USB信号線の差動イ ンピーダンスを90Ω に近づける • 配線幅を0.83mmに設 定 • (引き出し部は適応不 可なので妥協) 332

Slide 331

Slide 331 text

MEMO: 差動信号の配線幅の決め⽅ • Kicad付属の計算機 (calculator tools)を使って計 算 • Transmission Lines -> Coupled Microstrip Line • 以下のパラメータを⼊⼒して Analyzeを押すと差動インピ ーダンスが右下⾚枠に出てく る • 基板厚(H): 1mm • 配線幅(W): 0.83mm • 配線間スペース(S): 0.2mm 333

Slide 332

Slide 332 text

演習の答え: 信号線を引く際に気をつけ たいこと • USBの差動配線の下にはGNDを途切れないように敷く • GNDが途切れるとノイズ源になってしまう • 参考: https://www.murata.com/ja-jp/products/emc/emifil/library/knowhow/basic/s2-chapter03-p1 334 USB信号線下のGNDが途切れていない例 USB信号線下のGNDが途切れている例 改善

Slide 333

Slide 333 text

演習の答え: 信号線を引く際に気をつけ たいこと • リターンパスを確保する 以下の信号線の始点から終点まで の下にGNDを(なるべく)途切れ ないように敷く • RP2040のSWD線 • RP2040とFlash storage間の信号線 • RP2040とJTAG端⼦間の信号線 335 リターンパスが確保できている例 信号線下のGNDが迂回せず通っている

Slide 334

Slide 334 text

Note: ノイズ対策の取捨選択 • すべてのノイズ対策の採⽤は不可能 • 特に2層基板は以下の理由で難しい • 信号線と電源層を分けられないので、電源配線が⻑くなりがち • すべての配線の下にGND層を引けない • リターンパス(※)の確保が難しい • 信号線とGND層の距離が遠くなりがち • 距離が近いほうがインピーダンスが下がる • 詳細は 「マイクロストリップライン」 で検索 • より効果のありそうな対策を取捨選択しながら適応する • 優先順位はシミュレーション・実測等で確認して考える 336 ※ リターンパスの詳細は「プリント基板設計ガイド EMI 対策の指針 ‒ TOSHIBA」を参照 https://toshiba.semicon-storage.com/info/docget.jsp?did=63626

Slide 335

Slide 335 text

残りのやること • ベタGNDを敷く • Viaを増やす • 基板外周をGNDで囲ってViaをあける • スタブにViaをあけてGNDにする or スタブを消す • GNDガード(信号線の両側に引くGND)にも等間隔にViaをあけて両 ⾯をつなぐ • DRCを通す • 説明省略。エラーのとり⽅がわからない場合は講師やチューターに聞 いてください。 • 部品番号等の情報を⾒やすくする • ⾃分のサインと基板のバージョンを⼊れる 337

Slide 336

Slide 336 text

部品番号等の情報を⾒やすくする • シルクスクリーンにかか れている部品番号を整列 させて⾒える位置に置く • 実装時に⾮常に助かる 338

Slide 337

Slide 337 text

サインと基板のバージョンを⼊れる • シルクスクリーン上に以下を記 ⼊する • 基板のバージョン • 複数バージョン作る場合に助かる • 作者名 • 講師が作者を判定するために必要 • 基板の名前 339

Slide 338

Slide 338 text

(余裕があれば)基板を⼩さくしてみる • 基板を作り直してもう少し⼩さ く作ってみましょう • ⼩さくするメリット • 複数⾯付けを⾏えば同じ価格で作 れる基板枚数が増える • 信号線の⻑さが短くなるのでノイ ズに強くなる(かも) • 作業前に⼀旦完成した分はプロ ジェクトごと別の場所にコピー してバックアップを取ってから ⾏うこと • 締切に間に合わない場合はバッ クアップの基板を製造する 340 このあたりは不要 このあたりも不要 JTAG信号線は もっと短くできる

Slide 339

Slide 339 text

参考: 講師の基板設計例 341

Slide 340

Slide 340 text

参考: 講師の基板のこだわりポイント • 取付部品を全部⽚⾯に寄せた • メリット • ⼿ハンダもリフローもやりやすく なる • デメリット • ⼀部部品は遠回りな接続になった • 基板が少し⼤きめになった 342

Slide 341

Slide 341 text

参考: 講師の基板のこだわりポイント • 信号線のリターンパスをなる べく確保した • メリット • 信号線のノイズは減るはず • デメリット • VCCが少し遠回りになった 343

Slide 342

Slide 342 text

熟成 • 1⽇寝かせてバグを浮き上がらせる • 翌⽇浮き上がってきた部分を治す 344

Slide 343

Slide 343 text

発注 • 製造業者に発注する作業 • 講義では全員分まとめて発注するので、完成次第講師に報告し てください • 事前学習はここまでです。お疲れさまでした。 345

Slide 344

Slide 344 text

実装 • 会場にて届いた基板に部品をはんだづけしてください 346

Slide 345

Slide 345 text

動作チェック • 電源を⼊れる前に以下をチェック • 電源ショートしてない? • 動かない場合は以下をチェック • (回路図レベルで)信号線つなぎ間違えてない? • はんだづけミスで回路がショートしてない? 347

Slide 346

Slide 346 text

JTAGアダプタの動作確認 • 作ったアダプタとRaspberry PiをつないでJTAGデバッグをして みましょう 348

Slide 347

Slide 347 text

⾃作ボード⽤ファームウェアの作成 • 講師に回路図を⾒せ、ファームウェアを提供してもらってくだ さい • 以下を皆様の回路にあったピン配置に修正して提供します • https://github.com/ciniml/rust-dap 349

Slide 348

Slide 348 text

⾃作ボードへのファームウェア書き込み 1. RP2040をプログラム書き込みモードで起動する • BOOTSELをGNDに落としてながらUSBケーブルを指す • PCからMass storageとして⾒えれば成功 2. 講師から提供されたファームウェア(*.uf2)をmass storageに 書き込む 3. PR2040が⾃動的に再起動されるのを待つ • 再起動時にはmass storageが消えるので、その後数秒経てば完了 350

Slide 349

Slide 349 text

JTAGアダプタとRaspberry Piの接続 • JTAGアダプタ接続基板をRaspberry Piに接続する • JTAGアダプタ接続基板とJTAGアダプタをコネクタで接続する • パソコンにOpenOCDをインストールする • OpenOCD configを書く • Raspberry Piのセットアップ • Raspberry PiのJTAGを有効化するconfigを書く • OpenOCDを起動して接続する 351

Slide 350

Slide 350 text

JTAGアダプタ接続基板をRaspberry Piに 接続する 352

Slide 351

Slide 351 text

JTAGアダプタ接続基板とJTAGアダプタ をコネクタで接続する 353

Slide 352

Slide 352 text

パソコンにOpenOCDをインストールする • OpenOCD • JTAGアダプタを制御するソフトウェア • 以下を参考にインストール • https://openocd.org/pages/getting-openocd.html • 本資料はopenocd version 0.11.0で動作確認済み 354

Slide 353

Slide 353 text

OpenOCD configを書く • OpenOCDを使うには以下のファイルが必要 • JTAGアダプタ情報を教えるconfig • cmsis-dap互換FWが⼊っているので、openocdの持つconfigが使える • ターゲットプロセッサの情報を教えるconfig • 以下から取得してください • https://github.com/tnishinaga/seccamp2021_pcb/blob/main/openocd/pi3.cfg 355

Slide 354

Slide 354 text

Raspberry Piのセットアップ • 以下を参考にRaspberry PiにLinuxを⼊れて起動するところまで 確認してください • https://projects.raspberrypi.org/en/projects/raspberry-pi-setting- up 356

Slide 355

Slide 355 text

Raspberry PiのJTAGを有効化するconfigを 書く • Raspberry PiのSDカードの第1パーティション(boot)の config.txtの最後に以下を追記してください • enable_jtag_gpio=1 • 参考: https://www.raspberrypi.org/documentation/configuration/config- txt/gpio.md 357

Slide 356

Slide 356 text

OpenOCDを起動して接続する • OpenOCDのpi3.cfgのあるディレクトリで以下を実⾏してくだ さい • openocd -f interface/cmsis-dap.cfg -f pi3.cfg • 次ページと同じ画⾯が出てくれば回路とFWは問題ないはず • うまく動かない⼈は講師に相談してください 358

Slide 357

Slide 357 text

正常起動時の画⾯ 359

Slide 358

Slide 358 text

JTAG経由でCPUのレジス タを覗く • JTAG経由でCPUのレジスタを⾒る • gdbでtcp 3333 portに接続するとデバッ グもできる • ⽅法 1. telnetでopenocdに接続する • telnet localhost 4444 2. regコマンドを実⾏する • うまく動けば右図のようにレジスタの中⾝ が表⽰される 360

Slide 359

Slide 359 text

ここまで動けば完成! • おめでとうございます! 361

Slide 360

Slide 360 text

おわり v2023-06-12-01 362

Slide 361

Slide 361 text

参考資料 • 電⼦部品のはたらき, 村⽥製作所 • 抵抗・コンデンサ等部品が図付きで簡単に紹介されているサイト • https://article.murata.com/ja-jp/series/compo_func • TRSP No.148 回路図の描き⽅から始めるプリント基板設計&製作⼊ ⾨, CQ出版社 • 回路図の描き⽅から基板作成まで⾏う本。本講義と⼀緒に読むのおすすめ • https://shop.cqpub.co.jp/detail/2458/ • 初めての電⼦回路15講, 秋⽥純⼀, 講談社 • オームの法則から半導体を使った回路について知りたい⼈におすすめ • ⽬で⾒てわかる はんだ付け作業鉛フリーはんだ編, 野瀬 昌治, ⽇刊 ⼯業新聞社 • 基礎知識から始まり、どうすれば良いはんだ付けができるかまでわかりやす く解説されていておすすめ 363

Slide 362

Slide 362 text

参考⽂献: ノイズ対策系 • ノイズ対策.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