X



トップページ電気・電子
338コメント151KB
【I2C, 1-Wire】シリアル通信 Part.2【SPI, LIN, 4-20mA】
0001774ワット発電中さん
垢版 |
2021/04/17(土) 16:56:07.57ID:oG0Sw79D
どちくしょうが!、シリアル通信なめんなよゴルァ
線繋がってたら動くとでも思ってんのか!!
規格、伝送方式、符号化、基板設計、
静電対策、伝送線、XT、EMC対策
考える事ぁあ山ほどあんだよ!!!と、合コンでブチ切れたい

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

※前スレ
【古い】シリアル通信【最新】
https://rio2016.5ch.net/test/read.cgi/denki/1112199189/
0003774ワット発電中さん
垢版 |
2021/04/17(土) 17:04:53.42ID:oG0Sw79D
ここんとこオシロスレで聞いて1-Wireを調べてた。
ちょっと遅いが伝送距離500mとか、電力も送れるとか、デバイスを沢山ぶら下げられるとか、それで線2本とか、規格としては中々良いね。

でもなぁ〜、Maxim社がライセンスをガチガチにしている為か、ほぼMaxim社しかデバイスを作ってない。Microchip社がマスター側を少しやっている位。
で、Maxim社だから高い高い。コストメリットが無いなぁ〜
0004774ワット発電中さん
垢版 |
2021/04/17(土) 17:11:16.47ID:oG0Sw79D
>>2
おわっ! 宣伝せずにしばらく俺様用チラ裏スレにしようと思っていたのに、見つけるの早!!

4-20mAにはHART通信があるからね。
低速で変なシリアル通信規格に味付けしてみたくてさ
0005774ワット発電中さん
垢版 |
2021/04/17(土) 17:25:08.22ID:dwF4MmPD
>>4
なるほど。

センサーの校正値とかにTEDSも含まれそう。
そういやVGAケーブルを介したモニタのプラグアンドプレイはどんな通信をしてるんだろうって思ったらI2Cっぽい。
基板外で使われるI2Cの例になるかな。
0006774ワット発電中さん
垢版 |
2021/04/17(土) 17:49:27.71ID:jswc15C5
>>5
DVI, HDMI, DisplayPortもI2Cで通信してるよ。
オシロスレッドのI2Cキッズがドヤ顔するでしょうね。
0007774ワット発電中さん
垢版 |
2021/04/17(土) 23:15:50.54ID:oG0Sw79D
>>5
TEDSは知らんかった。校正とかの記録があるから、比較的高価なセンサーで使うのかな。
いきなり新しい事を知ったよ thx

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

ただしDisplayPortはもっと進化しているよ。
DVIやHDMIとの上位互換性の為にI2CモードもあるがDisplayPort時にはLVDS双方向モードになり、EDIDは勿論、レーン構成のやり取りや信号品質のやり取りもしているんだ >>6
0008774ワット発電中さん
垢版 |
2021/04/17(土) 23:18:06.03ID:oG0Sw79D
>>6
奴がここに来ませんようにw
なにせまともな会話にならないからなぁ
0009774ワット発電中さん
垢版 |
2021/04/17(土) 23:38:31.35ID:oG0Sw79D
1-Wireの独りネタw >>3

1-Wireデバイスは高い。でも、1-Wire未対応チップでもこんな回路で1-Wireに接続出来るとか。
https://www.marubun.co.jp/service/technicalsquare/a7ijkd000000m4ty-img/a7ijkd000000m50k.gif
面白いね、実に面白い!

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

で、俺がこれを思い付いたって事は誰か先人が既にやっているに違いない(笑)
MCU用のオープンソースがどっかに落ちてるんじゃね?
0010774ワット発電中さん
垢版 |
2021/04/18(日) 07:47:26.62ID:I8nUAnHb
オシロスレでも聞いて誘導されてきたんだが、相談に乗ってほしい。
STM32F446nucleoボードと秋月のBMX055をI2Cで接続しているんだが、エラーが多発するんだ。
波形はこんな感じで、リンギングが原因だと思う。
https://imgur.com/znQ6Alb.png

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

どうすればエラーが出ないレベルまで下げられるかな?
0011774ワット発電中さん
垢版 |
2021/04/18(日) 08:16:59.32ID:anbJfRZg
あ〜ぁ、建ててまだ24時間も経って無いのにバラされてしまったよorz

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

でさ、I2Cはオープンドレインで接続する規格。つまり立ち上がりは抵抗による浮遊容量へのチャージ波形。つまりCR時定数の波形になる。
なのに立ち上がりでオーバーシュート、つまりSTM32のI2C駆動設定を間違えているよ。
0012774ワット発電中さん
垢版 |
2021/04/18(日) 10:34:03.95ID:kSMNlBcZ
たしかにオープンドレインには見えない波形。
プルアップ抵抗はどれぐらいですか?
あと、STM32のI2Cの初期設定はどんなになってるんだろう。

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

STM32とBMX055の間に電圧変換とかバッファとかは入ってないですね?
0013774ワット発電中さん
垢版 |
2021/04/18(日) 12:59:24.62ID:GQd10xQH
>>10
既出だけどジワジワ上がってる所が怪しい動き
データシート見たけど、型番は実際の所よく分からんかったけどボードにはブルアップ抵抗なくて、AVRの内部抵抗がデフォルトでは標準になってるはず
AVRは久しく触ってないけど、恐らく電源はUSBでしょ?
ならAVR側の電源は5Vで秋月(型番分からないから適当なの)の方は3.3Vだったから、そこが気になる
設定でプルアップ切ってなかったら切るべき
I2Cの立ち上がりはプルアップ抵抗とコンデンサで調整するのが基本
秋月の方は10kΩになってるぽいけどこれは大きすぎ2.2kくらいにしてみるべき(ここは適宜調整)
0015774ワット発電中さん
垢版 |
2021/04/18(日) 13:07:15.87ID:GQd10xQH
立ち上がりは適度に鈍るようにしてあげてほしいけど、抵抗とコンデンサの定数はLTSPICEとかでシミュレーションしてから決めてください
0016774ワット発電中さん
垢版 |
2021/04/18(日) 13:13:08.68ID:GQd10xQH
秋月のは写真よく見るとプルアップのジャンパは未実装か
結局コンデンサが信号線とグランドの間に入ってないのが原因な気がする
0017774ワット発電中さん
垢版 |
2021/04/18(日) 13:19:42.18ID:CcWNjLTd
>>10
通信距離が10cm以下なら余計なfilterは要らないと思う
考えられる原因としては(確認するべきポイント)
・ センサーモジュールのジャンパ設定があってるかの確認
・ I2Cのプルアップ状況の確認(JP4~5,8含む)
・ センサモジュールのサンプリング速度と読み込みレートに問題が無いか
・ プログラム側に問題はないか

あと、信号のプロービング方法間違ってると思う
・ 2本ともGNDを正しく接続してるか
・ 1:1ではなく1:10を使用してるか
0018774ワット発電中さん
垢版 |
2021/04/18(日) 13:38:44.03ID:GQd10xQH
何でエラーになってるかの原因はクロック立ち下がりのリンギングにあると考えられる
これが1Vを超過してるのでBMX055の通信線のVIL 0.3VDDIOをオーバーしてるのは明らか
ここを確かめる場合もっとズームして重ね書きでトリガレベルを1.1以上(感覚では1.5〜2.0Vまで上がる時とがあるのでは)にして見つけられるはず、測定器次第だが
0019774ワット発電中さん
垢版 |
2021/04/18(日) 14:02:16.52ID:GQd10xQH
一般的にはダンピング抵抗が効くのはインピーダンスの不整合で発生してる場合なのでI2Cには効果はほとんどない
フェライトビーズのフィルタは10MHz超えて100MHzに掛けて効いてくるものが殆どで低速のI2Cとは相性が悪い
探せばある気はするけど選定も入手も価格も面倒くさいと思う
0020774ワット発電中さん
垢版 |
2021/04/18(日) 15:13:43.11ID:GQd10xQH
>>10
ついでに気になった特徴はSCLとSDAのハイ時の電圧の変動が同期してるでしょ
電源ラインも弱いか、プルアップ抵抗から嫌な回り込みしてる証拠かなと思う
0021774ワット発電中さん
垢版 |
2021/04/18(日) 15:13:49.89ID:mJJ3nHt9
>>12
> 立ち上がりのはじめの部分(1.5Vまで上がるところ)の勾配が不思議。
それ、不思議だよね。
どこかで見たような気もするけど、なんであぁなるんだろう?
0023774ワット発電中さん
垢版 |
2021/04/18(日) 16:08:27.24ID:GQd10xQH
>>22
それか
パラ見して信号がが0.5Vccの閾値行ったらトリガ検知してdynamic driverが動くとか書いてあるから1.7Vまでリンギングが行ってたらそれが原因の一つで確定かな(他にもあるかは知らない)
0024774ワット発電中さん
垢版 |
2021/04/18(日) 16:15:57.65ID:mJJ3nHt9
>>22
FXMA2102とな?だからどこかで見たような波形なのかな。

話は外れるがFXMA2102はA側とB側の電位差が不要で、バス切断可能で、かつ安価。
ノイズ対策に便利でオススメ
0025774ワット発電中さん
垢版 |
2021/04/18(日) 16:35:37.20ID:kSMNlBcZ
測定ポイントによると思うけど、リンギングそのものはプローブの当て方でも変わるしなあ。

エラーが多発するというのは、ちゃんとデータを取れていることもあるのかな?
400kは譲れない、ということだけど、100kなら安定して取れているのかな?
0026774ワット発電中さん
垢版 |
2021/04/18(日) 16:47:33.01ID:GQd10xQH
クロック外してデータだけ見てリンギング出てればその可能性は排除できる
I2Cはハイは抵抗から出してで、ローはトランジスタで吸うから電流レベルが全然違うのが特徴的で例えばグランドリードによるリンギングはこういう等方的に現れないと言うのが俺の考え
それよりむしろ通信ラインの容量が小さいからプローブ付けたら現象出ないとかの方があり得る
0027774ワット発電中さん
垢版 |
2021/04/18(日) 16:50:12.55ID:GQd10xQH
トイオシロっぽいから帯域が足りなくてギブス現象が出る可能性もあるけど、見た感じは余裕でしょという感想
0028774ワット発電中さん
垢版 |
2021/04/18(日) 16:58:33.05ID:kSMNlBcZ
>I2Cはハイは抵抗から出してで、ローはトランジスタで吸うから電流レベルが全然違うのが特徴的で例えばグランドリードによる
>リンギングはこういう等方的に現れないと言うのが俺の考え

オープンドレイン一般論としてはそれでいいけれど、FXMA2102を通しているので純粋なオープンドレインではないしね。
LHの遷移時にコンプリメンタリ駆動しているし。
0029774ワット発電中さん
垢版 |
2021/04/18(日) 17:16:26.80ID:GQd10xQH
>>28
SCLはマスタから出るのでSCLを見れば等方性は分かるよ
これはマイコン-変換器で見てるはずだし
0031774ワット発電中さん
垢版 |
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が使われてるのは分かってたけどこれが通信に影響を
 与える可能性を全く考慮してなかった。
