電子部品、半導体の調達、通信販売から製造受託のマルツオンライン

資料・技術情報

Raspberry Pi3で作るtwitter温度計(1)【マルツ実験の素】

  • 2016/09/01

    ラズベリーパイ3を使って工作しよう

    名刺サイズの人気基板「ラズベリーパイ」を使って電子回路とプログラムをつくっていきましょう.最初のテーマは「温度計」です.


    マルツエレック×大学生協の月替りパンフレットに掲載されている「実験の素」シリーズは、エレクトロニクス以外の分野を専攻する学生さんに電子工作の楽しさを伝えることを目的としています。エレクトロニクス専攻でない方にもわかりやすい記事を目指しています。パンフレットの限られた紙面には掲載しきれなかった、詳しい情報をマルツオンラインの技術情報に掲載します。

    流行っているよね −ラズベリーパイを使ってみよう

    2016年現在、書店でエレクトロニクス関係の雑誌の表紙をチェックするとラズベリーパイを取り上げている雑誌がたくさんあります.ここまで流行るのには理由があります.ラズベリーパイは従来にない融通の効く小型コンピューターなのです. 今,一般の人が使えるコンピューターを考えてみましょう.

    種別 特徴
    パソコン
    • ちょっと高価
    • デスクトップやタワー型に追加基板を内蔵すれば,機能拡張が可能(USB接続でもOk)
    • ソフトウェアをインストールすれば,いろんな仕事ができる
    • ネットワークにつながって高速通信できる
    • 計算処理も速い
    スマートフォンタブレット
    • パソコンより安め
    • 接続できる回路は,USBの外付け機器とヘッドフォンくらい
    • 専用のアプリストアから,ソフトウェアをインストールできる
    • 携帯電話回線につながるものが多い,無線LANにもつながる
    • 計算処理はパソコンほど早くないが,日常的な処理には十分
    マイクロコンピュータ(組み込み分野)
    • 一般の人が直接目にしないが,家電製品一つ一つに入っている
    • 趣味の電子工作でハンダ付けして使う人もいる
    • 特定の回路で特定の処理をするだけ
    • 一部ネットワークにつながるものもある
    • 計算処理は遅め

    今まで電子工作に使ってきたマイクロコンピュータは小回りがきくのですが,センサーで収集したデータの統計処理などをさせようとすると能力が足りません. 逆にパソコンは,小さな回路を接続しようとしたとき,複雑な仲介回路を間に挟まなくてはなりません. 数年前まで,電子工作で収集したデータを統計処理するときは,データ収集にArduinoというマイクロコンピュータをつかって,USB経由でパソコンにデータを転送していました.でもラズベリーパイが現れて図1のように世界は変わりました.マイクロコンピュータのように小回りがきいてセンサーICなどを直接つないでデータを集めることができ,パソコンのように複雑な処理ができます.最新型のパソコンと比べるとまだ1/10くらいのスピードですが,1台でデータ収集から統計処理まで出来るので重宝します. Fig01_RaspberryPiSystem


    ラズベリーパイで何をしよう?

    せっかく能力の上がったラズベリーパイで工作するのですから,今までのマイクロコンピュータの力ではできなかった(できたけど難しすぎた)分野に挑戦してみましょう. ラズベリーパイの特徴の一つは,ネットワーク通信が得意というところにあります.今までのマイクロコンピュータでは,接続した電子工作機器のデータはせいぜい同じ室内のパソコンに届けておしまいでした.でも,ラズベリーパイは違います.ネットワークカメラのように,収集したデータをインターネット経由で世界中に届けることもできます.


     

    ネットワークをどう使う?

    研究室で測定したデータをリアルタイムにチェックする仕組みを考えます.測定装置の異常報告や,実験成功などをインターネットを経由して移動中のスマートフォンで確認する状況を想定しています.

    どんな方法が使える?

    すぐに考えつくのは,以下の3つです.図2に示します.

    • ショートメッセージやメールによる通知
    • WEBサーバーで情報公開
    • Twitter,Facebookなど民間会社のサービス経由

    それぞれ,検討していきましょう.

    Fig02_InternetAuthentication

     

    メール送信は?

    研究室の測定データを毎日数回記録して,研究者にメールで配信できると便利です.今から15年前にラズベリーパイのようなコンピューターがあったら,多くの研究者がメールで通知していたことでしょう.かくいう筆者も2000年頃にIntelパソコンを使ったインターネットショップを実装,運用していて,システムの異常報告をメールで自宅に通知していました. 現代は,図3に書いた通り迷惑メールを減らすために,メール送信の手順が以前より複雑になりました.ラズベリーパイから送信することも技術的に不可能ではないですが,契約しているインターネットのプロバイダ(あるいは研究者が使っている大学ネットワークの管理組織)によって,メールサーバーの管理ポリシーが異なります.メール送信の手順もプロバイダ毎に少しづつ違うでしょう. Fig03_MailServerAuthentication ショートメッセージは,携帯電話会社毎に違う仕組みを使っていて,一旦携帯電話会社のサーバーに届いた後会社間の連携システムで別会社にも届けられます.契約している電話会社によってサーバーへのアクセス方法が違いますし,そもそも自作ソフトウェアからではアクセスできないように保護してあるでしょう.

     

    WEBサーバーを立てるか?

    ラズベリーパイをWEBサーバーにすることができます.定期的にHTMLファイルを書き換えて見せたり,CGIを使ってアクセスされるたびにデータを更新したりできます.最新のネットショップのように,美しくかつダイナミックに表示が変わるシステムを構築することもできます. 問題は,外からラズベリーパイにアクセスする方法を用意するところです.学校でも企業でも,メンテナンスのいい加減なサーバーが乗っ取られて悪事に転用されるのを防ぐため,外から簡単にアクセスできるサーバーを増やすことを嫌います.サーバー設置の申請は手続き上可能かもしれませんが,侵入者対策としてネットワークに詳しい管理者を常時貼り付けるように要求されることでしょう.インターネット全体からアクセスできるWEBサービスの構築と運営は,専門家にまかせておいたほうが良さそうです.

     

    民間会社のサーバー経由でデータ送信?

    自前でメールやWEBのサーバーを用意するのが難しいので,インターネットにあるサーバーを利用してしまいましょう. 図4では,Twitterを例に取り上げます.もともとTwitterはブラウザから人間がメッセージを送信するシステムでしたが,APIが公開されているのでソフトウェアからメッセージ送信することもできます.Twitter以外の会社のサービスを使う時には,設定手順がサービスごとに違いますが,動作原理は一緒です. Fig04_TwitterApplication


     

    基礎知識1 Twitterのサービスをソフトウェアから使う方法

    Twitterのサービスをソフトウェアから利用できるように,利用方法(API)が公開されています. そもそも,人間がメッセージをやりとりするサービスだったTwitterになぜソフトウェアから投稿ができるのでしょうか.運営会社の人に確認したわけではないので想像になりますが,今回作成したシステムのように,機械から定期的にメッセージを送ることができるとさらに便利になるからだと思います.Twitterが始めたことでなくても,似たようなサービスを提供するどこか1社がAPIを公開すると,同業他社はユーザーに乗り換えられないように同じサービスで対抗する必要があります.

     

    TwitterもAPIを使うには認証が必要

    TwitterのAPIも認証手続きが必要です.そうしないと,誰かのアカウントを悪意ある人が利用して広告を連続して発信するなど,みんなに迷惑をかけることが可能です.TwitterはOAuthという外部の認証サービスを利用しています.

     

    数年前MashUpって流行ったの覚えている?

    Web2.0なんてバズワードが流行った頃でしょうか.MashUpという遊びが流行りました.TwitterのAPIやその同類を利用して,付加価値を付けたサービスを提供するアイディア勝負のことです.インターネット上の天気予報情報をプログラムに検索させて,集まった情報をTwitterに流すシステムなど,お手軽でちょっと便利なシステムをみんなが競い合って作っていました. 今では流行が終わって,TwitterのAPIはこの記事のような地味な工作に使われています.

     


    基礎知識2 今やネットワークサービスに認証手続きは必須

    認証手続きとは?

    認証手続きを簡単に言うと,ネットショップで買い物するときなどに,ユーザーの名前とパスワードを入力しないとアクセスできない仕組みです.

     

    認証手続きは何のため?

    ネットワークサービスが一般の人に普及した時,大きな問題が見つかりました.迷惑メール送信者や,他のユーザーになりすまして他人に損害を与える悪意あるユーザーの存在です. 今の人は,「なんで最初から悪意あるユーザーによる妨害を想定していなかったの?」と疑問に思うでしょうが,そもそもインターネット基礎技術の開発を始めた頃は,世界中がつながるなんて夢のまた夢でした.とりあえず学校内のコンピューターだけをつなぐ時でも,目先の技術的問題を山ほど解決することが必要でした.世界中をつなぐためには,新しい技術の発明や,法律の整備,ネットワークを運営するための会社設立,ユーザーからネットワークインフラ維持費を徴収する仕組みの考案と周知など,超えなければならない壁がたくさんあったのです.悪意あるユーザーへの対策は,結果として後回しになってしまいました. 後回しになったものの,できる限りの対策を打たなくてはなりません. そこで,インターネットのサーバーを使うときは,認証手続きが必要な仕組みを作り上げたのです. 今では,メールの読み書きも,WEBサーバーのプライベート領域へのアクセスも,その他もろもろのインターネットサービスを利用するときも,パソコンを起動した時のようにユーザー名とパスワード入力が必要です.

     

    認証手続きは面倒くさい

    パスワードによる制限は,完璧ではありません.パスワードを忘れる人がいるでしょうし,パスワードが通信路を伝わっていく途中へ,盗み見る仕組みをこっそり埋め込む悪人もいるでしょう.『HTTPSによる暗号化通信を使えば途中で盗み見られる心配は無い』と考えるかもしれませんが,途中の回線に違法な仕組みを割りこませれば,盗み見ることも絶対不可能ではありません.セキュリティの防御技術に完璧はなく,常に攻撃技術とのいたちごっこを続ける運命にあります. またパスワードを管理する側からは,いろいろと指示がきます.

    • 8文字以上にしろ(逆に文字数上限があって5文字以上入らないケースも)
    • メモを取らずに暗記しろ
    • アルファベット大文字と小文字と数字と記号をそれぞれ最低1文字は含めろ(場合によっては記号が入力できないケースや,大文字/小文字を区別しないシステムも)
    • 2週間毎にパスワードを変更しろ
    • 過去に使用したパスワードを2度と使うな
    • 一つのパスワードを別のサイトと共通に使うな
    • 自分の誕生日をパスワードに使うな
    • 辞書に載っている単語は使うな
    • 入力するときはCAPSキーや仮名漢字変換の状態を確認せよ

    とはいえ、こんな条件を全部守ってネットショップ10箇所にアカウントを作ったとしても、管理する人間の側の負担が大きくなります。そこで一括管理できたら楽ですよね.


     

    基礎知識3 インターネット上の認証を一括管理する試み

    認証と個人情報管理をインターネット上で一括管理しようという試みは,とっくの昔に始まっています. パソコンを立ち上げて,いつものポータル(TwitterでもYahooでも)にパスワードを入れてログインしたら,その他のサイトに移動してもすでにログイン済みとして扱われるサービスです. Fig05_UnifiedAuthentication 有名なところでは,Open ID Connectなどが提案されています.すでに実用化の段階なのですが,複数の方式が提案されていて相互乗り入れが面倒だったり,仕様が巨大で実装が難しく,利用するだけでもネットショップの実装者の手にあまるようです. またネットの世界では,認証に限らず年中新しいサービスや新しい規格が提案されています.ネットサービス実装者としてその全てをキャッチアップしていくのは,大変です.ネットサービスを作る側だって,「認証システムを誰かが一括して管理してくれればよいのに」と思っています.

    一括管理で悪用封じ込めも簡単に

    これらの一括管理の利点は,ログインの手間を省いただけではありません. ある日突然,ネットショップのオーナーが悪意ある人物に入れ替わって悪さを始めても,外部の人間が気づいた瞬間にそのネットショップだけを一括管理システムから切り離す機能を持ちます. オーナーが変わらなくても,ユーザーの気が変わってそのネットショップを使わないと決めたら,利用者本人が手続きすることで一人分だけアカウントを無効化するように設定変更ができます.

    厳密に言うと今回使用するOAuthは人の認証ではなくてプログラムを認証する仕組み

    ここまで認証の話は,人間がどこかのサービスを利用する状況を想定してきました. でも,今回はプログラムが自動的にTwitterにアクセスするわけであって,だれか人間がTwitterにアクセスするのとはちょっと違います.許可を求めるのが,人ではなくてプログラムなのです.MashUpの世界では,プログラムに特定のユーザーが結びついていないかもしれませんし,大勢のユーザーが同時に同じサービスを利用するかもしれません.そんな時に,プログラムの一括認証を担当できるのがOAuthなのです. この辺の話はよく理解できなくても,『プログラムからTwitterに投稿するためには,OAuthという認証を通るのがお約束になっている』とだけ理解してください.

