UWP+IoT Coreのシリアル通信メモ

公開日: : Blog, Microsoft, 未分類 , ,

Windows10 IoT + Raspberry Pi を始めようとしているのだが、どうもセンサーを選定したり、組むまでに至るだけの知識がまだない。
まず通信方式とUWPでの実装方法についてメモ

バス

複数の周辺機器に個別に配線せず、ひとつの信号線を共有する

  • SPI : スレーブセレクト
  • I2C : アドレス
  • UART : (共有できない)

なので、信号線を共有したい場合はSPIやI2Cを、非共有の場合はUARTを選択?
SPIはI2Cより信号線の数が多いが、高速通信まで対応している

ってことみたい

非共有

UART (Universal Asynchronous Receiver Transmitter)

TX(送信)とRX(受信)を接続する(単方向の場合は1本だったり)
非同期式なのでクロックビットがない。
よってスタートビットを用いてデータ送信を開始する。

UWP Sample : Serial UART

USART (Universal Synchronous Asynchronous Receiver Transmitter)

UARTに同期のためのクロック信号を付けたもの(GND, TX, UX, CLK)

共有

I2C (Inter-Integrated Circuit)

同期式
通信レートは標準100kbps、ファースト400kbps、高速3.4Mbpsの3つ

周辺機器に7bitのアドレスが決まっていてそれを指定して通信
入力も出力も1本の信号線で行う
MACアドレス指定して通信するようなイメージ

  • SDA (Serial Data)
  • SCL (Serial Clock)

UWP Sample : Inter-Integrated Circuit (I2C) sample

SPI (Serial Peripheral Interface)

同期式
I2Cより高速通信できる

  • MOSI (Master Out Slave In)
    TX -> RX 相当
  • MISO (Master In Slave Out)
    RX -> TX 相当
  • SCLK
    クロック信号

データは3線だけど、スレーブ必要

  • SS (Slave Select)
    スレーブセレクト
    SCLK, MOSI, MISOを共有化、SSを周辺機器ごとに接続&制御を行う。

UWP Sample : Serial Peripheral Interface (SPI) sample

1-Wire

非同期式

  • DQ

周辺機器は64bit固有識別番号を1-Wireバス上のデバイスアドレスとして使う

UWP Sample : GPIO OneWire DHT11 reader

おまけ:USB (Universal Serial Bus)

  • GND
  • D+
  • D-
  • VBUS

【参考】

関連記事

no image

UWPでOSバージョン番号の取得

Windows.System.Profile.AnalyticsInfo.VersionInfo.D

記事を読む

no image

Developers Festa Sapporo 2016 メモ

ブログ書くまでが、Developers Festa Sapporo 2016 社内とかに展開するよ

記事を読む

[UWP]Releaseビルド時に、OData.ClientでSystem.Reflection.MissingMetadataExceptionが発生する

UWPでDebugビルドでは問題ないけど、Releaseビルドにすると、Microsoft.ODat

記事を読む

Visual Studio 2015 Express の Language Pack

探してみたけど見当たらなかったのでメモ残し。 Visual Studio 2015 には言語パック

記事を読む

【.NET Framework 4.6.1】MultiLineなTextBoxでCtrl+Aが使えない問題が解決(今更)

WinForms.NETなアプリケーションの標準TextBoxで、Multiline=Trueに設定

記事を読む

【VisualStudio2015】UWPアプリケーションのXAMLデザイナにて「パッケージを登録できませんでした。」

VisualStudio2015 / UWPアプリケーション / XAMLデザイナ / エラー のメ

記事を読む

拡張温度に対応した Windows 10 IoT Core ボード

Windows 10 IoT Core 対応ボード その2 こっちは拡張温度対応している。 Ban

記事を読む

no image

‘System.Windows.Navigation.BaseUriHelper’ のタイプ初期化子が例外をスローしました。

作成した.NETアプリケーション(WPF)が起動しない。 今回は構成ファイル(app.config)

記事を読む

no image

UWPでMicrosoft.OData.Clientを使用する時、LINQ式でエラー

UWPからは非同期メソッドを実行する必要があるので、通常はExecuteAsyncをコールするが、

記事を読む

no image

【Xcode】Capabilities全項目【v6.1時点】

Capabilitiesの各項目が何を示しているのか よくわからなかった、かつ日本語のサイトが少な

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