COM-I2C変換器(その1)
最近はチョッとした周辺機器はI2C互換のI/Fを持っていて設定等を行うのが流行らしい。I2Cはオシロスコープで端子を当たっただけではどちらが主導権を握っているか分からない。何せ、I2CのバスはワイヤードANDの構成をとっているのでどっちがLowを出しているのか外見からは判断できないのである。
また、開発の規模が大きくなればなるほど、ソフトウェア要因やその他もろもろで、ちゃんと設定しているつもりが設定できていない事が多々ある。こんな時、デバッグ中のある地点で動作を止めて、それぞれのデバイスにちゃんと値が設定できているかデバイスにアクセスできたら良いなと思ったのが本変換器を作成しようと思った切っ掛けなのです。
そんなのは制御しているマイコンに同様のデバッグ機能を実装すればいい話の様な気になるが、実際問題、そのマイコンの挙動がおかしかったらそのデバッグ機能自体の信憑性が疑わしくなる。こんな時、テストピンにチョイと付けてチョイとアクセスできる器具があれば便利という訳です。
さて、その構成ですが、最近のPCにはRS-232Cのコネクタなんか付いていなく、USB→RS-232C変換を使っている。なので、そこからI2Cに変換できれば良いかなと思っていたのだが、色々と考えれば考えるほど欲が出てきて、今の所、下図の構成に落ち着いています。

治具への要求(自分が要求しているのだが…)より、速度は全然いらなく、100kHzを下回っている方が返って対応デバイスが増えて良い。なので、RS-232C(UART)からI2Cへの変換は ATtiny4313 のUARTと汎用ポートを使用しようかと思います。
欲を出したのが、次の2点です。
1. デバイス側は3.3V以下にも対応する事。
2. パソコンとは完全に絶縁したい。
1を実現するにはPCA9517というチップがありました。また、2を実現するにはADuM1250というチップがありました。本当はADuM1250が低電圧に対応していてくれれば良かったのですが…。なので途中に Vbatt というフローティング電圧を用意する羽目になりました。USBからの電源が使えれば一番良かったのですが、欲の2に引っかかります。今の所、この部分の電源は電池を考えています。消費電力も少ないので電池でも取り替えをほとんどする機会はないとの考えです。
また、開発の規模が大きくなればなるほど、ソフトウェア要因やその他もろもろで、ちゃんと設定しているつもりが設定できていない事が多々ある。こんな時、デバッグ中のある地点で動作を止めて、それぞれのデバイスにちゃんと値が設定できているかデバイスにアクセスできたら良いなと思ったのが本変換器を作成しようと思った切っ掛けなのです。
そんなのは制御しているマイコンに同様のデバッグ機能を実装すればいい話の様な気になるが、実際問題、そのマイコンの挙動がおかしかったらそのデバッグ機能自体の信憑性が疑わしくなる。こんな時、テストピンにチョイと付けてチョイとアクセスできる器具があれば便利という訳です。
さて、その構成ですが、最近のPCにはRS-232Cのコネクタなんか付いていなく、USB→RS-232C変換を使っている。なので、そこからI2Cに変換できれば良いかなと思っていたのだが、色々と考えれば考えるほど欲が出てきて、今の所、下図の構成に落ち着いています。

治具への要求(自分が要求しているのだが…)より、速度は全然いらなく、100kHzを下回っている方が返って対応デバイスが増えて良い。なので、RS-232C(UART)からI2Cへの変換は ATtiny4313 のUARTと汎用ポートを使用しようかと思います。
欲を出したのが、次の2点です。
1. デバイス側は3.3V以下にも対応する事。
2. パソコンとは完全に絶縁したい。
1を実現するにはPCA9517というチップがありました。また、2を実現するにはADuM1250というチップがありました。本当はADuM1250が低電圧に対応していてくれれば良かったのですが…。なので途中に Vbatt というフローティング電圧を用意する羽目になりました。USBからの電源が使えれば一番良かったのですが、欲の2に引っかかります。今の所、この部分の電源は電池を考えています。消費電力も少ないので電池でも取り替えをほとんどする機会はないとの考えです。
スポンサーサイト