2017年07月20日

Roland αJunoのDCO(2)

juno-dco-clock.jpg

前回、DCOはマスタークロックをカウンタでカウントして希望の周波数の信号を生成していることを書きました。
マスタークロックの生成方法やカウンタ周辺の回路は、Junoシリーズの中でも変遷しています。

Juno-6からJuno-106までは、8253というプログラマブル・タイマICが用いられています。
これは16ビットのカウンタですので、入力クロックを最大65536分の1まで分周できます。
1つの8253に3つのカウンタが入っており、Junoシリーズは6音ポリなので、8253を2つ使って6つのカウンタで6つの周波数を生成しています。
αJunoでは8253は使われておらず、DCOチップにすべて集約されています。

デジタル制御のオシレーターを採用したのはJUNOシリーズが最初で、その肝の部分で使ったパーツがNECのμPD8253というチップなんです。実はそのチップを使った製品はJUNOが最初ではなく、正確にはその前のEP-09(註:エレクトリック・ピアノ)で初めて使ってみたんですよ。それで上手くいったので、シンセサイザーでも使うことにしたと。

Roland - Roland Boutique 製品開発ストーリー #2


Juno-6/Juno-60の8253周辺の回路図です。
この頃は回路図もまだ手書きだったんですね。
8253のOUT1〜OUT3からCH1〜CH3のための信号が出力されています。
juno60-8253.png

左のほうに「1.902MHz」という記載がありますが、これがマスタークロックの周波数です。
メンテナンスマニュアルのP14の記載によると、マスタークロックの周波数は可変になっていて、

・ピッチベンダ
・LFO
・チューニング

の値を電圧で与えることによって1MHz〜3.5MHzまで変動するようになっているそうです。
クロックを生成する発振回路はアナログで、可変容量ダイオード(バリキャップ)を使った、電圧で周波数を制御できる発振回路になっています。

マニュアルには、ピッチベンダやLFOがゼロ、チューニングが442Hzのときの例として、
「マスターオシレータが1902810Hz、カウンタの設定値が4305であるとすると、442Hzの矩形波が生成される」
と記載されています。つまり 1902810 / 4305 = 442 というわけです。

続くJuno-106では、発振回路が様変わりします。
下図は発振回路の周辺の回路図です。
水晶発振子が使われており、周波数は8MHz固定になります。
そして、その出力は4ビットカウンタ40H161で分周されてから8253へ送られます。
juno106-clock.png

この4ビットカウンタの設定値は、Juno106のDCO RANGEのパラメータで制御されると思われます。
このパラメータの16'、8'、4'という表現はJuno以外ではあまり一般的ではないかもしれませんが、8'(8フィート)が標準設定で、4'に設定すると1オクターブ高い音、16'にすると1オクターブ低い音が出力されます。
juno106-range.jpg

先ほどの回路図では、40H161のAがL、DがHになっていますので、設定値は1XX0になります。
つまり、設定可能な値は8(1000)、10(1010)、12(1100)、14(1110)となりますが、カウンタは4bitアップカウンタですので、設定値からカウントアップしていって16になったときにパルスが出力されます。
従ってそれぞれの設定値の場合の分周率は1/8、1/6、1/4、1/2ということになります。
DCO設定が16'のとき1/8、8'のとき1/4、4'のとき1/2に分周されるとすると、8253への入力は1MHz、2MHz、4MHzとなり、8'のときのマスタークロック周波数はJuno-6/60とほぼ同じ設定値になっています。

Juno-106では、マスタークロックにはピッチベンドやLFOの値が反映されません。
これらの値はA/DコンバータによってCPUへ取り込まれ、8253へ設定する値に反映されています。
ちなみにCPUは、NECオリジナルのμPD7810Gという8ビットプロセッサです。

αJunoでは8253はDCOチップへ集約されていますので、下図のような非常にシンプルな構成になっています。
クロックは12MHzになっていますが、これはCPUクロックとの共用になっています。
Juno-106でもCPUクロックは12MHzでしたが、DCO用のクロックは8MHzを別に用意していました。
こんなところもコストダウンの努力なのでしょう。
alpha-juno-clock.png