電子回路のお約束【マルツ実験の素】

  • 2016/09/01

    【マルツ実験の素】Raspberry Pi3で作るtwitter温度計は、エレクトロニクスを専攻していない理工学部大学生の方を読者として想定しています.化学,物理,生物学などが専門だけれど,実験,研究などの都合で電子回路を扱わなければならないような皆さんです.

    皆さんから見て,電子工作になれた人はスラスラと回路図を書いて,てきぱきと配線して,鼻歌交じりでソフトウェアを組んでいるように見えませんか?

    実は筆者も30年ほど前大学に通っていたころ,電子工作のエキスパートをみて同じ感想を持っていました.それがいつの間にか,電子工作の作り方を伝える側になってしまいました.教わる方から教える方に移るのに,何が必要だったと思いますか? 努力?根性?時間?座学?…どれも少しづつ必要ですが,一番のハードルは『電子工作世界のお約束』を知るところでした.

    入門直後の初心者には暗中模索の世界ですが,どこにどんなルールがあるかわかってしまえば,電子工作の世界(デジタル回路の方が易しい)を理解するのは難しくないと思います.「学問に王道なし」ですが,王道はなくても遠回りしない幹線道路はあります.勉強は最短コースで終わらせて,時間は要領よく使いましょう.


     電子工作に関わる要素

    電子工作で気をつけなければならないルールを学ぶその前に,電子工作を構成する技術ジャンルをおさらいしましょう.電子工作は,以下の技術ジャンルの組み合わせです.

    大分類 中分類 小分類
    ハードウェア 電子回路 部品
    配線
    電源
    信号
    電子回路以外 部品の放熱
    輻射電波を抑える
    ソフトウェア 実行環境 OSのインストールと設定
    テキストファイルの作成方法などOS世界のお約束を学ぶ
    アプリケーションの作成 プログラミング言語の準備
    作成したプログラムを実行する

    表1 電子工作を構成する技術一覧


     

    まずは手を動かしてみよう

    電子工作に限らずどの分野の勉強でも,座学で知識を詰め込むだけでは,応用が効きません.自分で手を動かして大小様々な失敗を重ねていって,ようやく身につくことがたくさんあります.興味を持ったら,ぜひ自分で試してみてください.最初は,本に書かれている工作例のコピーしか作れないかもしれませんが,場数を踏んで経験値を積むと見えてくる世界があります.

    電子部品は,極端な高電圧(許可されている電圧の2倍とか)や逆電圧(±の間違い)をかけたり高温(目玉焼きが焼けるくらい)で放置すると壊れてしまいますが,少しくらい回路の接続を間違えても短時間ならばめったに壊れません.あまり臆病にならずに,積極的に工作を試してみましょう.今回の工作では一番高価な部品だって,一万円しないラズベリーパイです.

    とは言うものの,教授がようやく手に入れたレア部品とか1個数万円もする高価な部品,もう生産中止になった部品を接続するときは,それなりに慎重になってください.

    それから,作ったばかりの回路を試すとき,電源を入れてから少しの間は様子を見ていてください.部品が加熱していないか,焦げ臭くないか,ちゃんと動作を続けているかなどを5感を駆使して見守る習慣を付けましょう.メーカーが工場で作る量産品でも,不良部品が入っていたせいで完成直後に壊れる個体がたまにあります.初期不良品の混入は,電子回路の避けられない宿命です.


     

    初心者は悩んで当たり前

    知らないことだらけの初心者は,エキスパートにとって常識であることも知りません.それが当たり前です.悩むことも大事.重要なことは『自分が何を悩んでいるか』を常に意識することです.言葉にまとめることができたら,身近な電子工作経験者に質問してみましょう.相手も忙しくて,わかりにくい答しか返ってこないかもしれません.それでも諦めずに回避策を探し出せることが,壁を超える能力になります.


     

    電子工作の世界にあるお約束を説明します

    それでは,分類別にお約束を説明していきましょう.

    本当は,100ページ位の単行本で電子工作のひと通りを説明したいところですが,都合により,少ない説明から始めます.なるべく参考文献を挙げるので,興味を持った分野があったら,独学で掘り下げてみてください.


     

    ハードウェアのお約束

    古きよき時代,エレクトロニクス機器はハードウェア部品を組み合わせるだけで動作しました.今は,コンピューターのソフトウェア抜きでは話が進みません.ソフトウェアとハードウェアを組み合わせて目的を達成します.Raspberry Pi3で作るtwitter温度計でも,毎回全体の手間が最小になるようにハードウェアとソフトウェアのバランスをとっています.

    残念なことに世の中のほとんどの電子工作入門書は,ハードウェア目線の書籍とソフトウェア目線の書籍の2種類のどちらかです.著者が得意な分野から解説を始めるからです.本当のシステム設計は,ソフトウェアとハードウェアのバランスを取らなければなりません.もっとも,プロのエレクトロニクスエンジニアを職業に選ばない人は,そんなに気にする必要はありません.


     

    電子回路のお約束

    電子回路のお約束には、部品,配線,電源,信号の4つのジャンルがあります.この4つは独立していなくてお互いに影響し合います.

    ハードウェア→電子回路→部品

    電子回路の部品を分類してみます.

    大分類 中分類 小分類
    主要機能を作るもの 単純な部品(ディスクリートと呼ばれることもある) 抵抗
    コンデンサ
    コイル
    ダイオード
    トランジスタ
    表示器(LEDや液晶など)
    複雑な部品(チップと呼ぶこともある) IC(LSIとも呼ぶ もともと2つの用語を使い分けていたが今ではほとんど同じものをさす)
    補助的なもの ケーブル
    コネクタ
    ジャック,プラグ
    基板

    表2 電子部品の分類

     

    現代の電子工作では,実現したい機能をもとに,最初にICや表示器を選びます.選んだIC,表示器とマイコンを接続するために,単純な部品で間をつないでいきます.

    ICを提供するメーカーは,『データシート』という名前の仕様書を用意しています.この『データシート』を読むとICの使い方や,使うときにやってはいけないこと(ある電圧以上の信号を入れてはいけないとか),メーカー推奨の回路図などが載っています.実験の素では筆者がデータシートを読むので,読者の方で気にする必要はありません.

    現代はICが主要で複雑な機能を担当していて,単純な部品はICの間の接続を調整する役割に使います.実は,『この単純な部品には似たような性能の部品がたくさんあるけど,どの型番の部品を使うのがよいか』というところで,プロフェッショナルは悩むことが多いです.読者は記事に書いてあることを鵜呑みにして,書かれている通りの部品を書かれているとおりに接続してください.部品を取り替えて実験したくなったら,最初の回路で動作するのを確認してから着手しましょう.

    ケーブルや基板は,回路の部品をつなぐのに必要です.エキスパートが部品の間を電線でつないでハンダ付けしている姿を見ることもあるでしょう.

    コネクタ,ジャック,プラグは,出来上がった回路を他の回路と接続するときに必要になります.今回接続する相手は,ラズベリーパイだけなので,専用コネクタとケーブルの組み合わせを使います.

     

    ハードウェア→電子回路→配線

    Raspberry Pi3で作るtwitter温度計ではなるべくハンダ付けしなくて良いように,『ブレッドボード』という白いブロックを使いました.このブレッドボードに並んでいる小さな穴に,部品から出ている電線をさしたり,部品の間をつなぐ電線をさしたりすると,回路が出来上がります.おもちゃのレゴに似ているかもしれません.

    ハンダ付けすると間違えた時に直すのが一苦労ですが,ブレッドボードは部品と線の配置をさし直すだけですみます.電子回路の役割が終わったら,出来上がった回路をばらして,部品とブレッドボードを別の目的に再利用することもできます.

     

    ハードウェア→電子回路→電源

    電子工作の電源については,教わらないと考えていてもわかりません.過去の技術発展の歴史により,現在デジタルICの電源は直流5Vもしくは直流3.3Vの2種類が主流になっています.特殊目的やアナログ部品では,バリエーションもありますが,今回は3.3Vだけで動作する回路を組みました.3.3Vは,ラズベリーパイからもらってブレッドボード上の部品に供給します.ラズベリーパイの中には,外からもらった5V電源を3.3Vに変換する回路があります.

    回路や部品に電流を流すには,行きと帰り(プラスとマイナス)の2本の線が必要です.デジタル回路では,マイナスの方をグラウンド(GNDとかGと省略表現することもある)と呼び,プラスの方を3.3Vなどと表現します.グラウンドは,電源以外に信号線のマイナス線も兼ねています.

    Fig13_CommonGround

    複数ある電源や信号線の帰りが1本のグラウンドにまとめて流れても,行きのプラス線が分かれていれば別の電源、信号として成立します.

     

    ハードウェア→電子回路→信号

    マイコンからICに指示を送ったり,測定結果をもらうために,信号線を用意します.電源の説明にも書きましたが,電気の流れはプラスとマイナスが必要で,グラウンドという線で電源と信号線のマイナスをまとめてしまいます.グラウンドを使わない例外的な信号処理もありますが,今回は全部グラウンドで共有します.

    今回マイコンとICの間の通信には,I2Cという名前の通信方式を採用しました.I2Cの特徴は以下です.

    • グラウンドの他に2本の信号線で通信できる
    • 2本+グラウンドで,複数のICを同時にマイコンに接続し,個別に通信できる
    • マイコンの通信方式としては遅い方

    複数のICと個別に通信するため,それぞれのICは『I2Cアドレス』という名称の番号を持っています.ソフトウェアは,マイコンからI2C通信するときにI2Cアドレスで通信相手を指定します.指定されなかったICは,次に指定されるまで,黙っています.

     

    ハードウェア→電子回路以外

    電子回路以外の項目は,実験の素において意識することはないでしょう.特別に大電力を消費するチップや,電磁波ノイズを盛大に出す部品は使用していません.

    それでも,「今回使用した温度センサーを『高温多湿の実験装置』に入れよう」なんて話になると,考慮する必要が出てくるかもしれません.電子回路ですから,結露はショートの原因となり大敵です.

     

    ソフトウェア→実行環境

    ラズベリーパイは高機能なコンピューターです.測定結果を一旦ファイルに記録することができれば,表計算ソフトで統計処理することなど朝飯前です.高機能な分,実行環境の準備は手間取ります.

     

    ソフトウェア→実行環境→OSのインストールと設定

    OSのインストールなんて,普通の人はやったことが無いと思います.そもそもなぜ必要なのでしょうか.

    パソコンを買ってくると,OSがすでに入っていて電源ONで使えることがほとんどです.パソコンを部品で買って組み立てたりすると,WindowsをDVDからインストールしたりしますが,そういう人は少数派ですね.

    ラズベリーパイは,安い代わりに本体価格にOSの値段が入っていません.自分でOSを準備することになります.ラズベリーパイで使えるOSは,Windows10IoTというバージョンもありますが,Raspberry Pi3で作るtwitter温度計ではRaspbianというOSを使います.Raspbianは,Linuxというジャンルに分類されるOSで,無料で入手できます.

    ラズベリーパイは,OSやプログラム,データの置き場にハードディスクを使いません.マイクロSDカードに全部入れてしまいます.ラズベリーパイのためにSDカードをセットアップするのはユーザーの役目です.パソコンを使ってインターネットからRaspbianをダウンロードし,パソコンを使ってマイクロSDカードに書き込みます.最初にRaspbianを起動した時は,いろいろ設定を行う必要もあります.

     

    ソフトウェア→実行環境→テキストファイルの作成方法などOS世界のお約束を学ぶ

    OSの設定を変えたり,プログラムを作ったりする時,テキストファイル(文字情報だけのファイル)を編集できなければなりません.その他にも,Raspbianの終了処理の開始方法や,マウス操作だけでは扱えないコマンドなど,Raspbian独自のお約束があります.Windowsしか使ったことのない人,そもそもパソコンすら使ったことのないスマホ派の人には,大きなハードルです.

    • まず端末を開こう

    Raspberry Pi3で作るtwitter温度計で行う作業はマウス操作だけで完結していません.コンピューターのユーザーとして作業しているのではなく,特注システムのメーカー(発注したのも受注したのも貴方自身)として作業するために,使いにくいツールを使用する局面もあります.『端末』と呼ばれるプログラムを起動して,キーボードから文字でコマンドを打ち込む操作方式にもなれてください.

    • 次に文字ファイルを書こう

    OSを設定したり,プログラムを作ったりするためには,文字ファイルを作成したり編集したりする必要があります.

    Linuxには文字ファイルを作成できるツール(エディタと呼ばれる)がたくさんあります.Windowsユーザーだったら,『メモ帳』に似た感覚で使用できるgeditが使いやすいでしょう.

    • superuserになって作業する必要もあるよ

    superuserとは,Windowsの世界でAdministratorと呼ばれているシステム管理者のことです.ちょっとした操作ミスでハードディスクを全部消去してしまったり,OSが2度と立ち上がらないようなダメージを与えることすらできる特別な権限を持っています.

    Windowsを使っているときは,システムに変更を加える時にコマンドメニューを右クリックして『Administratorとして実行』を選ぶことがあるでしょう.また新しいプログラムをインストールする時,『なんとかがシステムを変更する許可を求めています』といったメッセージダイアログで,重要なコマンド実行の許可を求められることもあります.

    ラズベリーパイのLinuxでは,端末から”sudo”というコマンドを頭に付けて実行すると,一般のユーザーがアクセスできないファイルも特別な権限で読み書きできるようになります.

     

    ソフトウェア→アプリケーションの作成→プログラミング言語の準備

    SDカードのRaspbianを起動した直後は,出来合いのプログラムしか使えません.

    電子工作の回路を接続したラズベリーパイは,いわばオーダーメードのスーツしか着られない体型の人のようなものです.レディーメードのスーツでは間に合いません.

    スーツだったらお金を払って仕立てることもそんなに高価ではありませんが,電子工作を動かすソフトウェアをプロに作らせると大学研究室の予算が10年分くらい飛んでしまいます.おとなしく,自作しましょう.

    では,プログラミング言語の準備とは何が必要なのでしょうか?プログラムを動かすためのソフトウェア(コンパイラとかインタープリターとか呼びます)を用意しなければなりません.C言語やPythonなどラズベリーパイの世界でメジャーな言語は,SDカードにインストール済みですが,他の言語を使う場合はインストール操作が必要になる場合もあります.Raspberry Pi3で作るtwitter温度計では、言語にPythonを使いますので,パソコンからSDカードに書き込んだ時にインストールずみです.

     

    ソフトウェア→アプリケーションの作成→作成したプログラムを実行する

    Pythonのプログラムは,テキストファイルとして作ります.実行時には,テキストファイルに書かれたコマンドを直接Pythonのインタープリターが実行します.実験の素の電子回路をそのまま組み立てた場合は,すぐに使用可能なプログラムが今回のZIPファイルに含まれているので,そのファイルを実行します.

    ラズベリーパイの電源が一旦切れた時,再起動直後に自動で実行したい場合には,ひと工夫必要です.

    Linuxの持つ/etc/rc.localというファイルに登録しておくと自動起動が可能です./etc/rc.localファイルの書き方は,他の資料(TBD)を参考にしてください.

     

