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

SPIは、クロック(SCLK)、データ入力(MISO)、およびデータ出力(MOSI)を備えた低レベル3または4線シリアルバスインターフェイスです。4番目のワイヤはスレーブ選択で、バス上のデバイスを一意に選択します。この信号は通常アクティブローです。スレーブ選択、チップ選択、CS#、SS#は通常、同じ機能を表します。ただし、必ずデータシートを確認してください。SPIバスは、正式な仕様を欠いている*デファクト*標準です。

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

5
マイクロコントローラのプログラミング:JTAG、SPI、USB Oh my !?
マイクロコントローラに関して、それらをプログラムする方法がいくつかあることに気付きました。ArduinoはUSBを介してプログラムできるので、私はUSBに精通しています。 JTAGまたはSPIインターフェースとは何ですか? 最終的に、これらのインターフェイスは新しい命令でチップをフラッシュする手段を提供することを知っていますが、どのように違いますか?あるものに別の利点があるのでしょうか?

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

13
タイミング図を作成するソフトウェア
私の職業生活では、プロトコルのタイミング図(UART、SPIなど)を作成する必要がある場合があります。しかし、利用可能な優れたプログラムが見つかりません。これにはどのプログラムが推奨されますか、またそれらを使用した経験は何ですか?

3
FRAMの欠点は何ですか?
最近MSP430 Launchpadを入手してから、さまざまなマイクロコントローラープロジェクトで遊んでいます。残念ながら、MSP430G2553のRAMは512バイトしかないため、複雑なことを行うには外部ストレージが必要です。 SPIとI2C SRAMおよびEEPROMチップを見て、FRAMを発見しました。 それは完璧に見えます。大きいサイズ(上記にリンクされているものは2Mbパーツ)、低電力、バイトアドレス指定およびプログラム可能、不揮発性、摩耗の問題なし、明示的に何も消去する必要がなく、実際にシリアルSRAMよりも安価です(マイクロチップのパーツと比較して)。 実際、それは完璧すぎるように見え、それが私を疑わしくさせます。このようなものがシリアルSRAMやフラッシュEEPROMよりもはるかに優れている場合、なぜそれはどこにもないのですか?SRAMを使い続けるべきですか、それともFRAMは実験に適した選択肢ですか?


2
EMIのためのSPIの代替
私は現在、長さ約5cmのワイヤを介して2MHz SPIを使用して7つのADCと通信するMCUを含むプラスチック製の筐体で構成されるシステムを作成しています。 問題は、EMIが心配だということです。私が読んだすべてのことは、接地された金属シャーシのPCBに安全でないあらゆる種類のデジタル信号は、EMIテストに合格するには放射しすぎることを示唆しています。これにはI2Cも含まれると思います。 これはEMIテストに失敗する可能性がありますか?これについて何ができますか? 「異なるバス/ ADCを使用する」などのあらゆる種類の答えを探していますが、「すべてのADCを同じPCBに配置する」または「すべてを金属の箱に入れる」などの機械的な変更を含む回答は含みません。 。特に、差動バスを含むSPIに代わる低EMIに興味があります。 ここに、アプリケーションに関するいくつかの関連情報があります。さらに詳しく知る必要がある場合はお知らせください。 6本のワイヤが各ADCボードに接続されます(電源、GND、CS、CLK、MOSI、MISO)。 ADCは現在MCP3208(Microchip 8チャンネル、12ビット)です 私は必死にスペースが限られたアプリケーションで作業しているので、ワイヤにシールドを追加することは実際にはオプションではありません。 何らかの種類の差動バス(1ペアまたは2ペアのみ)を使用すると便利ですが、差動通信を備えたADCはマルチMSPS LVDSタイプのみと思われます。 CANはおそらく遅すぎるでしょうし、そのようなスペースに制約のあるアプリケーションにとってはかさばるものでもあります。 サンプルレート:すべてのチャンネルを1kHzでサンプリングする必要があります。 追加: スペースの制約を理解するために: ここで、ADC PCBの1つを見ることができます。これは実際にはMCP3208ではなくMCP3202を持っていますが、互換性があります(ish)。TSSOP 8パッケージに含まれています。PCBは11mm x 13mmです。黒いケーブルは直径2mmです。ご覧のとおり、コネクタ用のスペースさえありません。配線はPCBに直接ハンダ付けされてからポッティングされます。コネクタの不足は、PCBスペースの制約ではなく、周囲のスペースの制約によるものです。
24 spi  wire  emc 