DCOチップの内部は分かりませんが、12MHzを1/3分周、1/6分周、1/12分周して4MHz、2MHz、1MHzを生成しているのではないかと思います。
ちなみに、αJunoではDCO RANGEに32'という設定も追加され、標準よりも2オクターブ低い音も出せるようになっています。なので、1/24分周した500KHzも生成しているかもしれません。

ピッチベンドやLFOはJuno-106同様、A/Dコンバータでデジタル化して、DCOでの分周カウンタの設定値へ反映されます。
αJunoのCPUは、有名な8051という8ビットCPUの強化版である8052の内蔵ROM無し版である8032です。
このCPUにはA/Dコンバータは無いので、A/Dコンバータは専用チップμPD7001Cが使われています。

というわけでようやくピッチ信号生成の説明が終わりましたが、次回は波形生成を見ていきます。
posted by boochow at 02:15| Comment(0) | Synthesizer | このブログの読者になる | 更新情報をチェックする

2017年07月18日

Roland αJunoのDCO(1)

alpha-juno-dco.jpg

Roland αJunoの最大の特徴をひとつ挙げるとすると、DCOになると思います。
JunoシリーズはJuno-6、Juno-60、Juno-106、αJunoの4シリーズですが、すべて「6音ポリ」「1DCO/Voice」という仕様が共通しています。
この制約の中で、シンセサイザーとして「良い音」を追求した結果がJunoシリーズのDCOです。
JunoシリーズのDCOは当初から一貫してユニークな発想で構成されていますが、αJunoのDCOはその集大成と言えるでしょう。

「DCO」=Digitally Controlled Oscillatorなので、アナログシンセじゃなくてデジタルシンセなのでは?

という印象を持ってしまうかもしれませんが、DCOは現代のソフトシンセのような、D/A変換で波形を生成するものではありません。
alpha-juno-dco1.png

JunoシリーズのDCOは、Juno-6/60ではチップ化されておらず、Juno-106で2DCOをワンチップにしたMC5534Aが開発され、αJunoで6DCOがワンチップ化されました。
αJunoのDCO「MB87123」は出力端子が6個(6音ポリなので)、チップに命令するためのアドレス/データ兼用の8bitバス、バスがアドレスを指定することを示すALE、それにクロックとチップセレクトの信号しかありません。

洗練されすぎていて内部で何をしているのか分かりませんが、87123の内部構成は簡単なブロック図がメンテナンスマニュアルに掲載されています。
alpha-juno-dco2.png

この図を見ると、クロックからピッチ信号を生成し、そのピッチ信号で鋸波、矩形波、サブオシレータの3つの波形を生成していることが分かります。

その波形生成の仕組みについては、αJunoのメンテナンスマニュアルには書かれていないのですが、Juno-6/60/106のメンテナンスマニュアルには解説がありました。
中でもJuno-60のマニュアルが一番詳しく書かれています。

DCOで鋸波を生成する仕組みを非常に単純化すると次の図のようになっています。

juno-dco.png

左側から電流を流すと、時間の経過に従ってコンデンサに電荷が貯まり、Aの部分の電圧が上がっていきます。
ここで、スイッチを押すとコンデンサの電荷が放電されて、電圧が一気に下がります。
スイッチを離すと、また電荷が貯まり始めて電圧が上がっていきます。
この「スイッチを押す周期」を制御すれば、希望の周波数の鋸波が得られます。

スイッチを押す、とは波形の生成をリセットすることに相当します。
JunoシリーズのDCOは、波形をリセットするタイミングをデジタルで制御しています。
そのタイミングは、数MHzのマスタークロックを16bitのカウンターでカウントすることで作り出しています。
カウンターのカウント値は、生成したい周波数から逆算できます。

長くなったので続きます。
posted by boochow at 01:37| Comment(0) | Synthesizer | このブログの読者になる | 更新情報をチェックする