ラズベリーパイ(Raspberry Pi)とI2Cの基本【マルツ実験の素】

  • 2016/09/01

    ラズベリーパイとは

    ラズベリーパイはスマートフォンで使われているコンピューターとその周辺回路を取り出して,電話送受信回路の代わりにいろいろなハードウェアにつながるように設計された名刺サイズの基板です.最新パソコンと比べると速度や機能で負けますが,ちょっとしたアイディアで世界が広がる楽しい素材です.


     

    OSって?Linuxって?

    コマーシャルで「パソコンも、ソフトなければただの箱」と言っていたのは、だいぶん昔のことになってしまいました.

    今でもソフトがなければ,パソコンは何もできません.ラズベリーパイも同様です.では,ソフトウェアを自作できるプログラマーじゃないとコンピューターを使いこなせないのでしょうか?ハードウェアの性能を最大限に引き出すようなきつい仕事に使わなければ,出来合いのプログラムをちょこちょこっと組み合わせて使うこともできます.

    最近のソフトウェアは複雑なので複数のソフトウェア部品を組み合わせてつくります.その土台となる共通部分がOSです.パソコンのOSは,WindowsとかMac OSが有名ですね.ラズベリーパイでは,Linuxという無料OSが使えます.Windows10の一種もラズベリーパイで動作するのですが,圧倒的に使いやすいLinuxをつかってみます.


     

    キーボードやマウス,ディスプレイを繋がなくてもラズベリーパイは動くの?

    SDカードをさした直後のラズベリーパイでは,いろいろな設定操作をする必要があるので,キーボード、マウス、ディスプレイは必ず全部つないでおきましょう.設定とプログラムの準備が終わったら,図14のようにこの3つを外すこともできます.

    Fig14_WithoutKeyboard

    デスクトップパソコンでは,マウスやキーボードを繋がないと起動してくれないものもあります.ラズベリーパイは,電源を切ったときに外しておけば,マウス,キーボード,ディスプレイなしでも起動します.USB接続のマウスやキーボードならばLinuxが起動した後から接続することもできます.そのときには工作した回路の配線が引っ張られてずれないように,また接続した瞬間のノイズでラズベリーパイが再起動しないようにそっとつなぎましょう.


     

    I2Cは小規模な回路で遅い通信に使います

    Raspberry Pi3で作るtwitter温度計では、I2Cという通信方法を使いました.

    I2Cは,パソコンの基板上でも裏方の信号線として使われています.CPUなど部品の加熱を監視する温度センサーなどに使われていて,以下の特徴を持ちます.

    • データ転送の速度は比較的遅い方です(1秒間に送受信できる回数上限は1000回くらい)
    • GNDの他に2本の通信線が必要です(もちろん外付け部品には電源とグラウンドも別途必要ですが,それも合わせて4本の接続ですんでしまう方式なので有利です)
    • ラズベリーパイと工作した回路の間で同じ信号線を使いながら,通信方向を適宜切り替えることができます
    • 2本の線に,同時に2個以上の部品を接続できます.複数の部品が同時に話し出さないように交通整理されています
    • メジャーな通信方法なので,対応しているICがたくさん手に入ります.磁気センサー,時計,その他いろいろです.
    • 最初に話を始めるマスター(主人:主導権を持った役割という意味です)が,通信線上に1台だけいます.今回を含めて,大抵の場合マスターはコンピューターが担当します.残りはスレーブ(従者:マスターに従う役割です)と呼ばれていて,マスターからの指示が来た時だけ,指示にしたがって受信したり,送信したりします.
    • 同じ信号線にスレーブが2台以上つながっているときでも,図15のようにスレーブに番号がついていてマスターが別々に呼び出します.この呼び出し番号をI2Cアドレスと呼びます.

    I2Cの通信はこんなふうに交通整理されています

    Fig15_I2C_protocol

    • I2Cの通信は面倒な手順をハードウェアに任せることができますが,マスター役になるラズベリーパイがいつどの部品と何を通信するかを,ソフトウェアで指定しなければなりません.タイミングと通信内容は使う人が目的に合わせて指定するので,その部分だけはソフトウェアを専用に組みます.
    • 通信の始まりを示すタイミング信号など,2本の通信線を駆使しています.その手順はここに書ききれないので,詳しく知りたい方は参考文献『AVRマイコン・プログラミング入門』(CQ出版社)を参照してください.

    ネットの情報を活用しよう

    実は,ラズベリーパイとかI2C規格は,電子工作の世界で広く使われいるため,ネットにたくさん情報があります.Wikipediaを筆頭にいろいろなサイトを訪問して調べてみましょう.そして,自分の失敗談を正直に書いているホビイスト(趣味の電子工作人)がいたら,よく読んでみてください.実は,他人の成功談よりも失敗談のほうが参考になることが多いのです.


     

    ラスベリーパイ周辺でよく見るキーワード

    Raspberry Pi3で作るtwitter温度計では、初心者に馴染みのない名詞がたくさん出てきました.全部を覚える必要はありませんが、最後に整理しておきましょう。

    用語 解説
    MashUp WEBで手に入る情報やサービスAPIを組み合わせて,新しいサービスを提供すること
    API プログラムから利用できるサービスの受け口
    OAuth インターネット上のサービスAPIにおいて,共通認証を実現した仕組みの一つ
    OpenIDConnect 一括認証の仕組み大変な思いをして設計や実装しているのに,なかなか広まらない日本の役所が作るマイナンバーシステムなんかより100倍堅牢で役に立つ
    Arduino 小型のマイクロコンピューターを使いやすくしたものエンジニアや研究者よりもデザイナーに人気がある
    CGI WEBサーバーにブラウザからアクセスした時,決まりきったHTMLファイルを返さないで,その都度プログラムで返答を決める仕組みの一つコンピューター業界では,流行遅れ扱いされているが,今でもちゃんと動く
    エンディアン コンピューターのデータには,1バイトという単位があります.0から255まで256種類の整数を表現でき,英数字などの文字を割り当てることもできます.256以上の大きな数値を表現するには,1バイトのデータを複数組み合わせます.組み合わせるときの並びが大きく2種類に別れ,LSIメーカーによって採用方式が違います.これをエンディアンと呼びます.異なるエンディアンを扱うLSIからデータを受信したら,コンピューターの中で並べ替えます.
    コメント プログラムのソースコードは,人間が文字で書いたコンピューターへの指示書です.命令やデータを並べるだけでプログラムとして成立しますが,後から読み返すとどういう設計にしていたのか思い出せなくなります.そこで,人間向けにメッセージを埋め込めるようになっていて,その部分をコメントと呼びます.
    インタープリター プログラムのソースコードは,ほとんどが文字で書いてファイルにします.最終的にコンピューターが実行する命令は,文字ではなくてメモリ上の命令データの並びです.先に文字を命令データに置き換えておくコンパイラ方式と,実行時に毎回置換え作業をするインタープリター方式があり,どちらも一長一短です.実験の素で使用するプログラミング言語”Python”はインタープリターの方です.
    データシート LSIのメーカーが,自社製品の特性や使い方を解説した技術書類.家電製品のカタログと取扱説明書を兼ねるようなもの.実験の素では筆者が読むので,読者は黄にしなくて良い.

     

     

