
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
1つはポートが Open Drainなので Lowレベル時はインピーダンスが低いのでノイズに対しては CMOSと同様ですが、High時はプルアップ抵抗のインピーダンス(最低でも1KΩくらい)なのでノイズに弱いと言えます。
2つめはクロック同期といってもハード的に同期クロックを作って UARTみたいにその数倍でデーターをサンプリングしているわけでなく(私の知る範囲ですが..)、ノイズでもその立ち上がりでデーター読み込みをトリガしてしまうので、その点では弱いと言えるのではないでしょうか。
3つめはTXと ACKを同じデーター線で行うこと。高速になれば配線長やスレーブの数でミスが出やすくなると考えます。
No.3
- 回答日時:
No.1です。
>私が聞きたかったのは、デジタル的な事ではなく、アナログ的(ハード的)にI2Cがノイズに弱いと言う事なのです。
すみませんが、その「I2Cが弱い」って元のソース教えてもらえませんか?
それと、そもそもの「ノイズ」って何処に由来するものですか?
対圧試験として実測したことありますけど、
「RS-232c」ではなく、「UART」と「PCI」に「I2C」では平面基盤上に平行に配線しただけの同一条件化(通信電圧も同値)においての外来要因(誘導電流による通信ラインへの励起波)ではアナログ的なノイズ耐性について一切差はありませんよ?
「デジタル」で「L/H」=「0/1」といっても、コレは「アナログの値が境界値となる電圧よりも低いか高いか」を判断しているだけです。
つまり微細な電圧変動により論理は反転します。
そして、ノイズは通常正方向に働きますから、その原理上一番影響を受けやすいのがI2Cであるというだけです。
何回もご解答頂き有難う御座います。
SnowShowerがもとれられているような資料か分かりませんが、下記URLなどに書いてあったり、昔I2C通信のプログラムを作っていた時に誰から言われた記憶のみしかありません。
http://okwave.jp/qa/q4117659.html
http://mkubara.com/index.php/I2C
(あいまいで、中途半端な回答で申し訳御座いません)
UARTやSPIはCMOS出力で、I2CはNchオープンドレイン出力なので、アナログ動作としては違ってきます。特にI2Cに関してはプルアップ抵抗や寄生容量などによって波形自体も大きく変わってきます。
その影響でノイズ耐性に影響が出ているのではとは思っているのですが、その理由が分からず質問をさせて頂いておりました。
シュレッショルド(TTLレベル・CMOSレベル共に)については知っているつもりですが、それはノイズが乗った後の事だと思っています。
私が知りたいのはSnowShowerが最後に書かれている、「原理上一番影響を受けやすいのがI2C」の根拠の部分ではと思っています。
No.2
- 回答日時:
No.1です
>弱いというのは同じ単線シリアルのSPIやUARTと比べて(CMOSとオープンドレインと比べて)なぜ弱いのかが知りたいのです。
そちらの方ですが、勘違いしていたようです。
でも、書くことはNo.1とそんなに違いはありませんが。
I2Cは「SDA」と「SCL」の2線で通信を行いますが、他のシリアルと一番違うところは「SCL」の立下りを検出してから半クロックずれた位置から「SDA」の取得を行うところです。
この「半クロック」というのが曲者で、半クロック分のLを検出できない場合、データの取得を行いません。
UARTは送受信デバイスが所有するクロック、SPIはクロックラインのエッジ同期の為、I2Cよりノイズ特性は高くなります。
とはいっても、シングルラインである以上はそれほど違いはありませんが。
興味があれば、参考リンクもどうぞ。
参考URL:http://journal.mycom.co.jp/column/sopinion/index …
再度ご解答頂き有難う御座います。
ですが、まだ私が聞きたかった内容とずれているようです。
I2Cのデジタル処理ついてはある程度知っているつもりです。
マイコンの汎用ポートでI2Cを作り、バスフリーズ検知及びその対処まで出来る程度の知識はあります。
また、UARTやSPIに関してもノイズが乗ってしまったらデータ化けの可能性はI2Cと同じで、SPIに関してはクロックにデータが乗ってしまうとデータずれが起きるので、I2Cとあまり変わらないと思っております。
私が聞きたかったのは、デジタル的な事ではなく、アナログ的(ハード的)にI2Cがノイズに弱いと言う事なのです。
No.1
- 回答日時:
>ワイヤードORだからとかインピーダンスが高いからとかまでは書いてあったのですが
インピーダンスがどうとか以前に「信号線が単線」だから。
すでに実用化されている「USB」「IEEE1394」「SATA」等の高速シリアル通信は全て「差動信号」を用いている。
これは、正規の信号線に対して論理を逆転させた信号を送る線を用意し通信を行う。
ノイズが影響を与える場合には一本ではなく近接している線全てに影響を与える為、仮にノイズが混入しても論理反転している信号を反転して比較すればノイズ成分は簡単に除去できる。
しかしながら、単線ではノイズが混入した場合、チェックサムデータに影響を受ければ信号を復元することができなくなってしまう。
ご解答頂き有難う御座います。
私の質問の仕方が悪かったです。
弱いというのは同じ単線シリアルのSPIやUARTと比べて(CMOSとオープンドレインと比べて)なぜ弱いのかが知りたいのです。
こういった理由からノイズが乗りやすいとか、こういった理由からノイズが乗るとICの破壊が起きやすいなどそう言った事が知りたいと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
教えて!gooグレードポイントがdポイントに変わります!
dアカウント連携を行っていただくと、グレードに応じて「dポイント」が進呈されるようになります。
-
PICのSPI通信(ハード)
その他(自然科学)
-
ロジックIC同士の接続、ダンピング抵抗の必要性
物理学
-
基板の内層配線の浮遊容量について教えてください。
工学
-
4
電源電圧はなぜ3.3Vなのか?
その他(教育・科学・学問)
-
5
オペアンプに使用するパスコンは何故0.1μFなのでしょう?
その他(自然科学)
-
6
UARTを直接つないでもよい?
その他(コンピューター・テクノロジー)
-
7
電気回路のGNDとマイナスについて
その他(自然科学)
-
8
「消費電力」と「消費電流」について
その他(パソコン・周辺機器)
-
9
同一電圧値、異なる電源供給源でのGND処理
物理学
-
10
VccとVddの違い
その他(教育・科学・学問)
-
11
BCDについて
C言語・C++・C#
-
12
なぜ、プローブを「10×」に設定するのか?
その他(パソコン・周辺機器)
-
13
複数桁10進数の*桁目だけを抽出したい
C言語・C++・C#
-
14
テスターでダイオードの方向を測定
テレビ
-
15
PICでのI2C通信でのマスタ、スレーブの切り替え
その他(プログラミング・Web制作)
-
16
水晶振動子と通信誤差について
その他(コンピューター・テクノロジー)
-
17
teratrermを使ったデータの送信について
Windows 10
-
18
C# シリアル通信でデータ受信時の欠損について
C言語・C++・C#
-
19
RS485コントローラーについて
その他(ホビー)
-
20
プルアップ抵抗値の決め方について
工学
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ホワイトノイズはガウス分布?
-
5
寄生容量を減らすための方法
-
6
電源コードはループ状に巻くと...
-
7
プルアップ/プルダウン抵抗値が...
-
8
なぜ差動増幅器が用いられるか。
-
9
ノイズを減らしたい!
-
10
微分はノイズに弱い、積分はノ...
-
11
計装ケーブルの接地について
-
12
勝手につくタッチライト、しか...
-
13
積算回数とS/N比
-
14
センサアンプについて
-
15
フェライトコアの仕組み
-
16
DifferentialとSingle Ended
-
17
TTL論理素子の雑音余裕とはなん...
-
18
PICのSPI通信(ハード)
-
19
オシロスコープノイズの考察
-
20
1ビットオーディオの原理と利点は?
おすすめ情報
公式facebook
公式twitter