CAN の終端?抵抗って
最近、CANのことについて、改めて色々見直す機会があって。
CANって、しれっとやってるけど実のところ
差動信号じゃないよな....というのは前からあったんだけど。
レセッシブの時は、ハイインピーダンスで、ほったらかしになるしね....
ドミナントの時は、BUSを電気的に駆動しているのが一人とは限らないので
実際、伝送路に対してインピーダンスなんて全然合ってない.....
実際の回路を眺めていると、これ、伝送路の終端じゃなくて、
ただのプルアップ(もしくはダウン)抵抗なんじゃ
という気がしてきた。
普通のプルアップダウン抵抗と違って、上下とも切り離されるから
ちょっとわかりにくいけど。
------
回路解釈として、これは実は単なる負荷抵抗で、
受け側は伝送路上の差動信号で動作してるんじゃなくて。
電圧の比較ではなく、ただの抵抗の端子電圧を見ていて、
受け側の都合の適当なスレッシュで
ロジック判定している、っと見ると
回路動作としてスッキリするようになった。
これだな、違和感の原因は....
------
世の解説には、しれっとCANは差動信号とか書いてあるし、
誤誘導されるよなあ....
これのおかげで、世の担当が苦しむ原因の一つになってるような気も。
要するに、電気的本質は、I2Cなんかと同じなんだけど
I2Cよりもさらに不利なのは、クロックが分離してないこと。
さらに、UARTみたいにスタートビットのエッジで同期して、ってんじゃなくて
都度都度のエッジで同期がずれるぽい。
たった一発のノイズ、エッジのズレで一パケット100ビット超が丸ごとパァ、
ってなるよな、やっぱりこれ。
これ、ノイズに強い、なんてのは幻想だよなあ...
I2Cは、その振る舞いがさんざんネタにされて、広く?知られて
来ているけど、CANって、それに比べるとクローズドで
ことの本質って、語られることはないよなあ、と思う。
------
もう何十年もやってるものでも
改めて頭の中を整理すると、
いろいろ思いつくものもあるな....
まともに機能しないCAN BUSは、世にはびこっているけど
これ、ちょっとでも世直しに手を貸せるといいなあ
| 固定リンク | 0
コメント