水晶振動子のシミュレーション【SPICEシミュレーション連載講座】

  • 2016/08/16

    マルツのSPICE回路シミュレーション講座。今回は水晶振動子のシミュレーションをご紹介します。 サンプルデータのダウンロードは下記URLからお願いいたします。


    水晶振動子は下記の通り、抵抗、コンデンサ、コイルからなる等価回路で表現されます。

     

    図.水晶振動子の等価回路 Crystal Oscillator Model- Simulation Circuit

     

     

    スクリーンショット 2016-08-12 10.49.35

     

    こちらの回路のシミュレーション結果の一例を下記に示します。

    スクリーンショット 2016-08-12 10.51.26

     

    シミュレーションの条件は、下記のように設定しています。

    {

       Npanes: 1

       {

          traces: 1 {2,0,”V(osc)/I(V2)”}

          X: (‘M’,1,100000,9.99e+006,1e+008)

          Y[0]: (‘_’,1,10,9999,100000)

          Y[1]: (‘ ‘,0,-100,20,100)

          Log: 1 1 0

          GridStyle: 1

          PltMag: 1

       }

    }

     

    下記のサンプル・データをダウンロードいただき、シミュレーションをお試しください。

    http://www.marutsu.co.jp/contents/shop/marutsu/download/160816/Simulation_osc_files.zip

     


    マルツエレックの研究開発(R&D)支援サービス

    【等価回路開発】

    等価回路を作成することで、デバイスの動作検証及び アプリケーション開発が出来るようになります。

    【デバイスモデリング】

    お客様の必要な電子部品のSPICEモデルをご提供します。

    【回路シミュレーション】

    再現性が高く、解析時間を短縮できるシミュレーションをご提供します。 収束エラー問題も解決いたします。

    SPICEによる回路シミュレーションの高度な技術で、お客様の研究開発をサポートいたします。

    http://www.marutsu.co.jp/pc/static/large_order/rd_service

    詳細なご案内は上記リンク先に掲載しております。お問い合わせもこちらからお願いいたします。

     

