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

【参考】

関連記事

シマンテックインストール時に「指定されたパスが空です。」

Windows10 64bit, Symantec Endpoint Protection はおそら

記事を読む

no image

【XAML/VB.NET】XAMLファイルを帳票フォーマットとして使用する

掲題について。結論としてはFixedPageをルートとするXAMLファイルを XamlReader

記事を読む

no image

【TFS2013】Visual Studio 2005 Professional から TFS2013へ接続

こんにちは。 私の周りではいまだにレガシーな開発環境を使いつづけているプロジェクトが多いです。

記事を読む

no image

UWPのScrollViewerでスクロール位置の同期を行うメモ

複数のScrollViewerのスクロール位置を同期したい場合、WPFではScrollChanged

記事を読む

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

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

記事を読む

no image

Xamarin.Android フルスクリーン

自分用メモです。

記事を読む

no image

Xamarin.UITest, Xamarin Test Cloud にて iPhone 6 Plus, 6S Plus, 7 Plus などで app.Tap が効かない

動作しないというか、app.Tapがどうしても反応しない。 app.ScreenShotなどは動作す

記事を読む

NetworkOperatorTetheringManager を使って、モバイルホットスポットをアプリケーションから構成する

UWPアプリケーションからテザリングアクセスポイントの構成を行ったメモ テザリングの Networ

記事を読む

App Service Linux (Docker) 環境で、コンテナ内の Nginx のログをAzureポータルから確認

何も設定しない場合はSSHでアクセスしてログ参照する 通常はコンテナ内の /var/log/ngi

記事を読む

ストアアプリ、UWPアプリをデスクトップアプリケーションから起動する

SendKeyなどを使って無理やり検索ウインドウへ指定した、起動方法しか知らなかったのでメモ(とんで

記事を読む

Message

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

PAGE TOP ↑