TK80/BSの
シンセシステムを復活/拡張したい〜
その21
DDSのケース作製、トーンホイールROMテーブル追加
DRP−1を旧リズムBOXに内蔵
2018年
4月28日
先週の続きです。CVのオフセット回路のテストです。残りの4chも動作良好です。
リアパネルにクロック出力のジャックを取り付けます。
4月29日
フロントパネルのレーザ刻印の準備です。Qcadで原稿を入力します。
正面の左側のLCDパネルのケガキとセンタ穴をレーザで塗装面にマーキングします。
LCDパネルのケガキに沿って、フライス盤で穴開けします。その後、スイッチの穴をボール盤で開けました。
ダークグレーのフロントパネルに艶消し黒の缶スプレーで塗装します。
Qcadで入力したDXFをHeeksCNCでGコードに変換し、レーザ加工用データに変換してNCVCで確認します。
レーザ加工機で刻印します。パネルの幅は260mmなので、左から71mmの所で左右(実際の刻印時は上下)に分けて2回で刻印します。
LCDパネル用の3mm厚アクリルの固定枠もレーザ加工機で作製しました。
フロントパネルにボリュームとつまみ、ジャック、スイッチを取り付けました。
LCDパネルの固定枠もエポキシ接着剤でフロントパネルに固定しました。
フロントパネルのCVのオフセットボリュームで音程が微調整できるか確認をします。
ディレイドモジュレータからの信号をCV入力に入れて外部変調の動作確認をします。
レベル変換−クロックドライバボードのステーが抵抗と接触しそうなので、抵抗を裏側に移動しました。
5月1日
SK−88と同時に鳴らして、パネルのオフセットボリュームの位置によらず、正しい音程で出力できるか確認します。問題ないです。
DCOのROMテーブルを2732から2764に変更します。2732は24ピン、2764は28ピンなので、そのままでは隣のICと接触します。丸ピンのICソケットで一段、持ち上げます。また、外部クロックが入力できるようにDCOボードとフロントパネルを修正します。
旧ROMから64個のテーブルをコピーして、トーンホイールオルガンを真似した新しいテーブルを64個追加して2764に書き込みます。
5月2日
8ch分の修正とROM変更が完了しました。
ROMテーブル生成プログラムで生成した波形の確認です。ドローバレベル008820010の波形です。
続いて388511000の波形です。
続いて604808807の波形です。動作良好です。
5月3日
ARTYボードのアナログ入力のA0〜A5のGND側の直列ダンパ抵抗は140オームだと思っていましたが、回路図を良く見ると842オームでした。7〜9ch用もなるべく合わせるように680オームを抵抗を追加しました。
DDSのクロック出力用のケーブルを作製しました。
DDSをTK80のグリーンモニタとフロッピドライブの間に設置しました。横幅が丁度メタルラックの幅とぴったりでした。リアパネルからクロック出力をケーブルでDCOに接続します。DCOにクロック出力を挿すと外部クロックが有効になります。
ソニーのリズムマシンDRP−1です。電池駆動で7つの音源が出力できます。手動でパッドを押すと音が出ますが、自動でも動作します。分解して、昔作ったプログラマブル・リズムジェネレータに組み込んでみたいと思います。
サンヨーのリズムジェネレータLM8972を使った音源ですが、部品取りで音源部のみ残っています。これの換わりにDRP−1を使います。
上記の音源に接続されていたプログラマブル・リズム・ジェネレータです。元ネタは”エフェクター自作&操作術'81”の1声のデジタルシーケンサです。DAコンバータの代わりに7ビットのデジタル出力が出るようになっています。
C−MOSのRAMの5101を2個使っています。乾電池でデータをバックアップできますが、さすがに年数が経っているため液漏れしてます。電池の製造年月日は89年のようです(笑)。
こちらは上記のリズム・ジェネレータと組み合わせて使う、リズムパターンを指定するパターン・シーケンサです。こちらも”エフェクター自作&操作術'81”を参考に作製しました。
これにはダイモで製造年月日の刻印がありました。81年です。
パターン・シーケンサは調子が悪いです。オシロで信号を追っていくと、ANDデバイスの4081が壊れているようです。手持ちのC−MOSを探したらありました(笑)。交換して動作良好になりました。
5月4日
DRP−1には4066のアナログスイッチでパッドを押した時と同様の信号を入力します。パッド用のパターンを追って4066を接続します。単体で発音テストを行います。動作良好です。
DRP−1とアナログスイッチ基板はリズム・ジェネレータのケースに収めます。
アクリル板とアルミステーでケースに固定します。
パターン・シーケンサのロータリスイッチは接触不良です。接点復活剤をかけて、接触が良くなるまでロータリスイッチを回転させます。
組み込みが完了たので、動画を撮ってみました。初めにパターン1Aは7つの音源が順番に鳴ります。パターン0A/0Bをパターン・シーケンサで0A−>0B−>0A−>0Bで指定します。クリックするとMPGファイルをダウンロードします。
5月5日
バックアップ用のマンガン電池を購入してきました。早速、取り付けました。
5月6日
PC−>MSP430−>DDS−>DCO(新しく作ったトーンホイールROMテーブル)で鳴らしてみました。外部のSP−808のデジタルコーラスのエフェクタを使ってレスリースピーカ風にしています。ここにMP3があります。
DDSとDCOのROMテーブル部で新しく発振器のブロック図を書き直しました。
5月10日
LCD表示とスイッチによるユーザインターフェースの制御にMicroBlazeをDDSのロジックに組み込みますが、以前に紹介したように、MicroBlaze部にDDS部をIPとして追加すると、合成時にDDS内で使っているXADCのIPが見つからないというエラーが出ます。これはVivadoの不具合のようで、”FPGAプログラミング大全”に回避方法が載っていました。左のソースペインにはXADCのIPがあるのですが、右のIPパッケージペインにはXADCがありません。この状態で合成するとエラーが出ます。
回避方法はソースペインでXADCを一度削除して、再追加するという方法です。これで右のIPパッケージペインにXADCが表示され、合成できるようになります。
今回はMicroBlazeの周辺デバイスとしてSPI、UART、GPIO、TIMERと割り込みコントローラを追加しました。DDS部を「Create and Package IP」でmyip(右下ピンク枠)として追加します。これにより、DDS部に32ビットのレジスタが4個追加され、AXI−Liteバス経由でMicroBlazeに接続されます。
合成、インプリを行うとデバイス内が表示されます。下側のピンク枠がMicroBlaze部で上側がDDS部です。
スケマ図も確認します。左中央のピンク枠がDDS部、右下のピンク枠がMicroBlazeです。青枠の外は外部信号です。
ロジック使用量を確認します。半分強使っています。
5月12日
DCOの拡張したROMテーブルのバンクセレクトは同じ並びのクロックの内部/外部切り替えスイッチを使います。インレタが入手難のため、パネルは修正せず、そのままです。内部/外部切り替えスイッチの代わりはFREQジャックで、信号をジャックに入力すれば外部クロックでDCOが動作します。
DDSとディレイドモジュレータを繋ぐシールドケーブルが足らなくなったため、マルツから追加購入しました。4本追加作製して8本完了しました。一回り細いケーブルはMC80+の音程CVをVCFと接続するために購入しました。
こちらは秋月から購入のコンデンサとWiFiモジュールです。ここにウェーブキットのダイオードラダーVCFの非常に詳しい解析があり、現状の回路定数が悪く、コンデンサ数個の交換でレゾナンス動作が改善するということです。そこで、この回路とほとんど同じ8chシンセシステムのVCFもコンデンサを交換してみることにしました。WiFiモジュールは仕事関係での購入です。
5月13日
先週再生したプログラマブル・リズム・ジェネレータとパターン・シーケンサの”エフェクター自作&操作術'81”の先頭ページです。どんな記事だったのか読み返してみました。名前はデジタル・シーケンサとシーケンス・プログラマだったんですね。”YMOのシーケンスも怖くない!!”というのは、使用しているRAMの5101が256x4bitなので256小節丸々、1曲分入力できるということです(笑)。
DDSのフロントパネルですが、DDSの論理からステータスLEDが、MicroBlazeからスイッチ4個とLED3個を接続予定ですが、未接続のため、パネルに配線を追加しました。
ステータスLEDは緑色でMC80+バスからノートデータをFPGA内部にラッチした時に点灯し、一定時間が経過したら消灯させます。フロントパネルをよく見ると、”VALUE”の+と−が上下逆でした(笑)。しまった!
早速、ステータスLEDのロジックを組み込んでみました。当初、XADCの9ch分の変換終了でLEDを消灯したのですが、ほとんど点灯しないため、内部に21ビットカウンタを実装して、約20mSecで消灯するようにしました。MSP430のUSB−LEDとほぼ同じタイミングで点灯するようになりました。LEDが点灯すると、外からみて動作しているのが分かるようになりました。
VCFの修正です。4つのラダーコンデンサを0.01uFから0.047uFに変更し、トランジスタをマイナス側に引っ張っている電流設定抵抗を10Kオームから3.3Kオームに変更。合わせて、出力差動アンプの入力に1uFのコンデンサを追加しました。今週はとりあえず、4chのみ。以前より、レゾナンスの効きが良くなり、低い位置から自己発振するようになりました。
MC80+の音程CVとVCFを接続するシールドケーブルを購入したので、ケーブルを作製しようと思ったのですが、現在、VCFの下のディレイドモジュレータが入っている所は元々VCOが入っていたので、このコネクタには音程CVが配線されています。筐体内で配線した方が、パッチケーブルが少なくなくてすむので、内部配線することにしました。狭くて非常に作業がし難いのですが、とりあえず4chのみ配線、続きは来週行います。