

ある測定器からの信号を Spresense で処理しようとしています。

ピンの一つを GPIO として使って、測定器の値が用意できたことを示すトリガー信号による割り込みを受け付けるようにしています。

  * その際、トリガー信号を直にピンに接続すると発振してしまいます
  * トリガー信号からインバーター (NOT) を 2 段経由してピンに接続すると安定して割り込みを受けることができます

測定器の回路に依存する話なのかもしれませんが、インバーターを使わずに安定して信号を受ける方法はないものでしょうか。


CC BY-SA 4.0
2020-06-25T02:31:21.137
67975
2020-06-25T17:42:20.233
2020-06-25T04:22:18.333
3060
40811
question
spresense
測定器からの信号を Spresense に直接繋ぐと発振してしまう


ケーブルを何 cm 延長していますか？  
マイコンというか CMOS-IC の入力ピンに直結している信号を基板から引き出して使うと 10cm
くらいしか延ばせません。それ以上に引き出すと指摘のある通り動作が不安定になります（経験的に 15cm がギリギリで 20cm
以上にすると必ず失敗します）。ノイズが乗って発振してしまうのはそのうちの一例に過ぎないです。

USB だの SATA だの、あるいは RS232(EIA574) 今は無き IEEE1394
だの、シリアル通信バスに専用回路が入っているのは伊達ではないのです。

> インバーターを使わずに安定して信号を受ける方法

CMOS 信号出力の機器１と CMOS 信号入力の機器２を 10cm を超えて直結している限り絶対に安定しません。

  * 中距離・長距離伝送に適した信号に変換する (RS232 とか RS485 とか LVDS とか)
  * 最短距離で接続し総延長を１桁 cm 以下にする
  * ノイズ対策用の C/R/D を挿入する

あたりが取れる対策でしょう。具体的にどんな回路にするかは伝送距離、通信速度、周囲ノイズレベルなどなど、用途とコスト次第で違います。

C/R/D だけでも（短距離なら）そこそこ効果ありますしやってみますか？具体的回路が知りたいなら検索してみてください（オイラでも答えられますが SO
向き話題とも思えない）


CC BY-SA 4.0
2020-06-25T04:21:08.367
67980
2020-06-25T04:21:08.367
8589
67975
answer


公式サイトにこのような記述があります。

[https://developer.sony.com/develop/spresense/docs/hw_docs_ja.html#_拡張基板でのデジタル信号uartspipwmgpio使用上の注意](https://developer.sony.com/develop/spresense/docs/hw_docs_ja.html#_%E6%8B%A1%E5%BC%B5%E5%9F%BA%E6%9D%BF%E3%81%A7%E3%81%AE%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E4%BF%A1%E5%8F%B7uartspipwmgpio%E4%BD%BF%E7%94%A8%E4%B8%8A%E3%81%AE%E6%B3%A8%E6%84%8F)

入力の信号のインピーダンスが低い場合は。バッファが必要なようですね。  
もし該当であった場合、バッファを入れてみてはどうでしょうか？


CC BY-SA 4.0
2020-06-25T17:42:20.233
68003
2020-06-25T17:42:20.233
32281
67975
answer