2017年07月09日

αJunoのLCDのLEDバックライト化検討

ledbacklight.jpg

直前の記事で、αJunoのLCDのELパネル交換について書きましたが、当初はELパネルではなく、上の写真のようなLEDバックライトに交換できないかと考えていました。
結局、交換は難しいという結論になったのですが、参考までに調べた内容をまとめておきます。

バックライト用のLEDパネルは、厚みが3mm近くあります。
ledbacklight1.jpg

一方、ELパネルは厚みが0.4mmと非常に薄いものです。
LCDモジュールは基板とLCDでバックライトを挟むような構造になっていますので、ELパネルのスペースにLEDバックライトを入れるのは困難です。
alpha-juno-lcd6.jpg


LEDバックライトは、表と裏に半透明のシートを貼った透明なアクリル板に、側方からLEDの光を入れ、その光が半透明のシートで反射されながら少しずつアクリル板の表面に漏れ出るような構造になっています。
これだと、どうしてもLED素子の大きさでバックライトの厚みが決まってしまいます。
面実装タイプのLEDだと、1.0mm×0.5mmといったサイズのものもありますが、こんどは光量が不足してしまいそうです。複数使うとなると、配線が問題になります。

aliexpressで「ultra thin led backlight」といったキーワードで検索すると、0.5mm厚のLEDバックライトも存在していそうではありますが、ELパネルの置き換えにすぐ使えそうな商品は見つかりませんでした。
普通に考えれば、LCDモジュールが2,3mm厚くなったところで、困る人は少ないのでしょう。

次に、LCDモジュールごとLEDバックライトタイプのものに交換するということを考えました。
αJunoに使われているLCDモジュールは、表示が16文字×1行、コントローラが日立のHD44780という非常に広く使われていたチップになっています。
現在でも、16文字×2行のLCDモジュールはHD44780の互換品がよく使われています。
16文字×1行のモジュールは国内ではあまり見かけませんが、aliexpressなどでは普通に見つかります。
日本円にして300円程度のものですので、2つほど試しに購入してみました。

互換品を使う場合は、物理的な大きさ、接続コネクタ、プログラムから制御する際の互換性が問題になります。

まず、物理的な大きさですが、モジュールの基板サイズやネジ穴の位置は同じです。
下の写真は、上が購入した互換品、下が本来のモジュールです。
ledbacklight3.jpg

しかし、モジュールの厚みは、LEDバックライトのせいで互換品の方がだいぶ厚くなっています。
モジュールを横から見たところです。
中央の半透明の部分がバックライトになります。

ledbacklight2.jpg


以下の写真は、上が本来のモジュールを取り付けた状態、下が互換品をセットしてみた状態です。
モジュールが金具から2〜3mmほど浮いてしまっています。
長いネジを買ってくれば、取り付けは不可能ではなさそうです。
ledbacklight4.jpg
ledbacklight5.jpg


次にコネクタですが、αJunoのメインボードとLCDモジュールの間は14極のFPCケーブルで接続されています。
従って、このケーブルを挿入できるようなコネクタが入手できるのが一番望ましいです。
LCDモジュールからコネクタを取り外して使うということも考えられますが、後戻りできない道になってしまいます。
ledbacklight6.jpg


探してみたところ、14極ではなく16極のコネクタをマルツオンラインで見つけました。
タイコエレクトロニクスの6-520314-6という型番のものです。
価格は335円でした。

本体(基板取り付け側) 6-520314-6の通販ならマルツオンライン

ledbacklight7.jpg

16極ですが、LCDモジュール側はLEDバックライトのための電源も含め、もともと16個のホールがあるので、基板取り付けは問題ありません。
ケーブル取り付けの際はピン1に寄せて取り付けることが必要です。

最後に、プログラムの面での互換性です。
コントローラは互換品ですが、コマンド体系が互換というだけで、完全なコピー品ではありません。
そのため、置き換えてみたら正しく動作しないということも起こり得ます。