0033774ワット発電中さん
垢版 |
2021/04/18(日) 17:40:55.30ID:kSMNlBcZ
>測定個所はnucleoボードに生えているピンで、これに直接プローブを当ててる。
あ、そうでしたか。>>32は撤回。
駆動側のI2Cも立ち上がりのアクセラレーションがかかるんですね…
0034774ワット発電中さん
垢版 |
2021/04/18(日) 18:19:54.02ID:GQd10xQH
詳しい情報出てきたので言えるけど
この場合の正しいプロービング場所はSCLはBMX基板のGNDと変換器入力ピン相当(データシートB0)ね
SDAはどうにか方向選別して両側見る必要あるけど、SCLはマスタから出るから受信端で見ないと駄目
送信端は波形が崩れやすい
0035774ワット発電中さん
垢版 |
2021/04/18(日) 18:36:33.95ID:anbJfRZg
>>18
> 何でエラーになってるかの原因はクロック立ち下がりのリンギングにあると考えられる
その可能性は極めて低そう。
I2Cにおいて SCL=Lは「データラインのHIGHまたはLOWの状態の変更は、SCLラインのクロック信号がLOWの場合にのみ可能」であり、波形の中では Lの時に SDAが変化している。
つまりリンギングは何も影響を与えていない。

そりゃそうだ、0.3Vddを超えても不感帯に突入しただけ。
Hとして認識されるには0.7Vddまで上昇しないといけないのだから。
0036774ワット発電中さん
垢版 |
2021/04/18(日) 18:41:28.31ID:anbJfRZg
>>31
う〜ん、エラーの原因が分からんね。
ちなみにNucleoにI2C EEPROMとかI2C SRAMとか、他のデバイスを接続した時は通信に成功しているの?
OKなら問題はBMX055側、NGならNucleo側に問題あり
0037774ワット発電中さん
垢版 |
2021/04/18(日) 19:21:39.92ID:GQd10xQH
>>35
こんなちょっと出した波形で1V超えてるなら頻繁に1.5Vくらい普通に行くよ
それだけでクロックが崩れる
尚且クロストークも発生してる
前で書いてるけど変換器は0.5Vcc超えたらハイにしてるはずだ
変換器のクロック出力も見てみればいいんだよ
0038774ワット発電中さん
垢版 |
2021/04/18(日) 23:02:00.85ID:CcWNjLTd
>>31
色々悪い条件を重ねてシミュレーションしてみたんだけど
https://i.imgur.com/6HweQsG.png
立ち上がりでリンギング出る理由が・・・
オープンドレインで動いてない可能性を疑いたくなるが、CubelIDEで設定してるなら問題ないはず・・・
IOのスルーレート下げられるから下げてみたらどうだろう
あとIOもVDDも3.3Vだろうから、レベル変換IC無視して直結してみては?
0039774ワット発電中さん
垢版 |
2021/04/19(月) 01:29:15.59ID:hU74XVx8
>>37
0.7Vddは3.3V電源なら2.3V。1.5Vでもまだ不感帯の中だよ

> 変換器は0.5Vcc超えたらハイにしてるはず
そういうI2C規格に反したデバイスは作られないし、実際に違う
0040774ワット発電中さん
垢版 |
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。
0041774ワット発電中さん
垢版 |
2021/04/19(月) 14:35:18.94ID:EJQ+e9zF
プルアップ抵抗がでかすぎると思う。
プルアップ抵抗を小さくすれば立ち上がりが早くなると共にリンギング
にも多少は効果があると思う。
配線がどうなってるか画像up。

リンギングが原因と決めてかかると解決が遅くなる。
まず100kHzでちゃんと動くのかどうか試してから順番にやった方が良い。
0042774ワット発電中さん
垢版 |
2021/04/19(月) 16:00:07.50ID:yn2Cxr3F
>>41
ブルアップは5kΩらしいよ。3.3Vだと大きい印象。

> まず100kHzでちゃんと動くのかどうか試してから
賛成。EEPROM繋いで動くのかな?
リンギングもショットキーダイオード噛ませればいいし。
0043774ワット発電中さん
垢版 |
2021/04/19(月) 17:05:07.53ID:EJQ+e9zF
>>42
>>10の波形のゆっくり立ち上がる部分は片側のプルアップ抵抗(10kΩ)のみで
引っ張り上げてられていて、その後FXMA2102がドライブして急激に上がってる
ということで、並列になるのはHレベルになってからだと思う。
立ち上がりが遅いから元が1usくらいのSCLが600nsあるかないかになってしま
っている。
0044774ワット発電中さん
垢版 |
2021/04/19(月) 18:01:49.71ID:yn2Cxr3F
>>43
そっか、FXMA2102で分離するから10kΩか。大きいな。

ところでI2C規格を読み直したら、マスターが1つならPush-Pullで駆動しても構わないとか。ほぉ〜
0045774ワット発電中さん
垢版 |
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側と並列になってる。
0046774ワット発電中さん
垢版 |
2021/04/20(火) 18:08:37.54ID:i5OjJuCo
みんなアドバイスありがとう。

・BMX055以外にI2Cスレーブデバイスがなかったので、STM32のI2Cを2つ使って
 自分自身に信号を送るようにしてみた。STM32内部のプルアップでは波形がなまりすぎだったんで、
 別に2.2kOhmでプルアップしてみた。
 立下り時にリンギングがみられるけど最大でも500mVくらい。
 測定の様子→https://imgur.com/9Gxz51v.jpg
 波形→https://imgur.com/lUJFVJo.png
・上でうまくいったのでBMX055を接続した状態で2.2kOhmを追加したけど、波形の違いは判らなかった。
 その時の回路図(SDAとSCLは同じようにプルアップしてるので簡略化してる)はこんな感じ
 https://imgur.com/X0Simc7.jpg
・STM32とBMX055の配線はこんな感じ
 使用時の様子→https://imgur.com/AG6cloQ.jpg
 配線の様子→https://imgur.com/9wjnINo.jpg

STM32の設定は問題なさそうで、やっぱり配線の問題っぽいとこまでは分かった。
0047774ワット発電中さん
垢版 |
2021/04/20(火) 19:16:27.57ID:wO+ubhR4
>>46
問題は相手側かぁ〜
配線も泣き別れしているけど、これ位の長さなら問題無さげ。
お試しでショットキーダイオードは付けた?
0048774ワット発電中さん
垢版 |
2021/04/20(火) 23:39:46.50ID:gbtqqNMR
>>46
以前の波形と比較するとSCLのパルス幅が違うんだけどI2Cの設定
変えたの?
傾きが違うのはプルアップ抵抗の差としても立ち上がり始める
タイミングが違うみたいなんだけど。
https://i.imgur.com/nPCjI1H.png
0049774ワット発電中さん
垢版 |
2021/04/21(水) 00:21:24.17ID:o0iaWkr5
>>46
もうひとつ。
電源のグランドはつながってるけど信号のリターンがないので
STM32のSCLとSDAが出てるコネクタ内のグランドとBMX055の
グランドをつないだ方がいいね。SCLに添わせる感じで。
0050774ワット発電中さん
垢版 |
2021/04/21(水) 01:24:50.04ID:206m4Ng2
>>46
ちょっと前に軽く言ったけど
パッシブプローブのグランドリードを正しく接続しないと正しく測定できないよ

↓以下はは同じ回路から測定方法を変えたもの
https://i.imgur.com/TrN1zev.jpg (正しく測定した波形)
https://i.imgur.com/QIxzqui.jpg (正しく測定した波形・拡大)
https://i.imgur.com/7dcvS9B.jpg (グランドリード不適切な波形)
https://i.imgur.com/GVOJSMg.jpg (グランドリード不適切な波形・拡大)

で、リンギングの原因は測定方法だろうから、実際の回路に問題は無いと思うのよ
速度上げたせいで加速度センサのバッファが空の状態でデータ読み出してない?
0051774ワット発電中さん
垢版 |
2021/04/21(水) 12:37:57.83ID:sBU0Xz6+
>>46
ところでそもそも、
> 接続しているんだが、エラーが多発するんだ。
これってなんのエラー?

どこかのCRCエラー?あるいはNAK?レジスタ値がおかしい?
どれ?
0052774ワット発電中さん
垢版 |
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となっている。
0054774ワット発電中さん
垢版 |
2021/04/21(水) 18:47:15.42ID:sBU0Xz6+
>>52
あと、マルチマスターの時にSCLの引っ張り具合を見てなんちゃらかんちゃらと規格書に書いてあったな。
それ絡みとか?
0056774ワット発電中さん
垢版 |
2021/04/22(木) 05:40:08.33ID:NF249Wxl
俺は少なくとも歯学部卒業して以来、常に医学部コンプを持っていた。
確かに歯学部入学当初は同じような境遇のヤツが多くいた。
一年生の時から「将来は口腔外科医としてやっていきたいです」
なんて言ってな。
でも結局口外に進んだのは俺一人。
皆、歯学部の6年間で医科との絶対的な差に気付いたか。
歯科という本来の役割に気付いたか。
はたまた6年間チャランポランな学生生活で当初の志を忘れたか。
0058774ワット発電中さん
垢版 |
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”と解釈する必要があります。

メーカー教えてね
0059774ワット発電中さん
垢版 |
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 (しきい値はここの範囲)
って書いてあるよね? 不感域とは書いてないでしょ?
0060774ワット発電中さん
垢版 |
2021/04/23(金) 08:33:28.73ID:tR2dKQt0
>>59
> Receiver Threshold Band (しきい値はこの範囲)
おまいはアナデバと喧嘩する気なのかい?
「より低い電圧をロジック“L” と解釈」「より高い電圧をロジック“H”と解釈する必要があり」と説明されてんだよね。
しきい>値<ならそのどこかにあるって解釈もあるが、しきい>帯<なんだよ。

まぁ論より証拠、そのメーカー教えてね
0061774ワット発電中さん
垢版 |
2021/04/23(金) 09:53:25.71ID:9ZYoJHbM
シュミットトリガを非明記で使ってる方がまともなベンダーならありえないぞ
VILを超えたり、VIHを下回ってるのに、ヒステリシスが入ってるはずだから問題ないとかやってんのか?
んな評価有り得ないよ
0063774ワット発電中さん
垢版 |
2021/04/23(金) 10:29:48.54ID:CXgVY0MV
>>61
> シュミットトリガを非明記で使ってる方がまともなベンダーならありえないぞ
いや、あるかどうかは知らんけどそれでも規格に準拠してればいいとは思う
問題はID:tR2dKQt0が非明記なのにそれがある「はず」っで思っちゃってところ
まあ低能によくある「書いてない所は俺の都合のいいようになってるはずだ病」だと思う
0064774ワット発電中さん
垢版 |
2021/04/23(金) 10:39:17.28ID:+ivz15M+
>>58,60
I2Cを語る以前に、基本のロジック回路から勉強し直すことをお勧めします
>40,59の方の説明で有ってるので、理解出来ない様でしたら「理解力・読解力」をもっと身に着ける事をお勧めします
0066774ワット発電中さん
垢版 |
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のシュミットトリガ入力を装備。

規格書にこうして明記されてんのに何言っちゃてんのさ?
0067774ワット発電中さん
垢版 |
2021/04/23(金) 12:53:15.37ID:ZjDc7fSO
>>66
Vhys シュミットトリガ入力の
ヒステリシス: 0.05VDD
の意味もわかってないんだろうな…
そもそもシュミットトリガ自体を理解してるのか怪しいレベルw
0068774ワット発電中さん
垢版 |
2021/04/23(金) 13:01:22.14ID:tR2dKQt0
>>64
なんと言うか、ネットには知ったかぶりして平気でウソを言う>>40な奴が居るからさ、気を付けなきゃいけないんよ。
見ててごらん、「ごめんなさい」と言わずにしれっと消えるからさ
0070774ワット発電中さん
垢版 |
2021/04/23(金) 14:31:43.38ID:WPZ6oBwd
>>69
ヒステリシスとか最小値とかをちゃんと理解してたら
> そりゃそうだ、0.3Vddを超えても不感帯に突入しただけ。
> Hとして認識されるには0.7Vddまで上昇しないといけないのだから。
なんてアホなことは言わないはずだがw
0071774ワット発電中さん
垢版 |
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と認識されるか、わからないからそれ以上はマージンに含まれない、という意味でもあるよ。
0073774ワット発電中さん
垢版 |
2021/04/24(土) 14:40:25.26ID:nuIf2a+O
不感帯 シュミットトリガ
でGoogle検索。多くはヒットしないけど、使われている例もあるね
0074774ワット発電中さん
垢版 |
2021/04/24(土) 23:13:21.56ID:ZiFGONHy
>>72
不感帯で検索したら M-System、機械工学辞典、横河電機、オムロン制御機器、宮崎技術研究所、PID制御論文。。。個人プログはヒットしねぇーw

