PIC12F1822やPIC16F1455/9等の、エンハンスドミッドレンジに位置する8ビットPICマイコン。

8bit_overview_graphic

IOピンの入力変化について、InputCaptureという非常に便利な機能が無くなった代わりにIOC(Interrupt On Change)という機能がついた。

複数のピンで状態変化割り込みが使える反面、入力検知がST(シュミットトリガー)から普通のTTL入力になってしまった。

これがちょっと困った事。
シンプルに言えばノイズに弱くなってしまった。
普通のデジタル信号のやり取りであれば、ここは然程問題にならない。

STとTTLの違いについては、トランジスタ技術のこの記事が詳しい。

少しポイントを引用するとこんな感じ。
input

実際のところ5V電圧駆動の場合、TTL入力では1.5Vでオンオフがバタ付くが、ST入力の場合は2.8Vでオン、2.0Vでオフとなる為バタ付きが抑えられる。

この辺の考察は、自作CDI:【v2.1纏め】基板変更点覚書で詳しく書いた。

今日気が付いたのだけれども、PIC16F1455の場合だけでなく過去の互換性からかエンハンスドミッドレンジにもST特性を持つINTという割り込みが備わっている。
仕様書のTABLE 1-2: PIC16(L)F1454 PINOUT DESCRIPTIONを見たところ、
「RC1/SDA/SDI/INT/ICSPCLK」と記載があり、これがSTであると記載がある。

自作CDIはパルス入力にこれまでIOCを使っていたけど、INTに変えた方が無駄なノイズ対策用の抵抗等を省略できそうな気がするので、次回はそっちでやろうかと思う。