タグ付けされた質問 「i2c」

I²C(Inter-Integrated Circuit)は、同じPCB上のIC間の通信、つまり短距離通信用にPhilips(現在のNXP)が発明したマルチドロップシリアルバスです。

8
SPIまたはI2Cを検討する際のトレードオフ?
SPIまたはI2Cインターフェイスを使用する場合、どのようなトレードオフを考慮する必要がありますか? この加速度計/ジャイロブレイクアウトボードには、各インターフェイスに1つずつ、2つのモデルがあります。どちらかをArduinoプロジェクトに統合する方が簡単でしょうか? http://www.sparkfun.com/products/11028
117 spi  i2c 

8
I2Cプルアップ抵抗の正しい抵抗値はありますか?
24LC256 EEPROM のデータシートには、次のことが記載されています。 SDAバスには、VCCへのプルアップ抵抗が必要です(通常、100 kHzでは10kΩ、400 kHzおよび1 MHzでは2kΩ)。 私は、kΩ値の抵抗があればうまくいくと思っていました(そして、私のEEPROMは、10kΩの抵抗で異なる周波数でうまく動作するようです)。 私の質問は: プルアップ抵抗の正しい値はありますか? この値を決定する法律/規則はありますか? 異なる抵抗値はI²Cデータバスにどのように影響しますか?
72 resistors  i2c  pullup 

8
I2Cアドレスの衝突を解決する方法は?
複数のI2Cスレーブデバイスをすべて同じピンセットのマイクロコントローラーに接続したいのですが、I2Cデバイスはすべて同じアドレスを共有しています。アドレスはハードウェアで固定されています。 同じアドレスで複数のデバイスを接続する方法はありますか? おそらく、構成可能なアドレスを持つ各デバイスを備えた何らかの種類のI2Cアドレス変換モジュールなので、各デバイスに独自のアドレスを割り当てることができます。
39 serial  i2c 

5
I2Cバスの最大長は?
2つのI2Cデバイスの接続に使用できるケーブルの最大長はどれくらいですか(I2Cマスター-> I2Cスレーブ)? はい、I2Cは実際にボード内通信用に設計されていることを知っています。デモをサポートするために、複数のI2Cスレーブに共通のI2Cバスを使用するという「設計目標」を課されました。 わかりやすくするために、標準のI2Cバスレートを100 kHzと仮定します。
38 i2c 

10
SPIまたはI2C:長いバスに使用するもの
私は、バスを介して互いに通信する複数のAVRを必要とするプロジェクトを考えています。それらは6フィートも離れているでしょう。 I2CとSPIの両方がバスを介して一連のマイクロを通信できるように思えますが、それがどれほど長くなるかについては何も話していません。誰かがこれらのプロトコルを数フィートの距離で接続しようとしましたか?

4
I2C 3.3から5.0 Vへの変換
3.3VI 2 Cデバイスを5V Arduino に接続しようとしています。 SCLラインに問題はありません。単純な分圧器を使用できますが、双方向であるためSDAラインに問題があります。 私はこれをどのように扱うのか全く分かりません。私は、スレーブ入力側に分圧器を備え、マスター入力に余分なものを備えないダイオードのペアを追加する必要があります。 他の解決策はありますか?

7
I2Cラインのプルアップ抵抗を省略するとどうなりますか?
たった今、I 2 Cデータとクロックライン(SDAとSCL)にプルアップ抵抗が必要であることに気付きました。 さて、以下の回路図に従って、DS1307 RTC(データシートを参照)を使用していくつかのクロックを作成しました。両方のプルアップ抵抗が省略されていることに注意してください。 どちらの時計も正常に動作し、そのうちの1つは現在3か月以上動作しています。そんなことがあるものか?いずれにせよ、私は知りたいと思いました: I 2 Cプルアップが省略されるとどうなりますか? プルアップがないと、ボードのこれら2つのICのいずれかが損傷する可能性がありますか? 私が提供した回路図のようにATmega328PをDS1307 RTCに接続する私の特定のケースに対処する答えを求めていますが、質問が広すぎない場合、プルアップが一般的に省略されたときに何が起こるかを知ることは役立ちます、つまり、I 2 C操作の他のシナリオで。 PS。ネットで検索して答えを見つけましたが、プルアップの寸法に関する記事を見つけることができました。 更新:私はArduino IDE 1.03を使用しており、ファームウェアはDS1307RTC Arduino libを使用してRTCを処理します(その機能RTC.read()とを通じてRTC.write())。そのライブラリはWire.h、RTCとの対話に使用されます。 更新2:以下は、外部プルアップなしでI 2 Cがどのように動作するかを説明するために撮影した一連のスコープショットです。 更新3(I 2 Cプルアップを追加した後):適切な(4K7)プルアップ抵抗を(同じボードの)I 2 Cラインに追加した後に撮影した別のスコープショットです。立ち上がり時間は約5 µsから290 nsに低下しました。I 2 Cは今ではずっと幸せです。
33 atmega  i2c  pullup  rtc 