業界用語みたいね、プロ?
0076774ワット発電中さん
垢版 |
2021/04/27(火) 00:34:11.23ID:hOoNzZkL
100BASE-T と 同軸ケーブルをブリッジする製品は見つかったけれど、IC単品で売ってるのかな。
普通の1000BASE-Tでも 100m までいけるんだね。
既設の同軸が使えるのでもなければ、LANケーブルの方がとりまわしはしやすそう。
0077774ワット発電中さん
垢版 |
2021/04/27(火) 00:44:14.13ID:hOoNzZkL
不感帯は英語だとdead band だったはず。
少なくとも、
>>58のリンク先の図の Receiver Threshold Band は 不感帯 ではないね。

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

>見ててごらん、「ごめんなさい」と言わずにしれっと消えるからさ
こんなふうに書いた人は、間違ったときは「ごめんなさい」というべきだ、という規範を持ってるんだと思う。
でも消えたのが本人というオチなんだろうか。それは悲しい。
0079774ワット発電中さん
垢版 |
2021/04/27(火) 06:19:28.07ID:vZWB+MAy
>>76
「G.hn」でDigiKeyを検索すると1社見つかるところまでは見た。専用ICだった。
Gはギガの略で、hnはHomeNetworkの略、ラスト1マイル接続用らしい。ケーブルTVの同軸にギガを載せるもの。
光が普及した日本ではホーム用には出番無さそうだが、監視カメラの既存配線を使う用途では行けるんかな。

より対線のRS-485でデジタル映像伝送は、流石に無理なのか?
0083774ワット発電中さん
垢版 |
2021/04/29(木) 08:43:05.90ID:H8EkUsWx
1ペアだからコリジョンを考慮しなくても良いのか。
イーサネット系はそろそろコリジョンって仕様をなくしても良いと思うんだけどな。
0084774ワット発電中さん
垢版 |
2021/04/29(木) 11:41:19.85ID:L62+fAST
>>83
1ペアだからコリジョンはあり得るよ、ハーフデュプレックスだから。
イーサでもフルデュプレックスでスイッチングハブならコリジョンは発生しないよ。
0085774ワット発電中さん
垢版 |
2021/04/29(木) 12:40:38.21ID:rebhiOso
>>84
ボケてた。
コリジョン有ったら距離伸ばせないはずだが。IPG延ばしてるのかな?
0086774ワット発電中さん
垢版 |
2021/04/29(木) 15:46:14.28ID:MayD3nUp
イーサネットは10BASEと100BASEと1000BASEのそれぞれの系でプロトコルが物理層からして違うし、ハブやルータで吸収してるだけ
10BASE系はプリアンブルとジャム信号、待ち時間の整合でコリジョン問題を解決している
0087774ワット発電中さん
垢版 |
2021/04/29(木) 15:55:30.99ID:MayD3nUp
だから端末同士の通信だと片方が全二重だから大丈夫というわけでもなくて全二重と半二重の通信だとそのままコリジョンで死ぬ事もあり得る
そのため1000BASE系からは全部オートネゴシエーションになった
0088774ワット発電中さん
垢版 |
2021/04/29(木) 15:58:47.41ID:L62+fAST
>>86
> 10BASE系はプリアンブルとジャム信号、待ち時間の整合でコリジョン問題を解決

IEEE802.3a/iと、802.3cgは同じなのか?
0089774ワット発電中さん
垢版 |
2021/04/29(木) 16:42:31.41ID:WWQxaAGj
>>87
> 片方が全二重だから大丈夫
誰もそんなことは言ってないけど大丈夫?
0091774ワット発電中さん
垢版 |
2021/04/29(木) 17:18:21.57ID:MayD3nUp
イーサネットの規格は乱立しまくったのもあって弊害も多いけど、それ自体のプロトコルはよく考えられててコリジョン検知一つ取っても学べる所が多い
他の通信規格より複雑なプロトコルが早くからパッケージ化されていて触れる事なく使えるようになってるけど
0092774ワット発電中さん
垢版 |
2021/04/29(木) 17:18:31.46ID:Q3wzuaO7
この板でそんなチンケな一般論を開陳したくなっちゃったのかw
0093774ワット発電中さん
垢版 |
2021/04/30(金) 10:11:38.28ID:5sGCEHuX
フリーなロジアナは見つかるが、フリーなI2Cアナライザが見つからない。
俺の探し方が悪いだけか?
0094774ワット発電中さん
垢版 |
2021/04/30(金) 10:27:19.82ID:ysam7qRz
>>93
よくわからんが、Amazonで1000円位か4000円位のロジアナ+PluseView(sigrok)あたりじゃ駄目ですか?
0100774ワット発電中さん
垢版 |
2021/05/02(日) 12:16:38.71ID:hSSVTInH
上の方でアドバイスをもらった者だけど、いろいろ試してみた。
・クランプダイオード追加
 (これに伴って、モジュールには5Vではなく、3.3Vをnucleoボードから供給するように変更)
 →エラー(NAK受信)はなくなったが、波形が汚いのは相変わらず
・さらに、SCLだけ信号線とGNDをツイストペア化
 →あまり変わってなさそうだけど詳細を見ると立下りのリンギングが気になる

概観:https://imgur.com/4rSt70f.png
詳細:https://imgur.com/61xo93o.png
青がSCLで、立下り時のリンギングが気になる

とりあえずこれで3時間くらい、何らかのエラーが発生したら落ちるようにして
ポーリングでひたすらデータを読んでるけど動作しているので
・クランプダイオード有
・ツイストペア無
・電源3.3V
でいこうとおもう。
0101774ワット発電中さん
垢版 |
2021/05/02(日) 13:25:20.82ID:ZABvcc6a
>>100
もしかしてBMX055上のLDOが発振してたとか。
波形的にはそうは見えなかったけど。
0103774ワット発電中さん
垢版 |
2021/05/02(日) 13:32:40.90ID:BLAk1sKB
>>100
最近自分作った矩形波シグナルジェネレーターでリンキングしてたので
出力にAをGNDにKのVfの低いダイオード入れたら止まったよ
もうやってるならスマソ
0106774ワット発電中さん
垢版 |
2021/05/03(月) 13:48:35.40ID:LbYP0TqX
I2Cでスレーブ側でSDAがLowに固定で固まる症状でるひといる?(´・ω・`)

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

標準でコリジョン起きた時SCLにワンパルス送っておいたほうがいいのかな?(´・ω・`)
0107774ワット発電中さん
垢版 |
2021/05/03(月) 13:52:35.64ID:ODVyGGqZ
♪前から来る奴ぁワンパルス、後ろから来る奴ぁ背負い投げ
0108774ワット発電中さん
垢版 |
2021/05/03(月) 13:55:57.35ID:LbYP0TqX
ルネサスのI2Cトラブル相談でもSCLからワンパルス送る的なこと書いてあったってことは

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

どうおもう?(´・ω・`)
0109774ワット発電中さん
垢版 |
2021/05/03(月) 14:24:55.81ID:LbYP0TqX
>>10
フェライトビーズがコイル成分になって I2Cラインの静電容量と共振してコリジョンが多発してるんじゃない?(´・ω・`)
0110774ワット発電中さん
垢版 |
2021/05/03(月) 14:26:08.20ID:LbYP0TqX
フェイライトビーズで発振実験してる人なんかもいなかったっけ?(´・ω・`)
0111100
垢版 |
2021/05/03(月) 15:56:26.18ID:rwuhxEsZ
全回路配線し終えて8個のBMX055と通信できるようになったよ
今ぶん回して通信異常が起こらないか確認中

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

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

>>109
うーん、フェライトビーズってR高いから多分Qが低い
なので、発振はそうそうしないんじゃないかな
0114774ワット発電中さん
垢版 |
2021/05/03(月) 16:38:37.50ID:LbYP0TqX
>>111
Qが低くても 静電容量と減衰振動するでしょ?(´・ω・`)
0115774ワット発電中さん
垢版 |
2021/05/03(月) 16:43:10.26ID:LbYP0TqX
フェイライトビーズはトロイダルコアにくらべてノイズが抵抗成分をすり抜けやすい気がする(´・ω・`)
0116774ワット発電中さん
垢版 |
2021/05/03(月) 16:45:20.33ID:LbYP0TqX
フェイライトビーズをFM波の出力増幅に利用したりして電子工作してるひとのwebなんかもあるきがする(´・ω・`)
0117774ワット発電中さん
垢版 |
2021/05/03(月) 16:48:42.17ID:LbYP0TqX
>>112
そのほうがプロジェクトがおおきくなったときトラブル少ないよね(´・ω・`)
0118774ワット発電中さん
垢版 |
2021/05/03(月) 17:31:06.51ID:LbYP0TqX
>>108
この一行だけでトラブルや故障の相談の件数が減って 費用対効果抜群じゃないか?(´・ω・`)
0119774ワット発電中さん
垢版 |
2021/05/04(火) 19:05:40.49ID:0pEYKhD6
仮にコリジョンでI2Cがとまっても復帰できれば永遠に通信できる(´・ω・`)

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

1000万回くらいやってもフリーズすること無くI2C通信できてる(´・ω・`)
0120774ワット発電中さん
垢版 |
2021/05/04(火) 19:07:03.07ID:0pEYKhD6
ノイズによるコリジョンからの復帰をちゃんと組んでないとすぐに故障判定とかして

補修費用コストがかさむ(´・ω・`)
0121774ワット発電中さん
垢版 |
2021/05/04(火) 19:31:18.77ID:HNLSq7Ll
>>120
このちゃんとってのが曲者で毎回担当者違いますみたいなのだと、いつか問題が発生するのよね
プログラマは電気の事分からんから
電気エンジニアですらI2Cあんま知らんの多いし
0122774ワット発電中さん
垢版 |
2021/05/04(火) 19:43:51.30ID:0pEYKhD6
>>121
デバイスごとにeepromなんかにコリジョン回数を記録しておいたほうがいいかも(´・ω・`)

このデバイスはコリジョン回数 単位時間あたり 何回以上で交換とか基準も考えておいたほうがいいかもね(´・ω・`)
0123774ワット発電中さん
垢版 |
2021/05/04(火) 19:48:49.78ID:0pEYKhD6
eepromなんかにコリジョン回数記録とかまではめんどっちいかな?(´・ω・`)

