YAMAHA QY20のバックアップ回路のCPUは、PIC16F1823を使っています。
ストックしているCPUで、機能、大きさ等から選びました。
PIC16F1823, PIC16F1825などは、秋月でも在庫切れを起こしており、今後は、チップの値段も含め、PIC16F18325を使ったほうがよさそうです。(最近は18325も在庫切れ。。。)
PIC16F18325は、PIC16F1823, PIC16F1825とピン互換性もあり、内部クロックも32MHzなので、回路変更も必要なさそうです。ということで、PIC16F18325用にプログラムを書き換えることにしました。
試作時に作った、プリント基板+ICソケットの回路があるため、CPUを乗せ換えるだけです。ユニバーサル基板だと断線等の心配、手間が増えるので、こういう時はプリント基板が楽。ICソケットでの試作を作っておいてよかった。
少しの変更で済ませたかったのですが、ググったところ、機能が向上している分、コンフィグレーションが大幅に変更され、設定がとっても面倒そう。例えば、、、
- 子ふぃぐレーションレジスタが4つもある。
- ファクションレジスタが大幅に変更。32個もBANKがある。
- ポート設定方法が変更。RS232CのTXなどは、任意のポートに割り当て。
など。結果、初期設定周りを大幅に変更が必要そう。
以下、作業メモ。
- コンフィグレーションビットの変更
- I2C利用時、_CLKOUTEN_OFF 、_FEXTOSC_OFFの設定も必要
- 変数領域を変更(領域が多いので)
- 変数のバンク指定を、プログラム中の変数アクセス部分すべてに追加
- ラベル行にBANKSELがあると、エラーとなるので行を分けること
- ポート初期化でのオープンドレイン設定
- RC,TXポートを入力に設定(入力設定が必要)
- 割り子に設定の変更
- IOCIFなど、変更されている