下記のリンク先では、αJunoのLCDをOLEDモジュールに置き換えた場合の問題点が解説されています。
αJunoのファームウェアでは、16文字×1行のLCDを8文字×2行として制御するモードで動作しており、電源ON時にLCDモジュールがこのモードで動作する前提になっているために、置き換えたOLEDモジュールでは正しく動作しないという状況になったそうです。

OLED display for Alpha JUNO 2 | Jeroen Oldenhof

この問題は互換コントローラの問題なので、実際に接続して試してみないと起こるかどうか分かりません。
この方が使われたモジュールはWinstar製ということなので、おそらく以下の商品と同じではないかと思います。

【共立エレショップ】>> OLEDディスプレイ キャラクタ表示タイプ 16文字x1行 青文字: 【能動・受動・機構パーツ】 << 電子部品,半導体,キットの通販

確かに、説明に「HD44780系コントローラとほぼ同じ操作性(イニシャライズ等一部変更が必要)」とありますね。

問題が起こってしまった場合ですが、この方は、αJunoのROMのプログラムコードを書き換えてこの問題点を解決しています。
そのためにはEPROMのプログラマと、メインボードのEPROMの交換が必要になります。

さすがに、ここまでややこしくなってくると、素直にELパネルの交換で済ませようという気になりました。
ただ、OLEDディスプレイの場合にはバックライトは必要ないので、モジュールの厚みはLEDバックライトのLCDよりも薄くなります。
そういう意味では、コントローラの互換性があるOLEDディスプレイが、交換にはベストな選択かもしれません。

Gearslutzの以下のフォーラムを見ると、そのようなOLEDディスプレイモジュールも存在するようです。

Alpha Juno Screen Replacement - Gearslutz Pro Audio Community

一番最後の書き込みで、ポーランドのTMEというメーカーのモジュールを使ったとあります。
こちらのモジュールのようです。

DEP 16101-W DISPLAY ELEKTRONIK - Display: OLED | TME - Electronic components

表示面の厚さはELバックライトのLCDと同じ5mm程度のようです。
価格が20ドルちょっとなのでやや高価ですが、試してみたい気はします。
posted by boochow at 19:55| Comment(0) | Synthesizer | このブログの読者になる | 更新情報をチェックする

αJunoのLCDバックライトを交換

alpha-juno-lcd1.jpg

私が手に入れたαJunoは、LCDのバックライトが点灯しません。
このLCDはSHARP製のLM16155Bというモジュールで、バックライトにはELパネルが使われています。
調べてみると、EL素子は使用していなくても経年劣化で発光しなくなっていくそうです。
αJunoは発売から30年以上経っていますから、おそらくバックライトはほぼ全滅ではないでしょうか。
alpha-juno-lcd2.jpg

αJunoに限らず、古いシンセサイザーや家電のLCDはほぼ全てELパネルが使われていますので、交換を試みている人も結構多いようです。

バックライト交換2:マイアミ君の雑記帳:So-netブログ

節約生活:YAMAHA TG77 液晶バックライト交換&タクトスイッチ交換&内蔵電池ホルダー化 - livedoor Blog(ブログ)

Remplacement backlight du ROLAND juno 2

交換自体はそれほど難しくは無さそうなので、私も修理してみることにしました。
交換用のELは、自分でELシートを買ってきて電極を取り付け、ラミネータで封印すれば作ることができるようです。
しかし、今回はネットで見つけたバックライト専門業者から完成品を購入してみました。
その名もbacklight4youという、そのものズバリの名前で、ドイツのネットショップです。
LM16155に使用できるのはサイズが18mm×74mm(発光部分ではなくラミネートを含めた外形サイズ)のもので、発光色はホワイトブルーグリーンイエローから選択できます。
Juno-2では、元の発光色はホワイトらしかったので、ホワイトを選択してみました。

EL-Panel, pink-white, 18mm x 74mm, laminated - backlight4you

価格は送料を含めて15,99 EUR、約2000円というところです。
この値段なら、余ってしまう材料や手間のことを考えると、自作する場合と大した差は無さそうです。
届いたものはこちらです。
alpha-juno-lcd3.jpg