ただユーザーがどんなerrorが起きてるかぐらいは把握できるようにしときたい(´・ω・`)
0124774ワット発電中さん
垢版 |
2021/05/04(火) 20:04:20.16ID:0pEYKhD6
けっこうこうやって掲示板に気軽に書き込んでると

あっそういえばここ組んでなかったみたいなの思い出す(´・ω・`)
0125774ワット発電中さん
垢版 |
2021/05/04(火) 22:45:47.49ID:ZJ3JqPlt
>>106
理解出来て無くて悪いけど「スレーブ側のSDAがLowで固まる症状」がコリジョンであると断定した理由はなに?
コリジョンと聞くとマルチマスターでマスターからのアクセスの衝突を思い浮かべるんだけど
0126774ワット発電中さん
垢版 |
2021/05/05(水) 00:22:20.82ID:CiQVUnbf
>>125
コリジョンフラグが立つからだけど?(´・ω・`)
0127774ワット発電中さん
垢版 |
2021/05/05(水) 00:59:21.96ID:0FtNFW6W
> コリジョンフラグが立つから
フラグが立つだけでマルチマスターでは無いのね。

で、原因は
>>120
> ノイズによるコリジョンからの復帰
ノイズって事かぁー
0128774ワット発電中さん
垢版 |
2021/05/05(水) 01:49:17.05ID:CiQVUnbf
>>127
スレーブ側のSDAがLowで固まる症状 とかで検索するとでてくるから特定デバイスのバグではあると思う(´・ω・`)

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

標準で組んでおこうかなって話(´・ω・`)
0129774ワット発電中さん
垢版 |
2021/05/05(水) 01:56:49.98ID:CiQVUnbf
特定デバイスの I2C論理回路の中身に固まるようなハードウエア論理回路があるものが多数あるってことだから

その対策を考えておいたほうがいいでしょ?(´・ω・`)
0130774ワット発電中さん
垢版 |
2021/05/05(水) 02:03:05.68ID:CiQVUnbf
組み込まれた論理回路のメタステーブルを解決するにはソフトめんでの柔軟性

を活かす以外ない(´・ω・`)
0131774ワット発電中さん
垢版 |
2021/05/05(水) 02:18:28.12ID:CiQVUnbf
って思うんだけど

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

これだけ多いってことは それなりに対処したほうがよくない?(´・ω・`)
0134774ワット発電中さん
垢版 |
2021/05/05(水) 06:43:55.43ID:Xe8pnedV
>>124
仕様書とかコードを人に説明してるとあっ!って思うことまれによくあるよねw
0137774ワット発電中さん
垢版 |
2021/05/05(水) 08:06:29.37ID:0FtNFW6W
>>133
FAQ 107454、FAQ 107068、FAQ 2000051がヒットするけど内容は同じっぽい。
あとはSH7286とAVRでマルチマスター時のバスロックが1件の、計2件しか無いけど?

ルネ固有問題?ってな印象
0139774ワット発電中さん
垢版 |
2021/05/05(水) 13:53:10.61ID:nl7UZlWD
お前らほんとなんも知らないんだな
産業用の小さい世界じゃなくて外出たら?
0603のはんだ付け、オシロで評価、I2Cの知識、
これだけ出来るってだけでも引く手あまただから
無理すぎる
0141774ワット発電中さん
垢版 |
2021/05/05(水) 16:43:32.73ID:L5n+F1AX
> その対策を考えておいたほうがいいでしょ?(´・ω・`)
って思うなら対策すればいいじゃん
まずそんなことが起きないようにノイズ対策すべきだとは思うけどケースバイケースだしね
0142774ワット発電中さん
垢版 |
2021/05/05(水) 16:49:54.85ID:CiQVUnbf
>>137
組み込まれた論理回路のメタステーブルの問題はメーカー問わずどこでもあるんじゃないか?(´・ω・`)

>>141
ノイズっていっても論理レベルを超えるような大きいノイズは無いんだけどなぁ(´・ω・`)
0144774ワット発電中さん
垢版 |
2021/05/06(木) 04:48:47.70ID:c4UlOrII
>>143
何いってんだ?(´・ω・`)
0145774ワット発電中さん
垢版 |
2021/05/06(木) 07:47:14.04ID:bTCLSfFh
>>142
> 組み込まれた論理回路のメタステーブルの問題はメーカー問わずどこでもあるんじゃないか?(´・ω・`)
I2Cでノイズや不具合なきゃメタステーブルなんてならないでしょ

> ノイズっていっても論理レベルを超えるような大きいノイズは無いんだけどなぁ(´・ω・`)
測定して言ってるんだよね?
そもそも発生頻度も書いてない時点でなんとも言えんが
0148774ワット発電中さん
垢版 |
2021/05/06(木) 09:24:04.92ID:c4UlOrII
>>145
I2CのレジスタにI2Cクロックとシステムのクロック分周が同一のときの注意文読んだこと無いの?(´・ω・`)

多分低消費電力思考でそのへん攻めてると通常稼働でメタステーブルでる(´・ω・`)
0149774ワット発電中さん
垢版 |
2021/05/06(木) 10:43:15.60ID:bTCLSfFh
>>148
> I2CのレジスタにI2Cクロックとシステムのクロック分周が同一のときの注意文読んだこと無いの?(´・ω・`)
ソース出してくれ
0150774ワット発電中さん
垢版 |
2021/05/06(木) 10:55:38.41ID:+aq5kMeg
ドヤ顔おじさんスレ名物ちょっとネガティブなこと書かれると自分への攻撃だと思って過剰反応しすぎ問題
そんな夜中に書き込みって無職かジジイの早朝覚醒?w
というかいつまでスレ違いのアース談義してんだよw
頭蓋骨アースした方がいいんじゃねーの?外来ノイズで狂い過ぎぃwww
0151774ワット発電中さん
垢版 |
2021/05/06(木) 11:38:25.00ID:c4UlOrII
>>149
メタステーブル とか バスクロック分周とかで検索してみ(´・ω・`)
0152774ワット発電中さん
垢版 |
2021/05/06(木) 11:40:42.52ID:c4UlOrII
>>150
技術にとってお前みたいのは害悪なんだ(´・ω・`)

去ね(´・ω・`)
0154774ワット発電中さん
垢版 |
2021/05/06(木) 12:06:28.52ID:c4UlOrII
>>153
eratta I2C で検索かければタイミング関係いっぱいでてくるよ?(´・ω・`)
0156774ワット発電中さん
垢版 |
2021/05/06(木) 18:04:36.50ID:c4UlOrII
>>155
煽るだけ煽ってコメントなしか・・・・?(´・ω・`)
0157774ワット発電中さん
垢版 |
2021/05/06(木) 18:17:04.17ID:c4UlOrII
I2C方位計測のテストしてみたら 三次元データ出てきた(´・ω・`)

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

3Dシミュレータで視野なんかこれで変えられるね(´・ω・`)
0158774ワット発電中さん
垢版 |
2021/05/06(木) 18:25:02.33ID:bTCLSfFh
>>156
だからその注意文とやらのソース出せよ
> I2CのレジスタにI2Cクロックとシステムのクロック分周が同一のときの注意文読んだこと無いの?(´・ω・`)
ソースもない妄言に何をコメントしろって言ってるんだ?w
0159774ワット発電中さん
垢版 |
2021/05/06(木) 18:26:38.89ID:c4UlOrII
>>158
マイコンのI2Cのpdf資料に記載されてるだろ(´・ω・`)
0161774ワット発電中さん
垢版 |
2021/05/06(木) 19:22:17.21ID:kI6eddHC
20年近く前の話だけど、I2Cの通信でコマンドを2回連続で打つ仕様の製品に携わったことがある。
ひょっとしてメタステーブル対策だったのかな?
1回発目のコマンドだと応答しないデバイスがいるらしく、とりあえず2回打てば問題ない。という理由だったような気がする。
2発目のコマンドでエラーが起きないのが不思議だったけど、あれはなんだったんだろう?
0162774ワット発電中さん
垢版 |
2021/05/06(木) 19:25:24.83ID:c4UlOrII
>>161
restartとかじゃなくて?(´・ω・`)
0163774ワット発電中さん
垢版 |
2021/05/06(木) 19:26:30.76ID:c4UlOrII
ごめん間違えた (´・ω・`)

Repeated Start じゃなくて?(´・ω・`)
0164774ワット発電中さん
垢版 |
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並みの応答性を実現できるような規格の開発を目指した。
0165774ワット発電中さん
垢版 |
2021/05/09(日) 06:29:31.46ID:hOyBJ9DX
>>164
通信速度は最大20kbpsってけっこう低速だね(´・ω・`)

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

EMPについてあんま考えてないのかな?(´・ω・`)
0166774ワット発電中さん
垢版 |
2021/05/09(日) 06:34:32.16ID:hOyBJ9DX
UART信号のPWM化とかの利点と 一線信号を反転して二線化 を比較すると

後者に軍配があがりそうだけど・・・・(´・ω・`)
0167774ワット発電中さん
垢版 |
2021/05/09(日) 07:07:59.96ID:hOyBJ9DX
BtoBの囲い込み目当ての規格なのかな?(´・ω・`)
0168774ワット発電中さん
垢版 |
2021/05/09(日) 07:15:27.20ID:hOyBJ9DX
電気自動車とかになると大電力の車種なんかも出てくるからEMPとか電磁ノイズに関する

規格が優位になってくるだろうね(´・ω・`)
0169774ワット発電中さん
垢版 |
2021/05/09(日) 07:16:35.28ID:hOyBJ9DX
配線取り回し問題は実は スペースジェットなんかでも

いろいろ言われてたよね(´・ω・`)
0170774ワット発電中さん
垢版 |
2021/05/09(日) 09:44:26.06ID:UcushVbi
でかくなってくると色々問題が発生してくるけど、エンジニアは飯の種だから秘匿しがち
俺もノウハウ全開示なんてしない
0171774ワット発電中さん
垢版 |
2021/05/09(日) 11:13:26.86ID:/P1YFRdA
トラブルシューティングなら想定外のヒゲ状のノイズ、不安定な電圧、エッジの様子を見たくなる。
ある程度のサンプリングレートでアナログ波形は必要でしょね。

いまどきは廉価版オシロでも、I2C、UART、SPIのデコード機能は付いてるものが多い。
既存品の解析ならともかく、自分のマイコンで、動作のわかっているデバイスを制御するならデコードの出番は少ない。
0172774ワット発電中さん
垢版 |
2021/05/09(日) 13:07:37.54ID:DGoo6c43
>>166
CXPIやLINの上位にはCANがあり、それはCANで実現しているからね。
遅くてもいいからCANより低コストでないとメリットが無いという経済的事情。

CXPIをDigiKeyで検索するとロームとかサイプレスだけとか。しかもLINよりトランシーバーが3倍位高い。
欧米では相手にされていない雰囲気。
0173774ワット発電中さん
垢版 |
2021/05/09(日) 13:52:25.31ID:hOyBJ9DX
>>172
CANのほうがトランシーバチップが安いのならコストの低価格化っていう根底からして

いらない規格になっちゃうね(´・ω・`)
0174774ワット発電中さん
垢版 |
2021/05/09(日) 13:58:22.70ID:hOyBJ9DX
さらにCANは RS485のIPなんかを利用してたりもするんかぁ(´・ω・`)

RS485のほうが性能高くて低コストってことかな?(´・ω・`)
0175774ワット発電中さん
垢版 |
2021/05/09(日) 14:03:59.97ID:cnqSE/U0
RS485の物理層だと、送信側がコリジョンを発見できるとは限らんし。
0176774ワット発電中さん
垢版 |
2021/05/09(日) 14:10:18.86ID:hOyBJ9DX
>>175
CANのコリジョン判定にはどんなものがあるの?(´・ω・`)
0177774ワット発電中さん
垢版 |
2021/05/09(日) 15:06:47.62ID:DGoo6c43
>>173
うぉ!確かにLINよりCANのトランシーバーが安い!
RS-485よりも安い!
まさかこんな事になっているとは知らんかったorz
0178774ワット発電中さん
垢版 |
2021/05/09(日) 15:11:09.13ID:hOyBJ9DX
>>177
そもそも通信関係のネックは 問題発生時の人件費じゃない?(´・ω・`)
0179774ワット発電中さん
垢版 |
2021/05/09(日) 15:28:38.84ID:cnqSE/U0
>>176
CANはドミナントとリセッシブがぶつかったらドミナントが勝つけれど、
RS485は、1 と 0 がぶつかったときにどっちが勝つか保証できないし。
プロトコルでの検出は自分で調べて。
0180774ワット発電中さん
垢版 |
2021/05/11(火) 15:23:45.21ID:dUf4+6Zq
RS485
USBもI2CもSPIも電灯線で20mは無理だしw
秋月でトランシーバICが\50円だし
0182774ワット発電中さん
垢版 |
2021/05/11(火) 16:48:19.30ID:9ybL7//Y
>>181
Arbiter Taskで監視。 リプライエラーでタイマーインターバル可変させて、リトライ。
PIC16Fでだけど。
0183774ワット発電中さん
垢版 |
2021/05/11(火) 19:05:02.78ID:R1ezPjnr
そもそもRS485は所謂物理層までしか規定してないから衝突みたいな概念はケアしない
4相(全二重)なり2相(半二重)で問題の違いはあるけど、
一番問題になるのが、みんなModbusなりちゃんとしたプロトコルを使えば良いのだけど、特にスレーブ側が気にせず(ユニットメーカーが考えなしに)独自仕様のプロトコルで動かして、解析に時間のかかるバグを発生させやすい
0184774ワット発電中さん
垢版 |
2021/05/11(火) 19:28:42.79ID:R1ezPjnr
マスタースレーブ通信だからマスター側で衝突しない様に管理できるはずなのにプロトコルが合わないから衝突が発生してしまうのは悲劇でしかない
0185774ワット発電中さん
垢版 |
2021/05/11(火) 20:04:39.64ID:9ybL7//Y
まぁねぇ。 ベルコン作業でリプライ時間がまちまちなM-S通信では衝突対策は必須だね。
Arbiterの待ち行列やタイムアウト時間を各々変化させてやると9600ボーで6人分ぐらいはなんとかなる。
PLC+Modbusではできない仕様だ。
0186774ワット発電中さん
垢版 |
2021/05/12(水) 06:13:36.05ID:1iFL8FLL
産業装置なんかでも 電源投入時のタイミングとかコリジョンからの自動復帰の

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

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

