電音の工場ブログ

当ブログは…

自作エフェクターシンセサイザ製作のネタや開発覚え書きなど、筆者の電音活動を記録しています。お探しの記事が見つからない方は、検索カテゴリ一覧をご利用ください。

スパマーが来訪すると、ときどきコメントをはてなユーザのみに絞ったり開放したりすることがあります。

2006-06-26

中庸版(続)

|  中庸版(続) - 電音の工場ブログ を含むブックマーク はてなブックマーク -  中庸版(続) - 電音の工場ブログ  中庸版(続) - 電音の工場ブログ のブックマークコメント

id:Chuck:20060623#p1 の続き。

ターゲットはあくまでAVRPICは捨てました。

ベースラインとしては、スイッチ~プログラムの基本はなるべくワンチップで行う。信号切り替えのリレーなりアナログスイッチ部分は仕方ないけれど、I/Oのエンコーダ、デコーダは使わない方針で。

命題は、

(前略) 3ループでは心もとない。何人かの方から「もっとループ数を」「もっとプログラム数を」「MIDIで切り替えたい」といったご要望を頂いている。

8ループ位が中庸でいいよね、ということで考えてみる。3-3-1 を拡大する方向でループ数を増やす、その上でMIDI対応を乗せる。

以下、逡巡。

  • 一応中途半端ながら公開していた 16ループのMIDI FX SW'er を半分にするのはどうだろう。
    • いやしかし AT90S8535 が廃番だ。
    • 代替で ATmega8535 というのがある。
    • 購入店が限られるし、少々高い。
  • それじゃ新規に 8ループ。
  • MIDIはどうする?
    • 立ち上げ時に1本見て、HならMIDI、Lなら3-3-1拡張型でどうか。
  • 3-3-1の拡張ということは、フットスイッチも8つ並べるのか?
    • スイッチをマウントすれば8ループだが、減らせば6ループでも5ループにでもできるということでどうだろう。
  • 肝心のデバイスだが…
    • 40ピンものだと余裕だけど、ATmega8535は高い。表面実装の ATmega64/128は嫌*1
    • 現在の入手性からいうと 28ピンもののATmega48/88/168 ということになるのでは?
    • デバイスはいいけど、I/Oが連続8bit取れない
    • な、なんだってー!
      • 8bit揃っているのはPORTBとPORTD、PORTBはプログラミング端子だから、ループ出力に繋ぐと書き込み時に危険。
      • PORTDは?
      • MIDIのときに使う UARTのポートがあるのだ。
      • 世知辛い…
    • 7ループならなんとかなりそうだが
      • !!!

ということで、わけがわからないけれどさらに脳内グルグル(どかーん)を繰り返し、ATmega48/88/168シリーズであれば、

機能I/Oポート備考
7ループ出力PORTC0-6 
7スイッチPORTD1-7フットスイッチに立ち上げる
MIDIの時はタクトスイッチでOK
MIDI INPORTD0 
EDITスイッチPORTB0 
WRITEスイッチPORTB1 
UP/DOWNスイッチ
またはロータリエンコーダ
PORTB6-7フットスイッチに立ち上げる
MIDIの時はロータリエンコーダが便利かと
LED表示出力PORTB3-5SPI利用*2
初期状態取込用制御PORTB2MIDI/LOOPSW, MIDI CHなどを
起動時に取り込むためのもの

といったところで、

7ループ+7プログラム×256 or 512バンク

または設定によって、

7ループ MIDI切り替え(128プログラムx2 or 4バンク)

がワンチップで実現できそうである。LEDは、74HC575を連結するとか別にLEDを光らせる用のSPIを喋るマイコン*3を用意した方がよさげかも…

いや、本当に作るかどうかは別として思考実験の結果だけは残しておこう。

*1:頒布用には、という意味。

*2:I2CはこれまたPORTCの美味しいところを喰ってしまうので却下。

*3:ダイナミック点灯。

トラックバック - http://emusic.g.hatena.ne.jp/Chuck/20060626