こちらは裏面です。
alpha-juno-lcd4.jpg


バックライトの交換には、液晶モジュールを取り外す必要があります。
モジュールはネジ4本でパネルに固定されていますが、取り外すのは容易です。
alpha-juno-lcd5.jpg

写真のように、モジュールには14ピンのFFCケーブルが接続されていますが、このケーブルは単に引っ張れば外れます。裏表を覚えておいてください。
右へ伸びている白・黒2本の線はEL用の電源です。
この部分は高圧ですので、電源が入っている状態で触ってはいけません。
この線も外したほうが作業が楽になりますが、今回は半田付けを2箇所やり直すだけなので、外さずに進めました。
alpha-juno-lcd6.jpg

上の写真は、LCDモジュールを横から見たところです。
中央の2本の電極がELパネルの電極です。
基板にはELパネル用のホールは無く、電極は基板の端を表から裏へ回りこむようにして接続されています。
従って、取り外すのも簡単です。
alpha-juno-lcd7.jpg

はんだ吸取器や、はんだ吸取線を使ってはんだを除去した状態です。
この状態で電極をはんだゴテで押せば簡単に外れます。
alpha-juno-lcd8.jpg

ELパネルはLCDの下に差し込まれているだけですので、電極が外れていれば、引っ張れば抜けます。
alpha-juno-lcd9.jpg

上が新しいELパネル、下が古いELパネルです。
alpha-juno-lcdc.jpg

新しいELパネルを挿入し、電極を折り曲げてはんだ付けすれば交換完了です。
alpha-juno-lcda.jpg
alpha-juno-lcdb.jpg

ちなみに、添付の説明書には「はんだ付けの際には、電極が過熱しないように放熱させること。銅のコインを電極に当てておくと良い」みたいなことが書かれていました。(やりませんでしたが)
posted by boochow at 00:28| Comment(0) | Synthesizer | このブログの読者になる | 更新情報をチェックする

2017年07月02日

Roland αJunoのHPFについて

αJuno-2のユーザマニュアルによると、αJunoの音源のブロック図は以下のようになっています。
HPFがDCOとVCFの間に挟まっています。
これは、αJunoの1つ前の機種であるJuno-106の操作パネルのイメージそのままです。

alpha-juno-2-diagram.gif
juno-106.jpg

ですが、整備用マニュアルに載っているブロック図によると、実際の構成はちょっと違っていて、HPFはVCAとChorusの間に挟まります。

ブロック図全体は以下です。
HPFは中央右端にあります。
alpha-juno-2-diagram2.gif

図の右上のあたりを拡大すると以下のようになっています。
alpha-juno-2-diagram3.gif


図から分かるように、αJunoは6音ポリフォニックですが、HPFは1つしかありません。
効果は6音を足し合わせた後にかかります。
当然、モジュレーションをかけることができません。

図の下方から「A,B」という2本の制御信号がHPFへ入っていますが、これは2ビットの情報で、HPFの設定を4種類の中から選択することができます。


JunoシリーズのHPFで面白いのは、HPFといいつつ「低音ブースト」の機能があることです。
HPFの設定値は「0, 1, 2, 3」から選択するのですが、0を選ぶとHPFではなく低音ブーストになり、1を選ぶとバイパスになります。
切り替え式のアイソレーターみたいな感じですね。

このあたり、開発者の方の意図は以下のようなことだったそうです。

1オシレーターでいかに音に厚みを出すかというのが、JUNOシリーズ開発の一番の目標でしたね。そのためにコーラス機能を付加したり、ハイパス・フィルターがかかっていない状態だとローが持ち上がる仕様になっていたりといろいろ工夫をしています。ですからハイパス・フィルターを0から1つ上げた設定が、実はフラットなんですよ(笑)。

Roland - Roland Boutique 製品開発ストーリー #2


このHPFの実際の回路も、整備マニュアルに掲載されています。
下図のような回路です。
alpha-juno-2-hpf.gif