簡単な通信をきっちりやるだけで使い勝手が雲泥の差なのに(´・ω・`)
0188774ワット発電中さん
垢版 |
2021/05/13(木) 20:53:45.98ID:ij3QGV1J
上の方でBMX055とうまく通信できないと言ってた者だけどやっと安定して動くようになった。
あれから何をやったかというと、

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

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

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

波形についていうと、今回はFXMA2102を引っぺがしてダンピング抵抗をつけたが、
つけたままでもダンピング抵抗の値を変えても行けると思う。
心が疲れたのでちょうどいい値を探さずに引っぺがしたけど。
0191774ワット発電中さん
垢版 |
2021/05/19(水) 18:08:58.74ID:Sd448gny
>>190
反応無いね。
CAN FDってプロトコルを替えるから、全てのデパイスをFD対応にしないといけないんでしょ?
一瞬検討対象になったけど、それがネックになってボツになった。
0192774ワット発電中さん
垢版 |
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修正とファームウェア修正せねば。
0193774ワット発電中さん
垢版 |
2021/06/01(火) 11:41:07.71ID:383dBzT5
Microwire…
単語は知ってたがSPIの亜種かと思ってたわ(今日知った)
0194774ワット発電中さん
垢版 |
2021/06/13(日) 03:39:07.50ID:Ic4p+uVJ
LINのウェイクアップについて質問です。
現在LINについて勉強中です。
LINではマスタノードからのヘッダ送信で通信が開始する認識です。
スリープフレームはマスタノードからスレーブノードに送信するという説明を見ました。
一方ウェイクアップフレームはスレーブノードからも送信出来るとありました。
この場合、スレーブノードは何をトリガーにウェイクアップフレームを送信するのでしょうか。
マスタノードはスリープ状態なのでヘッダ送信も出来ないのではないかと思い、スレーブノードからのウェイクアップフレームはどういう風に送信されるのかがイメージ出来ません。
どなかご教授頂けないでしょうか。
0195774ワット発電中さん
垢版 |
2021/06/13(日) 07:59:19.33ID:iK7XxW/W
>>194
詳しくないけど、

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

> スレーブノードからのウェイクアップフレームはどういう風に送信されるのかがイメージ
単に信号を唐突にLにしているだけ。
https://image.itmedia.co.jp/mn/articles/1010/08/ay_lin02_15.gif

ここの説明が分かりやすい
https://monoist.atmarkit.co.jp/mn/spv/1010/08/news116_3.html
0196774ワット発電中さん
垢版 |
2021/06/14(月) 12:29:41.95ID:RNIevnsW
ウェイクアップは通常時みたいにヘッダ→レスポンスの一連の通信ではなく、
ただ一定期間Loにするだけなんですね。
ありがとうございます。
0197774ワット発電中さん
垢版 |
2021/11/02(火) 00:02:46.41ID:C5AWVpWR
SPIの配線について皆さんにお伺いしたいです。
今いじっている基板でSPIのスレーブを9個つなげてるのですが、インピーダンスマッチングができていないのか、マイコンの出力が足りないのか、なかなかクロックを上げられません。
4MHzまではなんとかいけるのですが、8MHzにするとCLKの立ち上がりが鈍ってしまうのと、MOSIとMISO波形のダンピングがひどいです。
一応配線は1筆書きにして線幅は0.15mmにしているのですが、これだと一番遠位では整合できてるけど、マイコンに近いほうでは歪むような気がして、正しいのかわからなくなりました。
クロックの同期とかなら、ファンアウトバッファを介して分配配線すればいいように思えるのですが、SPIではどうすればいいのでしょうか。
皆さんは、複数のスレーブをつなげる際はどうなさっていますか?
0198774ワット発電中さん
垢版 |
2021/11/02(火) 09:25:32.37ID:GLWtGpKq
>>197
SPIで9台とかは経験ないけど、全体での配線距離はどのぐらいなの?
バッファとかで出力を上げるんじゃなくてダンピング抵抗入れて信号の立ち上がりを遅くした方が良いのでは?
https://i.imgur.com/HIb9vki.png (現状の波形・推測)
https://i.imgur.com/dX79dr9.png (ダンピング抵抗1)
https://i.imgur.com/3BNJl05.png (ダンピング抵抗2)
0199774ワット発電中さん
垢版 |
2021/11/03(水) 07:44:50.74ID:wCty7tS+
>>197
> 皆さんは、複数のスレーブをつなげる際はどうなさっていますか?
高速グループと低速グループに分け、間にバッファ入れて分離する。

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

余談:
その昔のISA-Busは8MHzでいいとこ8スロット。でもフルに使うと動かなくて困った。
9個もあるなら発想変更が必要かな
0200774ワット発電中さん
垢版 |
2021/11/03(水) 14:51:29.73ID:yxqVC9TY
まあ、ISAはクロック同期式でもなくて、タイミング規定もグダグダだしな。
0201774ワット発電中さん
垢版 |
2021/11/03(水) 23:19:29.41ID:wCty7tS+
余談
>>200
それはATバスの話。
ISAバスはEISAバスのサブ規格だから互換性が取れる様にタイミングも新たに定義された。
とは言ってもATバスのグダグダを駆逐出来た訳では無いのはご指摘の通り(笑)

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

それで今やSPIもI2CもNXPが作った事になるんか。変なの
0202774ワット発電中さん
垢版 |
2021/11/04(木) 08:46:16.72ID:stPG9W78
そもそもSDカードのSPIモードがなくなろうとしているのに。
0203774ワット発電中さん
垢版 |
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を返すようにも思いますが。
よろしくお願いします。
0205774ワット発電中さん
垢版 |
2022/02/27(日) 07:22:09.66ID:va6xzqLU
stackoverflowとかで聞いた方がよさそう。
これ答えられる奴は日本の質問掲示板なんか見てないっしょ
0206774ワット発電中さん
垢版 |
2022/02/27(日) 11:19:56.61ID:EnAKkGuc
>>204 >>205
ありがとうございました。
他で聞いてみますね。
どうもありがとう。
0207774ワット発電中さん
垢版 |
2022/02/28(月) 13:33:54.51ID:sQv3vdrt
>>203
>1. なぜ長さが2種類あるのですか

ackは全員が返すから、誰か受け取れなかったやつがいてもわからない。
0208774ワット発電中さん
垢版 |
2022/02/28(月) 13:38:48.44ID:sQv3vdrt
>>203
>1. なぜ長さが2種類あるのですか
長さが足りなくなったから

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

ackは該当するやつが返す。
複数同じアドレスな奴がいれば、受け取れない奴がいてもわからない。
0209774ワット発電中さん
垢版 |
2022/03/01(火) 16:50:30.63ID:3MXpgfSX
ACKっしょん! ・・・うー。だれぞ 噂しやがったなバーローちくしょーい!!
0210774ワット発電中さん
垢版 |
2022/04/25(月) 05:44:53.30ID:c0bqEsvh
>>202
SPIモードで 数十Gbyte読み取ったら数十時間かかったw(´・ω・`)
0212774ワット発電中さん
垢版 |
2022/04/28(木) 05:54:18.72ID:qY7le17c
基本的な質問すいません
232cってTx、Rx、SGの3本で全二重通信とあるんですが、
SG共通なのになぜ双方向に同時通信できるんでしょうか。
SGで帰りの電流がぶつかるように思うんですが。
0214774ワット発電中さん
垢版 |
2022/04/28(木) 09:00:16.63ID:mX7agLrH
電流には着目せず、電圧で送信・読み取りしてるからじゃね?しらんけど
0215774ワット発電中さん
垢版 |
2022/06/26(日) 09:42:23.02ID:qvtVKcOX
マルチマスターの衝突防止を自分で実装すると結構奥が深いね。
2wireでいい方法ある?
0216774ワット発電中さん
垢版 |
2022/06/26(日) 14:53:21.31ID:v3XvhMT0
>>215
そら無理レベル。お互いに衝突して無い事を同時に確認しても、次のフェーズでは衝突するし。
さらに同時にリカバリしようとしてまた衝突。ヘタすると永久ループ入り。
優先度をラウンドロビンで回すしか手が無いと思うな
0219774ワット発電中さん
垢版 |
2022/06/26(日) 20:03:44.82ID:lW9USo0E
>>217
良いアイデア!!
それなら出来そうだわ。
マイコンがもう一ついるけどね。
>>216
同時に送信ってあり得るからね。
何か通信の開始をずらせる方法があればいいんだけど。
0220774ワット発電中さん
垢版 |
2022/06/26(日) 21:05:11.34ID:lW9USo0E
>>218
CSMA/CA方式っていうのがあるんだね。
ネットにはあまり情報がないけど。
0224774ワット発電中さん
垢版 |
2022/06/27(月) 08:25:39.33ID:0RdO9zav
CSMA-CDってゼロックスが技術情報無料で公開してなかったっけ?
0227774ワット発電中さん
垢版 |
2022/06/27(月) 10:25:37.25ID:SrXIuQqo
2台のマスターが同時進行したとき
(9600bps/8Byte送信時間7ms/UARTの受信バッファ1Byte単位)
1.データを8Byte単位のパケットに分解
2.10msの間ループし、その間Rxバッファにデータの着信があれば2.へ
3.データ送信

