10/03/19 01:01:18 N+HpFC8d
KVMの人です、私の文章での説明が悪いから、かもしれないと思って回路図にしてみました
URLリンク(uproda11.2ch-library.com)
実際の回路そのままではなく、色々と端折っていますが、現象を説明するにはこれで十分かと。
KVMは他のPCからの電源供給で、内部の+5Vラインは4.7Vがかかっている。
一方、PCの+5Vは(電源OFF時に)0.5Vしかないので、Q1とQ2のいずれもOFFのとき、中央の信号線は0.5Vになる。
(仮説ここから)
もし信号線の入力をTTLで行っていれば、
たとえ0.5Vという電圧であっても(プルアップの抵抗値が大きいため)電流をほとんど吸い込めずH入力となるが、
しかし、このKVMはCMOSで受けているっぽいので、L入力となる。
この状態で、KVM側がQ2をONにしようとしてR4の右端に電圧を印可すると、
Q2のベースはコレクタよりも電位が高いので、ベースからコレクタにも電流が流れてしまう。
そうすると、(PC側がどれくらい電流を吸い込むかによるが)、信号線の電圧は高くなってしまう。
KVMはマウスエミュレーションのために、選択されていないポートに対して、定期的に信号を出すが、
その出力によって、信号線はCMOSの閾値の電圧付近でフラフラ動くことになり、変な信号が入力されてしまう。
そして、マイコンのプログラムは、想定外の変な信号を受け取ることで、バグった動作をしてしまい、
選択されているポートと(実物の)マウスの間の通信の中継に支障をきたし、マウスカーソルが暴走する。
(仮説ここまで)
KVM内の+5Vラインは、SBDの順方向降下で、4.7Vと少し低くなっているので、
もしそこに5Vピッタリを供給すれば、CMOSの閾値が僅かに上昇し、誤動作が生じにくくなるかもしれないけど、
もともと4.7Vで動作するように設計されているわけだし、電源電流が足りないわけでも低いわけでもないんだよね。
結局、対策として選んだのは、USB端子に5V-GND間に100Ωを繋いだ変造コードを挿したこと。
+5Vラインが0.2Vまで下がり(つまり100Ωには2mA流れてる)、動作はバッチリ安定した。
やっぱり闇雲にコンデンサを変えるのは馬鹿っぽいと自分で言った通りの結果になりましたよ。