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

No registered resource provider found for location ‘Japan East’ and API version ‘2.0’ for type ‘servers’.

Visual Studio から Azure Web Apps をデプロイするときに発生したエラーの

記事を読む

no image

RPi3 OmxPlayer / VLC Player 連続再生2回目から映像が乱れる問題

Raspberry Pi 3 Model の Ubuntu や Raspbian で OmxPlay

記事を読む

no image

Windows8.1 64bitにVB6.0開発環境を構築メモ

MSDNフォーラムの、この投稿はとても素晴らしいです。 windows 8 64bit

記事を読む

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

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

記事を読む

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

Windows10 64bit, Symantec Endpoint Protection はおそら

記事を読む

no image

【iPhoneアプリ】背景画像を設定する

ImageResourceにBg.pngという背景画像を登録しておく 背景を設定するタイミング

記事を読む

【ストアアプリ】バッジ通知(BadgeUpdateManager)について

こんにちは。 前回のタイル通知にバッジ通知を追加しました。 以下を参考に。 https

記事を読む

【iPhoneアプリ】リリース手順〜プロビジョニングプロファイルを作成する〜

リリース前にDistribution Provisioning Profileを作成する 手順

記事を読む

no image

FixedDocumentの印刷およびXPS形式での保存

こんにちは。 以前、XAMLファイルを帳票テンプレートとして動的ロードする記事を掲載しました。

記事を読む

【iPhoneアプリ】多言語対応させる2

今回はコード内の文字列を多言語化する ファイルを追加する。  

記事を読む

Message

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

PAGE TOP ↑