ATtiny13AでUART-I2Cブリッジを試作したが微妙
前回の続きです。
取りあえず、ATtiny13AにUART-I2Cブリッジを実装しました。
I2C接続LCDキャラクタ表示器にTeraTermでI2CコマンドをATtiny13Aに送ると
一応、ちゃんとコマンドを認識して文字が表示出来ました。
ただし、非常に微妙です。
問題点等
・シリアル送信時に1バイト毎に2msecウェイトをかけないと
受信データを取りこぼしてしまいます。
メモリが足らないのでバッファリングやエラー処理が実装できません。
2つの通信を同時に扱うのにSRAM 64バイトはちょっと辛かったです。
・I2Cがちょっと遅い。シリアルで115200出ない。
なんか異常に遅いです。
まあ、今回は命令文を構想が練れたので良いとしましょう。
コマンドの形式前回からちょっと変更しました。
シリアル通信からI2C制御コマンドは次の通りです。
@a[C] I2Cアドレス送信(スタートビットも送信,スレーブからack読み取りも行う)
@w[C] 1バイト送信(スレーブからack読み取りも行う)
@r[A] 1バイト受信(スレーブにack送信も行う)
@e 通信終了(ストップビット送信)
多分、これでI2C接続デバイスのの多くが制御ができると思います。
マクロ命令(上記の命令を組み合わせている)
@c[addr][cmd] コマンド送信
@d[addr][data] 1バイトデータ送信
さて、どうしましょうかね。
ATtiny13Aでこれ以上頑張っても、ちょっと無理そうです。
次はLPC810で実装しようと思います。
関連記事
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ブリッジの製作 - まずその準備3 | トップページ | LPC810始めました »
「arduino」カテゴリの記事
- Arduino IDE+Arduino STM32環境で指定と異なるgccが使われてしまう(2025.01.23)
- Zorin OSでArduino Uno互換機(CH340)が認識しない(2025.01.19)
- Arduino IDE 2.3.4でArduino STM32を利用する(2025.01.12)
- Arduino用 SKK日本語変換ライブラリの開発 その1(2024.12.28)
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
「AVR」カテゴリの記事
- NeoPixel(WS2812B)の制御 その5(2024.09.15)
- Arduino用SJIS漢字フォントライブラリ SDカード版を作成しました(2018.10.30)
- ATtiny13AでI2C接続キャラクタLCDを利用する(4)(2018.04.16)
- ATtiny13Aで赤外線リモコン受信センサーを使う(2)(2018.04.15)
- ATtiny13AでHC-SR04を使った距離計測(2018.04.14)
「ATtiny13A」カテゴリの記事
- ATtiny13AでI2C接続キャラクタLCDを利用する(4)(2018.04.16)
- ATtiny13Aで赤外線リモコン受信センサーを使う(2)(2018.04.15)
- ATtiny13AでHC-SR04を使った距離計測(2018.04.14)
- Arduino 1.8.5環境でATtiny13Aを利用する(2018.04.14)
- Arduino IDEを使ったATtiny13用スケッチの開発について(2016.08.30)
« ATtiny13AでUART-I2Cブリッジの製作 - まずその準備3 | トップページ | LPC810始めました »
コメント