Slide 1

Slide 1 text

GreenPAK 初心者向けハンズオン資料 秋葉原ロボット部 第146回勉強会@オンライン あおいさや ~チョットした回路を組むのに便利なGreenPAKというデバイスをつかう~

Slide 2

Slide 2 text

自己紹介 氏名 : あおいさや 専門 : アルゴリズム開発、システム設計、デジタル回路設計 無線応用技術の研究開発 Twitter :https://x.com/La_zlo Qiita :https://qiita.com/La_zlo GitHub :https://github.com/AoiSaya こころの赴くままに豆をまきます。 発表内容は趣味と煩悩に基づいており、無保証です。 また、所属団体を代表するものではありません。

Slide 3

Slide 3 text

デジタル回路超入門

Slide 4

Slide 4 text

電源電圧と1/0 電圧と1/0 デジタル回路では、1と0を電圧で表します。 電圧は連続値(アナログ)ですから、デジタル回路では1と0を電圧の範囲と対応させています。 電源電圧を基準に、高い方の電圧をHighまたはH、低い方の電圧をLowまたはLと呼びます。 このHighを1,Lowを0と対応させることで様々なデータをやり取りすることができます。 電源電圧と1/0 マイコンなどでは、デジタル信号をやり取りする外部端子を I/O端子と呼び、入力端子または出力端子または両方できる 入出力端子を備えています。 右図は入力端子に入ってくる電気信号と、High/Lowの範囲を 図に表したものです。I/O端子の電源電圧VCC(例では3V)を 基準に1か0が決まります。 中間的な電圧では、1か0か定まりませんので注意しましょう。 GND=0V VCC=3V High=1 Low=0 絶 対 最 大 定 格 絶対最大定格:これを超えるとICが壊れる 動 作 範 囲 不定 VIH VIL 入力端子の例

Slide 5

Slide 5 text

真理値表の見方 AND回路 A B Z A B Z 0 0 0 0 1 0 1 0 0 1 1 1 真理値表 真理値表 回路の入力値のすべての組み合わせに対応する出力の値を表にまとめたものを真理値表といいます。 下の例は、A=1かつB=1の時だけZが1になる、AND演算をするAND回路の真理値表です。 GreenPAKは、2入力や3入力のあらゆる論理回路を、LUT(Luck Up Tabel)で実現しています。 GreenPAKでは、代表的な論理回路を選択するか、真理値表を埋めることで論理回路を設計します。

Slide 6

Slide 6 text

AND,OR,XOR 基本的な回路図記号 ここでは、プログラミングでおなじみのAND,OR,XORなどを表す回路図記号を紹介します。 論理の反転は〇を付けて表します。 AND(すべて1の時1) OR(いずれかが1の時1) XOR (EOR,EXOR) (1の数が奇数の時1) A B C A B Z Z A B Z A B C Z A B Z A B C Z Z=A&B Z=A&B&C Z=A|B Z=A|B|C Z=A^B Z=A^B^C NAND Z=~A NOR XNOR (ENOR,EXNOR) NOT (invert) 入力を一部を 反転するときの例 Z=~(A&B) Z=~(A|B) Z=~(A^B) Z=A&~B A B Z A B Z A B Z A Z A B Z

Slide 7

Slide 7 text

マルチプレクサ(信号選択回路) 回路図記号と真理値表 マルチプレクサは、信号を選択することができます。 S A B Z 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 真理値表 マルチプレクサ Z = S ? A : B A B S A B S Z マルチプレクサの等価回路の例

Slide 8

Slide 8 text

加算器 回路図記号と真理値表 2つの入力を加算する回路を半加算器、桁上がり信号CIも足す回路を全加算器と呼びます A B C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 真理値表 半加算器(HA) 全加算器(FA) A B S C HA HA A B CI S C S C CO S A B C C S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 真理値表 A B CI LUT CO LUT S Luck Up Tableに よる実現方法

Slide 9

Slide 9 text

Dフリップフロップ nRESET CLK D Q 説明 0 x x 0 リセット 0 x x 0 リセット 1 L x Qn 前の値のまま 1 ↑ 0 0 取り込む 1 ↑ 1 1 取り込む 1 H x Qn 前の値のまま 1 ↓ x Qn 前の値のまま 真理値表 回路図記号と真理値表 フリップフロップ(FF)は入力信号を保持するための素子です。 中でもDフリップフロップは、クロックに同期して動作するデジタル回路でよく使用されます。 クロックCLKの立ち上がりでデータDの値を取り込み、その値を保持(出力)します。 D CLK nRESET DFF Q D R Q D CLK nRESET Q GreenPAKの表示 一般的な記号 nRESET=0でリセット nSET=0で1にする様に プログラムすることも可能

Slide 10

Slide 10 text

