2016年6月21日火曜日

NucleoシーケンサーとPSoC4 DCOとVCVS DCFの結合テスト

NucleoシーケンサーとPSoC4 DCO(「NucleoシーケンサーとPSoC4 DCOのテスト(その4)」)にVCVS DCFシールドを追加してテストしてみた。

配線図


<追記:2016.06.23> Nucleo→PSoC4へのSPI:CSのピンが違っていたので修正(D10→D9) </追記>


ぴゅんぴゅんコントローラー2号のジョイスティックでVCVS DCFのcutoffとresonanceをコントロールする。ジョイスティックの値はNucleoシーケンサーで受けて、Nucleoに載せたVCVS DCFシールドにSPIで値を送っている。

PSoC4 Pioneer KitとVCVS DCFシールドは同一のSPIバス(SPI1)を使用。グラフィックLCD(Nokia 5110)は別のSPIバス(SPI2)を使用。

Nucleoシーケンサー
https://developer.mbed.org/users/ryood/code/Nucleo_SPI_Sequencer/

PSoC4 DCO
https://github.com/ryood/PSoC4_DCO/tree/master/PSoC/PSoC4_DCO_for_NucleoF401RE_Interrupt_Test.cydsn

入出力波形


ch1:PSoC4 DCOからの出力 ch2:VCVS DCFからの出力

ジョイスティックがニュートラルの状態。cutoff:124、resonance:130


cutoff、resonanceを上げて発振させた状態。cutoff:255、resonance:232


cutoffだけ上げて発振させた状態。cutoff:255、resonance:140

PSoC4 DCOからの出力はIDACの出力を1kΩの抵抗で電流電圧変換していて、振幅は0V~612mV。

VCVS DCFからの出力は発振させると電源電圧の5V(p-p)付近になるが、AC結合しているのでパルス幅によっては0Vからの振幅になる。

->OTAはの信号入力は差動で100mV以内にしないといけないので1/50~1/5程度に減衰。もともと歪んでいる場合は除外して値を決める?