【インターフェース3月号 特集連動企画】実習・ゼロから作るシリアル通信:I2C/SPIをビットバンギング・プログラムを通して理解
【インターフェース3月号 特集連動企画】実習・ゼロから作るシリアル通信:I2C/SPIをビットバンギング・プログラムを通して理解
|
|
【開催日】2024年4月17日(水) 10:00-17:00 1日コース
【セミナNo.】ES24-0021 【受講料】26,000円(税込)
【会場】東京・巣鴨 CQ出版社セミナ・ルーム [地図]
【セミナNo.】ES24-0021 【受講料】26,000円(税込)
【会場】東京・巣鴨 CQ出版社セミナ・ルーム [地図]
インターフェース2024年3月号の特集『ゼロから作るシリアル通信[UART/I2C/SPIをPicoで]』を実体験する.
I2CとSPIの章の執筆者が,いわゆるビットバンギング(GPIO機能を直接制御)で通信をどのように実現するのか,通信の仕様とプログラムを解説する.
I2CとSPIはマイコン同士や周辺デバイス間の通信方法として広く普及している.「その通信仕様とは?」「使用上のハマリどころは?」のような基本的部分を押さえ,それを応用していくための要点を押さえる.
実習では記事と同様にPicoとMicroPythonを用いてその基本的な操作法から,具体例としてBME280(温湿度,気圧センサ)をターゲットとしてシリアル通信を行う方法を体験する.さらに同特集で紹介されたPicoで作るプロトコル・アナライザを使って通信内容の確認やデバッグまでをやってみる.
Picoは安価でサイズも小さい使いやすいマイコンである.この上にマイコン用のPython:「MicroPython」を載せて,その基本的なプログラミングの方法からGPIOの操作,さらにビットバンギングやハードウェアを用いたシリアル通信の方法までを,各自でブレッドボード上で配線した回路上で試す. シリアル通信にはUARTと呼ばれる仕様も存在し,マイコン同士やマイコンとPC間の通信でよく使われている.こちらの仕様も解説予定である.
●実習で使用したブレッドボード回路がお持ち帰りできます.
●講師作成のプログラム,およびセミナで作成したプログラムもお持ち帰りできます.
I2CとSPIはマイコン同士や周辺デバイス間の通信方法として広く普及している.「その通信仕様とは?」「使用上のハマリどころは?」のような基本的部分を押さえ,それを応用していくための要点を押さえる.
実習では記事と同様にPicoとMicroPythonを用いてその基本的な操作法から,具体例としてBME280(温湿度,気圧センサ)をターゲットとしてシリアル通信を行う方法を体験する.さらに同特集で紹介されたPicoで作るプロトコル・アナライザを使って通信内容の確認やデバッグまでをやってみる.
Picoは安価でサイズも小さい使いやすいマイコンである.この上にマイコン用のPython:「MicroPython」を載せて,その基本的なプログラミングの方法からGPIOの操作,さらにビットバンギングやハードウェアを用いたシリアル通信の方法までを,各自でブレッドボード上で配線した回路上で試す. シリアル通信にはUARTと呼ばれる仕様も存在し,マイコン同士やマイコンとPC間の通信でよく使われている.こちらの仕様も解説予定である.
●実習で使用したブレッドボード回路がお持ち帰りできます.
●講師作成のプログラム,およびセミナで作成したプログラムもお持ち帰りできます.
1. Hello world (まずは基板を動かしてみよう!)
1.1 PCとPicoの接続とMicroPythonのインストール
1.2 Thonnyの使い方
1.3 Hello world
1.4 サンプルスクリプトの読み込みと動作(Lチカ)
1.5 実験のためのライブラリの準備
1.6 MicroPythonによる限界(GPIOの制御速度について)
2. シリアル通信を実験してみる前に.. シリアル通信てナニ?
2.1 データ通信(シリアル/パラレル)
2.2 シリアル通信の種類(高速/低速,非同期/同期,全二重/半二重)
2.3 低速シリアル通信(I2C/SPI/UART)
2.4 実験を始める前に
2.4.1 PicoとBME280について
2.4.2 ブレッドボードでの配線
2.4.3 プロトコル・アナライザの準備
3. 実験1:I2Cを動作させてみる
3.1 動作確認
3.2 この動作では何が行われていたのか?
3.3 プロトコルについて
3.4 デバッグ体験
4. 実験2:SPI
4.1 動作確認
4.2 この動作では何が行われていたのか?
4.3 プロトコルについて
5. UARTについて
5.1 その用途と仕様
5.2 Picoで実験してみるには?
6. その他
6.1 C言語によるビットバンギングI2Cの実装例紹介
6.2 ビットバンギングの用途
6.3 現在の中低速シリアル通信の問題と将来:I3Cを例に
2台のPicoを使って通信を行い,プロトコルアナライザで内容を確認
サンプルプログラムの実行の様子(クリックで画像拡大)
プロトコルアナライザでI2C通信の確認(クリックで画像拡大)
プロトコルアナライザでSPI通信の確認(クリックで画像拡大)
●対象聴講者
・シリアル(I2C,SPI)接続されるデバイスを自在に制御できるようになりたい方
・I2C,SPIのそれぞれの仕様と特徴を把握して,自身のシステムに応用したい方
・シリアル・インターフェースの仕様に興味のある方
・MicroPythonの基本的な使い方を知りたい方
●講演の目標
・デバイス間制御と通信を行うシリアルインターフェース:I2C,SPIの概要をマスター
・ MicroPythonでシリアル通信(I2C/SPI)プログラムを書けるようになる
・プロトコル・アナライザを用いたデバッグができるようになる.
1.1 PCとPicoの接続とMicroPythonのインストール
1.2 Thonnyの使い方
1.3 Hello world
1.4 サンプルスクリプトの読み込みと動作(Lチカ)
1.5 実験のためのライブラリの準備
1.6 MicroPythonによる限界(GPIOの制御速度について)
2. シリアル通信を実験してみる前に.. シリアル通信てナニ?
2.1 データ通信(シリアル/パラレル)
2.2 シリアル通信の種類(高速/低速,非同期/同期,全二重/半二重)
2.3 低速シリアル通信(I2C/SPI/UART)
2.4 実験を始める前に
2.4.1 PicoとBME280について
2.4.2 ブレッドボードでの配線
2.4.3 プロトコル・アナライザの準備
3. 実験1:I2Cを動作させてみる
3.1 動作確認
3.2 この動作では何が行われていたのか?
3.3 プロトコルについて
3.4 デバッグ体験
4. 実験2:SPI
4.1 動作確認
4.2 この動作では何が行われていたのか?
4.3 プロトコルについて
5. UARTについて
5.1 その用途と仕様
5.2 Picoで実験してみるには?
6. その他
6.1 C言語によるビットバンギングI2Cの実装例紹介
6.2 ビットバンギングの用途
6.3 現在の中低速シリアル通信の問題と将来:I3Cを例に
2台のPicoを使って通信を行い,プロトコルアナライザで内容を確認
サンプルプログラムの実行の様子(クリックで画像拡大)
プロトコルアナライザでI2C通信の確認(クリックで画像拡大)
プロトコルアナライザでSPI通信の確認(クリックで画像拡大)
●対象聴講者
・シリアル(I2C,SPI)接続されるデバイスを自在に制御できるようになりたい方
・I2C,SPIのそれぞれの仕様と特徴を把握して,自身のシステムに応用したい方
・シリアル・インターフェースの仕様に興味のある方
・MicroPythonの基本的な使い方を知りたい方
●講演の目標
・デバイス間制御と通信を行うシリアルインターフェース:I2C,SPIの概要をマスター
・ MicroPythonでシリアル通信(I2C/SPI)プログラムを書けるようになる
・プロトコル・アナライザを用いたデバッグができるようになる.
【受講者が持参するもの】
・ 作成したプログラムなどを持ち帰るためのUSBメモリなど.
・ 作成したプログラムなどを持ち帰るためのUSBメモリなど.
【講師】
岡野 彰文 氏〔NXPジャパン株式会社 〕
プリンシパル・フィールド・アプリケーション・エンジニア.半導体アプリケーション分野でオーディオ,マイコン,通信の各分野の製品を歴任.アナログ・デジタルのハードウェア,ソフトウェアのサポートを行っている.
岡野 彰文 氏〔NXPジャパン株式会社 〕
プリンシパル・フィールド・アプリケーション・エンジニア.半導体アプリケーション分野でオーディオ,マイコン,通信の各分野の製品を歴任.アナログ・デジタルのハードウェア,ソフトウェアのサポートを行っている.