フォト
2017年12月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
無料ブログはココログ

« ATtiny13AでUART-I2Cブリッジの製作 - まずその準備 | トップページ | ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3 »

2015年3月25日 (水)

ATtiny13AでUART-I2Cブリッジの製作 - まずその準備2

前回と続き。まだまだ構想レベルです。

まずは、自分がI2Cマスターで、I2Cバスに接続しているスレーブデバイスに
対してのコマンドを実装するものとします。

実際のシリアル通信によるコマンドは下記のものとします。
テキストコマンドとなります。

1)I2C初期化             @@
2)1ビット送信           @o[B]
3)1ビット受信           @i[M]
4)スタートビット送信    @s
5)ストップビット送信    @e
6)1バイト送信           @w[C]
7)1バイト受信           @r[A]
[B]は1ビット '0'or'1'
[M]はモード指定 '0':戻り値不要 '1':戻り値要求
[C]は16進数 '00' 〜 'FF'
[A]は1バイト受信時のデバイスへのAck送信の値

一方、私が使っている秋月電子で購入した、
I2C接続キャラクタLCDモジュール(16x2行)のI2Cのコマンドは次のような
フォーマットとなります。

これを定義したシリアル通信のコマンドに置き換えると、先頭から
@s                     :スタートビット送信
@wA0                 :アドレス'A0' 1バイト送信
@i0                    :Ackビット 1ビット受信(応答受信不要)
@w00 or  w80      :コントロールバイト1バイト送信 '00':コマンド送信  '80' データ送信
@i0                    :Ackビット 1ビット受信(応答受信不要)
@wNN                :コマンドまたはデータとして 1バイトデータ送信
@i0                    :Ackビット 1ビット受信(応答受信不要)
@e                     :ストップビット送信

となります。単純に"A"という文字を、液晶パネルに表示する場合は、
  @s@wA0@i0@w80@i0@w41@i0@e
となります。

1バイト送るのにこの長さはちょっと効率悪いですね。
本来8ビット送信毎にスレーブからちゃんと送れたのか応答Ackビットの値を受け取って
エラー対応を行う必要があるのですが、当面は未実装で行きます。
さて、I2Cアドレス+1バイト送信は良く使うので、
@dA041

とか短縮コマンドも用意したいと思います。
また、直前のI2Cアドレスに送信といった具合に
  @D41
短縮コマンドも用意したいと思います。

シリアル接続の相手がOFFになったりと異常対応も必要かもしれません。
取りあえず、ウオッチドックタイマを使ってセルフチェックして自己復旧(リセット)できる
ようにはしたいです。

今日はここまでとします。

関連記事
LPC810を使ったUART-I2Cブリッジの改良版が出来ました (16/07/21)
LPC810を使ったUART-I2Cブリッジの機能拡張の検討中 (16/07/13)
UART-I2Cブリッジの使い方 - リアルタイムクロックの調査 (15/05/17)
Wiiヌンチャクの動作確認しました (15/05/17)
LPC810を使ったUART-I2Cブリッジがやっと出来ました (15/04/15)
ATtiny13AでUART-I2Cブリッジを試作したが微妙 (15/03/29)
ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3 (15/03/26)
ATtiny13AでUART-I2Cブリッジの製作 - まずその準備2 (15/03/25) [この記事です]
ATtiny13AでUART-I2Cブリッジの製作 - まずその準備 (15/03/24)

公開・ダウンロードサイト
GitHub - LPC810 UART-I2Cブリッジモジュール

« ATtiny13AでUART-I2Cブリッジの製作 - まずその準備 | トップページ | ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3 »

arduino」カテゴリの記事

ATtiny13A」カテゴリの記事

AVR」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/61337211

この記事へのトラックバック一覧です: ATtiny13AでUART-I2Cブリッジの製作 - まずその準備2:

« ATtiny13AでUART-I2Cブリッジの製作 - まずその準備 | トップページ | ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3 »