◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/denki/1618646167/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1774ワット発電中さん2021/04/17(土) 16:56:07.57ID:oG0Sw79D
どちくしょうが!、シリアル通信なめんなよゴルァ
線繋がってたら動くとでも思ってんのか!!
規格、伝送方式、符号化、基板設計、
静電対策、伝送線、XT、EMC対策
考える事ぁあ山ほどあんだよ!!!と、合コンでブチ切れたい

尚、「センサーはI2Cだ!」とのたまう奴は来なくていいからw

※前スレ
【古い】シリアル通信【最新】
http://2chb.net/r/denki/1112199189/

2774ワット発電中さん2021/04/17(土) 17:02:07.67ID:dwF4MmPD
4-20mAだけが異質だな…

3774ワット発電中さん2021/04/17(土) 17:04:53.42ID:oG0Sw79D
ここんとこオシロスレで聞いて1-Wireを調べてた。
ちょっと遅いが伝送距離500mとか、電力も送れるとか、デバイスを沢山ぶら下げられるとか、それで線2本とか、規格としては中々良いね。

でもなぁ〜、Maxim社がライセンスをガチガチにしている為か、ほぼMaxim社しかデバイスを作ってない。Microchip社がマスター側を少しやっている位。
で、Maxim社だから高い高い。コストメリットが無いなぁ〜

4774ワット発電中さん2021/04/17(土) 17:11:16.47ID:oG0Sw79D
>>2
おわっ! 宣伝せずにしばらく俺様用チラ裏スレにしようと思っていたのに、見つけるの早!!

4-20mAにはHART通信があるからね。
低速で変なシリアル通信規格に味付けしてみたくてさ

5774ワット発電中さん2021/04/17(土) 17:25:08.22ID:dwF4MmPD
>>4
なるほど。

センサーの校正値とかにTEDSも含まれそう。
そういやVGAケーブルを介したモニタのプラグアンドプレイはどんな通信をしてるんだろうって思ったらI2Cっぽい。
基板外で使われるI2Cの例になるかな。

6774ワット発電中さん2021/04/17(土) 17:49:27.71ID:jswc15C5
>>5
DVI, HDMI, DisplayPortもI2Cで通信してるよ。
オシロスレッドのI2Cキッズがドヤ顔するでしょうね。

7774ワット発電中さん2021/04/17(土) 23:15:50.54ID:oG0Sw79D
>>5
TEDSは知らんかった。校正とかの記録があるから、比較的高価なセンサーで使うのかな。
いきなり新しい事を知ったよ thx

ディスプレイにI2Cは使われてるね。EDIDを読み取る為に。
でも中身的にはディスプレイ側にEEPROMがぶら下がっているだけ。電源もPC側が供給してる。

ただしDisplayPortはもっと進化しているよ。
DVIやHDMIとの上位互換性の為にI2CモードもあるがDisplayPort時にはLVDS双方向モードになり、EDIDは勿論、レーン構成のやり取りや信号品質のやり取りもしているんだ >>6

8774ワット発電中さん2021/04/17(土) 23:18:06.03ID:oG0Sw79D
>>6
奴がここに来ませんようにw
なにせまともな会話にならないからなぁ

9774ワット発電中さん2021/04/17(土) 23:38:31.35ID:oG0Sw79D
1-Wireの独りネタw >>3

1-Wireデバイスは高い。でも、1-Wire未対応チップでもこんな回路で1-Wireに接続出来るとか。
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
面白いね、実に面白い!

ならさ、デバイス側もMCUにすればADC, DAC, GPIO, I2Cに変換出来て色々と接続出来るね。
安価なMCUは50円位だし、ちっこいMCUなら1-Wire経由の電源で十分だし、Maxim社のラインナップの制約を受けなくなるし!

で、俺がこれを思い付いたって事は誰か先人が既にやっているに違いない(笑)
MCU用のオープンソースがどっかに落ちてるんじゃね?

10774ワット発電中さん2021/04/18(日) 07:47:26.62ID:I8nUAnHb
オシロスレでも聞いて誘導されてきたんだが、相談に乗ってほしい。
STM32F446nucleoボードと秋月のBMX055をI2Cで接続しているんだが、エラーが多発するんだ。
波形はこんな感じで、リンギングが原因だと思う。
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚

