guruguru123’s diary

かなり雑な作業日記です。

DACドライブブロックの作成(2)

前回guruguru123’s diaryDAC(MCP4726)ドライブブロックを作成し、シミュレーションは上手くいったが、実機では動作しなかった。

書き込みのクロックを100kHzにして、オシロスコープで100kHzクロックとシリアルデータを観測してみた。すると、スタートビットとストップビットのところに入れてあった遅延が働いていないことがわかった。

シミュレーションでは

sdi <= '0'  after 4000 ns when p.start_bit = '1' else ...

と書いても動いてくれるが、実機ではこれは反映されない?

 

ということなので遅延記述をなくしてスタート、ストップビットの記述を行った。スタート、ストップビットはかなり強引だが、とりあえずクロック分周用のカウンタにかませて出力するようにした。

f:id:guruguru123:20180116185910p:plain

オシロで波形を確認するとスタート、ストップビットが出ていることが確認できた。

DACを駆動してみると出力が得られたため、0から4096まで連続で書き込みするものを作成した。100kHzでは駆動できたため、400kHzのファストモード、3.6MHzのハイスピードモードでも駆動試験をしていく。

f:id:guruguru123:20180116190434j:plain