音を創るということ2
■マイコン
マイコンを使った電子工作では、このマイコンを選定するというのが一番楽しいです。今回はロータリーエンコーダ(以下、REとします)を42個使います。1個のREには3個の端子があり、そのうち2個の端子はマイコンに接続する必要があります。とすると、42*2=84のポートが必要で、スイッチ6個分も加えると96本のポートとなります。
マイコンを使った電子工作では、このマイコンを選定するというのが一番楽しいです。今回はロータリーエンコーダ(以下、REとします)を42個使います。1個のREには3個の端子があり、そのうち2個の端子はマイコンに接続する必要があります。とすると、42*2=84のポートが必要で、スイッチ6個分も加えると96本のポートとなります。
こういう時はダイナミック駆動入力で処理します。ダイナミック入力の原理については説明なしです。(でも、ネットの情報では、初心者向けのダイナミック多点灯とかダイナミック多入力の情報がないんですよ)。マルチプレクサICなどを使うとポート数の削減は可能ですが、マイコンのみで行きたかったのでできるだけ余分なICは使わないことにしました。回路を設計するのに注意したことを書いておきます。
●他入力の回りこみを防止する
●読み込むタイミング周期(REの読み込みタイミングがシビアそう)
●ポート切り替え時の重なりをしない
●入出力のHigh/Lowレベルを守る
●読み込むタイミング周期(REの読み込みタイミングがシビアそう)
●ポート切り替え時の重なりをしない
●入出力のHigh/Lowレベルを守る
ダイナミック駆動の入力で8本、ポート切り替え出力に12本の計20本、MIDIの入出力に2本が必要なので、全部で計22本のIOポートが必要になります。部品単価、DIPパッケージ(面実装部品はできるだけやめたい)、などを総合的に検討した結果、PIC18F27J53に決めました。このマイコンをすごいと思うのはROMが128Kもあるのです。また、Rimappable Peripheral Pinでモジュール接続ピンを自由に変更できるのも使いやすいと思いました。
キーワードは、18F27J53 Data Sheet
このマイコンのデータシートは英文なので、ちょっとつらい場合は18F97J60などの日本語マニュアルを部分的に参考にしています。
キーワードは、18F27J53 Data Sheet
このマイコンのデータシートは英文なので、ちょっとつらい場合は18F97J60などの日本語マニュアルを部分的に参考にしています。
■ポートの割り当て
検討したポート割り当ては下のようになります。ダイナミック駆動の出力はScan_out0〜11で、入力はRot_in0〜7となります。
ここで注意することは、10pinがScan_out5で、9pinがScan_out6になっていることです。(ややこしいけどマイコンの仕様です)
検討したポート割り当ては下のようになります。ダイナミック駆動の出力はScan_out0〜11で、入力はRot_in0〜7となります。
ここで注意することは、10pinがScan_out5で、9pinがScan_out6になっていることです。(ややこしいけどマイコンの仕様です)
ポートの図を書いたところで回路図がないことに気づきました。ほとんどの資料はメモ用紙になぐり書きをしているので、お見せできるようなものがなかつたのです。そこで、急遽、PCB CADを使って作成することにしました。やっぱりオープンソースの Kicadでしょうか。Linux mintにも対応しているらしいVer5.0.2を使うことにします。
キーワードは、Kicad 5 mint
パソコンCADは使ったことがなかったけど、どんな具合でしょうか?
忙しいけど、コアントロー・サワーでも作って飲んでみよう。
※このブログで書かれた内容によって生じた損害等の一切の責任を負いかねますので、予めご了承下さい。
2019-12-24 13:36
nice!(0)
コメント(0)
コメント 0