4
複数のi2cインターフェイスデバイスをArduinoの単一ピンA4(SDA)およびA5(SCL)に接続する方法
私の小さなプロジェクトにリアルタイムクロックモジュールを追加したいです。既存のi2c 2x16 LCDモジュールに時刻と日付の両方を表示したい。 i2cインターフェースリアルタイムクロックモジュールと2x16 LCDモジュールは、Arduino Unoで同じピンA4(SDA)とA5(SCL)を使用します。ネット上で数時間検索した後、i2cバスは実際に多くのシリアルデバイスを使用できます。これは、各デバイスに固有のアドレスがあるため可能です。 私の質問は、2つのi2cインターフェイスデバイスを物理的に単一のA4およびA5に配線する方法ですか?ありがとう。
31 arduino  i2c 

3
I2CとTWIの違いは何ですか?
I2CとTWIインターフェースの違いは何ですか?ウィキペディアによると、TWIはI2Cのバリアントです。他のいくつかの情報源は、名前だけが異なると言います...
26 i2c 

5
2mケーブルでI2Cを使用できますか?
現在のプロジェクトでは、I2Cを介してマイクロコントローラーといくつかのセンサー間で通信する必要があります。それらの1つは温度センサーで、マイクロコントローラーから約2メートル離れた場所に配置する必要があります。別のプロトコルを選択できません(センサーは、指定されたコネクタ/ピン/プロトコルを持つモジュール上にあります)。 この構成で通信できると思いますか?可能または不可能を保証するために、どのような情報を調べる必要がありますか?何かアドバイスはありますか? PCB以外のICと通信するのは初めてです。

6
シリアルプロトコルの区切り/同期技術
非同期シリアル通信は今日でも電子機器に広く普及しているため、私たちの多くはそのような質問に時々出くわしたと思います。電子デバイスDと、PCシリアル回線(RS-232または同様のもの)で接続され、継続的に情報を交換する必要があるコンピューターを検討してください。すなわち、PCそれぞれコマンドフレームを送信しており、それぞれステータスレポート/テレメトリーフレームで応答しています(レポートはリクエストへの応答として、または独立して送信できます-ここでは実際には関係ありません)。通信フレームには、任意のバイナリデータを含めることができます。通信フレームが固定長パケットであると仮定します。X msDY ms 問題: プロトコルは継続的であるため、受信側は同期を失ったり、進行中の送信フレームの途中で「結合」したりする可能性があるため、フレームの開始(SOF)がどこにあるかはわかりません。Aデータは、SOFに対する相対的な位置に基づいて異なる意味を持ち、受信したデータは破損する可能性があり、永久に破損する可能性があります。 必要なソリューション 短い回復時間でSOFを検出するための信頼性の高い区切り/同期スキーム(つまり、再同期に1フレーム以上かかることはありません)。 私が知っている(そして使用している)既存のテクニック: 1)ヘッダー/チェックサム -事前定義されたバイト値としてのSOF。フレームの最後のチェックサム。 長所:シンプル。 短所:信頼できません。不明な回復時間。 2)バイトスタッフィング: 長所:信頼性が高く高速な回復で、どのハードウェアでも使用可能 短所:固定サイズのフレームベースの通信には適していません 3)9番目のビットマーキング -各バイトに追加ビットを追加します。SOFでマークされたSOF 1とデータバイトには次のマークが付けられ0ます。 長所:信頼性が高く、高速な回復 短所:ハードウェアサポートが必要です。ほとんどのPCハードウェアおよびソフトウェアでは直接サポートされていません。 4)8番目のビットマーキング -上記の一種のエミュレーション。9番目ではなく8番目のビットを使用し、各データワードに7ビットのみを残します。 長所:信頼性の高い高速リカバリは、どのハードウェアでも使用できます。 短所:従来の8ビット表現と7ビット表現の間のエンコード/デコードスキームが必要です。やや無駄だ。 5)タイムアウトベース -定義されたアイドル時間の後に来る最初のバイトとしてSOFを想定します。 長所:データオーバーヘッドなし、シンプル。 短所:それほど信頼できません。Windows PCなどのタイミングの悪いシステムではうまく動作しません。潜在的なスループットのオーバーヘッド。 質問: 問題に対処するために存在する他の可能な技術/解決策は何ですか?上記のリストで簡単に回避できる短所を指摘できますか?システムプロトコルをどのように設計しますか(または設計しますか)?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

