AC620FPGA學習筆記——ADC採集顯示
阿新 • • 發佈:2018-11-17
AC620FPGA學習筆記——ADC採集顯示
BCD數碼管
工程地址:https://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/FPGA/class04_ADC128S022
實現按鍵切換ADC通道,並將通道號與資料顯示在數碼管上
硬體結構
開發板:AC620
整體框架
ADC128S022_interface模組
程式碼部分
頂層程式碼
module voltmeter(
key1,
key2,
rst,
clk,
lock595,
out595,
clk595,
adc_sclk,
adc_saddr,
adc_csn,
adc_sdat
);
input clk,rst,key1,key2,adc_sdat;
wire [2:0]out;
output lock595,out595,clk595,adc_sclk,adc_csn,adc_saddr;
wire [11:0]data;
wire BUSY;
reg START;
wire oclk;
frequencydivider frequencydivider1 (
.clk(clk),
.rst(rst),
.fclk(oclk)
);
KEY_Selector KEY_Selector1(
.key1(key1),
.key2(key2),
.clk(clk),
.rst(rst),
.out(out)
);
BCDDisplay BCDDisplay1(
.clk(clk),
.rst(rst),
.data({1'b0,out,16'b0,data}),
.lock595(lock595),
.out595(out595),
.clk595(clk595)
);
ADC128S022_interface ADC128S022_interface1 (
.ADDR(out),
.DATA(data),
.START(START),
.BUSY(BUSY),
.CLK(oclk),
.RST(rst),
.adc_sclk(adc_sclk),
.adc_saddr(adc_saddr),
.adc_csn(adc_csn),
.adc_sdat(adc_sdat)
);
[email protected](posedge oclk)
if(BUSY)
START <= 1'b0;
else
START <= 1'b1;
endmodule