ミッドレンジコアでPIC16F145xの兄弟であるPIC16F161xは昨年11月にリリースされたマイクロチップのマイコンですが、用途が結構コアなのでメモ。

無題

このマイコンはなんと、、、想定アプリケーションにCDIが入っているんですね。
CDIってあーた。

ドキュメントはこちらです。
http://www.microchip.com/pagehandler/en-us/promo/pic16f161x/home.html

ではその特徴的な機能の一部みてみましょう。

Math Accelerator
The Math Accelerator offers completely Core Independent calculations, with the capability to perform 16-bit math and PID operations. Offloading these functions leaves the CPU free to perform other system tasks, consumes less program memory, and reduces the overall power consumption of the MCU. 

マスアクセラレータは完全にCPUコアと独立した状態で、16ビット演算、PID操作を可能としています。
これらの機能をその他のタスクからオフロードする事によって、より少ないメモリ消費量、全体的な消費電力の低減を実現します。

コプロ(の様なもの)がミッドレンジコアにも出来ました。
特に割り算がかなりのクロック数を消費しますので、これはありがたいです。
これはPIC12Fシリーズにも落ちてくる事を期待です。 
 
Angular Timer
The Angular Timer acts as an abstraction layer when designing systems based on rotational or sinusoidal events, such as motor control, TRIAC control, or Capacitive Discharge Ignition (CDI) systems. Regardless of speed, the Angular Timer allows recurring interrupts at a specific rotational or sinusoidal angle with no software setup hassles.

アンギュラタイマーは回転、もしくは正弦波のイベントを基礎とするモーター制御やトライアック制御、CDI等のシステムを設計する際に抽象化レイヤーとして振舞います。
速度を気にせず、セットアップの手間無しにアンギュラタイマーはソフトウェア特定の回転や正弦波の角度に対して割り込みを入れる事が出来ます。

これはトライアックのAC電源の制御を行うのに便利そうです。
角度を指定してしまえば周波数にあわせてイベントを発生してくれるようなものの様ですから、CDIのパルス信号から30度遅延して点火させる等という用途にはぴったりです。

24-Bit Signal Measurement Timer
The 24-bit Signal Measurement Timer performs high resolution measurements of any digital signal in hardware, resulting in near zero latency and high performance when decoding custom communications protocols or signaling.

24ビットの信号測定タイマは、カスタムされた通信プロトコルや信号を複合化する際に、どのようなハードウェア信号でも高精度に非常に高い性能でほぼ遅延無しで測定します。

これまでミッドレンジコアは最長16ビットのタイマーしかありませんでしたが、ついに24ビットタイマーが具備されました。CDI作成時にかなり低回転から高回転までフォロー出来るようになります。

Zero Cross Detect
The Zero Cross Detect module can monitor AC line voltage, and indicate zero crossing activity. This information is made directly available to on-board Waveform Generation peripherals for use in TRIAC control applications, greatly reducing both CPU demand and BOM cost.

ゼロクロス検出モジュールはAC電圧を監視し、ゼロ交差地点を特定できます。この情報は、大幅にCPUへの要求とBOMコストを削減しながらトライアック制御アプリケーションにおける波形生成を行う周辺機器等に直接的に有効となります。

AC電圧のゼロクロス検出はトライアックのAC電源制御には無くてはならないものですが、複雑な回路を使わなくても実装できるようになりました。

100mA High Current Drive
100 mA High Current Drive, available on 2 I/O pins, can eliminate the need for an external MOSFET driver in a number of applications that require FET drive.

100mAの電流を流せるピンが2本あり、FETを利用するアプリケーションを作成する際に外部のMOSFETドライバなどが必要なくなります。

PICの出力ピンは定格25mAが普通なのですが、大抵の場合これではサイリスタやトライアックが直接ドライブできません。自作CDIも当然ながらトランジスタを使って電流を増幅してサイリスタゲートをドライブしています。
今回は100mAまで流せるので、大抵のデバイスは直接駆動できるようになります。

上記の様に、サイリスタ、トライアックを使ってアプリケーションを作る際に便利に利用される事を想定されたマイコンだということが分かります。
CDIなんかにはまさにぴったり。モーター制御をするアプリケーションでは相当楽に精密制御ができる様になりますね。
初の試みが多いマイコンでまだまだErattaが多いのでとても使う気にはなりませんが、その内他のマイコンにもこれらのモジュールが展開されていく事を期待しています。


こっそり閑話休題

SDR200の腹黒エンジンは沈黙してしまったのですが、復活への道は無い訳では無く(Takeyanさん、色々とありがとうございます)、取り急ぎ当面は腹黒エンジンを越える腹銀エンジンで凌ぐ事になりました。(あももさん、ありがとうございます)週末埼玉まで取りに行ってきます。(アルモクさん、ありがとうございます)
自作CDIも取り急ぎエンジンが壊れても一般的な人よりドンマイな方が試してくれています。
SUGO用には「串カツCDI」を作る予定ですが、基礎的な部分がちゃんと動く事が確認したいと思っていますので、ひとまず前進していると思っています。

腹銀エンジンも、もう一年半も動かしていなかったので、そろそろ錆びてはないのかと気にはなってましたので油を再度馴染ませるには丁度良いタイミングです。

オイルポンプは暫く磨いたもので動かすとしても、今後が不安になりましたので、痩せたプランジャーピストンの対処をどうするか考えます。
iPhone 014

ピストンが削れている部分はピンを基点としてと90度、270度の部分だけなので、この刺さっているピンを90度回転させるだけでも暫くは良いんじゃないのとか思ったりもしますけど、流石に対処療法過ぎる気がします。
構造はシンプルなので旋盤があれば作れない訳ではなさそうなのですが、精密部品なので発注するにしても新品とマイクロメーターを買う必要があります。
なんだかナーってな感じです。