リンギング対策で
・ダンピング抵抗50〜500Ωまで
・チップフェライトビーズ120〜600Ωまで
・パイ型フィルタ(https://www.murata.com/ja-jp/products/emc/emifil/library/pickup/sensor)
を試したんだが、一番ましなチップフェライトビーズ120Ωでも上の画像程度。
ボードのピンからBMX055までの配線長は10p以下。
通信速度は400kbpsで100kbpsだと速度的に厳しいのでここは妥協できない。

どうすればエラーが出ないレベルまで下げられるかな?

11774ワット発電中さん2021/04/18(日) 08:16:59.32ID:anbJfRZg
あ〜ぁ、建ててまだ24時間も経って無いのにバラされてしまったよorz

>>10
リンギングが原因では無いと思うな。気になるならダイオードクリップしてしまえw

でさ、I2Cはオープンドレインで接続する規格。つまり立ち上がりは抵抗による浮遊容量へのチャージ波形。つまりCR時定数の波形になる。
なのに立ち上がりでオーバーシュート、つまりSTM32のI2C駆動設定を間違えているよ。

12774ワット発電中さん2021/04/18(日) 10:34:03.95ID:kSMNlBcZ
たしかにオープンドレインには見えない波形。
プルアップ抵抗はどれぐらいですか?
あと、STM32のI2Cの初期設定はどんなになってるんだろう。

と思ったけど、なんか立ち上がりのはじめの部分(1.5Vまで上がるところ)の勾配が不思議。
単純にプッシュプルになってるならこうはならないような。

STM32とBMX055の間に電圧変換とかバッファとかは入ってないですね?

13774ワット発電中さん2021/04/18(日) 12:59:24.62ID:GQd10xQH
>>10
既出だけどジワジワ上がってる所が怪しい動き
データシート見たけど、型番は実際の所よく分からんかったけどボードにはブルアップ抵抗なくて、AVRの内部抵抗がデフォルトでは標準になってるはず
AVRは久しく触ってないけど、恐らく電源はUSBでしょ?
ならAVR側の電源は5Vで秋月(型番分からないから適当なの)の方は3.3Vだったから、そこが気になる
設定でプルアップ切ってなかったら切るべき
I2Cの立ち上がりはプルアップ抵抗とコンデンサで調整するのが基本
秋月の方は10kΩになってるぽいけどこれは大きすぎ2.2kくらいにしてみるべき(ここは適宜調整)

14774ワット発電中さん2021/04/18(日) 13:01:50.08ID:GQd10xQH
あぁSTM32か
5Vのくだりは忘れて下さい

15774ワット発電中さん2021/04/18(日) 13:07:15.87ID:GQd10xQH
立ち上がりは適度に鈍るようにしてあげてほしいけど、抵抗とコンデンサの定数はLTSPICEとかでシミュレーションしてから決めてください

16774ワット発電中さん2021/04/18(日) 13:13:08.68ID:GQd10xQH
秋月のは写真よく見るとプルアップのジャンパは未実装か
結局コンデンサが信号線とグランドの間に入ってないのが原因な気がする

17774ワット発電中さん2021/04/18(日) 13:19:42.18ID:CcWNjLTd
>>10
通信距離が10cm以下なら余計なfilterは要らないと思う
考えられる原因としては(確認するべきポイント)
・ センサーモジュールのジャンパ設定があってるかの確認
・ I2Cのプルアップ状況の確認(JP4~5,8含む)
・ センサモジュールのサンプリング速度と読み込みレートに問題が無いか
・ プログラム側に問題はないか

あと、信号のプロービング方法間違ってると思う
・ 2本ともGNDを正しく接続してるか
・ 1:1ではなく1:10を使用してるか

18774ワット発電中さん2021/04/18(日) 13:38:44.03ID:GQd10xQH
何でエラーになってるかの原因はクロック立ち下がりのリンギングにあると考えられる
これが1Vを超過してるのでBMX055の通信線のVIL 0.3VDDIOをオーバーしてるのは明らか
ここを確かめる場合もっとズームして重ね書きでトリガレベルを1.1以上(感覚では1.5〜2.0Vまで上がる時とがあるのでは)にして見つけられるはず、測定器次第だが

19774ワット発電中さん2021/04/18(日) 14:02:16.52ID:GQd10xQH
一般的にはダンピング抵抗が効くのはインピーダンスの不整合で発生してる場合なのでI2Cには効果はほとんどない
フェライトビーズのフィルタは10MHz超えて100MHzに掛けて効いてくるものが殆どで低速のI2Cとは相性が悪い
探せばある気はするけど選定も入手も価格も面倒くさいと思う

20774ワット発電中さん2021/04/18(日) 15:13:43.11ID:GQd10xQH
>>10
ついでに気になった特徴はSCLとSDAのハイ時の電圧の変動が同期してるでしょ
電源ラインも弱いか、プルアップ抵抗から嫌な回り込みしてる証拠かなと思う

21774ワット発電中さん2021/04/18(日) 15:13:49.89ID:mJJ3nHt9
>>12
> 立ち上がりのはじめの部分(1.5Vまで上がるところ)の勾配が不思議。
それ、不思議だよね。
どこかで見たような気もするけど、なんであぁなるんだろう?

22774ワット発電中さん2021/04/18(日) 15:25:51.72ID:CcWNjLTd
立ち上がりの波形の勾配は秋月のBMX055モジュールに
双方向電圧レベル変換IC(FXMA2102)が使われてる為だと思う
https://akizukidenshi.com/download/ds/fairchild/FX_FXMA2102.pdf
データシートの波形も似たような形状に思える

23774ワット発電中さん2021/04/18(日) 16:08:27.24ID:GQd10xQH
>>22
それか
パラ見して信号がが0.5Vccの閾値行ったらトリガ検知してdynamic driverが動くとか書いてあるから1.7Vまでリンギングが行ってたらそれが原因の一つで確定かな(他にもあるかは知らない)

24774ワット発電中さん2021/04/18(日) 16:15:57.65ID:mJJ3nHt9
>>22
FXMA2102とな?だからどこかで見たような波形なのかな。

話は外れるがFXMA2102はA側とB側の電位差が不要で、バス切断可能で、かつ安価。
ノイズ対策に便利でオススメ

25774ワット発電中さん2021/04/18(日) 16:35:37.20ID:kSMNlBcZ
測定ポイントによると思うけど、リンギングそのものはプローブの当て方でも変わるしなあ。

エラーが多発するというのは、ちゃんとデータを取れていることもあるのかな?
400kは譲れない、ということだけど、100kなら安定して取れているのかな?

26774ワット発電中さん2021/04/18(日) 16:47:33.01ID:GQd10xQH
クロック外してデータだけ見てリンギング出てればその可能性は排除できる
I2Cはハイは抵抗から出してで、ローはトランジスタで吸うから電流レベルが全然違うのが特徴的で例えばグランドリードによるリンギングはこういう等方的に現れないと言うのが俺の考え
それよりむしろ通信ラインの容量が小さいからプローブ付けたら現象出ないとかの方があり得る

27774ワット発電中さん2021/04/18(日) 16:50:12.55ID:GQd10xQH
トイオシロっぽいから帯域が足りなくてギブス現象が出る可能性もあるけど、見た感じは余裕でしょという感想

28774ワット発電中さん2021/04/18(日) 16:58:33.05ID:kSMNlBcZ
>I2Cはハイは抵抗から出してで、ローはトランジスタで吸うから電流レベルが全然違うのが特徴的で例えばグランドリードによる
>リンギングはこういう等方的に現れないと言うのが俺の考え

オープンドレイン一般論としてはそれでいいけれど、FXMA2102を通しているので純粋なオープンドレインではないしね。
LHの遷移時にコンプリメンタリ駆動しているし。

29774ワット発電中さん2021/04/18(日) 17:16:26.80ID:GQd10xQH
>>28
SCLはマスタから出るのでSCLを見れば等方性は分かるよ
これはマイコン-変換器で見てるはずだし

30774ワット発電中さん2021/04/18(日) 17:17:30.39ID:GQd10xQH
変換器-BMX055ならその通り

31774ワット発電中さん2021/04/18(日) 17:35:36.36ID:I8nUAnHb
みんな教えてくれてありがとう
まとめて答えると、
・STM32の出力設定はオープンドレインになってる
 CubeMXの吐いたコードは当てにならないことがあるけど、コードを読んでもあってるし、
 実際に動かしてレジスタをモニタしてもオープンドレインだから本当にオープンドレインだと思う
・STM32のプルアップは10kOhmで、こっちでプルアップしてる
 BMX055もさらにプルアップしてトータル5kOhmにしたけど波形を見た限り違いが判らなかった
・使ってるオシロはpicoscope3406っていう200MHz帯域のもので、プロ向けとしてはチープだけど
 トイオシロとしては高級すぎると思う
・測定個所はnucleoボードに生えているピンで、これに直接プローブを当ててる。
・エラーの原因はおそらく立下りのリンギングだという指摘はあってると思う。
 仕様によればLOは0.3Vddということだから、3.3V系の場合は0.99V
 数回流すだけで1V超えることがあるんで、すぐエラーが出るのは当然だと思う。
・BMX055にはレベル変換ICが使われてるのは分かってたけどこれが通信に影響を
 与える可能性を全く考慮してなかった。

32774ワット発電中さん2021/04/18(日) 17:36:20.16ID:kSMNlBcZ
>>10の波形は変換器を通ったあとのBMX055側での波形でしょね。

33774ワット発電中さん2021/04/18(日) 17:40:55.30ID:kSMNlBcZ
>測定個所はnucleoボードに生えているピンで、これに直接プローブを当ててる。
あ、そうでしたか。>>32は撤回。
駆動側のI2Cも立ち上がりのアクセラレーションがかかるんですね…

34774ワット発電中さん2021/04/18(日) 18:19:54.02ID:GQd10xQH
詳しい情報出てきたので言えるけど
この場合の正しいプロービング場所はSCLはBMX基板のGNDと変換器入力ピン相当(データシートB0)ね
SDAはどうにか方向選別して両側見る必要あるけど、SCLはマスタから出るから受信端で見ないと駄目
送信端は波形が崩れやすい

35774ワット発電中さん2021/04/18(日) 18:36:33.95ID:anbJfRZg
>>18
> 何でエラーになってるかの原因はクロック立ち下がりのリンギングにあると考えられる
その可能性は極めて低そう。
I2Cにおいて SCL=Lは「データラインのHIGHまたはLOWの状態の変更は、SCLラインのクロック信号がLOWの場合にのみ可能」であり、波形の中では Lの時に SDAが変化している。
つまりリンギングは何も影響を与えていない。

そりゃそうだ、0.3Vddを超えても不感帯に突入しただけ。
Hとして認識されるには0.7Vddまで上昇しないといけないのだから。

36774ワット発電中さん2021/04/18(日) 18:41:28.31ID:anbJfRZg
>>31
う〜ん、エラーの原因が分からんね。
ちなみにNucleoにI2C EEPROMとかI2C SRAMとか、他のデバイスを接続した時は通信に成功しているの?
OKなら問題はBMX055側、NGならNucleo側に問題あり

37774ワット発電中さん2021/04/18(日) 19:21:39.92ID:GQd10xQH
>>35
こんなちょっと出した波形で1V超えてるなら頻繁に1.5Vくらい普通に行くよ
それだけでクロックが崩れる
尚且クロストークも発生してる
前で書いてるけど変換器は0.5Vcc超えたらハイにしてるはずだ
変換器のクロック出力も見てみればいいんだよ

38774ワット発電中さん2021/04/18(日) 23:02:00.85ID:CcWNjLTd
>>31
色々悪い条件を重ねてシミュレーションしてみたんだけど
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
立ち上がりでリンギング出る理由が・・・
オープンドレインで動いてない可能性を疑いたくなるが、CubelIDEで設定してるなら問題ないはず・・・
IOのスルーレート下げられるから下げてみたらどうだろう
あとIOもVDDも3.3Vだろうから、レベル変換IC無視して直結してみては?

39774ワット発電中さん2021/04/19(月) 01:29:15.59ID:hU74XVx8
>>37
0.7Vddは3.3V電源なら2.3V。1.5Vでもまだ不感帯の中だよ

> 変換器は0.5Vcc超えたらハイにしてるはず
そういうI2C規格に反したデバイスは作られないし、実際に違う

40774ワット発電中さん2021/04/19(月) 08:41:49.28ID:nZ7iInJl
立ち上がりでリンギングは出てないのでは。

クロックのリンギングが問題になるなら、100kでもエラーが出ると思うけれど
100kと400kで違うかどうかは、話には出てなかったかな。

実際の配線はどうなんだろう。写真があれば、見て意見ができる人もいると思う。

ところで、VIH は「これ以上は間違いなくHと認識される電圧」を指す。
なので、それ以下でもHになることは普通にある。
同様に、VIL は「これ以下は確実にL」。それより上でもLになることはある。
0.7VDD〜0.3VDDは不感域ではなくて、そこの中のどこかが閾値と考えるべき。

74シリーズのC-MOSロジックでも、シュミットやTTL互換入力タイプでもない限り、VCC-GNDの中点付近に
閾値があるような認識を持ってる人は多いよね。

なお、0.7VDDと0.3VDDはシュミットのヒステリシスを反映したものでもない。
I2Cの場合はヒステリシスのMinが0.05VDD。

41774ワット発電中さん2021/04/19(月) 14:35:18.94ID:EJQ+e9zF
プルアップ抵抗がでかすぎると思う。
プルアップ抵抗を小さくすれば立ち上がりが早くなると共にリンギング
にも多少は効果があると思う。
配線がどうなってるか画像up。

リンギングが原因と決めてかかると解決が遅くなる。
まず100kHzでちゃんと動くのかどうか試してから順番にやった方が良い。

42774ワット発電中さん2021/04/19(月) 16:00:07.50ID:yn2Cxr3F
>>41
ブルアップは5kΩらしいよ。3.3Vだと大きい印象。

> まず100kHzでちゃんと動くのかどうか試してから
賛成。EEPROM繋いで動くのかな?
リンギングもショットキーダイオード噛ませればいいし。

43774ワット発電中さん2021/04/19(月) 17:05:07.53ID:EJQ+e9zF
>>42
>>10の波形のゆっくり立ち上がる部分は片側のプルアップ抵抗(10kΩ)のみで
引っ張り上げてられていて、その後FXMA2102がドライブして急激に上がってる
ということで、並列になるのはHレベルになってからだと思う。
立ち上がりが遅いから元が1usくらいのSCLが600nsあるかないかになってしま
っている。

44774ワット発電中さん2021/04/19(月) 18:01:49.71ID:yn2Cxr3F
>>43
そっか、FXMA2102で分離するから10kΩか。大きいな。

ところでI2C規格を読み直したら、マスターが1つならPush-Pullで駆動しても構わないとか。ほぉ〜

45774ワット発電中さん2021/04/19(月) 23:06:36.50ID:nZ7iInJl
>立ち上がりが遅いから元が1usくらいのSCLが600nsあるかないかになってしま
>っている。

BMX055のI2CクロックのH時間のminが600ns。>>10の波形を見るとだいたい600ns。
ちょいとはマージンがあるとは思うけれど、プルアップで改善できるなら試す価値あるかも。

>>31
>BMX055もさらにプルアップしてトータル5kOhmにしたけど波形を見た限り違いが判らなかった
この「さらにプルアップ」なんだけど、
さらに、とユーザーが能動的になれるのは、ユーザーが手を加えているからだと思った。
https://akizukidenshi.com/download/ds/akizuki/AE-BMX055_20180403.pdf
もし「さらにプルアップ」がR3,R4を指すなら、中継ICの電圧遷移に関係なく、最初からNucleo側と並列になってる。

46774ワット発電中さん2021/04/20(火) 18:08:37.54ID:i5OjJuCo
みんなアドバイスありがとう。

・BMX055以外にI2Cスレーブデバイスがなかったので、STM32のI2Cを2つ使って
 自分自身に信号を送るようにしてみた。STM32内部のプルアップでは波形がなまりすぎだったんで、
 別に2.2kOhmでプルアップしてみた。
 立下り時にリンギングがみられるけど最大でも500mVくらい。
 測定の様子→【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
 波形→【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
・上でうまくいったのでBMX055を接続した状態で2.2kOhmを追加したけど、波形の違いは判らなかった。
 その時の回路図(SDAとSCLは同じようにプルアップしてるので簡略化してる)はこんな感じ
 【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
・STM32とBMX055の配線はこんな感じ
 使用時の様子→【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
 配線の様子→【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚

STM32の設定は問題なさそうで、やっぱり配線の問題っぽいとこまでは分かった。

47774ワット発電中さん2021/04/20(火) 19:16:27.57ID:wO+ubhR4
>>46
問題は相手側かぁ〜
配線も泣き別れしているけど、これ位の長さなら問題無さげ。
お試しでショットキーダイオードは付けた?

48774ワット発電中さん2021/04/20(火) 23:39:46.50ID:gbtqqNMR
>>46
以前の波形と比較するとSCLのパルス幅が違うんだけどI2Cの設定
変えたの?
傾きが違うのはプルアップ抵抗の差としても立ち上がり始める
タイミングが違うみたいなんだけど。
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚

49774ワット発電中さん2021/04/21(水) 00:21:24.17ID:o0iaWkr5
>>46
もうひとつ。
電源のグランドはつながってるけど信号のリターンがないので
STM32のSCLとSDAが出てるコネクタ内のグランドとBMX055の
グランドをつないだ方がいいね。SCLに添わせる感じで。

50774ワット発電中さん2021/04/21(水) 01:24:50.04ID:206m4Ng2
>>46
ちょっと前に軽く言ったけど
パッシブプローブのグランドリードを正しく接続しないと正しく測定できないよ

↓以下はは同じ回路から測定方法を変えたもの
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚 (正しく測定した波形)
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚 (正しく測定した波形・拡大)
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚 (グランドリード不適切な波形)
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚 (グランドリード不適切な波形・拡大)

で、リンギングの原因は測定方法だろうから、実際の回路に問題は無いと思うのよ
速度上げたせいで加速度センサのバッファが空の状態でデータ読み出してない?

51774ワット発電中さん2021/04/21(水) 12:37:57.83ID:sBU0Xz6+
>>46
ところでそもそも、
> 接続しているんだが、エラーが多発するんだ。
これってなんのエラー?

どこかのCRCエラー?あるいはNAK?レジスタ値がおかしい?
どれ?

52774ワット発電中さん2021/04/21(水) 15:24:44.01ID:o0iaWkr5
I2C Fast-modeでのSCLの規格
tLOW 1.3us min
tHIGH 0.6us min

抵抗でプルアップしている以上バス上のtHIGHは短くなるんだから
tLOW 1.25us
tHIGH 1.25us
のduty=50%で送信すれば規格を満足しそうに思うんだが、わざわざ
tHIGHを短く送信するのが普通なのかな。

なぜtLOW 1.25us minの規格にしなかったのだろう。
1000kHzの方の規格ではtLOW 0.5us minとなっている。

53774ワット発電中さん2021/04/21(水) 17:16:03.57ID:sBU0Xz6+
>>52
I2CはLの時にデータセットし、Hの時に読み取るからじゃね?

54774ワット発電中さん2021/04/21(水) 18:47:15.42ID:sBU0Xz6+
>>52
あと、マルチマスターの時にSCLの引っ張り具合を見てなんちゃらかんちゃらと規格書に書いてあったな。
それ絡みとか?

55774ワット発電中さん2021/04/21(水) 23:07:34.56ID:o0iaWkr5
機能を欲張りすぎてがんじがらめになってるのかな

56774ワット発電中さん2021/04/22(木) 05:40:08.33ID:NF249Wxl
俺は少なくとも歯学部卒業して以来、常に医学部コンプを持っていた。
確かに歯学部入学当初は同じような境遇のヤツが多くいた。
一年生の時から「将来は口腔外科医としてやっていきたいです」
なんて言ってな。
でも結局口外に進んだのは俺一人。
皆、歯学部の6年間で医科との絶対的な差に気付いたか。
歯科という本来の役割に気付いたか。
はたまた6年間チャランポランな学生生活で当初の志を忘れたか。

57774ワット発電中さん2021/04/22(木) 06:09:07.06ID:Fk9QiK/A
さあて釣れるかね

58774ワット発電中さん2021/04/22(木) 08:29:51.61ID:RPuhTreH
>>40
> 0.7VDD〜0.3VDDは不感域ではなくて、そこの中のどこかが閾値と考えるべき。

それ、どこのメーカー?
そんなエセI2Cチップ掴まされたらノイズ耐性ボロボロ、たまったもんじゃないなぁ。
メーカー教えてよ、使わない様にするから。

で、真っ当なメーカーならそんなチップは作らないよ。
https://www.analog.com/jp/technical-articles/bus-buffers-simplify-design-of-large-noisy-i2c-systems.html
I2C準拠のレシーバは、0.3×VCCという入力“L” レベル(VIL)より低い電圧をロジック“L” と解釈し、0.7×VCCという入力“H” レベル(VIH)より高い電圧をロジック“H”と解釈する必要があります。

メーカー教えてね

59774ワット発電中さん2021/04/22(木) 21:45:21.97ID:kg5GIq2U
>>58
>0.3×VCCという入力“L” レベル(VIL)より低い電圧をロジック“L” と解釈し
は、「VIL(0.3・Vcc)より低ければ、Lと解釈しないといけない」の意味であって、
高い電圧から下がってきたときに、「VIL(0.3・Vcc)きっちりに落ちるまではLと
解釈してはいけない」という意味じゃないよ。

っていうか、その資料の図1に0.7・Vcc〜0.3・Vccについて、
Receiver Threshold Band (しきい値はここの範囲)
って書いてあるよね? 不感域とは書いてないでしょ?

60774ワット発電中さん2021/04/23(金) 08:33:28.73ID:tR2dKQt0
>>59
> Receiver Threshold Band (しきい値はこの範囲)
おまいはアナデバと喧嘩する気なのかい?
「より低い電圧をロジック“L” と解釈」「より高い電圧をロジック“H”と解釈する必要があり」と説明されてんだよね。
しきい>値<ならそのどこかにあるって解釈もあるが、しきい>帯<なんだよ。

まぁ論より証拠、そのメーカー教えてね

61774ワット発電中さん2021/04/23(金) 09:53:25.71ID:9ZYoJHbM
シュミットトリガを非明記で使ってる方がまともなベンダーならありえないぞ
VILを超えたり、VIHを下回ってるのに、ヒステリシスが入ってるはずだから問題ないとかやってんのか?
んな評価有り得ないよ

62774ワット発電中さん2021/04/23(金) 10:14:30.16ID:tR2dKQt0
>>61
規格に沿って作ってんのに明記するか?

63774ワット発電中さん2021/04/23(金) 10:29:48.54ID:CXgVY0MV
>>61
> シュミットトリガを非明記で使ってる方がまともなベンダーならありえないぞ
いや、あるかどうかは知らんけどそれでも規格に準拠してればいいとは思う
問題はID:tR2dKQt0が非明記なのにそれがある「はず」っで思っちゃってところ
まあ低能によくある「書いてない所は俺の都合のいいようになってるはずだ病」だと思う

64774ワット発電中さん2021/04/23(金) 10:39:17.28ID:+ivz15M+
>>58,60
I2Cを語る以前に、基本のロジック回路から勉強し直すことをお勧めします
>40,59の方の説明で有ってるので、理解出来ない様でしたら「理解力・読解力」をもっと身に着ける事をお勧めします

65774ワット発電中さん2021/04/23(金) 11:22:15.30ID:7LoAc/yq
>>63,64
まぁ、その通りだね

66774ワット発電中さん2021/04/23(金) 12:14:19.63ID:tR2dKQt0
>>63
> 問題はID:tR2dKQt0が非明記なのにそれがある「はず」っで思っちゃってところ

おまえらが分かって無いのはよく分かったよ(笑)

I2C バス仕様およびユーザーマニュアル
https://www.nxp.com/docs/ja/user-guide/UM10204.pdf
5.1 Fast-mode (Fm) - ファーストモード
&#8226; Fast-modeデバイスの入力は、スパイク抑制とSDA/SCLのシュミットトリガ入力を装備。

規格書にこうして明記されてんのに何言っちゃてんのさ?

67774ワット発電中さん2021/04/23(金) 12:53:15.37ID:ZjDc7fSO
>>66
Vhys シュミットトリガ入力の
ヒステリシス: 0.05VDD
の意味もわかってないんだろうな…
そもそもシュミットトリガ自体を理解してるのか怪しいレベルw

68774ワット発電中さん2021/04/23(金) 13:01:22.14ID:tR2dKQt0
>>64
なんと言うか、ネットには知ったかぶりして平気でウソを言う>>40な奴が居るからさ、気を付けなきゃいけないんよ。
見ててごらん、「ごめんなさい」と言わずにしれっと消えるからさ

69774ワット発電中さん2021/04/23(金) 13:58:52.52ID:tR2dKQt0
>>67
おまいは最小値の意味すら理解せんのか?

70774ワット発電中さん2021/04/23(金) 14:31:43.38ID:WPZ6oBwd
>>69
ヒステリシスとか最小値とかをちゃんと理解してたら
> そりゃそうだ、0.3Vddを超えても不感帯に突入しただけ。
> Hとして認識されるには0.7Vddまで上昇しないといけないのだから。
なんてアホなことは言わないはずだがw

71774ワット発電中さん2021/04/23(金) 22:32:15.47ID:T3Gn3b7b
VIH, VILの意味ぐらいすなおに受け入れないなら電子工作を語らない方がいいと思う。
ヒステリシス電圧 0.05Vdd(min)からも考えてみなよ、って親切をうけながら突っぱねてどうするんだろう。

データシートや規格に最小値として0.05Vddと書かれているわけだから、デバイスにばらつきがあったとしても
VDD=5Vであるなら、0.25Vのヒステリシスがあればいいことになるよ。ここは合意できるかな?

もし0.7VDD〜0.3VDDが不感地帯だとするのなら、ヒステリシスは誤差なく0.4VDDでなければならぬ、って
ことになる。そもそも、廉価な半導体部品を作るのに、そんなに誤差なく作れるわけがないのにな。

VIL=0.3VDD(max)の解釈はどうするつもりなんだろう。これは
「このICの入力に電圧を与えてLとして認識してほしけりゃ最大でも0.3VDDにしなさいよ」
ってことで、
同様にVIH=0.7VDD(min)は、
「このICの入力に電圧を与えてHとして認識してほしけりゃ最小でも0.7VDDにしなさいよ」
だし。

VOL=0.4V(max)は、「指定条件下で、このIC(または規格のIC)が出力するLは最大でも0.4Vにしなさい」ってこと。

>>58のリンク先にこう書かれている
「これらの要件により、ロジック“L” のノイズ・マージンとして0.3×VCC &#8211; 0.4V」

VCCが5Vなら、「ロジック“L” のノイズ・マージンとして1.5V &#8211; 0.4V」となっている。
つまりこれは、「規格に適合したICのワーストケースでL出力が0.4Vであっても、受ける方のVILが1.5Vなので、
1.5V-0.4V =1.1Vのノイズが入っても大丈夫」 ということ。
VILを超えたら、どこでHと認識されるか、わからないからそれ以上はマージンに含まれない、という意味でもあるよ。

72774ワット発電中さん2021/04/24(土) 14:07:27.80ID:zDPE3dsp
不感帯って普通に使う言葉?

73774ワット発電中さん2021/04/24(土) 14:40:25.26ID:nuIf2a+O
不感帯 シュミットトリガ
でGoogle検索。多くはヒットしないけど、使われている例もあるね

74774ワット発電中さん2021/04/24(土) 23:13:21.56ID:ZiFGONHy
>>72
不感帯で検索したら M-System、機械工学辞典、横河電機、オムロン制御機器、宮崎技術研究所、PID制御論文。。。個人プログはヒットしねぇーw

業界用語みたいね、プロ?

75774ワット発電中さん2021/04/25(日) 07:17:56.38ID:oEHtkgBh
究極のシリアル伝送、1000mを270Mbps。
https://ja.kcugenii.com/wiki/Ethernet_over_coax

これって中身はどうなっているんだ?
100BaseなPHYに専用トランス?

76774ワット発電中さん2021/04/27(火) 00:34:11.23ID:hOoNzZkL
100BASE-T と 同軸ケーブルをブリッジする製品は見つかったけれど、IC単品で売ってるのかな。
普通の1000BASE-Tでも 100m までいけるんだね。
既設の同軸が使えるのでもなければ、LANケーブルの方がとりまわしはしやすそう。

77774ワット発電中さん2021/04/27(火) 00:44:14.13ID:hOoNzZkL
不感帯は英語だとdead band だったはず。
少なくとも、
>>58のリンク先の図の Receiver Threshold Band は 不感帯 ではないね。

VIH、VILの値は、直接はヒステリシスやしきい値を表すわけじゃないことは分かったのかな。

>見ててごらん、「ごめんなさい」と言わずにしれっと消えるからさ
こんなふうに書いた人は、間違ったときは「ごめんなさい」というべきだ、という規範を持ってるんだと思う。
でも消えたのが本人というオチなんだろうか。それは悲しい。

78774ワット発電中さん2021/04/27(火) 01:07:55.29ID:ccChwTS0
10base5でも500m行けるよ

79774ワット発電中さん2021/04/27(火) 06:19:28.07ID:vZWB+MAy
>>76
「G.hn」でDigiKeyを検索すると1社見つかるところまでは見た。専用ICだった。
Gはギガの略で、hnはHomeNetworkの略、ラスト1マイル接続用らしい。ケーブルTVの同軸にギガを載せるもの。
光が普及した日本ではホーム用には出番無さそうだが、監視カメラの既存配線を使う用途では行けるんかな。

より対線のRS-485でデジタル映像伝送は、流石に無理なのか?

80774ワット発電中さん2021/04/27(火) 06:48:27.56ID:hOoNzZkL
>>79
>より対線のRS-485でデジタル映像伝送は、流石に無理なのか?
10Mbps超なら圧縮されていれば通りそう。
https://www.maximintegrated.com/jp/design/technical-documents/app-notes/3/3884.html

RS-485でもプリエンファシスとかあるんですね。

81774ワット発電中さん2021/04/27(火) 08:36:02.87ID:h1ryTD7o
>>80
そのページは見たことある。
距離と転送レートのグラフもあるね。
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚

10Mbpsだと300ftちょい、100mでRS-485を選択する理由がね。

82774ワット発電中さん2021/04/27(火) 20:06:19.89ID:Du2svZBO

83774ワット発電中さん2021/04/29(木) 08:43:05.90ID:H8EkUsWx
1ペアだからコリジョンを考慮しなくても良いのか。
イーサネット系はそろそろコリジョンって仕様をなくしても良いと思うんだけどな。

84774ワット発電中さん2021/04/29(木) 11:41:19.85ID:L62+fAST
>>83
1ペアだからコリジョンはあり得るよ、ハーフデュプレックスだから。
イーサでもフルデュプレックスでスイッチングハブならコリジョンは発生しないよ。

85774ワット発電中さん2021/04/29(木) 12:40:38.21ID:rebhiOso
>>84
ボケてた。
コリジョン有ったら距離伸ばせないはずだが。IPG延ばしてるのかな?

86774ワット発電中さん2021/04/29(木) 15:46:14.28ID:MayD3nUp
イーサネットは10BASEと100BASEと1000BASEのそれぞれの系でプロトコルが物理層からして違うし、ハブやルータで吸収してるだけ
10BASE系はプリアンブルとジャム信号、待ち時間の整合でコリジョン問題を解決している

87774ワット発電中さん2021/04/29(木) 15:55:30.99ID:MayD3nUp
だから端末同士の通信だと片方が全二重だから大丈夫というわけでもなくて全二重と半二重の通信だとそのままコリジョンで死ぬ事もあり得る
そのため1000BASE系からは全部オートネゴシエーションになった

88774ワット発電中さん2021/04/29(木) 15:58:47.41ID:L62+fAST
>>86
> 10BASE系はプリアンブルとジャム信号、待ち時間の整合でコリジョン問題を解決

IEEE802.3a/iと、802.3cgは同じなのか?

89774ワット発電中さん2021/04/29(木) 16:42:31.41ID:WWQxaAGj
>>87
> 片方が全二重だから大丈夫
誰もそんなことは言ってないけど大丈夫?

90774ワット発電中さん2021/04/29(木) 17:04:09.02ID:MayD3nUp
>>89
一般論を言ってるだけだぞ
被害妄想すぎ

91774ワット発電中さん2021/04/29(木) 17:18:21.57ID:MayD3nUp
イーサネットの規格は乱立しまくったのもあって弊害も多いけど、それ自体のプロトコルはよく考えられててコリジョン検知一つ取っても学べる所が多い
他の通信規格より複雑なプロトコルが早くからパッケージ化されていて触れる事なく使えるようになってるけど

92774ワット発電中さん2021/04/29(木) 17:18:31.46ID:Q3wzuaO7
この板でそんなチンケな一般論を開陳したくなっちゃったのかw

93774ワット発電中さん2021/04/30(金) 10:11:38.28ID:5sGCEHuX
フリーなロジアナは見つかるが、フリーなI2Cアナライザが見つからない。
俺の探し方が悪いだけか?

94774ワット発電中さん2021/04/30(金) 10:27:19.82ID:ysam7qRz
>>93
よくわからんが、Amazonで1000円位か4000円位のロジアナ+PluseView(sigrok)あたりじゃ駄目ですか?

95774ワット発電中さん2021/04/30(金) 10:27:59.39ID:KuAZkhTU
>>93
フリーのロジアナアプリで、I2Cも解析できるでしょ?
https://sigrok.org/wiki/Main_Page

プロトコル一覧
https://sigrok.org/wiki/Protocol_decoders

96774ワット発電中さん2021/04/30(金) 10:28:12.40ID:5sGCEHuX
おぅ、sigrokに Protocol decoderがあるのか!

97774ワット発電中さん2021/04/30(金) 10:29:05.13ID:5sGCEHuX
ありがとう

98774ワット発電中さん2021/04/30(金) 13:29:28.81ID:B6mLDBJH
>>93
ラインアイが有名

99774ワット発電中さん2021/04/30(金) 13:30:31.51ID:B6mLDBJH
フリーなか

100774ワット発電中さん2021/05/02(日) 12:16:38.71ID:hSSVTInH
上の方でアドバイスをもらった者だけど、いろいろ試してみた。
・クランプダイオード追加
 (これに伴って、モジュールには5Vではなく、3.3Vをnucleoボードから供給するように変更)
 →エラー(NAK受信)はなくなったが、波形が汚いのは相変わらず
・さらに、SCLだけ信号線とGNDをツイストペア化
 →あまり変わってなさそうだけど詳細を見ると立下りのリンギングが気になる

概観:【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
詳細:【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
青がSCLで、立下り時のリンギングが気になる

とりあえずこれで3時間くらい、何らかのエラーが発生したら落ちるようにして
ポーリングでひたすらデータを読んでるけど動作しているので
・クランプダイオード有
・ツイストペア無
・電源3.3V
でいこうとおもう。

101774ワット発電中さん2021/05/02(日) 13:25:20.82ID:ZABvcc6a
>>100
もしかしてBMX055上のLDOが発振してたとか。
波形的にはそうは見えなかったけど。

102774ワット発電中さん2021/05/02(日) 13:29:53.99ID:ZABvcc6a
>>100
あと立ち上がりが遅い。プルアップを小さくしようよ

103774ワット発電中さん2021/05/02(日) 13:32:40.90ID:BLAk1sKB
>>100
最近自分作った矩形波シグナルジェネレーターでリンキングしてたので
出力にAをGNDにKのVfの低いダイオード入れたら止まったよ
もうやってるならスマソ

104774ワット発電中さん2021/05/02(日) 13:33:29.31ID:BLAk1sKB
リンギング間違い(´;ω;`)

105774ワット発電中さん2021/05/02(日) 17:57:39.17ID:0jRzMplG
>>100
FXMA2102を外せばすべて解決する気がする

106774ワット発電中さん2021/05/03(月) 13:48:35.40ID:LbYP0TqX
I2Cでスレーブ側でSDAがLowに固定で固まる症状でるひといる?(´・ω・`)

I2C_LCDがこういう特定の症状だすから個別に SCLのワンパルス送って復帰させてるんだけど

標準でコリジョン起きた時SCLにワンパルス送っておいたほうがいいのかな?(´・ω・`)

107774ワット発電中さん2021/05/03(月) 13:52:35.64ID:ODVyGGqZ
♪前から来る奴ぁワンパルス、後ろから来る奴ぁ背負い投げ

108774ワット発電中さん2021/05/03(月) 13:55:57.35ID:LbYP0TqX
ルネサスのI2Cトラブル相談でもSCLからワンパルス送る的なこと書いてあったってことは

コリジョン時にSCLからワンパルス送るのを標準仕様にしておいたほうが無難ってことだよね?(´・ω・`)

どうおもう?(´・ω・`)

109774ワット発電中さん2021/05/03(月) 14:24:55.81ID:LbYP0TqX
>>10
フェライトビーズがコイル成分になって I2Cラインの静電容量と共振してコリジョンが多発してるんじゃない?(´・ω・`)

110774ワット発電中さん2021/05/03(月) 14:26:08.20ID:LbYP0TqX
フェイライトビーズで発振実験してる人なんかもいなかったっけ?(´・ω・`)

1111002021/05/03(月) 15:56:26.18ID:rwuhxEsZ
全回路配線し終えて8個のBMX055と通信できるようになったよ
今ぶん回して通信異常が起こらないか確認中

>>103
その意味でクランプダイオードって言ったんだけど用語の使い方間違ってた?

>>105
FXMA2102は端子がボディに隠れてるんでうちの装備では簡単に取れなさそう
取れればパターンを追いかけてジャンパ飛ばせると思うけど

>>109
うーん、フェライトビーズってR高いから多分Qが低い
なので、発振はそうそうしないんじゃないかな

112774ワット発電中さん2021/05/03(月) 16:02:46.02ID:l56ln1JH
つうか、やっぱ波形おかしい それを直すのが先決

113774ワット発電中さん2021/05/03(月) 16:10:14.64ID:rwuhxEsZ
>>112
立ち上がりが普通のオープンドレインっぽくないのはFXMA2102のせいだと思う
FXMA2102のアプリケーションのFig9でよく似た波形が出てるし
https://www.onsemi.jp/pub/collateral/an-9740jp.pdf

114774ワット発電中さん2021/05/03(月) 16:38:37.50ID:LbYP0TqX
>>111
Qが低くても 静電容量と減衰振動するでしょ?(´・ω・`)

115774ワット発電中さん2021/05/03(月) 16:43:10.26ID:LbYP0TqX
フェイライトビーズはトロイダルコアにくらべてノイズが抵抗成分をすり抜けやすい気がする(´・ω・`)

116774ワット発電中さん2021/05/03(月) 16:45:20.33ID:LbYP0TqX
フェイライトビーズをFM波の出力増幅に利用したりして電子工作してるひとのwebなんかもあるきがする(´・ω・`)

117774ワット発電中さん2021/05/03(月) 16:48:42.17ID:LbYP0TqX
>>112
そのほうがプロジェクトがおおきくなったときトラブル少ないよね(´・ω・`)

118774ワット発電中さん2021/05/03(月) 17:31:06.51ID:LbYP0TqX
>>108
この一行だけでトラブルや故障の相談の件数が減って 費用対効果抜群じゃないか?(´・ω・`)

119774ワット発電中さん2021/05/04(火) 19:05:40.49ID:0pEYKhD6
仮にコリジョンでI2Cがとまっても復帰できれば永遠に通信できる(´・ω・`)

error復帰もふくめて通信テストを一日中やって error対処がうまく出来てるかテストしてる(´・ω・`)

1000万回くらいやってもフリーズすること無くI2C通信できてる(´・ω・`)

120774ワット発電中さん2021/05/04(火) 19:07:03.07ID:0pEYKhD6
ノイズによるコリジョンからの復帰をちゃんと組んでないとすぐに故障判定とかして

補修費用コストがかさむ(´・ω・`)

121774ワット発電中さん2021/05/04(火) 19:31:18.77ID:HNLSq7Ll
>>120
このちゃんとってのが曲者で毎回担当者違いますみたいなのだと、いつか問題が発生するのよね
プログラマは電気の事分からんから
電気エンジニアですらI2Cあんま知らんの多いし

122774ワット発電中さん2021/05/04(火) 19:43:51.30ID:0pEYKhD6
>>121
デバイスごとにeepromなんかにコリジョン回数を記録しておいたほうがいいかも(´・ω・`)

このデバイスはコリジョン回数 単位時間あたり 何回以上で交換とか基準も考えておいたほうがいいかもね(´・ω・`)

123774ワット発電中さん2021/05/04(火) 19:48:49.78ID:0pEYKhD6
eepromなんかにコリジョン回数記録とかまではめんどっちいかな?(´・ω・`)

ただユーザーがどんなerrorが起きてるかぐらいは把握できるようにしときたい(´・ω・`)

124774ワット発電中さん2021/05/04(火) 20:04:20.16ID:0pEYKhD6
けっこうこうやって掲示板に気軽に書き込んでると

あっそういえばここ組んでなかったみたいなの思い出す(´・ω・`)

125774ワット発電中さん2021/05/04(火) 22:45:47.49ID:ZJ3JqPlt
>>106
理解出来て無くて悪いけど「スレーブ側のSDAがLowで固まる症状」がコリジョンであると断定した理由はなに?
コリジョンと聞くとマルチマスターでマスターからのアクセスの衝突を思い浮かべるんだけど

126774ワット発電中さん2021/05/05(水) 00:22:20.82ID:CiQVUnbf
>>125
コリジョンフラグが立つからだけど?(´・ω・`)

127774ワット発電中さん2021/05/05(水) 00:59:21.96ID:0FtNFW6W
> コリジョンフラグが立つから
フラグが立つだけでマルチマスターでは無いのね。

で、原因は
>>120
> ノイズによるコリジョンからの復帰
ノイズって事かぁー

128774ワット発電中さん2021/05/05(水) 01:49:17.05ID:CiQVUnbf
>>127
スレーブ側のSDAがLowで固まる症状 とかで検索するとでてくるから特定デバイスのバグではあると思う(´・ω・`)

ただその特定デバイスも使いたいし ネット検索で類似例がこれだけあるってことは

標準で組んでおこうかなって話(´・ω・`)

129774ワット発電中さん2021/05/05(水) 01:56:49.98ID:CiQVUnbf
特定デバイスの I2C論理回路の中身に固まるようなハードウエア論理回路があるものが多数あるってことだから

その対策を考えておいたほうがいいでしょ?(´・ω・`)

130774ワット発電中さん2021/05/05(水) 02:03:05.68ID:CiQVUnbf
組み込まれた論理回路のメタステーブルを解決するにはソフトめんでの柔軟性

を活かす以外ない(´・ω・`)

131774ワット発電中さん2021/05/05(水) 02:18:28.12ID:CiQVUnbf
って思うんだけど

どう思う?(´・ω・`)

132774ワット発電中さん2021/05/05(水) 03:32:47.74ID:0FtNFW6W

133774ワット発電中さん2021/05/05(水) 04:10:56.16ID:CiQVUnbf
>>132
他にも色々あるでしょ?(´・ω・`)

これだけ多いってことは それなりに対処したほうがよくない?(´・ω・`)

134774ワット発電中さん2021/05/05(水) 06:43:55.43ID:Xe8pnedV
>>124
仕様書とかコードを人に説明してるとあっ!って思うことまれによくあるよねw

135774ワット発電中さん2021/05/05(水) 07:35:08.41ID:U/iq2Oo2
他人に解説するように語りながら作成する

136774ワット発電中さん2021/05/05(水) 07:36:08.18ID:U/iq2Oo2
独りで対話をし始めるといよいよヤバいけど

137774ワット発電中さん2021/05/05(水) 08:06:29.37ID:0FtNFW6W
>>133
FAQ 107454、FAQ 107068、FAQ 2000051がヒットするけど内容は同じっぽい。
あとはSH7286とAVRでマルチマスター時のバスロックが1件の、計2件しか無いけど?

ルネ固有問題?ってな印象

138774ワット発電中さん2021/05/05(水) 13:42:37.27ID:gsZcU9Sw
>>129
まぁね。何事も例外処理は必要だね

139774ワット発電中さん2021/05/05(水) 13:53:10.61ID:nl7UZlWD
お前らほんとなんも知らないんだな
産業用の小さい世界じゃなくて外出たら?
0603のはんだ付け、オシロで評価、I2Cの知識、
これだけ出来るってだけでも引く手あまただから
無理すぎる

140774ワット発電中さん2021/05/05(水) 14:18:40.55ID:GcyVzWAV
君まだ生きてたの?

141774ワット発電中さん2021/05/05(水) 16:43:32.73ID:L5n+F1AX
> その対策を考えておいたほうがいいでしょ?(´・ω・`)
って思うなら対策すればいいじゃん
まずそんなことが起きないようにノイズ対策すべきだとは思うけどケースバイケースだしね

142774ワット発電中さん2021/05/05(水) 16:49:54.85ID:CiQVUnbf
>>137
組み込まれた論理回路のメタステーブルの問題はメーカー問わずどこでもあるんじゃないか?(´・ω・`)

>>141
ノイズっていっても論理レベルを超えるような大きいノイズは無いんだけどなぁ(´・ω・`)

143774ワット発電中さん2021/05/06(木) 02:01:54.74ID:aIs0oRIt
>>139
恥ずかしくて出てこれないよ普通

144774ワット発電中さん2021/05/06(木) 04:48:47.70ID:c4UlOrII
>>143
何いってんだ?(´・ω・`)

145774ワット発電中さん2021/05/06(木) 07:47:14.04ID:bTCLSfFh
>>142
> 組み込まれた論理回路のメタステーブルの問題はメーカー問わずどこでもあるんじゃないか?(´・ω・`)
I2Cでノイズや不具合なきゃメタステーブルなんてならないでしょ

> ノイズっていっても論理レベルを超えるような大きいノイズは無いんだけどなぁ(´・ω・`)
測定して言ってるんだよね?
そもそも発生頻度も書いてない時点でなんとも言えんが

146774ワット発電中さん2021/05/06(木) 07:48:07.13ID:bTCLSfFh
>>140,143
相手すんなよ…

147774ワット発電中さん2021/05/06(木) 08:53:58.92ID:Rne0XR0L
BGAの手ハンダが出来なきゃお話にならん。。。

148774ワット発電中さん2021/05/06(木) 09:24:04.92ID:c4UlOrII
>>145
I2CのレジスタにI2Cクロックとシステムのクロック分周が同一のときの注意文読んだこと無いの?(´・ω・`)

多分低消費電力思考でそのへん攻めてると通常稼働でメタステーブルでる(´・ω・`)

149774ワット発電中さん2021/05/06(木) 10:43:15.60ID:bTCLSfFh
>>148
> I2CのレジスタにI2Cクロックとシステムのクロック分周が同一のときの注意文読んだこと無いの?(´・ω・`)
ソース出してくれ

150774ワット発電中さん2021/05/06(木) 10:55:38.41ID:+aq5kMeg
ドヤ顔おじさんスレ名物ちょっとネガティブなこと書かれると自分への攻撃だと思って過剰反応しすぎ問題
そんな夜中に書き込みって無職かジジイの早朝覚醒?w
というかいつまでスレ違いのアース談義してんだよw
頭蓋骨アースした方がいいんじゃねーの?外来ノイズで狂い過ぎぃwww

151774ワット発電中さん2021/05/06(木) 11:38:25.00ID:c4UlOrII
>>149
メタステーブル とか バスクロック分周とかで検索してみ(´・ω・`)

152774ワット発電中さん2021/05/06(木) 11:40:42.52ID:c4UlOrII
>>150
技術にとってお前みたいのは害悪なんだ(´・ω・`)

去ね(´・ω・`)

153774ワット発電中さん2021/05/06(木) 11:56:02.84ID:Hg67/gf8
>>151
出せないなら別にいいよ、妄言に付き合う気はないから

154774ワット発電中さん2021/05/06(木) 12:06:28.52ID:c4UlOrII
>>153
eratta I2C で検索かければタイミング関係いっぱいでてくるよ?(´・ω・`)

155774ワット発電中さん2021/05/06(木) 12:11:01.11ID:Hg67/gf8
>>154
>>153
そもそも検索キーワード変わってるしw

156774ワット発電中さん2021/05/06(木) 18:04:36.50ID:c4UlOrII
>>155
煽るだけ煽ってコメントなしか・・・・?(´・ω・`)

157774ワット発電中さん2021/05/06(木) 18:17:04.17ID:c4UlOrII
I2C方位計測のテストしてみたら 三次元データ出てきた(´・ω・`)

atan2 で単純な方位 と 地平面に対しての平面x成分の傾き と 平面y成分の傾きデータ取れた(´・ω・`)

3Dシミュレータで視野なんかこれで変えられるね(´・ω・`)

158774ワット発電中さん2021/05/06(木) 18:25:02.33ID:bTCLSfFh
>>156
だからその注意文とやらのソース出せよ
> I2CのレジスタにI2Cクロックとシステムのクロック分周が同一のときの注意文読んだこと無いの?(´・ω・`)
ソースもない妄言に何をコメントしろって言ってるんだ?w

159774ワット発電中さん2021/05/06(木) 18:26:38.89ID:c4UlOrII
>>158
マイコンのI2Cのpdf資料に記載されてるだろ(´・ω・`)

160774ワット発電中さん2021/05/06(木) 18:40:50.62ID:B9/9tgZc
>>159
まあそういわずに、具体的なPDFのURLとページ番号を書けば。

161774ワット発電中さん2021/05/06(木) 19:22:17.21ID:kI6eddHC
20年近く前の話だけど、I2Cの通信でコマンドを2回連続で打つ仕様の製品に携わったことがある。
ひょっとしてメタステーブル対策だったのかな?
1回発目のコマンドだと応答しないデバイスがいるらしく、とりあえず2回打てば問題ない。という理由だったような気がする。
2発目のコマンドでエラーが起きないのが不思議だったけど、あれはなんだったんだろう?

162774ワット発電中さん2021/05/06(木) 19:25:24.83ID:c4UlOrII
>>161
restartとかじゃなくて?(´・ω・`)

163774ワット発電中さん2021/05/06(木) 19:26:30.76ID:c4UlOrII
ごめん間違えた (´・ω・`)

Repeated Start じゃなくて?(´・ω・`)

164774ワット発電中さん2021/05/08(土) 15:57:52.24ID:Fu78so+D
CXPIとか…
2016年なのでもう5年前とか… (知らんかった)

車載LAN規格「CXPI(Clock Extension Peripheral Interface)」
https://monoist.atmarkit.co.jp/mn/articles/1604/04/news009.html
CANの応答性とLINの低コスト、両方をイイとこどりした車載LAN規格が必要だと考えた。そこで、LINの構成をベースにCAN並みの応答性を実現できるような規格の開発を目指した。

165774ワット発電中さん2021/05/09(日) 06:29:31.46ID:hOyBJ9DX
>>164
通信速度は最大20kbpsってけっこう低速だね(´・ω・`)

一線信号を反転して二線化とかすれば相当ノイズに強くなって速度増すのに・・・・(´・ω・`)

EMPについてあんま考えてないのかな?(´・ω・`)

166774ワット発電中さん2021/05/09(日) 06:34:32.16ID:hOyBJ9DX
UART信号のPWM化とかの利点と 一線信号を反転して二線化 を比較すると

後者に軍配があがりそうだけど・・・・(´・ω・`)

167774ワット発電中さん2021/05/09(日) 07:07:59.96ID:hOyBJ9DX
BtoBの囲い込み目当ての規格なのかな?(´・ω・`)

168774ワット発電中さん2021/05/09(日) 07:15:27.20ID:hOyBJ9DX
電気自動車とかになると大電力の車種なんかも出てくるからEMPとか電磁ノイズに関する

規格が優位になってくるだろうね(´・ω・`)

169774ワット発電中さん2021/05/09(日) 07:16:35.28ID:hOyBJ9DX
配線取り回し問題は実は スペースジェットなんかでも

いろいろ言われてたよね(´・ω・`)

170774ワット発電中さん2021/05/09(日) 09:44:26.06ID:UcushVbi
でかくなってくると色々問題が発生してくるけど、エンジニアは飯の種だから秘匿しがち
俺もノウハウ全開示なんてしない

171774ワット発電中さん2021/05/09(日) 11:13:26.86ID:/P1YFRdA
トラブルシューティングなら想定外のヒゲ状のノイズ、不安定な電圧、エッジの様子を見たくなる。
ある程度のサンプリングレートでアナログ波形は必要でしょね。

いまどきは廉価版オシロでも、I2C、UART、SPIのデコード機能は付いてるものが多い。
既存品の解析ならともかく、自分のマイコンで、動作のわかっているデバイスを制御するならデコードの出番は少ない。

172774ワット発電中さん2021/05/09(日) 13:07:37.54ID:DGoo6c43
>>166
CXPIやLINの上位にはCANがあり、それはCANで実現しているからね。
遅くてもいいからCANより低コストでないとメリットが無いという経済的事情。

CXPIをDigiKeyで検索するとロームとかサイプレスだけとか。しかもLINよりトランシーバーが3倍位高い。
欧米では相手にされていない雰囲気。

173774ワット発電中さん2021/05/09(日) 13:52:25.31ID:hOyBJ9DX
>>172
CANのほうがトランシーバチップが安いのならコストの低価格化っていう根底からして

いらない規格になっちゃうね(´・ω・`)

174774ワット発電中さん2021/05/09(日) 13:58:22.70ID:hOyBJ9DX
さらにCANは RS485のIPなんかを利用してたりもするんかぁ(´・ω・`)

RS485のほうが性能高くて低コストってことかな?(´・ω・`)

175774ワット発電中さん2021/05/09(日) 14:03:59.97ID:cnqSE/U0
RS485の物理層だと、送信側がコリジョンを発見できるとは限らんし。

176774ワット発電中さん2021/05/09(日) 14:10:18.86ID:hOyBJ9DX
>>175
CANのコリジョン判定にはどんなものがあるの?(´・ω・`)

177774ワット発電中さん2021/05/09(日) 15:06:47.62ID:DGoo6c43
>>173
うぉ!確かにLINよりCANのトランシーバーが安い!
RS-485よりも安い!
まさかこんな事になっているとは知らんかったorz

178774ワット発電中さん2021/05/09(日) 15:11:09.13ID:hOyBJ9DX
>>177
そもそも通信関係のネックは 問題発生時の人件費じゃない?(´・ω・`)

179774ワット発電中さん2021/05/09(日) 15:28:38.84ID:cnqSE/U0
>>176
CANはドミナントとリセッシブがぶつかったらドミナントが勝つけれど、
RS485は、1 と 0 がぶつかったときにどっちが勝つか保証できないし。
プロトコルでの検出は自分で調べて。

180774ワット発電中さん2021/05/11(火) 15:23:45.21ID:dUf4+6Zq
RS485
USBもI2CもSPIも電灯線で20mは無理だしw
秋月でトランシーバICが\50円だし

181774ワット発電中さん2021/05/11(火) 16:31:41.84ID:52xSAJqq
RS485でコリジョンはどうするの?
プロトコルでカバー?

182774ワット発電中さん2021/05/11(火) 16:48:19.30ID:9ybL7//Y
>>181
Arbiter Taskで監視。 リプライエラーでタイマーインターバル可変させて、リトライ。
PIC16Fでだけど。

183774ワット発電中さん2021/05/11(火) 19:05:02.78ID:R1ezPjnr
そもそもRS485は所謂物理層までしか規定してないから衝突みたいな概念はケアしない
4相(全二重)なり2相(半二重)で問題の違いはあるけど、
一番問題になるのが、みんなModbusなりちゃんとしたプロトコルを使えば良いのだけど、特にスレーブ側が気にせず(ユニットメーカーが考えなしに)独自仕様のプロトコルで動かして、解析に時間のかかるバグを発生させやすい

184774ワット発電中さん2021/05/11(火) 19:28:42.79ID:R1ezPjnr
マスタースレーブ通信だからマスター側で衝突しない様に管理できるはずなのにプロトコルが合わないから衝突が発生してしまうのは悲劇でしかない

185774ワット発電中さん2021/05/11(火) 20:04:39.64ID:9ybL7//Y
まぁねぇ。 ベルコン作業でリプライ時間がまちまちなM-S通信では衝突対策は必須だね。
Arbiterの待ち行列やタイムアウト時間を各々変化させてやると9600ボーで6人分ぐらいはなんとかなる。
PLC+Modbusではできない仕様だ。

186774ワット発電中さん2021/05/12(水) 06:13:36.05ID:1iFL8FLL
産業装置なんかでも 電源投入時のタイミングとかコリジョンからの自動復帰の

プログラムがきっちり組まれて無くて

電源投入時に手動でerror処理しないといけないとかある(´・ω・`)

簡単な通信をきっちりやるだけで使い勝手が雲泥の差なのに(´・ω・`)

187774ワット発電中さん2021/05/12(水) 06:21:48.08ID:G8E3E8Na
そこまでゴミな機械に出会ったことはないわ

188774ワット発電中さん2021/05/13(木) 20:53:45.98ID:ij3QGV1J
上の方でBMX055とうまく通信できないと言ってた者だけどやっと安定して動くようになった。
あれから何をやったかというと、

・余計なものを取っ払ってシンプルにするため、FXMA2102を外して、信号線をジャンパで飛ばす
・リンギングを抑えるため、ダンピング抵抗100Ohmを入れる

これで波形を見る限りI2Cの規格を満足するようになったが、かなりの確率でNAKが返ってくる。
よく観察すると、最初の通信を乗り切ると何時間でも通信し続けるため、信号の品質ではなく、
BMX055が起動時に何かあるのではとマニュアルを見て分かったのが、デフォルトのスリープモードが
最初の通信でノーマルモードに切り替わるということから、わざと1発目に意味のない信号を出して、
ノーマルモードに移行するようにした。
これをすると、数回に1度しか起動しなかったのが、10回程度繰り返して毎回起動しているのでこれが正解だと思う。

こんなことネットで探してもどこにも書いてないし、なんでうちだけこんな問題が起きたのか分からんのだが、
ネットの記事ではArduinoみたいなそんなに速度の出ないマイコンを使ってるのに対して、俺が使ってるSTM32F446は
かなり高速なのでそこらへんが関係しているのかもしれない。

波形についていうと、今回はFXMA2102を引っぺがしてダンピング抵抗をつけたが、
つけたままでもダンピング抵抗の値を変えても行けると思う。
心が疲れたのでちょうどいい値を探さずに引っぺがしたけど。

189774ワット発電中さん2021/05/14(金) 01:58:39.50ID:yg5p5nPJ
>>188
そういやあのFXMA2102にバスコンが付いて無いんだよな。

190774ワット発電中さん2021/05/17(月) 14:31:15.01ID:7Ty1Alc3
CAN FDってどうよ? 使っているヤシいる?

191774ワット発電中さん2021/05/19(水) 18:08:58.74ID:Sd448gny
>>190
反応無いね。
CAN FDってプロトコルを替えるから、全てのデパイスをFD対応にしないといけないんでしょ?
一瞬検討対象になったけど、それがネックになってボツになった。

192774ワット発電中さん2021/05/21(金) 19:49:45.78ID:lHkKbVF8
>>191
thx
CAN FDやってみたは。
帰って来るメッセージ判断できるんで両刀使いできるよ。
if ((_gMsg.field.formatType == CAN_2_0_FORMAT) && (_gMsg.field.idType == CAN_FRAME_EXT))
{...}

64バイトは応用が広がるな。
CANからCAN FDに全作品変更予定。 30数点のアナデジ基板があるんでKiCAD修正とファームウェア修正せねば。

193774ワット発電中さん2021/06/01(火) 11:41:07.71ID:383dBzT5
Microwire…
単語は知ってたがSPIの亜種かと思ってたわ(今日知った)

194774ワット発電中さん2021/06/13(日) 03:39:07.50ID:Ic4p+uVJ
LINのウェイクアップについて質問です。
現在LINについて勉強中です。
LINではマスタノードからのヘッダ送信で通信が開始する認識です。
スリープフレームはマスタノードからスレーブノードに送信するという説明を見ました。
一方ウェイクアップフレームはスレーブノードからも送信出来るとありました。
この場合、スレーブノードは何をトリガーにウェイクアップフレームを送信するのでしょうか。
マスタノードはスリープ状態なのでヘッダ送信も出来ないのではないかと思い、スレーブノードからのウェイクアップフレームはどういう風に送信されるのかがイメージ出来ません。
どなかご教授頂けないでしょうか。

195774ワット発電中さん2021/06/13(日) 07:59:19.33ID:iK7XxW/W
>>194
詳しくないけど、

> スレーブノードは何をトリガーにウェイクアップフレームを
スレーブにイベントが発生した時。例えば雨を感知した、室温が上昇したとか。

> スレーブノードからのウェイクアップフレームはどういう風に送信されるのかがイメージ
単に信号を唐突にLにしているだけ。
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚

ここの説明が分かりやすい
https://monoist.atmarkit.co.jp/mn/spv/1010/08/news116_3.html

196774ワット発電中さん2021/06/14(月) 12:29:41.95ID:RNIevnsW
ウェイクアップは通常時みたいにヘッダ→レスポンスの一連の通信ではなく、
ただ一定期間Loにするだけなんですね。
ありがとうございます。

197774ワット発電中さん2021/11/02(火) 00:02:46.41ID:C5AWVpWR
SPIの配線について皆さんにお伺いしたいです。
今いじっている基板でSPIのスレーブを9個つなげてるのですが、インピーダンスマッチングができていないのか、マイコンの出力が足りないのか、なかなかクロックを上げられません。
4MHzまではなんとかいけるのですが、8MHzにするとCLKの立ち上がりが鈍ってしまうのと、MOSIとMISO波形のダンピングがひどいです。
一応配線は1筆書きにして線幅は0.15mmにしているのですが、これだと一番遠位では整合できてるけど、マイコンに近いほうでは歪むような気がして、正しいのかわからなくなりました。
クロックの同期とかなら、ファンアウトバッファを介して分配配線すればいいように思えるのですが、SPIではどうすればいいのでしょうか。
皆さんは、複数のスレーブをつなげる際はどうなさっていますか?

198774ワット発電中さん2021/11/02(火) 09:25:32.37ID:GLWtGpKq
>>197
SPIで9台とかは経験ないけど、全体での配線距離はどのぐらいなの?
バッファとかで出力を上げるんじゃなくてダンピング抵抗入れて信号の立ち上がりを遅くした方が良いのでは?
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚 (現状の波形・推測)
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚 (ダンピング抵抗1)
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚 (ダンピング抵抗2)

199774ワット発電中さん2021/11/03(水) 07:44:50.74ID:wCty7tS+
>>197
> 皆さんは、複数のスレーブをつなげる際はどうなさっていますか?
高速グループと低速グループに分け、間にバッファ入れて分離する。

> SPIではどうすればいいのでしょうか。
9個もデバイス繋いだら配線容量にピン容量に配線インダクタンスで目茶苦茶になる。だから途中にバッファを入れる。
全てのデバイスを高速動作させたいならバッファでツリー構成にする(今はデイジーチェーンっしょ?)

余談:
その昔のISA-Busは8MHzでいいとこ8スロット。でもフルに使うと動かなくて困った。
9個もあるなら発想変更が必要かな

200774ワット発電中さん2021/11/03(水) 14:51:29.73ID:yxqVC9TY
まあ、ISAはクロック同期式でもなくて、タイミング規定もグダグダだしな。

201774ワット発電中さん2021/11/03(水) 23:19:29.41ID:wCty7tS+
余談
>>200
それはATバスの話。
ISAバスはEISAバスのサブ規格だから互換性が取れる様にタイミングも新たに定義された。
とは言ってもATバスのグダグダを駆逐出来た訳では無いのはご指摘の通り(笑)

閑話休題
SPIバスに9デバイスかぁ〜、割と無茶だと思う。
SPIはモトローラが作ったらしいが規格書はあるんかいな?見た事が無い。
それとも、いまやSDカードのSPIモードが標準規格になるんかいな。誰か知ってる?

それで今やSPIもI2CもNXPが作った事になるんか。変なの

202774ワット発電中さん2021/11/04(木) 08:46:16.72ID:stPG9W78
そもそもSDカードのSPIモードがなくなろうとしているのに。

203774ワット発電中さん2022/02/26(土) 19:14:50.67ID:xSRjRRo7
質問教えてください。
PICを使ってCANの勉強をしていますが、よくわかりません。
IDというのは、29bitと11bitがあります。またフィルタも29と11があります。
1. なぜ長さが2種類あるのですか? どのように使い分けるのでしょうか?
2. アクセプタンスフィルタがありますが、受け入れフィルタのことだと思います。
  要は、自分の欲しいIDのメッセージだけを取り込むために、フィルタで and をとって
  振り分けている、という考えであっていますか?
3. 受信中にもかかわらず受信側がACKというbitを返すようですが、
  例えば5つのノードで聞いている中で、どのノードがACKを返すのでしょうか?
  全員か返すのでしょうか? それとも返す人が決まっているのでしょうか?
4. また、ACKを返すのは、フィルタ合格して自分の欲しいデータが届いた時だけ返すのでしょうか?
  それとも、自分の受信希望でないIDに対しても、
  「送信者さん、ちゃんと送信できてますよ、安心してくださいね」と、
  返すのでしょうか? そうすると全員がACKを返すようにも思いますが。
よろしくお願いします。

204774ワット発電中さん2022/02/27(日) 07:10:06.17ID:7+8USz+Q
>>203
ここはハードのスレだからね(>>1)、ソフトの質問にはレス付かないかも (((((^-^;

205774ワット発電中さん2022/02/27(日) 07:22:09.66ID:va6xzqLU
stackoverflowとかで聞いた方がよさそう。
これ答えられる奴は日本の質問掲示板なんか見てないっしょ

206774ワット発電中さん2022/02/27(日) 11:19:56.61ID:EnAKkGuc
>>204 >>205
ありがとうございました。
他で聞いてみますね。
どうもありがとう。

207774ワット発電中さん2022/02/28(月) 13:33:54.51ID:sQv3vdrt
>>203
>1. なぜ長さが2種類あるのですか

ackは全員が返すから、誰か受け取れなかったやつがいてもわからない。

208774ワット発電中さん2022/02/28(月) 13:38:48.44ID:sQv3vdrt
>>203
>1. なぜ長さが2種類あるのですか
長さが足りなくなったから

>要は、自分の欲しいIDのメッセージだけを取り込むために、
そんなもん。

ackは該当するやつが返す。
複数同じアドレスな奴がいれば、受け取れない奴がいてもわからない。

209774ワット発電中さん2022/03/01(火) 16:50:30.63ID:3MXpgfSX
ACKっしょん! ・・・うー。だれぞ 噂しやがったなバーローちくしょーい!!

210774ワット発電中さん2022/04/25(月) 05:44:53.30ID:c0bqEsvh
>>202
SPIモードで 数十Gbyte読み取ったら数十時間かかったw(´・ω・`)

211774ワット発電中さん2022/04/25(月) 07:22:48.33ID:Ug5ZtHvg
よく頑張った!
感動した!

212774ワット発電中さん2022/04/28(木) 05:54:18.72ID:qY7le17c
基本的な質問すいません
232cってTx、Rx、SGの3本で全二重通信とあるんですが、
SG共通なのになぜ双方向に同時通信できるんでしょうか。
SGで帰りの電流がぶつかるように思うんですが。

213774ワット発電中さん2022/04/28(木) 06:12:49.43ID:EMFjj+5/
>>212
SGは全てを受け止める大地のような存在だから

214774ワット発電中さん2022/04/28(木) 09:00:16.63ID:mX7agLrH
電流には着目せず、電圧で送信・読み取りしてるからじゃね?しらんけど

215774ワット発電中さん2022/06/26(日) 09:42:23.02ID:qvtVKcOX
マルチマスターの衝突防止を自分で実装すると結構奥が深いね。
2wireでいい方法ある?

216774ワット発電中さん2022/06/26(日) 14:53:21.31ID:v3XvhMT0
>>215
そら無理レベル。お互いに衝突して無い事を同時に確認しても、次のフェーズでは衝突するし。
さらに同時にリカバリしようとしてまた衝突。ヘタすると永久ループ入り。
優先度をラウンドロビンで回すしか手が無いと思うな

217774ワット発電中さん2022/06/26(日) 19:03:18.70ID:omlMaAvw
マスター達を制御するスーパーマスターを作るのだ。

218774ワット発電中さん2022/06/26(日) 19:54:36.22ID:YvEUtk8T
ランダムな時間待ってから送れば?

219774ワット発電中さん2022/06/26(日) 20:03:44.82ID:lW9USo0E
>>217
良いアイデア!!
それなら出来そうだわ。
マイコンがもう一ついるけどね。
>>216
同時に送信ってあり得るからね。
何か通信の開始をずらせる方法があればいいんだけど。

220774ワット発電中さん2022/06/26(日) 21:05:11.34ID:lW9USo0E
>>218
CSMA/CA方式っていうのがあるんだね。
ネットにはあまり情報がないけど。

221774ワット発電中さん2022/06/27(月) 00:28:31.96ID:jhrfI1eN
>>220
CSMA/CDなら10BASEでさんざんやってたろ。

222774ワット発電中さん2022/06/27(月) 07:29:56.45ID:Dd49bD66
>>221
でもCAの情報はかなり少ないね

223774ワット発電中さん2022/06/27(月) 07:37:52.54ID:jhrfI1eN
>>222
無線じゃないからCDすれば十分だろ。

224774ワット発電中さん2022/06/27(月) 08:25:39.33ID:0RdO9zav
CSMA-CDってゼロックスが技術情報無料で公開してなかったっけ?

225774ワット発電中さん2022/06/27(月) 09:03:52.80ID:/WNptHYH

226774ワット発電中さん2022/06/27(月) 10:19:01.59ID:5SPB+8/V
>>225
さすがに >>216 はバカ過ぎると思わないの?
CSMA/CD はバックオフしてるだろ。

227774ワット発電中さん2022/06/27(月) 10:25:37.25ID:SrXIuQqo
2台のマスターが同時進行したとき
(9600bps/8Byte送信時間7ms/UARTの受信バッファ1Byte単位)
1.データを8Byte単位のパケットに分解
2.10msの間ループし、その間Rxバッファにデータの着信があれば2.へ
3.データ送信

でもこれだと1nsも違わずに同時送信した場合衝突するね。

228774ワット発電中さん2022/06/27(月) 10:54:50.90ID:SrXIuQqo
間違えました。UARTのバッファが1byteで、バッファを確認できるのが、1byte単位なので、1byteの送信時間である8/9600秒、つまり約1msは空白時間(他のマスターの送信を検知できない時間)。その間はどのマスターも同時に送信の権利を取得できる事になるね。

229774ワット発電中さん2022/06/27(月) 11:29:42.14ID:5SPB+8/V
そうだよ、だからコリジョン検出するんだよ。

230774ワット発電中さん2022/06/27(月) 21:54:18.66ID:U3pADLmC
>>229
それ、無い物ねだり。
元ネタは>>215氏だが、この2wireとは通常I2Cの事。そしてI2Cのマルチマスターをサポートしているならコリジョン検出機能も当然サポートしている。

それなら話はハイお仕舞いだが、通常のシングルマスターはそんなコリジョン検出なんてない。通常使用なら不要な機能だからね。
そんなシングルマスターでマルチマスターをしたい。どうコリジョン検出してリカバリするか?

が議論の焦点なんだが、ここにコリジョンを唱えても明後日の話

231774ワット発電中さん2022/06/27(月) 22:50:42.37ID:SrXIuQqo
半二重のRS-485上に複数機器をつなげたModbusがヒントになるかと思い、調べてみたのですが、仕組みはシングルマスターなんですね。
衝突を回避するロジックが欲しい。。。
やはりランダム時間待ちがいいのかな。

232774ワット発電中さん2022/06/28(火) 12:10:10.96ID:rj79WJlK
データを送信する前に、「今から送信するよ」(予備送信)を数回送る。その間、受信バッファに何もデータが入ってこなければ送信の権利を獲得出来る。
どのマスターかが権利を獲得したら他のマスターは一定時間送信を行わない。
っていうの思いつきました!
ダメ出し添削して下さい!!

233774ワット発電中さん2022/06/28(火) 13:05:53.75ID:mQGvjtN4
>>232
CSMA/CDnOほうがマシ

234774ワット発電中さん2022/06/29(水) 11:11:18.73ID:tIgNAd70
>>230
コリジョンフラグ監視してリカバリ

235774ワット発電中さん2022/06/29(水) 11:36:15.53ID:Z6lMDjPp
I2Cの上でTCP/UDPするスレはここですか

236774ワット発電中さん2022/06/30(木) 19:32:47.14ID:Oxfspa5h
シングルマスターで設計しなおす

237774ワット発電中さん2022/08/13(土) 21:12:14.28ID:YvU66aBO
ここでいいのかわかりませんが質問させてください。
CANの質問があります。
CANの2本の線を基板の上で終端します。普通は120Ωのようです。
I/F ICのデータシートを見ると、終端方法には、
・120Ω抵抗のみの場合と、
・60Ω+60Ωで中間からコンデンサでGDに落とす場合
が書いてあります。
質問ですが、
・後者の方法は、何のために行うのでしょうか。何か性能がUPするのでしょうか。
・前者の方法と後者の方法は、どのようにして使い分けるのでしょうか?
よろしくお願いします。

238774ワット発電中さん2022/08/13(土) 21:48:41.14ID:sYjQlAON
>>237
片方が断線しても通信出来る様にするため、たぶん。

(CANには強くないけど)抵抗の中点からコンデンサ経由にすると、AC的にシングルエンド終端2本になる。
CANは一方に障害が発生しても通信継続する仕様で、シングルエンドなら継続出来るし。

239774ワット発電中さん2022/08/13(土) 22:09:18.91ID:YvU66aBO
>>238
ありがとうございます。
なるほど、頭いいですね。Cで接地されるとてうことですね。

片線で通信できるようにするには、SPLIT端子の付いたICを使うと思っていました。

終端の中点(1/2抵抗値)からGNDにCなので、
コモンモードの強化(Yコンのように)かなぁ、とも考えていました。
回線の小目電圧を除去して、ICの入力電圧範囲に入れるとか。

240774ワット発電中さん2022/08/13(土) 22:31:57.45ID:WnkI2paj
>>237
CAN信号の終端処理を適切に行う
https://monoist.itmedia.co.jp/mn/articles/2006/15/news014.html
2ページ目の質問4

241774ワット発電中さん2022/08/14(日) 01:33:55.80ID:cB+W/4bt
>>240
大変ありがとうございました。
このように説明された文章を探しきれずにいました。
どうもありがとうございました。

2回読みましたが、
「分割終端により、CANHとCANLの両方のラインにローパスフィルターが作られ、
 トランシーバーからバスに出る高周波ノイズの多くが低減されます。」
この部分の説明がよくわかりませんね。
LPFを構成する CxR のCはスプリットのCだと思いますが、Rがどれなのか。
「トランシーバーからバスに出る高周波ノイズ」は、
バス線からICに入ってくる方向なのではないでしょうか、と疑問に思うのでした。

どうもありがとうございます。

242774ワット発電中さん2022/08/14(日) 08:34:06.54ID:nKDfZqD6
ブースター接種 ⇒ 超過死亡 ⇒ 芸能人体調不良
://2chb.net/r/covid19/1651729211/l50

243774ワット発電中さん2022/10/30(日) 23:07:16.42ID:Nm3wtfkk
なぁ、I2Cに同じデバイス(=同じアドレス)をピン容量が許す限り目一杯ぶら下げたい場合はどうする?
簡単な手としてI2Cスイッチがあるけど、あれって4系統しかぶら下げられない…

FETスイッチなら安価に並べられるけど、I2CってSDA共通でSCLだけスイッチでもいいのか?

244774ワット発電中さん2022/10/31(月) 22:16:40.15ID:eQP3cPhz
>>243
事例はあったけど…
http://seppina.cocolog-nifty.com/blog/2014/09/i2c---1-f882.html

専用IC使えってか…

245774ワット発電中さん2022/11/02(水) 07:42:06.79ID:2NNAby5O
可変IOピンを使うのはどう?

246774ワット発電中さん2022/11/02(水) 22:11:03.48ID:+Jh16aDA
>>245
なにそれ?ぐぐってみるわ

247774ワット発電中さん2022/11/02(水) 22:15:53.84ID:+Jh16aDA
>>245
秋月がヒットしたが、これか↓?イメージ涌かない

スレッショルド可変型ドライバ TD62602P
[TD62602P]
通販コード I-06266
発売日 2013/05/21
メーカーカテゴリ 株式会社東芝セミコンダクター社(TOSHIBA)
TD62602Pは6回路入りのスレッショルドフリードライバで反転型・オープンコレクタとなっております。電源、GND、入出力端子はCMOSの4049、4050と同じです。基準電圧端子(Vref)は内部で1/2VCCになるように設定されていますが、外付抵抗により可変することができます。

248774ワット発電中さん2022/11/02(水) 22:26:31.81ID:+Jh16aDA
話のネタに、こんなのも見つけた

I2Cアドレス重複を抵抗とダイオードだけで解決する方法
https://picalittle.tech/solve_i2c_collision/

一見、おぉすげぇ~なんだが、ちょと間違えるとMCU→I2Cデバイスに向かって貫通電流が流れるやん。
却下したw

249774ワット発電中さん2022/11/13(日) 07:03:47.60ID:gtoQUMzc
I2Cに同じデバイス(=同じアドレス)を目一杯ぶら下げる方法、頭の中で思考実験して安価な方法を閃いたわ。
制御側をどうすっかな……

250774ワット発電中さん2022/11/13(日) 07:25:15.88ID:gtoQUMzc
しかしなんだな、I2Cはシリアル信号を一筆書きに配線出来るのがメリットなのに、アドレスが衝突するとアドレス変換とか、制御信号が複数必要になるのがなんだかなぁ~。SPIでも同じだけどさ。
I2Cでも最新はアドレスが被ったら自動で振り直してくれるけど、あんまり普及してないし。

その点、JTAGってスゴくない?シリアル、割と高速、数珠繋ぎ可、でもデバイスの特定可。その上に本来のバウンダリスキャンで基板の検査可!
I2CやSPIはJTAGに置き換わったほうが、世の中幸せになれるかもと今思った

251774ワット発電中さん2022/11/13(日) 09:53:03.07ID:714Qu1rs
割と高速といっても、クロック応答の一番遅いものに制限されるんじゃなかったか。

長い歴史があるにも関わらず採用数が低いものにはそれなりの理由があるわけだし、その理由を考える方がいいと思う。

252774ワット発電中さん2022/11/13(日) 10:02:46.97ID:714Qu1rs
SCLだけの選択でもいけそうな気がするけれど、>>243でも言及されている容量が問題になりそう。
クロックストレッチングを考慮しなくていいなら74xx138でもいいかな。
アナログマルチプレクサを使ってるのは見たことがある。

253774ワット発電中さん2022/11/13(日) 21:07:05.48ID:gtoQUMzc
>>252
> クロックストレッチングを考慮しなくていいなら74xx138でもいいかな。
クロックストレッチ! SDA側をイジる理由はそれだったのか、なるほどね。
あと138、イネーブルピンを操作してクロックにするのか。なるほどね。
ただ8本では足りないや、最大16デバイスを切り替えたいので。
ヒントありがと

254774ワット発電中さん2022/11/22(火) 00:35:36.24ID:0Ky2aNih
ラズパイにBME280をI2Cで繋げて温湿度と気圧を測りたいんだけど、ラズパイとBME280を6mほど離したいのよ。

ちょっと離れすぎているのでバッファーを入れたほうが良いかなと思うんだけど、PCA9515を使ったら良いかな?

255774ワット発電中さん2022/11/22(火) 07:49:28.24ID:1jTT42La
しくみをI2Cのままにして、バッファを入れて強化する、ということだと、
・両側にバッファを設ける
・プルアップ抵抗を小さくして耐ノイズ性を上げる
ということになると思う。
I2C バッファ で検索したらPCA9600もヒットした。

プルアップ100Ωのオープンドレインでの通信でも10mぐらいはやったころがある。
意図的にノイズを印加したらデータも壊れるけれど、どれぐらいまでOKかは用途次第だし。

コストと消費電流の問題がクリアできるなら良いのでは。

スピードを落として電線を工夫したら(線間容量を減らすとか)、生のI2Cのままでもそこそこ
行ける気もするけど。

256774ワット発電中さん2022/11/22(火) 08:01:33.20ID:Ckm4OxTG
プルアップ抵抗下げても限界あるよね。
ノイズでデータの長期的な信頼性は低そう。

257774ワット発電中さん2022/11/22(火) 08:34:39.35ID:1jTT42La
限界があるといっても、どんなものにだって限界があるし、信頼線の高い低いもイチゼロではない。
プルアップ抵抗を下げることは、ぶら下げるコンデンサの容量も大きくていいこととセットだし、
より大きいノイズ耐性を持つことには違いない。

イチゼロ思考ってものごとを整理しやすい。陥りやすい罠ですね。

I2C 延長 で検索したら、ほかの物理線に変換するものも見つかる。
(それとて、どこかには限界があることには違いはない)

258774ワット発電中さん2022/11/22(火) 08:57:29.15ID:67tL8nHy
>>254
そうだね、PCA9515を使うのがいいと思う。
ただ、6mって邪魔じゃない?無線化は考えないの?Bluetooth温湿度計とか立派な奴が2000円、スイッチサイエンスとかで探せばいいやつがありそう。

259774ワット発電中さん2022/11/22(火) 12:02:21.75ID:TlOdeR7N
誰もイチゼロで話はしてないっていう

260774ワット発電中さん2022/11/22(火) 14:37:04.16ID:xCobUJjO
>>259
・ーーー・ ・ーー ・ー・

261774ワット発電中さん2022/11/22(火) 18:45:00.04ID:Ckm4OxTG
I2cで長距離ケーブルで引っ張って
痛い目にあったから絶対やらない。

連続動作で変なデータが入る。
バッファ入れたりノイズ対策やったけどゼロにはならなかった。

262774ワット発電中さん2022/11/22(火) 19:21:44.65ID:oFGGyz86
>>261
だろうな、だから無線を薦める俺

263774ワット発電中さん2022/11/23(水) 12:14:07.75ID:rLL0/KDM
ちょっと自信が無くて有識者の意見が聞きたいのだけど
速度を20kbps以下にして以下の様な回路にすれば安価に対応できるではないだろうか?
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚
たぶん\(^o^)/

20kbpsで厳しい場合は速度を下げて1か2か1,2両方の方法で対応
1.コンデンサの容量を上げる
2.各種抵抗値を上げる

逆に下手にバッファー使ったら信号の上下速度が上がって結果的に
リンギングやストレキャパシタンス(配線間の寄生容量)の影響で不具合の原因になるのでは?

264774ワット発電中さん2022/11/23(水) 12:34:00.49ID:HXJpwizD
>>263
同じように外部のI2Cのセンサーをケーブルで引っ張って計測したことある。

連続動作してるとたまにマイコンがフリーズしたりする。

外乱ノイズの影響だと思って
フィルター入れたり絶縁したり色々やったけどだめ。

センサー外したら大丈夫だった。

I2cは基板内で使うもんだと思う。

265774ワット発電中さん2022/11/23(水) 16:56:16.24ID:yQEGwwCW
>>263
ノイズがねぇ〜。ほら、6mと言えば半波長で25MHzくらい。
ちょうどいいアンテナになって、周辺の電子機器のノイズを拾いまくると思うんだよね。

20kbpsでいいなら、
 P82B96: 2ビット双方向 2V〜15V、400kHz I2C/SMBus バッファ / ケーブル・エクステンダ
 https://www.ti.com/product/ja-jp/P82B96
これを強化したのが>>255氏が紹介しているPCA9600Dなんだけど、20kbpsなら P82B96+RS232ドライバがいいと思う。
速度を上げたいならRS422化する。

100m〜500m延ばすなら、
 I2C通信距離を延長するリファレンス・デザイン:I2Cと CANの組み合わせ
 https://www.ti.com/jp/lit/ug/jaju674/jaju674.pdf

さらに1200mでどうだ!ってとこ
 LTC4331 絶縁型I2C延長モジュール(2個セット)
 https://strawberry-linux.com/catalog/items?code=14331

266774ワット発電中さん2023/01/29(日) 11:17:28.63ID:VLRZR3nb
254です。
皆さまご助言ありがとうございました。
結局、自分が当初考えた通り、PCA9515で様子を見ることにしました。
約1ヶ月ほど運用してみましたがBME280がお釈迦になった以外、トラブルは特に無し。

BME280がお釈迦になった件ですが、突然気圧の計測値がおかしくなり(温度と湿度の値は正常)結局新品と交換して解決しました。
半年ぐらい前にも同じ現象が起き、そのときも新品に交換で対処しました。
厳密に計った訳ではないのですが、屋外で大体半年ぐらい使うと気圧が変な値になります。

267774ワット発電中さん2023/01/29(日) 11:38:30.02ID:3oN6J7c4
尼のB014VVPZT4買った人いる?
CH340といえど安いから偽物チップかしら

268774ワット発電中さん2023/01/29(日) 12:25:42.14ID:m65WW1+R
>>266
「約1ヶ月ほど運用 ~ トラブルは特に無し」なら心配したノイズの影響は無さそうね。

自分語りだが、居室のWiFiの電波の入りが良くないからエレコムの5m USB延長ケーブル買った。太めで電圧降下にも配慮している様で好印象。
WiFiアダプタも問題動作し、通信環境も劇的に改善。

てな訳で、>254もUSB延長ケーブル + USB-I2Cアダプタって手もあったなぁ~と、今思った

269774ワット発電中さん2023/01/29(日) 14:52:07.39ID:hGGNTxLK
>>267
CH340ならこんなものAliとかなら前は同じものが100円以下で買えたし
ただこのタイプは結構前からあるやつでDTRが出てないからArduinoで使うにはちょっと工夫が必要
また3.3Vで使うときに電圧が結構いい加減、回路図はツェナーになってるけどおそらくダイオード2本のドロップじゃないかな
自分は5V専用にして余ったピンにDTRを引っ張ってくる改造してArduinoで使ってる

270774ワット発電中さん2023/01/30(月) 09:40:52.74ID:VGIlBAN1
>また3.3Vで使うときに電圧が結構いい加減、回路図はツェナーになってるけどおそらくダイオード2本のドロップじゃないかな

おおぉ。裏の写真を見ても回路図にはあるドロップ用の抵抗220Ωがなさそうですね。
外部で3.3Vを使われたらすぐに電圧落ちすぎになりそう。
ダイオード2個直列の方が、まだマシだったのかも。
それにしても、コストに厳しい設計だな。レギュレータってそんなに高価でもないはずなんだけど。

271774ワット発電中さん2023/01/30(月) 20:16:37.83ID:2tYQRSdy
>高価でもないはずなんだけど
それでも削れそうなら迷わず削るのが中華製品

もし3.3Vでも使いたくて安さにもこだわるならこの辺りはどうかな?
3.3Vはレギュレータで作っている、3.3Vと5Vはジャンパピンでなくスイッチで切り替える、DTRが出ているのでArduinoでも使える、送料込みで200円程度
https://aliexpress.com/item/1005004824134193.html


lud20230206060127
このスレへの固定リンク: http://5chb.net/r/denki/1618646167/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】 ->画像>22枚 」を見た人も見ています:
【Toppers】組込みOSのスレがないじゃないか【freeRTOS】
購入したものを披露するスレ
【Renesas】ルネサス総合 part9
Arduino初心者熱烈大歓迎質問スレ part25
3Dプリンター個人向け@電気・電子板 その54
ニッカド1.2Vで電池工作
◎◎ 電気・電子を好きになった理由 2 ◎◎
【オワコン】3Dプリンターが進化したら製造業は丸ごとなくなるの?【斜陽産業】
修理
【な】秋月、千石、若松などを語るスレ107【ど】
部品買っても部屋の片隅に放置だよな
交流が全くわからない
Dプリンター個人向け@電気・電子板 その57
H8
STM32スレ part5
LEDでこんなもの作ってみた
電子戦隊について語るスレ
ハードディスクドライブで曲が弾きたい。
PIC専用のスレ Part55
3Dプリンター個人向け@電気・電子板 その36
【共立デジット千石】日本橋電気部品屋総合 その12
3Dプリンター個人向け@電気・電子板 その62
初心者質問スレ 147
AVRマイコン総合スレ Part46
初心者質問スレ 153
電子工作入門者・初心者の集うスレ 71
初心者質問スレ その132
[半導体、インバーター(ups)]強電詳しい方オナシャス[変圧器]
新日本・電験3種合格への道
工業高校電気科なんだけど就職先が決まらない
電子工作入門者・初心者の集うスレ 73 ※中国系店舗利用者書き込み禁止
電子工作入門者・初心者の集うスレ 89
USBケーブルの抵抗値と充電時間について
ハンダ作業について語るスレ No17
工業高校電気科は将来負け組か?
3Dプリンター個人向け@電気・電子板 その58
空気中での放電やってる奴集まれ!
3Dプリンター個人向け@電気・電子板 その59
パソコン選び
eBay, AliExpress で電子工作関連のお買い物 4
変な言い回し、変な省略語について語るスレ
機械工作初心者のワイにニキシー管並みの浪漫を教えてくれ
外見と型番から部品を特定するスレ その5
【回路図】CAD / EDA 総合【基板】
BSchを使いたおせ その3
【な】秋月、千石、若松などを語るスレ97【ど】
H8とPICとrasberry優れているのは?
EMCEMCEMCEMCEMCEMCEMCEMC 2
特高受電設備について語る
PCBAスレ
電子工作入門者・初心者の集うスレ 97
3Dプリンター個人向け@電気・電子板 その42
初心者質問スレ その135
【新時代!】PSoC スレ その11
3Dプリンター 個人向け その6
3Dプリンター個人向け@電気・電子板 その17
AVRマイコン総合スレ Part38
TFT液晶?の白い板に付いたシミを取り除きたいのだが
KiCAD その2
電子部品の欠陥を語ろう
電子工作入門者・初心者の集うスレ 84
電子工作入門者・初心者の集うスレ 86
電気なしで暮らす
電子工作始めたいんだけど…
eBay, アリで電子工作関連のお買い物 15
23:24:38 up 5 days, 8:32, 0 users, load average: 7.77, 7.98, 8.45

in 0.0537269115448 sec @0.0537269115448@0b7 on 112513