でもこれだと1nsも違わずに同時送信した場合衝突するね。
0228774ワット発電中さん
垢版 |
2022/06/27(月) 10:54:50.90ID:SrXIuQqo
間違えました。UARTのバッファが1byteで、バッファを確認できるのが、1byte単位なので、1byteの送信時間である8/9600秒、つまり約1msは空白時間(他のマスターの送信を検知できない時間)。その間はどのマスターも同時に送信の権利を取得できる事になるね。
0230774ワット発電中さん
垢版 |
2022/06/27(月) 21:54:18.66ID:U3pADLmC
>>229
それ、無い物ねだり。
元ネタは>>215氏だが、この2wireとは通常I2Cの事。そしてI2Cのマルチマスターをサポートしているならコリジョン検出機能も当然サポートしている。

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

が議論の焦点なんだが、ここにコリジョンを唱えても明後日の話
0231774ワット発電中さん
垢版 |
2022/06/27(月) 22:50:42.37ID:SrXIuQqo
半二重のRS-485上に複数機器をつなげたModbusがヒントになるかと思い、調べてみたのですが、仕組みはシングルマスターなんですね。
衝突を回避するロジックが欲しい。。。
やはりランダム時間待ちがいいのかな。
0232774ワット発電中さん
垢版 |
2022/06/28(火) 12:10:10.96ID:rj79WJlK
データを送信する前に、「今から送信するよ」(予備送信)を数回送る。その間、受信バッファに何もデータが入ってこなければ送信の権利を獲得出来る。
どのマスターかが権利を獲得したら他のマスターは一定時間送信を行わない。
っていうの思いつきました!
ダメ出し添削して下さい!!
0234774ワット発電中さん
垢版 |
2022/06/29(水) 11:11:18.73ID:tIgNAd70
>>230
コリジョンフラグ監視してリカバリ
0235774ワット発電中さん
垢版 |
2022/06/29(水) 11:36:15.53ID:Z6lMDjPp
I2Cの上でTCP/UDPするスレはここですか
0237774ワット発電中さん
垢版 |
2022/08/13(土) 21:12:14.28ID:YvU66aBO
ここでいいのかわかりませんが質問させてください。
CANの質問があります。
CANの2本の線を基板の上で終端します。普通は120Ωのようです。
I/F ICのデータシートを見ると、終端方法には、
・120Ω抵抗のみの場合と、
・60Ω+60Ωで中間からコンデンサでGDに落とす場合
が書いてあります。
質問ですが、
・後者の方法は、何のために行うのでしょうか。何か性能がUPするのでしょうか。
・前者の方法と後者の方法は、どのようにして使い分けるのでしょうか?
よろしくお願いします。
0238774ワット発電中さん
垢版 |
2022/08/13(土) 21:48:41.14ID:sYjQlAON
>>237
片方が断線しても通信出来る様にするため、たぶん。

(CANには強くないけど)抵抗の中点からコンデンサ経由にすると、AC的にシングルエンド終端2本になる。
CANは一方に障害が発生しても通信継続する仕様で、シングルエンドなら継続出来るし。
0239774ワット発電中さん
垢版 |
2022/08/13(土) 22:09:18.91ID:YvU66aBO
>>238
ありがとうございます。
なるほど、頭いいですね。Cで接地されるとてうことですね。

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

終端の中点(1/2抵抗値)からGNDにCなので、
コモンモードの強化(Yコンのように)かなぁ、とも考えていました。
回線の小目電圧を除去して、ICの入力電圧範囲に入れるとか。
0241774ワット発電中さん
垢版 |
2022/08/14(日) 01:33:55.80ID:cB+W/4bt
>>240
大変ありがとうございました。
このように説明された文章を探しきれずにいました。
どうもありがとうございました。

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

どうもありがとうございます。
0242774ワット発電中さん
垢版 |
2022/08/14(日) 08:34:06.54ID:nKDfZqD6
ブースター接種 ⇒ 超過死亡 ⇒ 芸能人体調不良
://krsw.5ch.net/test/read.cgi/covid19/1651729211/l50
0243774ワット発電中さん
垢版 |
2022/10/30(日) 23:07:16.42ID:Nm3wtfkk
なぁ、I2Cに同じデバイス(=同じアドレス)をピン容量が許す限り目一杯ぶら下げたい場合はどうする?
簡単な手としてI2Cスイッチがあるけど、あれって4系統しかぶら下げられない…

FETスイッチなら安価に並べられるけど、I2CってSDA共通でSCLだけスイッチでもいいのか?
0247774ワット発電中さん
垢版 |
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になるように設定されていますが、外付抵抗により可変することができます。
0248774ワット発電中さん
垢版 |
2022/11/02(水) 22:26:31.81ID:+Jh16aDA
話のネタに、こんなのも見つけた

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

一見、おぉすげぇ~なんだが、ちょと間違えるとMCU→I2Cデバイスに向かって貫通電流が流れるやん。
却下したw
0249774ワット発電中さん
垢版 |
2022/11/13(日) 07:03:47.60ID:gtoQUMzc
I2Cに同じデバイス(=同じアドレス)を目一杯ぶら下げる方法、頭の中で思考実験して安価な方法を閃いたわ。
制御側をどうすっかな……
0250774ワット発電中さん
垢版 |
2022/11/13(日) 07:25:15.88ID:gtoQUMzc
しかしなんだな、I2Cはシリアル信号を一筆書きに配線出来るのがメリットなのに、アドレスが衝突するとアドレス変換とか、制御信号が複数必要になるのがなんだかなぁ~。SPIでも同じだけどさ。
I2Cでも最新はアドレスが被ったら自動で振り直してくれるけど、あんまり普及してないし。

その点、JTAGってスゴくない?シリアル、割と高速、数珠繋ぎ可、でもデバイスの特定可。その上に本来のバウンダリスキャンで基板の検査可!
I2CやSPIはJTAGに置き換わったほうが、世の中幸せになれるかもと今思った
0251774ワット発電中さん
垢版 |
2022/11/13(日) 09:53:03.07ID:714Qu1rs
割と高速といっても、クロック応答の一番遅いものに制限されるんじゃなかったか。

長い歴史があるにも関わらず採用数が低いものにはそれなりの理由があるわけだし、その理由を考える方がいいと思う。
0252774ワット発電中さん
垢版 |
2022/11/13(日) 10:02:46.97ID:714Qu1rs
SCLだけの選択でもいけそうな気がするけれど、>>243でも言及されている容量が問題になりそう。
クロックストレッチングを考慮しなくていいなら74xx138でもいいかな。
アナログマルチプレクサを使ってるのは見たことがある。
0253774ワット発電中さん
垢版 |
2022/11/13(日) 21:07:05.48ID:gtoQUMzc
>>252
> クロックストレッチングを考慮しなくていいなら74xx138でもいいかな。
クロックストレッチ! SDA側をイジる理由はそれだったのか、なるほどね。
あと138、イネーブルピンを操作してクロックにするのか。なるほどね。
ただ8本では足りないや、最大16デバイスを切り替えたいので。
ヒントありがと
0254774ワット発電中さん
垢版 |
2022/11/22(火) 00:35:36.24ID:0Ky2aNih
ラズパイにBME280をI2Cで繋げて温湿度と気圧を測りたいんだけど、ラズパイとBME280を6mほど離したいのよ。

ちょっと離れすぎているのでバッファーを入れたほうが良いかなと思うんだけど、PCA9515を使ったら良いかな?
0255774ワット発電中さん
垢版 |
2022/11/22(火) 07:49:28.24ID:1jTT42La
しくみをI2Cのままにして、バッファを入れて強化する、ということだと、
・両側にバッファを設ける
・プルアップ抵抗を小さくして耐ノイズ性を上げる
ということになると思う。
I2C バッファ で検索したらPCA9600もヒットした。

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

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

スピードを落として電線を工夫したら(線間容量を減らすとか)、生のI2Cのままでもそこそこ
行ける気もするけど。
0256774ワット発電中さん
垢版 |
2022/11/22(火) 08:01:33.20ID:Ckm4OxTG
プルアップ抵抗下げても限界あるよね。
ノイズでデータの長期的な信頼性は低そう。
0257774ワット発電中さん
垢版 |
2022/11/22(火) 08:34:39.35ID:1jTT42La
限界があるといっても、どんなものにだって限界があるし、信頼線の高い低いもイチゼロではない。
プルアップ抵抗を下げることは、ぶら下げるコンデンサの容量も大きくていいこととセットだし、
より大きいノイズ耐性を持つことには違いない。

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

I2C 延長 で検索したら、ほかの物理線に変換するものも見つかる。
(それとて、どこかには限界があることには違いはない)
0258774ワット発電中さん
垢版 |
2022/11/22(火) 08:57:29.15ID:67tL8nHy
>>254
そうだね、PCA9515を使うのがいいと思う。
ただ、6mって邪魔じゃない?無線化は考えないの?Bluetooth温湿度計とか立派な奴が2000円、スイッチサイエンスとかで探せばいいやつがありそう。
0260774ワット発電中さん
垢版 |
2022/11/22(火) 14:37:04.16ID:xCobUJjO
>>259
・ーーー・ ・ーー ・ー・
0261774ワット発電中さん
垢版 |
2022/11/22(火) 18:45:00.04ID:Ckm4OxTG
I2cで長距離ケーブルで引っ張って
痛い目にあったから絶対やらない。

連続動作で変なデータが入る。
バッファ入れたりノイズ対策やったけどゼロにはならなかった。
0263774ワット発電中さん
垢版 |
2022/11/23(水) 12:14:07.75ID:rLL0/KDM
ちょっと自信が無くて有識者の意見が聞きたいのだけど
速度を20kbps以下にして以下の様な回路にすれば安価に対応できるではないだろうか?
https://i.imgur.com/5uVgDZV.png
たぶん\(^o^)/

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

逆に下手にバッファー使ったら信号の上下速度が上がって結果的に
リンギングやストレキャパシタンス(配線間の寄生容量)の影響で不具合の原因になるのでは?
0264774ワット発電中さん
垢版 |
2022/11/23(水) 12:34:00.49ID:HXJpwizD
>>263
同じように外部のI2Cのセンサーをケーブルで引っ張って計測したことある。

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

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

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

I2cは基板内で使うもんだと思う。
0265774ワット発電中さん
垢版 |
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
0266774ワット発電中さん
垢版 |
2023/01/29(日) 11:17:28.63ID:VLRZR3nb
254です。
皆さまご助言ありがとうございました。
結局、自分が当初考えた通り、PCA9515で様子を見ることにしました。
約1ヶ月ほど運用してみましたがBME280がお釈迦になった以外、トラブルは特に無し。

BME280がお釈迦になった件ですが、突然気圧の計測値がおかしくなり(温度と湿度の値は正常)結局新品と交換して解決しました。
半年ぐらい前にも同じ現象が起き、そのときも新品に交換で対処しました。
厳密に計った訳ではないのですが、屋外で大体半年ぐらい使うと気圧が変な値になります。
0267774ワット発電中さん
垢版 |
2023/01/29(日) 11:38:30.02ID:3oN6J7c4
尼のB014VVPZT4買った人いる?
CH340といえど安いから偽物チップかしら
0268774ワット発電中さん
垢版 |
2023/01/29(日) 12:25:42.14ID:m65WW1+R
>>266
「約1ヶ月ほど運用 ~ トラブルは特に無し」なら心配したノイズの影響は無さそうね。

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

