LPC810M021FN8 (13) -- ディジタル SCR (1)

これまで 8 ビット AVR では、6 ピンの ATtiny10 と 8 ピンの ATtiny13 とに対して、コンパレータ + ワンショット・タイマの機能を持つ「ディジタル SCR」プログラムを作成し、VCO の構成要素のひとつとして利用してきました。
「8 ピンつながり」ということで、LPC810M021FN8 でも「ディジタル SCR」プログラムを作ることにしました。
SCT (State Configurable Timer) の L 側のカウンタを利用して PWM を実現しましたが、H 側のカウンタがまるまる空いているので、これを利用し、sin/cos 波発生プログラムに追加する形で実現した「外部入力によるイベント発生」の例として示したいと思います。
詳しい説明およびソース・プログラムの追加/変更部分は後に回し、今回は回路図とオブジェクトの HEX ファイルのみを掲載します。
AVR 版の場合にはソフトウェアの介在のもとに実現していましたが、LPC8xx ではハードウェアだけで機能を実現でき、一切のソフトウェアの介在が必要ない構成にできます。
ただし、ハード的に 3 ステート出力は実現できず、電源レイル側とのリセット/リワインド経路が必要な NPN アンチログ電流出力との組み合わせでは、のこぎり波リセット/リワインドのための外部バイポーラ・トランジスタあるいは FET が必要になります。
PNP 出力のアンチログ電流出力との組み合わせでは、LPC8xx のオープン・ドレイン出力を利用し、外部トランジスタ/FET なしで、グラウンド側とのリセット/リワインド電流の経路を構成することが可能です。
ベース結合型 NPN アンチログ回路と組み合わせ、リセット型 VCO として構成した回路を下に示します。

コンパレータの (外部) 入力は 8 番ピンの「ACMP_I1」と 5 番ピンの「ACMP_I2」に固定されており、他のピンに振り替えることはできません。
ここでは、 8 番ピンの「ACMP_I1」のみを外部入力として使い、もうひとつの入力は内部のバンドギャップ・リファレンス電圧 (0.9 V) を利用しています。
sin/cos 波発生プログラムの PWM 出力に使用していたピンのひとつをリセット用 PNP トランジスタのベース・ドライブに使っています。
最後にオブジェクトの HEX ファイルを掲載します。 フラッシュのサイズは 1268 バイトで、内部 RC オシレータの 12 MHz クロックで動作します。
これを「Flash Magic」などで書き込み、上記の回路で動作させれば、ソフトウェアによる sin 波発生とハードによるのこぎり波発生とが互いに影響せず、独立に動作することが確認できます。

:1000000000010010CB000000C1000000C300000090
:1000100000000000000000000000000000000000E0
:1000200000000000000000000000000000000000D0
:100030000000000000000000C5000000C700000034
:10004000C9000000C900000000000000C900000055
:10005000C9000000C900000000000000000000000E
:10006000C9000000C9000000C9000000C90000006C
:10007000C9000000C900000000000000C900000025
:100080000000000000000000000000000000000070
:100090000000000000000000000000000000000060
:1000A000C9000000C9000000C9000000C90000002C
:1000B000C9000000C9000000C9000000C90000001C
:1000C000FEE7FEE7FEE7FEE7FEE708B500F022F8F0
:1000D00000230A4A0A499A188A4204D20949C9588F
:1000E00004331160F5E7084B084A934202D200221C
:1000F00004C3F9E700F048F9FEE7C046000000102D
:1001000000000010F40300000000001000010010C7
:10011000FEE7C04670470000C38810B5C380026880
:100120008223DB021343CA1703608B185340194C18
:10013000021C9BB2FE3293800353436DC024A34341
:10014000436500231382144A8352144AC7239B0039
:10015000C250C6239B000122C2500823002902DBA3
:10016000A322D20000E00E4A835043820D4ACB23E3
:100170009B00C250CA239B000122C25020230029A9
:1001800001DB074A01E0A322D2008350C382082387
:10019000C38010BD020200000E0200001310000018
:1001A0001C050000D02C000070B5144B8E24A40058
:1001B0001E59134D35401D51124C8025E66F2D03FD
:1001C0003543E5675D68104C2C405C605D688024B9
:1001D00064012C435C600B1C80240343A4041C4377
:1001E0000A4B1C60002801D0002905D13E21520095
:1001F0000A4001210A435A6070BDC0460080044095
:10020000FF7FFFFF04800440FFEFFFFF004002403C
:1002100008B5154B8022D96FD2020A43DA67134B17
:1002200018215A6C04208A435A64114AE0235B0067
:10023000D1580143D150D15808200143D150D15851
:1002400001208143D1506320022100F0C1F87220C7
:10025000032100F0BDF88120112100F0B9F86220DF
:10026000112100F0B5F808BD0480044000400440AE
:1002700000C00040F7B5324E8025F76F6D00314C5D
:100280002F430193F76767682F4E3E4066606668AC
:1002900035436560061C4D1EADB2FE360024046079
:1002A00075828426B6008553284EC925AD00465177
:1002B000C8250126AD00465110250581F140466D47
:1002C0006500171CAF403E4346658026271C76011B
:1002D00026436037B446FF00C619634673600126A3
:1002E0003E50271CA640A037B446FF00C6196346FF
:1002F0007360261C4036B6003152261C8036B6008C
:100300003152564256413301C351876DAE40351CC0
:100310003D4301348565042CD1D1019B002B07D0CE
:10032000031CF033102119608021094B89001960EA
:1003300001231A40120108231A438280F7BDC046E8
:100340000480044000800440FFFEFFFF0410000012
:1003500000E100E010B50B4C80210023201C01229D
:100360004900FFF787FF201C3C21FFF7D5FEC02086
:100370008021C00009010C22FFF716FFFFF748FF9C
:1003800010BDC0460040005038B5FFF7E3FFE02243
:10039000D20500230C48102405680C492542F9D0E9
:1003A00004608020000614188020240E80000C5267
:1003B000802000061C188120240E80000C52D910C9
:1003C000521AD1105B18E5E7F4400050004000508D
:1003D0000F22074B02400009800030B5D200C458FC
:1003E000FF259540AC439140221C0A43C25030BDCA
:0403F00000C0004009
:00000001FF