PWM ICのOutput DriveとDelayの等価回路モデル【SPICEシミュレーション連載講座】

  • 2016/07/07

    マルツのSPICE回路シミュレーション講座。今回は、PWM ICのデバイスモデリングに関して、 Output Driveの等価回路モデルDelayの等価回路モデルをご紹介します。 どちらもLTspiceで回路シミュレーションを試せるデバイスモデルと、評価用回路のサンプルデータを公開しています。 サンプルデータのダウンロードは下記URLからお願いいたします。


     

    Output Driveの等価回路モデルと評価用シミュレーション・データ

    Output Drive 2016-07-04 14.55.13Output Drive 2016-07-04 14.55.30

    Output Drive 2016-07-04 14.55.46 Output Drive 2016-07-04 14.56.13

    ネットリスト

    *$

    * PART NUMBER: Output_Drive

    * COMPONENTS: Output Drive

    * MANUFACTURER: Bee Technologies

    * All Rights Reserved Copyright (C) Bee Technologies Inc. 2014

    .SUBCKT Output_DriveOutputDrive_INOutputDrive_OUTOutputDrive_VCC

    Q_Q6         OUTPUTDRIVE_VCC N07312 N07338 QODTR02

    Q_Q2         N07484 N07024 0 QODIN

    D_D1         N07338 N07296 DODDIODE

    D_D2         N07312 N07296 DODDIODE

    R_R5         N07338 N07582  1

    C_C1         0 N07582  1p IC=0

    R_R4         N07360 N07338  5k

    I_I1         0 N07160 DC 200uAdc

    R_R1         OutputDrive_IN N06894  10k

    E_E1         OUTPUTDRIVE_OUT 0 N07582 0 1

    Q_Q3         N07296 N07160 N07484 QODIN

    Q_Q1         N07160 N06894 N06992 QODIN

    R_R2         N06894 N07024  1k

    Q_Q4         OUTPUTDRIVE_VCC N07296 N07360 QODTR01

    R_R3         0 N06992  1k

    I_I2         0 N07296 DC 1mAdc

    Q_Q5         N07338 N07484 0 QODTR01

    .model QODTR02 npn

    + is=1e-014 vaf=100 ikf=0.5 var=100 re=0.5

    + rb=100 rc=1.5 cje=2e-012 cjc=2e-012

    + tf=1e-008 xtf=10 vtf=10 itf=1 tr=1e-008

    .model QODIN npn

    + vaf=50 br=2 var=100 cje=1.5e-012 cjc=1.5e-013

    + tf=1e-009 xtf=10 vtf=10 itf=1 tr=1e-009

    .model DODDIODE d

    + is=4e-007 rs=0.1 cjo=1e-012 m=0.3333 vj=0.75

    + isr=1e-010 bv=100 ibv=0.0001 tt=5e-009

    .model QODTR01 npn

    + is=1e-014 vaf=100 ikf=0.5 var=100 re=0.5

    + rb=100 rc=1.5 cje=2e-012 cjc=2e-012 tf=1e-008

    + xtf=10 vtf=10 itf=1 tr=1e-008

    .ENDS Output_Drive

    *$

    >>サンプル・データのダウンロードはこちらからどうぞ

    http://www.marutsu.co.jp/contents/shop/marutsu/download/160707/Output Drive.zip


    Delayの等価回路モデルと評価用シミュレーション・データ

     

    Delay 2016-07-04 14.58.06 Delay 2016-07-04 14.58.20

    Delay 2016-07-04 14.58.40Delay 2016-07-04 14.58.54

     

    ネットリスト

    *$

    * PART NUMBER: DELAY

    * COMPONENTS: DELAY

    * MANUFACTURER: Bee Technologies

    * All Rights Reserved Copyright (C) Bee Technologies Inc. 2014

    .SUBCKT DELAY Delay_INDelay_OUTDelay_OSC

    G_G1         CAL_01 0 VALUE { if(V(Delay_IN)<1 & V(Delay_OSC)>3,1m,0) }

    G_G2         0 CAL_01 VALUE { if(V(Delay_IN)>3 & V(Delay_OSC)>3,1m,0) }

    C_C1         0 CAL_01  1n IC=0

    G_G3         CAL_01 0 VALUE { if(V(CAL_01)>3.5,1m,0) }

    G_G4         0 CAL_01 VALUE { if(V(CAL_01)<0.01,1m,0) }

    E_E1         N17175 0 VALUE { if(V(IN_Delay_P,IN_Delay_M)>0.01,5,0) }

    R_R3         0 IN_DELAY_P  100MEG

    R_R1         0 Delay_OSC  100MEG

    E_E2         IN_DELAY_M 0 VALUE { if(V(Delay_OUT)>4,{LV},{HV}) }

    R_R4         N17175 N17023  10

    R_R2         0 Delay_IN  100MEG

    C_C2         0 N17023  10p IC=0

    E_GAIN2         DELAY_OUT 0 VALUE {1 * V(N17023)}

    R_R5         0 IN_DELAY_M  100MEG

    E_GAIN3         IN_DELAY_P 0 VALUE {1 * V(CAL_01)}

    .PARAM  lv=1.25 hv=2.5

    .ENDS DELAY

    *$


    >>サンプル・データのダウンロードはこちらからどうぞ

    http://www.marutsu.co.jp/contents/shop/marutsu/download/160707/Delay.zip


    マルツエレックの研究開発(R&D)支援サービス

    【等価回路開発】

    等価回路を作成することで、デバイスの動作検証及び アプリケーション開発が出来るようになります。

    【デバイスモデリング】

    お客様の必要な電子部品のSPICEモデルをご提供します。

    【回路シミュレーション】

    再現性が高く、解析時間を短縮できるシミュレーションをご提供します。 収束エラー問題も解決いたします。

    SPICEによる回路シミュレーションの高度な技術で、お客様の研究開発をサポートいたします。

    http://www.marutsu.co.jp/pc/static/large_order/rd_service

    詳細なご案内は上記リンク先に掲載しております。お問い合わせもこちらからお願いいたします。

     

SRQ Flip FlopとHYSTERESIS COMPARATORの等価回路モデル【SPICEシミュレーション連載講座】

  • 2016/06/07

    マルツのSPICE回路シミュレーション講座。今回は、PWM ICのデバイスモデリングに関して、

    SRQ Flip Flopの等価回路モデルと、HYSTERESIS  COMPARATORの等価回路モデルをご紹介します。

    どちらもLTspiceで回路シミュレーションを試せるデバイスモデルと、評価用回路のサンプルデータを公開しています。

    サンプルデータのダウンロードは下記URLからお願いいたします。


    SRQ Flip Flopの等価回路モデルと評価用シミュレーション・データ

    srqff

    http://www.marutsu.co.jp/contents/shop/marutsu/download/160607/RSQ_Flip_Flop.zip

     

    ▽SRQ Flip Flopの等価回路モデル ネットリスト
    ———————————

    *$

    * PART NUMBER: SRQ FLIP-FLOP

    * COMPONENTS: SRQ FLIP-FLOP

    * MANUFACTURER: Bee Technologies

    * All Rights Reserved Copyright (C) Bee Technologies Inc. 2014

    .SUBCKT SRQ_FLIP_FLOP SRQ_Flip_Flop_SSRQ_Flip_Flop_RSRQ_Flip_Flop_Q

    C_C1         0 N02932  10p IC=0

    E_GAIN1         SRQ_FLIP_FLOP_Q 0 VALUE {1 * V(N02932)}

    R_R1         N02868 N02932  10

    R_R2         0 SRQ_Flip_Flop_R  100MEG

    R_R3         0 SRQ_Flip_Flop_S  100MEG

    E_E1         N02868 0 VALUE { if((V(SRQ_Flip_Flop_S)>4 &

    +  V(SRQ_Flip_Flop_R)<1),5,(if((V(SRQ_Flip_Flop_S)<1 &

    +  V(SRQ_Flip_Flop_R)>4),0,V(SRQ_Flip_Flop_Q)))) }

    .ENDS SRQ_FLIP_FLOP

    *$

    ———————————

     


    HYSTERESIS  COMPARATORの等価回路モデルと評価用シミュレーション・データ

    HYSTERESISHYSres

    http://www.marutsu.co.jp/contents/shop/marutsu/download/160607/HYSTERESIS_COMPARATOR.zip

     

    ▽HYSTERESIS  COMPARATOR の等価回路 ネットリスト

    ———————————

    *$

    * PART NUMBER: HYSTERESIS COMPARATOR

    * COMPONENTS: HYSTERESIS COMPARATOR

    * MANUFACTURER: Bee Technologies

    * All Rights Reserved Copyright (C) Bee Technologies Inc. 2014

    .SUBCKT HYSTERESIS_COMPARATOR HYS_COMP_IN_P HYS_COMP_OUT

    E_E1         N02564 0 VALUE {

    +  if(v(HYS_COMP_IN_P)>(V(HYS_COMP_IN_M)+0.01),5,0)

    +  }

    E_E2         HYS_COMP_IN_M 0 VALUE {

    +  if(V(HYS_COMP_OUT)>4,{LV},{HV}) }

    R_R1         N02564 HYS_COMP_OUT  10

    R_R2         0 HYS_COMP_IN_M  100MEG

    R_R3         0 HYS_COMP_IN_P  100MEG

    C_C1         0 HYS_COMP_OUT  10p IC=0

    .PARAM  lv=0.5 hv=1 vref=5

    .ENDS HYSTERESIS_COMPARATOR

    *$

    ———————————


    マルツエレックの研究開発(R&D)支援サービス

    ▽【等価回路開発】

    等価回路を作成することで、デバイスの動作検証及び
    アプリケーション開発が出来るようになります。

    ▽【デバイスモデリング】

    お客様の必要な電子部品のSPICEモデルをご提供します。

    ▽【回路シミュレーション】

    再現性が高く、解析時間を短縮できるシミュレーションをご提供します。
    収束エラー問題も解決いたします。

     

    SPICEによる回路シミュレーションの高度な技術で、お客様の研究開発をサポートいたします。

    http://www.marutsu.co.jp/pc/static/large_order/rd_service

    詳細なご案内は上記リンク先に掲載しております。お問い合わせもこちらからお願いいたします。

