FPGA SDR(26)2チャンネル R-2R DAC


音声出力用にI2S DACを追加したので、抵抗だけのR-2R DACはオシロを使った動作確認専用になりました。FPGA内部の信号の位相差も確認したいので2チャンネルに増やしました。ビット数は8ビットに減ってしまいましたがオシロ用なので問題ないでしょう。8ビット X 2+ GND = 17本で小さなブレッドボードに丁度収まりました。

例えばNCOのCos、Sin出力を同時に確認できます。

 

FPGA内部の符号付きの信号を符号なしに変換してR-2R DACに出力しています。

module SPIbridge
(
	...	
	output reg [7:0] DACA,
	output reg [7:0] DACB
);
...
	wire [7:0] daca;
	wire [7:0] dacb;
...
	assign daca = cos[9 -: 8];
	assign dacb = sin[9 -: 8];
	always @(posedge clk) begin
		DACA <= (daca[7] == 0) ? daca + 8'h80 : daca - 8'h80;
		DACB <= (dacb[7] == 0) ? dacb + 8'h80 : dacb - 8'h80;
	end

endmodule