てな訳で、>254もUSB延長ケーブル + USB-I2Cアダプタって手もあったなぁ~と、今思った
0269774ワット発電中さん
垢版 |
2023/01/29(日) 14:52:07.39ID:hGGNTxLK
>>267
CH340ならこんなものAliとかなら前は同じものが100円以下で買えたし
ただこのタイプは結構前からあるやつでDTRが出てないからArduinoで使うにはちょっと工夫が必要
また3.3Vで使うときに電圧が結構いい加減、回路図はツェナーになってるけどおそらくダイオード2本のドロップじゃないかな
自分は5V専用にして余ったピンにDTRを引っ張ってくる改造してArduinoで使ってる
0270774ワット発電中さん
垢版 |
2023/01/30(月) 09:40:52.74ID:VGIlBAN1
>また3.3Vで使うときに電圧が結構いい加減、回路図はツェナーになってるけどおそらくダイオード2本のドロップじゃないかな

おおぉ。裏の写真を見ても回路図にはあるドロップ用の抵抗220Ωがなさそうですね。
外部で3.3Vを使われたらすぐに電圧落ちすぎになりそう。
ダイオード2個直列の方が、まだマシだったのかも。
それにしても、コストに厳しい設計だな。レギュレータってそんなに高価でもないはずなんだけど。
0271774ワット発電中さん
垢版 |
2023/01/30(月) 20:16:37.83ID:2tYQRSdy
>高価でもないはずなんだけど
それでも削れそうなら迷わず削るのが中華製品

もし3.3Vでも使いたくて安さにもこだわるならこの辺りはどうかな?
3.3Vはレギュレータで作っている、3.3Vと5Vはジャンパピンでなくスイッチで切り替える、DTRが出ているのでArduinoでも使える、送料込みで200円程度
https://aliexpress.com/item/1005004824134193.html
0272774ワット発電中さん
垢版 |
2023/04/16(日) 21:06:18.46ID:XacvFj5i
おまえらセンサーをどう繋いでいる?センサーが多いとジカ線が増えて基板からハーネスだらけに…。

検索したら、自動車にはCXPIというジカ線を束ねる車載LAN規格があるとか。LINと違い応答性も良いとか。
いいなとコレと思い検索したら、UARTの先にぶら下げるPHYチップがCANより高いorz
しかもUARTだからデバイスにはマイコン必須。センサーを束ねたいだけだからちょっとね…

SPIでパラ接続ならCS信号がデバイスの数だけ必要になるし、ディジーチェーンならCS信号は不要だけど応答性に難あり。かつ1個が障害起こせば全体が止まる。

結果、I2C-GPIOチップなら割り込みピンで応答性も確保出来そうだし、マイコン要らないし、故障にもSPIよりマシに思えるし。

ただなぁ~、I2Cを基板の外に出すと外来ノイズに弱くなるのがね。途中にPCA9515を噛ますしかない?他に良い方法がある?
0273774ワット発電中さん
垢版 |
2023/04/19(水) 10:24:54.36ID:5giQVZDl
結局はツイストペアで差動伝送という、お決まりパターンになる。
0275774ワット発電中さん
垢版 |
2023/04/20(木) 01:04:19.33ID:nMvMM03U
>>273
そうなんだけど、なんか面白くないw
LINは高電圧の力任せ方式な一方、1-Wireが100m~500mも伝送距離を確保出来るのかよ~分からん。
ググると「Active Pull-upだから」と出てくるが、これってある単位時間ではただPush-Pullじゃね?

パルス幅で0と1が決まるある種の変調掛けているせいか?
0276774ワット発電中さん
垢版 |
2023/04/20(木) 15:37:03.72ID:IiXpia0n
>>274
それも面白くないなぁ~
伝送距離は短くなるが、RS485トランシーバーは価格がCANの倍。
産業用に細々続いているRS485より、車載でガンガン使われているCANが安いのはまぁ当たり前。

相互接続性が必要なくローカルで使うだけなら、物理層だけCANにするのもありじゃねと思うこの頃
0279774ワット発電中さん
垢版 |
2023/04/23(日) 10:18:43.93ID:yWQgxdJK
送信側は反転信号と共に3.3V CMOS出し。反転する分の遅延はあるけど無視出来る時間差だし、終端抵抗で100Ωでショートさせるし、まぁ大丈夫かな。
受信側はLM393だと遅そうだからTLV7256とかのコンパレータで。だが、TLV7256だとRS485トランシーバーと値段が変わらんorz

結局>>274氏の言うとおりなのか…orz
0281774ワット発電中さん
垢版 |
2023/04/23(日) 16:58:57.45ID:j2k+VI26
>>280
光デジタル用なら送受部品やケーブルも
簡単に手に入るじゃない
秋月でも普通に扱ってるぞ
0282774ワット発電中さん
垢版 |
2023/04/23(日) 22:58:53.48ID:yWQgxdJK
>>281
そだね。いわゆるS/PDIF(光デジタルケーブル)って奴ね。
96ksps. 6ch, 16bitとすれば、少なくとも9.6Mbpsのスピードかぁ
0284774ワット発電中さん
垢版 |
2023/04/24(月) 08:26:28.98ID:AepjkteV
>>283
つ「初期のトスリンクはそのままのPCMデータを伝送していたが、現在ではオーディオストリームの標準としてS/PDIFが広く採用されている。」
0285774ワット発電中さん
垢版 |
2023/04/24(月) 13:21:35.26ID:UspdIJDW
一般にSPDIFの光接続に使用される物理層がTOSリンクでSPDIF自体は光接続とは限らない
0286774ワット発電中さん
垢版 |
2023/04/24(月) 13:33:50.28ID:EGcum6jn
ちなみにTOSリンクは東芝が作った光接続の仕様で
時期的にたまたまSPDIFに採用されただけでオーディオデータ専用というわけではない
オーディオでもTOSリンクを使ったADATとか非sdpifの仕様もあったし
0287774ワット発電中さん
垢版 |
2023/04/24(月) 15:35:27.99ID:X3vf4i64
>>286
> TOSリンクは東芝が作った光接続の仕様
ちょっと違う。
確かに東芝が作ったが、TOSリンクは仕様ではなく登録商標でしかない。
実際、TOSリンクの中には光ファイバーを使わず、空間伝送するデバイスもある(あった)。
なのに光デジタルケーブル = TOSリンクの様に言われると違和感ありまくり………
0288774ワット発電中さん
垢版 |
2023/04/24(月) 15:40:55.30ID:X3vf4i64
まぁ、呼び方を議論しても不毛かw

Ethernetの遅い規格から光ファイバーは絶滅しているし、S/PDIF規格としては1.5Mbps、実験的には15Mbpsでギリ伝送出来るらしい。
お手軽な光ファイバーとしてもっと使われてもいいかもだけど、コスト的にRS485に勝てないんだろうな
0291774ワット発電中さん
垢版 |
2023/05/05(金) 07:53:13.74ID:oALhcwRY
>>289
光回線に使われている壁の「光コンセントSC」ってあるやん。
これだけ普及したんならこれ用の光モジュールなら安いんじゃね?と思って検索するも、出てくるのはSFPモジュールばかり。
家庭用に高価なSFPモジュールを使っているとは思えないし、どうなっているんだろ?
0292774ワット発電中さん
垢版 |
2023/06/17(土) 00:25:34.77ID:9a1JDxH9
↓この話の1wireって、Maxim社の1-Wire規格の事?それともクロックを載せてシリアル信号化したいって事?
そうだね、ルネサスのGreenPAKなら出来そうな気がする

356 774ワット発電中さん sage 2023/06/16(金) 21:10:00.78 ID:2VwAzPcm
SPIをマンチェスター符号に変換して1wireで送りたいのです。
レートが結構早くて10Mbps必要。
秋月で手に入るフリップフロップやXORゲート等で組んでみたんですが、まともに信号出てきません。
AHCシリーズとかで組めば行けるのでしょうか?
0293774ワット発電中さん
垢版 |
2023/06/17(土) 00:37:45.81ID:9a1JDxH9
>>292
GreenPAKにアプリノートはあったけど、波形を見る限りは低速だなぁ〜
www.renesas.com/us/en/document/apn/cm-264-serial-line-coding-converters
0294774ワット発電中さん
垢版 |
2023/06/17(土) 09:02:31.87ID:FrQnOVJ5
>Maxim社の1-Wire規格の事?

その解釈はありえないのでは。10Mbpsなんだし。
0295774ワット発電中さん
垢版 |
2023/06/17(土) 11:32:08.20ID:9a1JDxH9
>>294
そうなのよ。「SPIをマンチェスター符号に変換してシリアル信号で」ならすっと落ちたんだけどね。
マンチェスター符号して1-Wireに載せたいと読むと1-Wireはクロック載せて伝送するから何をムダな事をだし、ご指摘どおり1-Wireに10Mbpsは厳しいし。
まぁ、きっと、1-Wire規格があるのを知らなかったんだろう。

それにしてもSPIをシリアル化するチップはあると思うんだが、なぜ自作したいんだろう?
0296774ワット発電中さん
垢版 |
2023/06/17(土) 12:50:37.02ID:F4JRueiO
あっちの356です。1-wire規格ではなくて、電線1本or差動1組⇒パルストランスもどきの
対向するコイル(自作)を介して送りたいのです。

「SPIをシリアル化するチップ」 あるんですか?!
買って済むならそうしたいです。
0297774ワット発電中さん
垢版 |
2023/06/17(土) 12:56:24.16ID:F4JRueiO
spi to uart converter でググったらいろいろ出てきたので見てみます
0298774ワット発電中さん
垢版 |
2023/06/17(土) 14:52:39.47ID:9a1JDxH9
>>297
いや、それでヒットするのは多分違う
0299774ワット発電中さん
垢版 |
2023/06/17(土) 15:07:28.09ID:9a1JDxH9
>>297
ここ↓ら辺かな。速度がチト足りないが
L9963T: www.st.com/en/automotive-analog-and-power/l9963t.html
LTC6820: www.analog.com/jp/products/ltc6820.html
LTC4332: www.analog.com/jp/products/ltc4332.html
SN65C1167: www.ti.com/product/ja-jp/SN65C1167
0300774ワット発電中さん
垢版 |
2023/06/17(土) 17:39:45.53ID:F4JRueiO
確かに速度が足りないですね

今、使っているCPUから出せる限界の3MbpsのUARTで30MHz程度のキャリアを
ON/OFFしたものを包絡線検波してUARTに戻すという方法をやっています。
ただ遅いのでなんとかならないかと。
SPIは16Mbpsとか出るのですが。

FPGAはいろいろハードル高い。
0301774ワット発電中さん
垢版 |
2023/06/17(土) 23:00:17.27ID:9a1JDxH9
>>300
何メートル延ばすの? 10m位なら RS-422/485の領域だけど、絶縁は必要?
https://e2e.ti.com/resized-image/__size/1230x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-09-77/1307._21714C98_1.gif

んで RS-422/485いいなら、SPIからRS-422/485への直変換で良くね?
MAX3140: https://www.analog.com/jp/products/max3140.html
これならカタログスペック上 10Mbpsでるけど?
0302774ワット発電中さん
垢版 |
2023/06/18(日) 10:36:58.11ID:9iDlPsE+
3140 よさげですね。

伝送距離は100mm未満、絶縁は要るというか、空芯コイル対向トランス(NFCもどき)、
NRZを通せないのでマンチェスタ符号化
データはマスタからスレーブへの垂れ流し、ストリーミング的用途なので、
たまに取りこぼしやデータ化けも可。