オシレータとRSQB Flip Flopの等価回路モデル【SPICEシミュレーション連載講座】

  • 2016/05/12

    マルツのSPICE回路シミュレーション講座。今回は、PWM ICのデバイスモデリングに関して、オシレータの等価回路モデルと、RSQB Flip Flopの等価回路モデルをご紹介します。どちらもLTspiceで回路シミュレーションを試せるデバイスモデルと、評価用回路のサンプルデータを公開しています。

    サンプルデータのダウンロードは下記URLからお願いいたします。


    オシレータのデバイスモデルと評価用シミュレーション・データ

    os

    http://www.marutsu.co.jp/contents/shop/marutsu/download/160512/No42_Oscillator_sample.zip

     

    ▽オシレータの等価回路モデル ネットリスト
    ———————————

    *$
    * PART NUMBER: OSCILLATOR
    * COMPONENTS: OSCILLATOR
    * MANUFACTURER: Bee Technologies
    * All Rights Reserved Copyright (C) Bee Technologies Inc. 2014
    .SUBCKT OSCILLATOR Oscillator_IN Oscillator_OUT
    + PARAMS: iout=5m lv=1.25 hv=2.5
    R_R4 N06418 N06402 10
    V_V2 N06126 0 0.5Vdc
    C_C2 0 N06402 10p IC=0
    V_V3 N06132 0 3Vdc
    D_D1 N06126 OSCILLATOR_IN Dide_Oscillator
    E_GAIN1 OSCILLATOR_OUT 0 VALUE {1 * V(N06402)}
    D_D2 OSCILLATOR_IN N06132 Dide_Oscillator
    E_E2 N06418 0 VALUE { if(V(Oscillator_IN)>(V(CAL_OUTPUT)+0.01),5,0)
    + }
    G_G1 OSCILLATOR_IN 0 VALUE { if(V(Oscillator_OUT)>4,{IOUT},0) }
    E_E3 CAL_OUTPUT 0 VALUE { if(V(Oscillator_OUT)>4,{LV},{HV}) }
    R_R3 0 CAL_OUTPUT 100MEG
    .model Dide_Oscillator d (N=0.01)
    .ENDS OSCILLATOR
    *$
    ———————————


    RSQB Flip Flopのデバイスモデルと評価用シミュレーション・データ

    ff

    http://www.marutsu.co.jp/contents/shop/marutsu/download/160512/No43_RSQB_FlipFlop_sample.zip

     

    ▽RSQB Flip Flopの等価回路 ネットリスト

    ———————————
    *$
    * PART NUMBER: RSQB FLIP-FLOP
    * COMPONENTS: RSQB FLIP-FLOP
    * MANUFACTURER: Bee Technologies
    * All Rights Reserved Copyright (C) Bee Technologies Inc. 2014
    .SUBCKT RSQB_FLIP_FLOP RSQB_FlipFlopR RSQB_FlipFlopS RSQB_FlipFlopQB
    E_GAIN1 RSQB_FlipFlopQB 0 VALUE {1 * V(N03648)}
    R_R1 N03584 N03648 10
    R_R2 0 RSQB_FlipFlopR 100MEG
    R_R3 0 RSQB_FlipFlopS 100MEG
    E_E1 N03584 0 VALUE { if((V(RSQB_FlipFlopR)>4 &
    + V(RSQB_FlipFlopS)<1),5,(if((V(RSQB_FlipFlopR)<1 &
    + V(RSQB_FlipFlopS)>4),0,V(RSQB_FlipFlopQB)))) }
    C_C1 0 N03648 10p IC=0
    .ENDS RSQB_FLIP_FLOP
    *$
    ———————————

     


    マルツエレックの研究開発(R&D)支援サービス

    ▽【等価回路開発】

     等価回路を作成することで、デバイスの動作検証及び
    アプリケーション開発が出来るようになります。

    ▽【デバイスモデリング】

     お客様の必要な電子部品のSPICEモデルをご提供します。

    ▽【回路シミュレーション】

     再現性が高く、解析時間を短縮できるシミュレーションをご提供します。
    収束エラー問題も解決いたします。

     

    SPICEによる回路シミュレーションの高度な技術で、お客様の研究開発をサポートいたします。

    http://www.marutsu.co.jp/pc/static/large_order/rd_service

    詳細なご案内は上記リンク先に掲載しております。お問い合わせもこちらからお願いいたします。

ロジックICで構成した周波数カウンタの製作 【設計編 その3】

  • 2016/05/10

    ◎カウンタとラッチ

    ★ゲート後のブロック

    ゲート後のブロックと各部の波形関係を図43に示します。
    ゲート出力波形に注意してください。
    ゲートをオープンしている間(ゲート時間)だけ波形整形回路からの信号が出力され、ゲートを閉じるカウンタへの信号はHレベル固定です。

    160510-04-01

    ★カウンタ

    図44に74HC390のカウンタ接続を示します。
    基準時間発生部の1/10分周は5進カウンタのクロックCKBにクロックを入力するデバイダ接続でしたが、カウンタ接続は2進カウンタのCKAへクロックを入力し、QAをCKBに接続すると10進カウンタになります。

    160510-04-02

    図45はこの時のタイミングチャートです。
    クロック(CKA)が入る毎にカウントアップしていきます。
    10進ですから、9の次は0(ゼロ)に戻ります。

    160510-04-03

    ★Dラッチ

    ラッチはデータを保持する装置で、今回の場合、カウント値をデコーダにセットする役目をしています。
    今回は図46のラッチIC 74HC373を用いています。

    160510-04-04

    Dタイプ・ラッチと呼ばれるもので入力データはD0~D7の8ビット、出力はQ0~Q7でDとQは同じ数字に対応しています。

    制御信号はOEバーとLEの2つで、OEバーは他の入力条件によらず、Hにすると出力(Q)はハイ・インピーダンスになります。

    LEがラッチの制御信号で、HではD入力がそのまま出力されます。
    また、LEをLにすると、Lになる前の入力状態が出力され、LEがLの間は入力が変化しても出力は変化しません。
    これがラッチです。

    図47にタイミング例を示します。
    LEがHになっている①の区間ではD入力の状態(値)がそのままQに現れています。
    表現を変えると、LEがHの時、DはQに筒抜け状態になり、ゲートオープンとも言えます。

    LEがLに変化するラッチのポイント(A、B)ではその時のD入力の状態が出力に固定され、D入力が変化しても影響されません。
    これも別な表現をすれば最後のデータを保持し、ゲートを閉じたような状態です。

    160510-04-05

    74HC373の内部はどのような構成なのか分かりませんが、個別のゲートICで構成したDラッチの回路例を図48に示します。
    負論理入力のRSラッチの前に制御回路を追加したものです。
    74HC373のようにOEバーの機能はありませんが、出力はQとQバーの2つが得られ、真理値表は図46と同じになります。

    1ビットだけDラッチが欲しい場合はこのような回路を覚えておくと便利です。
    NANDゲートが4個とNOTゲートが1個の構成ですが、この回路を工夫すればNANDゲート4個で構成することができます。

    160510-04-06

    ★カウンタとラッチの接続

    表示は4桁ですが、基本的なカウンタとラッチの接続を最下位桁(1位)を例として図49に示します。
    74HC390は10進カウンタが2個、74HC373は8ビットです。
    1桁は4ビットですから、それぞれ半分ずつ接続することになり、図49の74HC373は4ビットで表現しています。
    カウンタ出力はQAが最下位ビットですから、この例ではQAをD0に対応し、D0の出力はQ0です。
    もう一つの74HC373のOEバーは今回の場合用いないのでGNDへ接続し、常にQ出力が出ている状態にしておきます。

    160510-04-07

    図50は各桁との接続です。
    最下位桁のクロックはゲート出力ですが、上位桁は下位桁のQDを接続します。
    各リセット端子(CLR)は共通に接続し、これに制御回路からのリセット信号を接続します。

    ラッチも各LE端子を共通接続し、これも制御回路からのラッチ信号を接続します。
    カウンタ出力(QA~QD)とD0~D7の接続はこの図では省略していますが、実際には図49のとおりです。

    160510-04-08

    ★タイミング詳細

    ゲート、ラッチ、リセットおおびカウンタ値がどのようになっているか分かりにくいと思いますので図51で説明します。
    説明が簡単になるように最下位桁のみとし、5または6あたりのカウント値を表示するものと思って下さい。

    まず、ゲートはLでオープンし、この期間にカウントされます。
    ①の期間では0、1、2、4,5までカウントしています。
    この5をカウントした直後にゲートが閉じて(H)、カウント値は5のままです。

    その後ラッチ信号がHになり、この期間のラッチ出力は5です。
    この例ではラッチ前のラッチ出力が6だったのでラッチ信号Hの開始ポイントで5に変化しています。

    ラッチ信号がLになった後で今度はリセット信号がHになります。
    カウンタ(74HC390)はこのHでリセットされてカウンタ出力はゼロになります。

    この場合、74HC373のD入力値もゼロになりますが、すでにラッチ状態になっていますので、ラッチ出力は5のままです。

    次のゲートがオープンする②の期間では0、1、2、3、4、5、6までカウントしました。
    同様にゲートが閉じたことによって6でカウント値が止まったままです。
    今度はラッチ信号のHでラッチ出力が5から6に変化し、その後ラッチされ、リセットとなる繰り返し動作です。

    この例では最下位桁で説明しましたが、その他の桁もクロック入力が下位桁からのQDになるだけなので内部の動作は同じです。

    ゲート時間1sと1msは時間が異なりますが、ラッチ、リセットの順序は同じですから、同じ動作をします。
    また、更新周期はラッチ信号間の時間で、それぞれ2sおよび200msです。

    160510-04-09

    ◎デコーダと7SEG-LED

    図52にラッチ(74HC373)を含めたデコーダと7SEG-LEDの接続を示します。
    デコーダICは74HC4511です。
    このICの詳細については資料・技術情報「アップダウンカウンタの製作 基礎編」を参照願います。

    7SEG-LEDはカソード・コモンです。
    電流制限抵抗の値は用いる7SEG-LEDで異なります。
    4桁ありますのでかなりの消費電流になります。
    なるべく最小限の電流値にしたほうが良いです。

    ちなみに今回は7SEG-LEDにLinkmanのKW1391CSBを用い、制限抵抗は680Ωとしています。

    7SEG-LEDのデシマルポイント(DP)は最上位桁以外は使用しません。
    最上位桁のみ図53のように電流制限抵抗を介して電源へ接続します。
    つまり、1s、1msのゲート時間によらず、常にデシマルポイントが点灯します。

    また、最上位桁のカウンタ出力QDはトランジスタによるLEDスイッチング回路へ接続します。
    QDはカウント値8以上でHになります。
    つまり、表示が8XXX以上になったらカウントオーバーに近い状態またはカウントオーバーであることをLEDで知らせます。
    QDから取ると図51のタイミング詳細のように一旦ゼロになりますのでLEDは点滅動作します。
    ちなみに、74HC373のQ出力から取れば点灯動作です。

    160510-04-10

    160510-04-11