4
短距離基板間通信
私のMCUは、約4つのデバイスでSPIバスを実行しています。このバスもボード外に拡張したいと思います。つまり、いくつかのPCBを「メイン」ボードに接続し、機能を拡張したいと思います。「パッド間の距離」は次のとおりです。 メインボードのトレース長+ケーブル長+拡張ボードのトレース長 3 "+ 6" + 3 "=約12" 私の経験では、リボンケーブルを介したこの距離での立ち上がり時間が約7 nsの1 MHzの信号でさえ、1 Vを超えてオーバーシュートしていました(ただし、過度のリンギングはありませんでした)。ボードには同じ電源から電力が供給されます。 注:立ち上がり時間はここでは確認できませんが、過度のオーバーシュートは確認できます-これは3.3V信号です。そして、はい、これはプローブからグランドまでの非常に短いワイヤで適切に測定されました。このサイトでよく推奨されるように。私はそれが測定エラーだとは思わない。 システムを4 MHzで動作させたいのですが、2 MHzでも問題ありません。最大 接続したいボードの数は約4で、これによりSPIバスが拡張され、約12のデバイスができます。私はすでにこのような機能を持っているので、これをコードで管理するのはそれほど難しいとは思わない 追加のスレーブ選択ラインを持つことも問題ではありません。 しかし、私の懸念は、あるボードから別のボードにSPIデータを送信する方法です。ストレートSPIを送信するか、一方をLVDSに変換し、もう一方をSPIに戻す必要がありますか?

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 

5
デュアル/クアッドI / Oとは何ですか?
SPI Flashデータシートを読んで、「デュアルI / O」と「クアッドI / O」の概念に出会いました。最初は「デュアルI / O」は「全二重」と同義語だと思っていましたが、「クアッドI / O」とは何ですか? デュアルI / OとクアッドI / Oとは何ですか?デュプレックスとフルデュプレックスをどのように比較しますか?
23 spi  flash 

5
SPIバス終端の考慮事項
そこで、前回の質問で、ボード間通信のために短距離でSPIバスを使用することについて質問しました。終端抵抗を試すことをお勧めしました。目的地の近くに抵抗器を配置し(正確にはありませんが、1 cmの距離があります)、接地しました[これは終端抵抗器のフットプリントのないボードなので、即興で作らなければなりませんでした。TQFPであり、繊細なピンがあるため、抵抗をデバイスにはんだ付けできませんでした。] いくつかの基本的なテストから、1Kの抵抗でオーバーシュートがほとんど減少しないことがわかりました。470オームと180オームの方がうまく機能しました。低いほど、うまくいきました。180オームでは、オーバーシュートは約1ボルトまたはそれより少し低くなりました。残念ながら、現在のMCUはMCUが処理できる量を超えているため、それ以上のことはできません。ボードの現在のリビジョンで、330オームの抵抗を直列に使用することで問題を修正しました。これにより、オーバーシュートは3.7 Vになり、立ち上がり時間は10または11 nsでした。しかし、私は次のリビジョンで「適切な」ソリューションが本当に欲しいです。私の周波数要件は同じままです:2 MHzですが、4 MHzを好むでしょう。 だから私はここで尋ねるべきだと感じました:ボードの次の改訂では、ラインに強烈なバッファを置くべきですか?バッファを見つけることは実際には問題ではありませんが、消費電流は大幅に増加します。SPIには終端が必要な8つのデバイスがあり、常にアクティブな3つのラインがそれぞれに行きます。たとえば、SCKは8つのデバイスすべてに送信されます。各デバイスには、たとえば100オームの終端抵抗があります。つまり、12 * 3.3 / 100 = 390 mAの電流が流れます! それで、ここで最高の頼み事は何ですか?ショットキーダイオードをクランプとして使用して「アクティブターミネーション」を行う必要がありますか? 編集:ラインインピーダンスについて:前述したように、意図は4つの外部ボードを接続することです。パッド間の距離はすべて同じです(12インチ)。ただし、MCUと同じボード上にもデバイスがありますが、これらは終端を必要としません-長さは約1インチ(またはそれ以下)であり、オーバーシュートはほとんどありません(300またはmV)。外部ボードに向かうトレースは、同じ長さと幅の粗いものです。ボードの2番目のレイヤーは、切れ目のないグランドプレーンです。
22 spi  termination 


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

2
SPIは中断しても安全ですか?
ファームウェア内からmicroSDカードに書き込んでいますが、これは優先度が最も低いタスクなので、読み取り/書き込み中に他のタスクによって中断される可能性があります。 ここで、UARTを使用してこのmicroSDカードと通信したとします。読み取り中の問題は、ハードウェアRX FIFOがオーバーフローすることであるため、努力できる最大遅延は(FIFOサイズ×バイト/秒)であり、書き込み中は問題はありません。次の文字を送信します。 SPIを使用している今、これはどのように機能しますか?書き込みの場合は問題ではなく、読み取りの場合はSPI FIFOサイズに依存する状況と同じですか?

2
SPI回線をどのように配線する必要がありますか?
回路図では、4つのSPIデバイスを接続します。SPIを最大8MHzで動作させます。ダンピング抵抗器の取り付けを心配する必要がありますか?ソース終端抵抗?それらを星の形で、または連続してルーティングする必要がありますか?多数のビアを追加すると信号の整合性が損なわれますか? また、これらのデバイスは互いに25mm以内で非常に接近していることを付け加える必要があります。
17 spi  pcb-design 

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