コイルの仕様も手探り、10Mbps通すには何回巻けばいいのか不明
試しにΦ10で10回くらい巻いたコイルだと30MHzの正弦波は十分通りましたが
3MbpsのUARTを485ドライバでつないだらET積足らな過ぎてまったくだめ。
0303774ワット発電中さん
垢版 |
2023/06/18(日) 12:50:32.19ID:1uh+fX8w
>>302
ほう、使えそうで良かった。
絶縁は居るのね。ならコイルクラフトにRS-422/485用の絶縁トランス売ってるよ。
www.gec-tokyo.co.jp/components/coilcraft/isolation-transformers-for-data-communication
趣味で手巻きしたいなら止めはしないけど(^^;

マンチェスター符号化はデータが倍になるからなぁ〜
3B/4B符号化や4B/5B符号化も考えてみたら? CPU内演算で済むしデータ量は1.33倍と1.25倍で済むし。
(8B/10Bだぁとドヤ顔もいいけど、4B/5Bと同じ1.25倍だからなぁ〜)

演算も配列用意して、テーブル引くだけの演算で済むからコードも簡単
0304774ワット発電中さん
垢版 |
2023/06/18(日) 15:24:29.50ID:9iDlPsE+
>>303
コイルは1次と2の間で分割して移動するので、たぶん作るしかありません。
で、Lの値見ると作ったやつの2桁くらいデカい感じですね。。。

やっぱり周波数高いキャリア使うしかないかも。
それだとNRZでいいのでマンチェスタの必要はないわけですが。
0305774ワット発電中さん
垢版 |
2023/06/18(日) 15:56:22.41ID:1uh+fX8w
>>304
トランスは電気的に一次と二次が絶縁されているもんだが、「分割して移動」の意味がわからん
0306774ワット発電中さん
垢版 |
2023/06/18(日) 17:39:31.44ID:70Gi0849
STの最新STM32H5のマニュアル見たらI3C搭載ってある。I2Cの上位互換らしいが
俺が知らないだけで、もう周知の規格なのか。
現行のSTM32H7にはI2Cしかないので、機能アップしたのか。
0307774ワット発電中さん
垢版 |
2023/06/18(日) 22:34:32.87ID:9iDlPsE+
>>305
別の物体として離れ離れになるのです。
普通ならコネクタで接触させるところを非接触にする必要があり。
0308774ワット発電中さん
垢版 |
2023/06/18(日) 22:48:37.05ID:1uh+fX8w
>>307
コネクタ部で磁気結合させるって事?
0310774ワット発電中さん
垢版 |
2023/06/19(月) 06:17:01.58ID:lAQInPdI
>>306
俺も初めて知った。2017年に出来た規格みたいね(^-^;
MIPIが作ったらしいけど、規格はオープンにして欲しいな
--
I2Cは標準400kHz(高速で1MHz)程度ですが、I3Cは低速でも通信できるし、12.5MHzでも通信が可能です。 I3CはI2Cの2線の手軽さとSPIの高速性の両方を兼ね揃えた通信規格ですが、MIPIアライアンスでライセンス管理されており、加盟企業でないと詳細な規格書を入手できません。
0311774ワット発電中さん
垢版 |
2023/06/19(月) 15:53:05.30ID:jddnZ8z3
>>309
ふ~ん。非接触で10Mbps、出来る気がしないけど。

そもそも絶縁ってサージとかが印加される場所に使うけど10cmなら該当しないと思う。
非接触にしたいだけなんだよね?
LED+フォトダイオードなら飛びそうだけど…
0312774ワット発電中さん
垢版 |
2023/06/19(月) 19:02:16.24ID:lM1PiwY2
そうです、非接触にしたいだけ。
とある事情で光通信は不可なのです。

10Mbpsは厳しいかな
0314774ワット発電中さん
垢版 |
2023/06/19(月) 23:33:54.96ID:lAQInPdI
>>312
非接触ICカードを検索したらこんな↓感じ。あと参考になりそうなの、なんかあったっけ?

リーダー/ライターとカードの間の通信は、リーダー/ライター から発信される電磁波によって行われます。 通信は、13.56 MHzの周波数帯を利用し、212 kbps / 424 kbpsの速度で行われます。
https://www.sony.co.jp › scheme
非接触ICカード技術 FeliCa - SONY
0315774ワット発電中さん
垢版 |
2023/06/19(月) 23:38:50.48ID:lAQInPdI
>>312
HDDの磁気ヘッドは10MByte/secらしい。8倍早いけど…
0316774ワット発電中さん
垢版 |
2023/06/19(月) 23:45:36.89ID:lAQInPdI
>>312
NFCは最大847kbpsらしい
足りんね + ネタが尽きた、寝る
0318774ワット発電中さん
垢版 |
2023/06/24(土) 13:28:47.26ID:JE3QAJoy
>>306
マイナビでI3Cのお勉強
news.mynavi.jp/techplus/article/20170112-i3c/

・信号は2線式、つまりマジI2C上位互換規格なのね
・なのに割込みサポート。SMBALERTを取込んだ感じで表明したらそれが割込みとなると。どのデバイスか?はSMBALERTと同じ
・速度は単純にクロックアップの12.5MHzで10.6Mbps(SDR)
・それをDDRにして21.2Mbps?(記事中では25Mbps表記)(オーバヘッドで25Mbpsは無理じゃね?)
・面白いのはHDRモードで、SCLとSDA同時操作で3値を送信。これで3倍の33.3Mbps
・他、エラーリカバリ追加

昔のPCIバスが33MHzだったし、SPIやJTAGで10MHz超えも珍しく無いし、基板設計は普通のロジック信号扱いでよさげ。
速度はSPIと同等になるし、線2本で様々なデバイスが繋げ、フルI3C化すれば配線がスッキリしそう(笑)
規格書もメアド・名前・会社名でダウンロード出来そうな…。月曜に会社でやってみよ

I2Cの正常進化系って感じで、なんか気に入った
0319774ワット発電中さん
垢版 |
2023/06/25(日) 06:31:24.60ID:6BY1PF50
I3CがI2Cの上位互換なら、とりあえず搭載しておけば、誰かが使い始めるだろう。
中国のセットメーカは貪欲に新製品を試行錯誤しており、I3Cの有用性は明らかだから
中国でシェアの大きいSTが先駆けて搭載したのは、そりゃそうだと思う。
0320774ワット発電中さん
垢版 |
2023/06/25(日) 07:11:02.07ID:WrDodMbG
>>319
上位互換と言っても10bitアドレスは無いし、ダイナミックアドレスだし。
固定アドレスのレガシーデバイスがあるとどうなるんだろうね。避けてアドレス割り振るのかな
0321774ワット発電中さん
垢版 |
2023/06/26(月) 06:41:29.46ID:fAG3B+rt
>>320
そうだと思う。初期設定でレガシーデバイスのアドレスをあらかじめ登録して、それを
避けてアドレスを割り振るのでは。いまの時代MPUの初期設定コードはIDEが自動生成
するから、ユーザの手間はそれほどでもない(?)。
それよりデータの高速転送で、従来I2Cデバイスが誤動作しないものなのかね。フィルタを
追加して、I3Cデバイスと同一バス上に混在できるらしいが、大丈夫なのか。
0322774ワット発電中さん
垢版 |
2023/06/26(月) 11:48:59.97ID:IVpHwh62
>>321
避けて割当てられれば楽でいいね。おそらくマスタが割り振るだろうし。

マイナビの記事を見る限り、高速転送時はレガシーが反応出来ない10MHz以上でやるから大丈夫!的に読めるw
あっ、規格書のDL試さないと
0324774ワット発電中さん
垢版 |
2023/07/05(水) 12:55:43.51ID:L8zo+Cp/
どぞ
0325774ワット発電中さん
垢版 |
2023/07/22(土) 18:55:46.64ID:3vVR8PP5
I2Cの通信途中にマスターだけ落ちた場合のバスの復旧方法って皆さん想定してます?
これ想定してないとバスが死んだままになって割ととんでもないことになるよね
マスター落ちたらバスにぶら下がってるやつも全部落ちる仕様なら別だけど
0327774ワット発電中さん
垢版 |
2023/07/28(金) 02:23:07.58ID:TA3cKVIN
3つ以上の複数のch552e間でどれか1つをマスターにして半二重でもいいので双方向通信させたいんですけど、
このマイコンにはSPIやUARTはあってもI2Cがありませんでした。
ch552eでフリーなピンはUSBを除くと4ピンしかないので、なるべく少ない本数で処理したいです。
速度的には100kbpsも出れば十分なので、ソフトによるI2Cでできないかなと考えましたが、
I2Cのソフト実装はマスター側はともかくスレーブ側は大変ですよね。
今のところバスにはch552eしか繋ぐ予定はないので簡易的なもので何かあればお知恵を拝借できないかと思っております。
0328774ワット発電中さん
垢版 |
2023/07/28(金) 06:30:17.71ID:JcgvB1Il
>>327
そうだねぇ~

1. UARTをRS485に変換し、バス接続する
2. UARTをLINに変換(ry
3. UARTで、マイコンAのTXをBのRXへ、BのTXをCの…とリング構成にする
4. UARTで、AのTXを他のマイコン全てのRXへ。他のマイコンのTXは直列に保護抵抗入れてから束ねてAのRXへ
5. TXに保護抵抗を入れ自身のRXに繋ぎ1本に。かつそれを全マイコンと共有する。

こんなとこかな
0329774ワット発電中さん
垢版 |
2023/07/28(金) 13:00:12.74ID:CzERZrIC
>>328
補足
4番と5番は衝突上等! なやり方だけど、NチャンFET 1個でオープンドレイン化してプルアップ抵抗と共に接続すれば衝突を避けられる。
5番だと線1本で全てのUARTを共有出来て、基板上の通信としては最も簡易的
0331774ワット発電中さん
垢版 |
2023/07/29(土) 10:43:27.74ID:lBp80AB+
>>330
楽しんで!

それにしてもCH552Eって面白いマイコンだね。100円なのによくもまぁこれだけの機能を……
タイマーあるから昔のボール式マウスとか、ADCで昔の抵抗膜方式のタッチパネルとか、それに静電膜のタッチパネルもokとか…すごいね。
100円でUSB-SPIとか、USB-UARTとか利用出来るのか。FTDI替わりに使えそうだし、USB搭載でこの値段は有名メーカーには無い気がする。

UARTで数珠繋ぎして、各2ポートにI/Oを繋ぐ計画?
FT8U100AXとかの7ポートUSBハブ使ってGPIO 4ポート使う手もあるね
0332774ワット発電中さん
垢版 |
2023/08/09(水) 05:36:14.63ID:LOFMfXpJ
すみません緊急なんですが質問いいですか
SPIのssってシングルデバイスの時はデバイス側でグランドに落としといてもいいんですじゃ?
0333774ワット発電中さん
垢版 |
2023/08/09(水) 07:13:15.13ID:LYfJt0TC
>>332
SSってCS(チップセレクト)の事?それなら、
・CS>>信号<<をグランドに落としたらNG
・デバイスのCS>>ピン<<ならグランドに落としてOK
0334774ワット発電中さん
垢版 |
2023/08/09(水) 07:47:57.67ID:i2jGFfj7
>>332
デバイスによっては、セレクト信号の立下り、立ち上りになんらかの機能を割り当てていることもある。
A/Dコンバータの変換スタートや、シフトインしたデータの決定とか。
デバイスのデータシートを確認して。
0336774ワット発電中さん
垢版 |
2024/03/03(日) 17:30:12.81ID:gmlijSd9
なんだかんだでI2Cと格闘してる俺w
0337774ワット発電中さん
垢版 |
2024/03/21(木) 10:26:43.37ID:WvTYDjbM
Microwireのアドレス部って製品依存でビット数が変わるんだな。知らんかった。
レスを投稿する