ロジックICで構成した周波数カウンタの製作 【設計編 その2】

  • 2016/05/10

    ◎ゲート時間1ms時の制御

    ★表示のチラツキとニジミの問題

    ゲート時間1s時のラッチ、リセットの制御は分周出力からゲートIC(ANDとNOT)を用いて作りだしました。
    これをそのまま1ms時に当てはめた場合を図25に示します。

    ゲートオープン(Hレベル)と閉じている(Lレベル)時間は同じ1msです。
    つまり、表示の更新時間は2msです。
    当初からこのことは分かっていたのですが、実際に動作させてみると表示にチラツキとニジミが出てしまいます。
    例えば、2と3の表示ではセグメントのcが点灯してニジミのようになって、2と3の区別がつきません。
    結局、ゲート時間1msでは更新時間2msの方式は使えません。

    160510-03-01_b

    ★更新周期を長くする

    更新周期を長くすればニジミなどは起きません。
    ただし、ゲート時間は1msですから、この時間は変えられません。
    したがって、図26のような制御が必要です。
    更新周期は③のラッチと⑤のラッチまでの時間ですから、この時間間隔を数100ms以上にすればよいわけです。

    160510-03-02

    ◎更新周期のみを長くする

    ★f/N分周

    入力信号の周波数fに対して任意の値Nで分周するf/N分周器を図27に示します。
    Nはプログラム可能な2~99までの値で、fを500Hz、Nを10とすれば f / N = 500 / 10 = 50Hzです。

    また、Hレベルの時間は1msになり、この部分でカウントをさせます。
    Lレベルの時間は19msですが、これでは適切な更新周期に不足していますので、N値を大きくすれば良いわけです。

    例えば、Nを99とすればLレベルになっている時間は197msですから、約0.2sの更新周期になります。

    160510-03-03

    ★カウンタICによるプログラマブルf/N分周器

    図28にカウンタICを用いたプログラマブルf/N分周器のブロック図を示します。
    プリセット付のダウンカウンタを2個用い、1段目のカウンタで設定値の×1、2段目で×10の設定になります。

    160510-03-04

    図29に回路を示します。
    10進アップ/ダウンカウンタの74HC192をダウンカウンタとして用いています。
    ダウンカウントは0(ゼロ)になるとボロー(BOバー)がLレベルになります。
    後段カウンタのボロー出力でG1、G2のRSフリップ・フロップでデータをプリセットします。

    設定値はN-1です。
    74HC192のA~DにBCDコードで加えます。
    1段目では8をセット、2段目では9を加えていますので、Nは99です。
    したがって f / N は 500 / 99 =5.05Hz となり、Hレベルの時間は1ms、Lレベルの時間は197msです。
    つまり、更新周期は約0.2sです。

    160510-03-05

    図30にタイミングチャートを示します。
    分かり易いように12をプリセットした場合です。

    160510-03-06

    ◎ゲート時間1ms時のラッチとリセット

    ★モノステーブル・マルチバイブレータ

    ゲート時間1ms時のラッチとリセットはモノステーブル・マルチバイブレータを用いています。
    モノステーブル・マルチバイブレータとは図31のように入力(トリガ)を与えると一定時間のパルスを発生するもので、パルス幅Tは外付けのC、Rで決まります。

    160510-03-07

    ★74HC123

    市販のモノステーブル・マルチバイブレータにはいくつかのICがあり、図32に74HC123Aを示します。
    このICは2回路を内蔵し、トリガはL→HへのエッジまたはH→Lへのエッジを選択することができます。
    出力はQとQバーの2つで、常に逆の論理になり、都合の良い論理を選択できます。

    パルス幅はCx,Rxで決めますが、トリガのH時間より短い設定をすれば、これにより短いパルスが得られます。

    160510-03-08

    74HC123は2回路入りです。
    そこで今回は図33の接続でラッチとリセットの信号を得ています。
    タイミングとしては1msゲート信号がH→Lになってからこれらの信号を得たいので、1段目はH→Lのエッジでトリガをかけます。
    このトリガによって発生したパルス(Q出力)をラッチ信号とし、さらにこれを次段のL→Hエッジ入力であるB入力へ入力します。
    このエッジ入力で発生するパルスがリセット信号になります。

    各信号のタイミングは図33のとおりで、ラッチはH→Lへの変化で確定します。
    リセットはL→Hへの変化のポイントです。

    それぞれのHレベルの時間はそれほど重要ではありません。
    今回はこの時間を約100μsに設定しています。
    なお、ラッチからリセットへの間隔は図33では直後のタイミングに見えますが、実際にはデバイスのディレー(遅れ)時間があり、実測で10数nsです。

    160510-03-09

    ★回路

    図34に回路を示します。
    今回の場合、パルス幅はそれほどの精度は必要ありません。
    1000pFと100kΩで約100μsになります。
    パルス幅の計算方法またはその他の動作モードについてはメーカーのデータシートを参照願います。
    精度は必要ありませんので、抵抗はカーボン抵抗です。
    コンデンサはセラミックコンデンサでも良いと思いますが、今回は誤差±5%のマイラーコンデンサを用いています。

    160510-03-10

    写真3はユニバーサル基板にて図29、34の回路を組んで動作確認している風景です。
    デジタル回路での微妙なタイミングはオシロスコープでは分かりにくいのでロジックアナライザにて確認しています。

    160510-03-11

    ◎1sと1msの切り替え

    ★切り替え箇所

    測定周波数によりゲート時間を1sと1msに切り替えますが、その切り替え箇所を図35に示します。
    ゲート時間以外にラッチおよびリセットも同時に切り替える必要があります。

    160510-03-12

    ★ノンショートとショーティング

    図35の切り替え部を機械式スイッチで行う場合、3回路2接点のノンショーティングタイプが必要です。
    スイッチの機能(動作)を表現するなかで、「ノンショート」と「ショーティング」という言葉があります。
    これは特にスライドスイッチ、ロータリースイッチなどで区別され、次のような意味です。

    160510-03-13

    ショーティングタイプは接点切換途中にオープンになると不具合がある場合などに用い、ノンショートは切換途中のオープンが問題にならない場合に用います。

    今回は図37のようにショーティングでは出力同士がぶつかるので、ノンショートが必要です。

    160510-03-14

    ★NANDとON-OFFスイッチによる切り替え

    3回路2接点のノンショーティングの機械式スイッチでは部品選択が難しくなりますので、トグルスイッチなどの一般的なものとし、ON-OFFスイッチで実現できる方式を図38に示します。

    NANDゲートを用いた選択回路です。
    NANDゲートは両方の入力がHの場合、出力はLです。
    別な見方をすれば図39 d )のように片方の入力をLにすれば出力は常にHになって、片方の入力状態は出力に反映されません。
    つまり、ゲートを閉じた状態です。

    具体的には図38 a ) のようにスイッチONではG2の入力およびG4の入力はLです。
    したがって、②の信号状態によらずG2の出力はHです。

    また、G4はNOTですから、その出力はHになり、G1出力は①の状態を反転したものになります。
    G3はNANDを「負論理入力のOR」で表現しています。
    これにより①の状態がそのままG3出力に現れます。

    図38 b ) はスイッチがOFFの場合で、今度は②が選択されます。

    160510-03-15

    160510-03-16

    ★ON-ONスイッチの場合

    NANDには74HC00があります。
    このICはNANDゲートが4個入っていますので、図38の方式ではこの部分でICが1パッケージです。
    NANDは負論理のANDですが、図39 c )のようにNOTにもなる便利なゲートです。
    余ったゲートは他の回路で使用できますのでなるべくICの数を減らすことを考えてみます。

    図38ではスイッチにON-OFFタイプを用いましたが、これをON-ONタイプとした場合を図40に示します。
    それぞれの端子をプルアップすると2つの接点の論理は常に逆になります。
    これを利用すればNOTの役割になってゲートが1つ減ります。

    160510-03-17

    ★採用回路

    結局、NANDとON-ONスイッチの方式を採用し、具体的な切替回路を図41に示します。
    74HC00はNANDが4個入りですから、このICを2個用い、余ったゲートは他の部分で利用しています。

    また、スイッチはノンショート、ショーティングは問わず、今回は一般的なトグルスイッチです。
    なお、特にプルアップ抵抗の定数を示していませんが、10kΩ~100kΩが適当な値です。

    160510-03-18

    ◎ゲート回路

    ゲート回路はANDです。
    前後関係を含めたゲート回路を図42に示します。
    AND部は余った74HC11のゲートを用い、論理合わせのNOTを入れています。
    出力波形はゲートを閉じている場合、常にH、オープンで波形整形回路からの信号が現れます。

    試作機はこの回路で組んでいます。
    製作後に気づいたのですが、この部分はNANDゲート1個で構成でき、そのほうが素直です。

    160510-03-19

    ロジックICで構成した周波数カウンタの製作 【設計編 その3】に続きます。