7
I2Cがプルダウン抵抗ではなくプルアップ抵抗で動作するように設計されているのはなぜですか?
I2Cでは、SCLおよびSDAラインはプルアップ抵抗を使用し、ピンドライバーはピンをグランドに駆動できるオープンコレクターNPNデバイスであることを理解しています。これにより、同じバスを複数のスレーブと共有できるようになり、2つ以上のスレーブが誤って同時にバスをドライブしようとしてもシステムに損傷を与えないというI2Cの利点が得られます。 ただし、これは、SDAおよびSCLラインでPNPオープンドレインドライバーとプルダウン抵抗を使用して行うこともできます。これにより、クロックストレッチングやマルチマスター調停のようなことも実現できます。 I2Cプロトコルの現在の実装は、上記の提案された代替実装よりも利点がありますか?

3
製造後にPCB設計の間違いを修正する方法は?
ここで16歳の初心者。 私のプロジェクトは、PCBをシャーシ、充電回路を備えたリポバッテリー、赤外線センサーを備えたミニロボットです。I2C加速度計とジャイロスコープにLSM6DS33TRを使用し、データシートによると10Kの「プルアップ抵抗器」とマイクロコントローラーとしてATMEGA328Pを使用しました。 独自の産業用PCBボードを設計して製造するのは初めてです。JLCPCBでPCBを製造しました。ファイルを送信して配信を待った後、デザインの間違いを見つけたとき。I2Cバスのプルアップ抵抗は3V3にプルアップする必要があるため、正しく配線していないことに気付きました。 私の質問は: すでに製造されているPCBに電圧を供給するためにSDAおよびSCLプルアップを行うために、接続をリダイレクトまたは変更するにはどうすればよいですか? 設計を変更して別のPCBを製造する必要がありますか?(壊れた):) これが、私が作成したプロジェクトの全体図です:(i2c線は丸で囲まれています) 最上層:(GNDカッパープレーン) 最下層:(3V3銅プレーン)

6
なぜ複数のI²Cポートが必要なのですか?
I²Cプロトコルでは、理論上、7ビットアドレッシングにより、最大127個のデバイスをマスターに接続できます。これは非常に大きいので、低価格のマイクロコントローラー(例:このPIC24)に複数のI²Cポートがあるのはなぜですか?なぜ必要なのですか?
19 i2c 

7
あるシステムから別のシステムへのデータ転送の一般的なプロトコル?
あるシステムから別のシステムに情報を送信するための一般的なプロトコルは何ですか?たとえば、ある期間にわたってマイクロコントローラから収集した情報があり、別のマイクロコントローラに送信したいとします。SPIおよびI2Cインターフェイスについて聞いたことがありますが、あるメソッドを別のメソッドよりも使用する場合と、それをどのように実装するかは不明です。SPIおよびI2C以外の一般的な方法はありますか?実装プロセスは異なるマイクロコントローラーで似ていますか?基本的に、受信側のマイクロコントローラーで行っているデータのバイトを解析していますか?
18 i2c  spi  data 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.