図では右側のオペアンプ部分にHPFとありますが、この部分は単なるアンプです。
C10、R18はローパスフィルタを構成していますが、カットオフ周波数を計算すると(f=1/(2πRC))33KHzくらいになりますので、高周波ノイズをカットする目的と思われます。

実際のHPFは、4052の左側のコンデンサが担っており、コンデンサの切り替えは4052が行っています。
4052はアナログ信号のマルチプレクサが2つ入っています。
4つの入力[X0, X1, X2, X3]の中から、[A, B]の2ビットで指定された1つだけが、XCへ出力されます。
Y0〜Y3およびYCについても同様です。
セレクタ[A, B]は一組しかありませんので、X系統とY系統は同じ番号の信号が選択されます。

この4052周辺の回路を模式的に書いてみると、下図のようになります。
alpha-juno-hpf2.gif

4つの設定のそれぞれの場合の信号の流れ方は、以下のようになります。

[3]: 入力信号→コンデンサ(0.0047uF)→X3→XC→出力信号

[2]: 入力信号→コンデンサ(0.015uF)→X2→XC→出力信号

[1]: 入力信号→X1→XC→出力信号

[0]: (入力信号→X0→XC)+(入力信号→Y0→YC)−(YC→コンデンサ(0.1uF))→出力信号

コンデンサを信号が通過するときは、ある周波数以下の信号が通りにくくなる効果があります。
この周波数は、容量が小さいほど高くなります。
従って、[2]より[3]のほうが、より高い周波数の信号だけが通過できることになります。

一方、[0]の場合は、逆にコンデンサを通過できる高い周波数の信号はアースへ捨てられ、コンデンサ(0.1uF)を通過できなかった低い周波数の信号が出力信号へ加算されますので、ロー・ブーストの効果が出てくることになります。

普通なら3段階のHPFにしてしまいそうなところを、ローブースト+2段階のHPFにしたところがミソですね。
RolandのJunoシリーズはもともと普及価格帯をターゲットにした製品ですので、コストをかけられなかった中で少ないパーツで工夫して音のバリエーションを増やそうとした苦労が偲ばれます。

ちなみに、前機種のJuno-106では、HPFの回路は以下のようになっていました。
juno106-hpf.gif

コンデンサを切り替えてHPFを構成しているところは変わりませんが、マルチプレクサは1系統のみで、αJunoとは逆に入力信号がYCへ来ています。
また、高域をカットした信号がオペアンプによる低音増幅回路(たぶん)に入力されています。
これによって原信号よりもローが増幅された信号が原信号に加算されていると思われます。
αJunoでは低音増幅回路はありませんが、残り1系統のマルチプレクサをうまく使って増幅効果を出し、オペアンプ1/2個分を節約しています。

なお、以下の記事によると、Juno-106の前機種であるJuno-60では、HPF回路はローブーストが無く、3段階(C=0.022uF、0.01uF、0.0047uF)の切り替え式になっていたようです。

Sequence 15: Why does the Juno-60 sound different from the Juno-106?

ちなみにJuno-60のさらに前、Junoシリーズの1号機であるJuno-6では、HPFはスライダによる無段階設定になっています。Juno-60で音色をメモリーできるようになり、その際にHPFの設定を2bit4段階で記録することにしたのではないかと思います。

最後に、αJuno-2でのHPF周辺の基板パターンと実装イメージも載せておきます。
コンデンサは音質に直接影響するパーツですが、HPFに使われているのはフィルムコンデンサ(マイラーコンデンサ)のようです。

基板パターンまで整備マニュアルに載っているのはすごいですね。
KORGのmonotronシリーズが回路図を公開して注目を集めたことがありましたが、入手できる情報の面白さという意味ではαJuno-2のほうが上かもしれません。
alpha-juno-2-hpf3.jpg
alpha-juno-hpf4.gif
posted by boochow at 15:27| Comment(0) | Synthesizer | このブログの読者になる | 更新情報をチェックする
人気記事