ロジックICで構成した周波数カウンタの製作 【設計編 その1】

  • 2016/05/10

    ◎基準時間発生回路

    ★10MHzを分周する

    図9に基準時間発生回路のブロック図を示します。
    10MHzを必要な周波数に分周(ぶんしゅう)します。
    分周とは周波数を1/nにすることで、nの値が10であれば1/10分周です。
    例えば10MHzを1/10分周すれば1MHzになり、最終的に必要なゲート時間(1s、1ms)の元となる1Hzおよび500Hzを作り出します。

    160510-02-01

    ★10MHz発振回路

    図10に10MHz発振回路を示します。
    74HCU04を用いた標準的な水晶発振回路です。
    最終的にトリマーコンデンサ TC1にて正確な10MHzに調整します。

    具体的にはファンクションジェネレータなどの発振器を利用し、周波数カウンタの表示が発振器と同じになるように調整します。
    クリスタルは九州電通のものを用いました。
    他のクリスタルではTC1、C1、C2の値を変更する必要があるかもしれません。
    74HCU04はNOTが6個入りですが、発振回路で用いる場合、余ったゲートは他の回路に用いないで、入力空きピン処理を行います。

    160510-02-02

    ★74HC390

    今回は分周器として図11の74HC390を用いています。
    2進カウンタと5進カウンタで構成されていて、CKA、CKBがクロック入力、QA~QDが出力です。
    2進カウンタと5進カウンタの組み合わせ(接続)で10進カウンタまたはデバイダ(分周器)になります。

    160510-02-03

    図12に接続の違いを示します。
    a ) はクロック入力を2進カウンタのCKAに入力し、そのQA出力を5進カウンタのCKBに入力します。
    これをカウンタ接続と言い、10進のアップカウンタになります。

    B ) はクロック入力を5進カウンタのCKBに入力し、QD出力を2進カウンタのCKAに入力します。
    これをデバイダ接続と言い、QAにはクロック入力(信号)を1/10に分周したものが現れます。

    160510-02-04

    ★1/10分周

    デバイダ接続の動作が直観的に分かりにくいと思いますので、図13の5進カウンタ タイミング図から説明します。
    カウント動作はCKBに入力されたクロックの立下りで動作し、5進ですから、0、1、2、3、4 とカウントアップし、4の次は0(ゼロ)に戻ります。

    160510-02-05

    デバイダ接続は5進カウンタのQD出力を2進カウンタのCKAに接続しますので、この場合のタイミング図を図14に示します。
    QAはCKAの立下りで変化し、2進ですから、CKA(QD)の立下りごとにH/Lが反転して 0、1の繰り返し動作です。

    ここで、CKBとQAの波形を比較すると、QAの1サイクルの中で、CKBは10サイクルあります。
    つまり、CKBを1/10分周したものがQAです。

    74HC390はこれが2回路入っています。
    したがって、1パッケージで1/100分周できます。
    図9のブロック図では10MHzを必要な1Hzに分周するために74HC390を4個用いています。
    例えば1MHzを元にして分周した場合、74HC390は3個で済みます。

    160510-02-06

    図15に74HC390の1パッケージでの接続を示します。
    2回路あるので各端子信号名に番号を付けています。
    1CLR、2CLRはリセット端子です。
    Hにするとリセット(出力がすべて0)します。
    リセットする必要がありませんので、GNDへ接続しておきます。
    Vcc/GND間には104(0.1μF)のパスコンを必ず接続しておきます。
    最後の1Hz部では片方のカウンタが余るので、CKA、CKB、CLRは電源かGNDへ接続して空きピン処理します。

    160510-02-07

    ◎1sの基準時間

    ★Dフリップ・フロップ

    分周回路で10MHzから1Hzを作りました。
    図14のQAは1Hzですが、Hの時間は0.5sです。
    必要なゲート時間はHの時間が1sです。
    したがって、Hの時間が1sとなるためにはこれを1/2分周します。

    1/2分周する方法はいろいろあります。
    今回は制御回路の関係でDフリップ・フロップを用いて1/2分周しています。
    1/2分周の説明の前にDフリップ・フロップについて少し解説します。

    図16にDフリップ・フロップの記号を示します。
    入力はDとCK、出力はQとQバー(図16ではQの上に-が付いているのですが、-がテキストでは表現できないので、Qバーと表現します)の2つです。
    QとQバーは常に論理が逆(例えば、QがHの時、QバーはL)になります。

    Dフリップ・フロップ(以下、D-FFと表現します)はD入力の状態を記憶する機能です。
    D-FFの入出力は図16 a ) が基本ですが、b ) のようにPR(プリセット)およびCLR(クリア)付のICもあります。
    今回はPR、CLRは用いていないので、一般形で説明します。

    CKのところにある三角形の記号はクロックCKが「L→H」への変化がある時のD入力の状態で出力が決定されることを表しています。

    160510-02-08

    図17に真理値表を示します。
    クロックCKが「L→H」の変化でD入力の値がQに出力され、クロックCKの「H→L」では出力は変化しません。
    この時のタイミングチャートを図18に示します。

    CKが「L→H」時のD入力の値がQ出力に現れていますが、①、②間のポイントのようにD入力が「H」になってもすぐにQ出力は「H」にならず、②のクロックCKでQ出力は「H」になります。

    このようにD入力の状態はクロックCKが変化されるまで遅れて動作し、この遅れ(Delay)動作の特徴からDフリップ・フロップと呼ばれます。

    160510-02-09

    ★Tフリップ・フロップ

    D-FFは図18のような動作になりますが、別な機能としても使われ、図19に接続とタイミングチャートを示します。

    Qバー出力をD入力に接続します。
    D-FFはD入力の状態をQに出力しますので、最初のQバーを「H」とすれば最初のクロックの立ち上がりでQ出力が「H」になり、Qバーは「L」に変化します。

    2番目のクロックの立ち上がりでは、D入力はQバーですからこの「L」ではQは「L」へと反転します。
    以下同様にクロックが入る(L→Hへの変化)毎にQが反転します。
    このようにクロック毎に信号がパタパタ変わるものをTフリップ・フロップと言います。
    なお、TはTriggerまたはToggleの略です。

    このようにTフリップ・フロップはクロックが入る毎に反転する動作ですが、見方を変えれば、クロックの数が2個で出力が変化し、入力された周波数(クロック)が半分になって出力に現れます。
    つまり、これは1/2分周です。

    市販のD-FFでは74HC74があります。
    PR/CLR付ですが、この機能を用いない場合、図2のようにVcc(5V)に接続します。
    分周回路からの1Hzを74HC74のクロックに接続すれば1sの基準時間が作れます。

    なお、図9のブロック図では500Hzが必要になり、同様に1kHz出力から74HC74を用いて500Hzを得ます。

    160510-02-10

    ◎ゲート時間1s時の制御

    ★制御タイミング

    図21に制御タイミングを示します。
    ゲートがHの期間(1s)にカウントし、Lで表示データをラッチ(保持)して7SEG-LEDを表示します。
    さらに次のゲートがHになる前にカウンタをリセットしてカウント準備します。
    ゲート時間1msでも同じようなタイミングになるのですが、今回は制御信号の発生方法が1sと1msでは異なります。
    ここでは、1s時の制御について解説します。

    160510-02-11

    ★各信号関係を利用する

    図22に1Hzを作り出す分周器(74HC390)と1sを作り出す74HC74の各信号関係を示します。
    74HC74のQ出力はゲートに入力されますが、ここではこの信号名を74-Qとし、Qバーを74-Qバーとしています。
    QC、QD、QAは74HC390の各出力です。

    74-QがLの期間にラッチおよびリセットの信号(H)を作りたいので、例えば、QC、QAおよび74-Qバーの3つのANDを取れば、黄色部の期間だけHとなるパルスが発生し、これでラッチ信号が得られます。
    同様にQCとQAを反転させたものおよび74-Qバーの3つでANDを取ったものでリセット信号が得られます。

    160510-02-12

    ★制御回路

    図23に制御回路を示します。
    ラッチはQC、QA、74-Qバーの3つのANDですから、3入力ANDの74HC11に接続します。
    リセットはQAバーが必要なので、QA出力をNOTしたものが必要です。

    今回は他の部分で使用しているNAND(74HC00)の余りゲートをNOTとして用いています。
    NANDは図24の真理値表です。
    2つの入力(A、B)を接続すれば黄色部の動作になり、これはNOTの機能です。

    160510-02-13

    ロジックICで構成した周波数カウンタの製作 【設計編 その2】に続きます。



ニュース検索






以前の記事はこちら
新商品・ニュース
セミナー