2018年11月02日

オシレーターのスタビリティー

8分あまりと短尺ではあるが、電源投入後のオシレーターのスタビリティーをチェックした。

posted by Yasuski at 20:24| LaVoixski

オーディオボードのピン配列について

オーディオボード側の通信端子のポートアサインは以下のように設定されている。

AudioDI.png

こちらは、MCU側の実体配線図。

WS001484.JPG

その内訳は、、、

# 1, 2, 3, 5    フリー
# 4, 6, 8     アナログスイッチの制御端子、SW2(未設定) SW1(未設定) SW3&4(未設定) の切り替えを行う。
# 14, 12, 15, 7   DAC LD1(D33) LD2(D14) LD3(D46) LD4(16) にアサイン。
# 20, 18, 16, 9   DAC CS1(D29) CS2(D31) CS3(47) CS4(15) にアサイン。
# 10, 11      D2(LEDvol2) D13(LEDvol3) にアサイン
# 17, 19      DI(D32) SCK(D30) にアサイン


SW1〜4のアナログスイッチはD13/D2と並列化してもよいだろう。なお、MCU側の空き端子、D0/D5/D6 が使用可能。

ソフトウエア側のポートアサインの設定は、、、


#define buttonPin05 5 // Button Pin on D5
#define button_State5 (CORE_PIN5_PINREG & (1<<7))

#define buttonPin06 6 // Button Pin on D6
#define button_State6 (CORE_PIN6_PINREG & (1<<4))

#define LEDorg 44 // LED on D44
#define LEDorg_ON (CORE_PIN44_PORTSET = (1<<22))
#define LEDorg_OFF (CORE_PIN44_PORTCLEAR = (1<<22))

#define LED2org 45 // LED on D45
#define LED2org_ON (CORE_PIN45_PORTSET = (1<<23))
#define LED2org_OFF (CORE_PIN45_PORTCLEAR = (1<<23))

#define LEDlav 48
#define LEDlav_ON (CORE_PIN48_PORTSET = (1<<9))
#define LEDlav_OFF (CORE_PIN48_PORTCLEAR = (1<<9))

#define LED2lav 49
#define LED2lav_ON (CORE_PIN49_PORTSET = (1<<4))
#define LED2lav_OFF (CORE_PIN49_PORTCLEAR = (1<<4))

#define CS01 29
#define CS01_ON (CORE_PIN29_PORTSET = (1<<18))
#define CS01_OFF (CORE_PIN29_PORTCLEAR = (1<<18))

#define LDAC01 33
#define LDAC01_ON (CORE_PIN33_PORTSET = (1<<24))
#define LDAC01_OFF (CORE_PIN33_PORTCLEAR = (1<<24))

#define CS02 31
#define CS02_ON (CORE_PIN31_PORTSET = (1<<10))
#define CS02_OFF (CORE_PIN31_PORTCLEAR = (1<<10))

#define LDAC02 14
#define LDAC02_ON (CORE_PIN14_PORTSET = (1<<1))
#define LDAC02_OFF (CORE_PIN14_PORTCLEAR = (1<<1))

#define CS03 47
#define CS03_ON (CORE_PIN47_PORTSET = (1<<8))
#define CS03_OFF (CORE_PIN47_PORTCLEAR = (1<<8))

#define LDAC03   46
#define LDAC03_ON (CORE_PIN46_PORTSET = (1<<21))
#define LDAC03_OFF (CORE_PIN46_PORTCLEAR = (1<<21))

#define CS04 15
#define CS04_ON (CORE_PIN15_PORTSET = (1<<0))
#define CS04_OFF (CORE_PIN15_PORTCLEAR = (1<<0))

#define LDAC04 16
#define LDAC04_ON (CORE_PIN16_PORTSET = (1<<0))
#define LDAC04_OFF (CORE_PIN16_PORTCLEAR = (1<<0))

#define CS05 20
#define CS05_ON (CORE_PIN20_PORTSET = (1<<5))
#define CS05_OFF (CORE_PIN20_PORTCLEAR = (1<<5))

#define LDAC05 21
#define LDAC05_ON (CORE_PIN21_PORTSET = (1<<6))
#define LDAC05_OFF (CORE_PIN21_PORTCLEAR = (1<<6))


に変更すること。
posted by Yasuski at 11:26| LaVoixski

VCOの稼働試験・その他

実験環境を構築したものの、期待していたFranklin/Butler型発振器は全く動かず、試作は失敗に終わった。

IMG_8761.JPG

で、全く期待していなかったColpits型発振器の方は両チャンネルとも難なく動作している。 観測された波形は綺麗なもので、出力される差分のクロックも安定していた。

IMG_8764.JPG

「謎パーツを実験材料にしたコルピッツ型オシレーター」がマトモに動いてしまう皮肉。



ただし全くの無問題というわけではなく、アンテナを接続した際の周波数ドリフトが大きいのと、シミュレーションで得られたよりも2倍の発振周波数のリザルトが出た。

周波数のドリフトは10kHz程だが、Vari-Capの変化幅では修正が追いつかないため、発振器のCの時定数を変更することになる。 

実験の結果から、アンテナの容量は大凡50から100pF程度と見るべきで、リファレンス側のオシレーターの時定数をこれに合わせて設定しなければならない。

やはり、14pinのDIPパッケージは差し替えられて便利なのと、代替品がたくさん見つかったので、しばらくはこのパーツを使って製作を行うことにしよう。

44933809_2099260133437767_1955522395397685248_n.jpg

THATSがピン互換の製品を作っていたのを知らなかったが、いろいろと試してみる価値はありそう。

WS001483.JPG

実際にはケースの影響によってアンテナ側の発振周波数の更なる変動が予想されるため、回路の動作を確認する実験環境とは別に楽器を模した試験環境を用意したほうが良さそうだ。

ID292基板(黄色)のスイッチ回路にバイアス電源を短絡してしまう重大なミスを発見。 おまけに、検証の過程で健全なアナログスイッチを2素子も破損するというマヌケをやらかす。 

IMG_8762.JPG

オシレーターが稼働しないというのも論外。

失敗が確定した黄色いID-292専用基板は、赤いAdd-On基板の動作試験を行うプラットフォームとして使用することにした。

セコい話だが、経費節約のため事前に黄色からオシレーター周りの部品を引剥して赤に再実装する予定。 高価なOpAmpICが勿体無いのでこれらも引剥して別の基板で再利用を行う。

基板を仮組みして試してみたが、スタックした状態でID-292への実装は出来なかった。 

AddOn基板をスタック出来るケースの条件はHammond/1455K以上の厚みが必要。

念のため同じ回路を搭載している基板をチェックしたが、これらの基板には修正が掛かっていたようで、短絡事故は発生しなかった。
posted by Yasuski at 06:31| LaVoixski