LED、抵抗、タクタイルスイッチ LEDの使い方 LEDには極性があります。足の長い方が+です。 LEDを点灯するには、製品のデータシートに記載された順方向電圧(VF)以上の電圧を与える必要があるの ですが、逆にVFを超えると一気に電流が流れます。電流が多いほど明るく光りますが、流しすぎるとLED が壊れてしまいます。そのため電流制限用の抵抗を直列につなぐ必要があります。抵抗なしにマイコンの 端子につなぐとマイコンが壊れるときもあります。(壊れなくても寿命が短くなります) (豆知識)ボタン電池は内部に持つ抵抗成分(内部抵抗)が大きいため、LEDを直結できます。 https://www.my-craft.jp/html/aboutled/led_kyokusei.html https://inagidenshi.shop-pro.jp/ LED タクタイルスイッチ(タクトスイッチ) 押すと導通する小型のプッシュスイッチ LEDの記号 抵抗の記号

Slide 11

Slide 11 text

チャタリングと対策 チャタリングとは タクトスイッチをオンする際に電極の振動や跳ね返りなどが、高速にオンオフ状態が変化します。 この1度押しただけにもかかわらず、複数の入力がされてしまう症状をチャタリングと呼びます。 チャタリング対策 チャタリングが問題になる場合には、チャタリング対策を行います。対策方法には次の方法があります。 案1)コンデンサを入れたりして高速な信号変化を平滑化する。 案2)信号の変化を検出したら、オンオフが高速に変化する期間をマスクする。 案3)複数回チェックして変わらなくなるのを待つか所定時間待ってからもう一度確認する。 案1はアナログ回路による対策、案3はプログラミングでよく使う方法ですね。 GreenPAKではデジタル回路で実現できる案2を実現しやすくなっています。 スイッチオン 入力された信号

Slide 12

Slide 12 text

Go Configure Software Hub

Slide 13

Slide 13 text

アカウント登録とインストール GreenPAKは、ルネサスエレクトロニクス社の製品です。(2024/7/27現在) 開発には、統合開発環境(IDE)「Go Configure Software Hub 」を使用します。 システム要件 ダウンロード先 https://www.renesas.com/jp/ja/software-tool/go-configure-software-hub 詳しい手順はこちらの記事をご参照ください。 https://elchika.com/article/bd39bf54-4b65-4b7e-bef4-33d1dcadc397/ Minimum system requirements for Go Configure Software Hub: CPU: Dual core 2.5 GHz RAM: 8 GB GPU: 128 MB Free disk space: 2 GB OS: Windows 10/11, macOS 11 or higher, Ubuntu 22.04/24.04, Debian 12/Testing

Slide 14

Slide 14 text

SLG46826V-DIP このハンズオンでは、何度も書き換え可能なSLG46826(*1)を使います。 詳しく知りたい方は、こちらの記事をご参照ください。 https://elchika.com/article/6ddfba55-fa3e-436b-b603-69478b6b450d/ 1)SLG46826の特徴 ・何度も書き換え可能 ・2.5V~5Vで動作するのでボタン電池(CR2032)でも動く。 ・2電源対応で3Vの信号と5Vの信号のインタフェースも可能。 ・マイコンからI2Cで回路情報を内蔵されたNVMに書き込むことができる。 (特別な起動シーケンスや電圧は不要) ・動作中の回路情報は内部のSRAMに保持されており、動作中にI2Cで変更可能。 ・パッケージは2種類 (STQFN: 2 x 3 x 0.55 mm, 0.4 mm pitch、20-pin TSSOP: 6.5 x 6.4 x 1.2 mm, 0.65 mm pitch) ・SLG46826V DIP化モジュールキットは秋月電子で350円。 https://akizukidenshi.com/catalog/g/g129510/

Slide 15

Slide 15 text

Go Configure Software Hubの起動 起動する際は、 ディスクトップのアイコン または、Windowsであれば、 Windowsスタートから起動できます。 起動直後の画面の例 使い方の説明

Slide 16

Slide 16 text

SLG46826Vの選択 ①Develop をクリック ②SLG46826Vを探してダブルクリック

Slide 17

Slide 17 text

動作条件の選択(デフォルト) ①すべての▲を一回ずつクリック(9か所) ②上記画面になったら[OK]をクリック

Slide 18

Slide 18 text

本日入力する回路 SLG46826V ひげとり回路 D R Q D R Q 10kΩ 10kΩ 10kΩ 10kΩ 10kΩ 10kΩ PIN3 VDD PIN6 PIN4 VDD2 GND PIN20 PIN19 PIN18 PIN15 PIN17 PIN16 PIN12 PIN13 方針 SLG46826VのI/O端子に 内蔵されているプルダウン抵抗を 有効活用することで外付けの抵抗を 減らし、ブレッドボード配線を 簡単にする。 半加算器 スイッチを押すたびに 点いたり消えたりする回路 チャタリングで 時々誤動作する回路

Slide 19

Slide 19 text

画面構成(回路設計でよく使う部分の紹介) 配線する 配線消す ラベルつける プロパティ 画面 SIM用部品表 ON/OFF 部品を表示 するかの選択 SIM用部品を 表示するか選択 設計画面 保存

Slide 20

Slide 20 text

基本的な操作(部品の配置) ①チェックを入れる ②プルダウン で選択 ②’ここで選ん でもいい ③プロパティ変えたら [Appry]押す ④好きな場所に配置する 初期状態に戻すには、部品の上で右クリックして [Reset macrocell][Reset all]

Slide 21

Slide 21 text

基本的な操作(配線) ①端子の上にカーソルを 止めると端子情報がでる ②端子をクリックすると 接続可能な端子が緑になる Ctrl+マウスのスクロール:画面の拡大縮小 Ctrl+Z:Undo (Windows) ③端子をクリックすると つながる ④初めてI/O pinにつな ぐと自動で属性がつく ⑤VDDやGNDとの 接続はラベルがデフォ 右クリックの一番上の メニューで切替可能

Slide 22

Slide 22 text

内蔵抵抗の活用例とI/Oの設定方法 入力かつ プルダウン設定 この図のように配線する。 PIN3, 6, 17, 19 は、入力かつ10kΩプルダウン抵抗を有効にする。 Sim用部品

Slide 23

Slide 23 text

Simulation ①Debugをクリック ②Softwere Simulationを選択 ③[OK]をクリック Debugをクリックすると自動的に「Rule Checker」が実行される。 エラーがあるときはSimulationできない。 おかしい個所を 教えてくれる機能

Slide 24

Slide 24 text

プローブの指定 個別に設定してもいいが、最初に[AddProbe]の▼をクリックし、[Add Probes to visible pins]をクリックす ると、すべての見えてるピンにプローブ印(波形観測箇所)がつくので便利。 (P)probe 観測可能箇所の印 次は入力信号の作成 ①クリック ②クリック ③ダブルクリック する

Slide 25

Slide 25 text

①選択 ②入力 ③入力 入力信号の作成 ⑥選択 ⑦入力 ⑤クリック ④クリック ⑧クリック ⑨クリック 電源投入と初期化が 終了するまで待つ

Slide 26

Slide 26 text

Simulationの実行 ①クリック Simulation時間 大きくすると早く終わるが データが抜けることがある 実行方法 実行結果 波形のリスト 波形の非表示 波形の並べ替え Ctrl+マウスのスクロール:波形の拡大縮小 Ctrl+左クリックとCtrl+右クリックの間でΔtや1/Δtを計測できる

Slide 27

Slide 27 text

Simulation結果 A B C=A&B S=A^B 実行結果の例

Slide 28

Slide 28 text

時間に余裕のある人は 続きを入力してみよう

Slide 29

Slide 29 text

フリップフロップの呼び出し DFF/LATCH を選択して [Apply]を押すと切り替わる 3入力の例 2入力の例 (リセット端子がない) 初期値は 選択できる 出力の 極性が 選べる 端子での リセットと セットを 選べる

Slide 30

Slide 30 text

チャタリング対策 今回使用する設定 CNT/DLYを選択して [Apply]を押すと切り替わる ②OSC1/512を使う [Apply]を押すと 自動的にOSC1が 追加される ①入力値が指定時間 保持されたら出力を変 化させる ④L⇒HまたはH⇒L の両方で有効 ③時間の指定

Slide 31

Slide 31 text

本日の回路の入力例 PIN3, 4, 13, 15, 17, 19 は、入力かつ10kΩプルダウン抵抗を有効にする。 ひげとり回路 D R Q D R Q 10kΩ 10kΩ 10kΩ 10kΩ 10kΩ 10kΩ PIN3 VDD PIN6 PIN4 VDD2 GND PIN20 PIN19 PIN18 PIN15 PIN17 PIN16 PIN12 PIN13

Slide 32

Slide 32 text

ブレッドボードでの動作確認

Slide 33

Slide 33 text

部品の挿入と動作確認 教材のGreenPAKには、本日の回路が書き込んであります。 独自回路で試したい方は、お申し出ください。またはArduinoで焼いてください。 ブレッドボードの配線 全ての部品装着後 ひげとり回路 D R Q D R Q 10kΩ 10kΩ 10kΩ 10kΩ 10kΩ 10kΩ PIN3 VDD PIN6 PIN4 VDD2 GND PIN20 PIN19 PIN18 PIN15 PIN17 PIN16 PIN12 PIN13 回路図 LEDの極性に注意 GreenPAKと電池の向きに注意

Slide 34

Slide 34 text

おつかれさまでした