17 changed files with 124 additions and 343 deletions
-
3.vscode/settings.json
-
2README.md
-
BINlight_src_ctrl_fpga_port.jic
-
11light_src_ctrl_fpga_port.map
-
2run_led.cdf
-
2run_led.jdi
-
48run_led.pin
-
BINrun_led.pof
-
22run_led.qsf
-
BINrun_led.sof
-
45source/led0_module.v
-
45source/led1_module.v
-
45source/led2_module.v
-
45source/led3_module.v
-
67source/top_module.v
-
60source/top_module.v.bak
-
70source/top_module_bak2.v
@ -0,0 +1,3 @@ |
|||
{ |
|||
"files.encoding": "gbk" |
|||
} |
@ -0,0 +1,2 @@ |
|||
引脚分配参考: |
|||
https://iflytop1.feishu.cn/docx/SqzLdKLmxoAtMLxLEYec2sIcn4g |
@ -0,0 +1,11 @@ |
|||
BLOCK START ADDRESS END ADDRESS |
|||
|
|||
Page_0 0x00000000 0x00059D8A |
|||
|
|||
|
|||
|
|||
Notes: |
|||
|
|||
- Data checksum for this conversion is 0x1A5DC668 |
|||
|
|||
- All the addresses in this file are byte addresses |
@ -1,45 +0,0 @@ |
|||
module led0_module |
|||
( |
|||
CLK, RSTn, LED_Out |
|||
); |
|||
|
|||
input CLK; |
|||
input RSTn; |
|||
output LED_Out; |
|||
|
|||
/*************************************/ |
|||
|
|||
parameter T100MS = 23'd5_000_000;//DB4CE15开发板使用的晶振为50MHz,50M*0.01=5_000_000 |
|||
|
|||
/*************************************/ |
|||
|
|||
reg [22:0]Count1; |
|||
|
|||
always @ ( posedge CLK or negedge RSTn ) |
|||
if( !RSTn ) |
|||
Count1 <= 23'd0; |
|||
else if( Count1 == T100MS ) |
|||
Count1 <= 23'd0; |
|||
else |
|||
Count1 <= Count1 + 1'b1; |
|||
|
|||
/*************************************/ |
|||
|
|||
reg rLED_Out; |
|||
|
|||
always @ ( posedge CLK or negedge RSTn ) |
|||
if( !RSTn ) |
|||
rLED_Out <= 1'b0; |
|||
else if( Count1 >= 23'd0 && Count1 < 23'd1_250_000 )//100ms的第一个四分之一,具体请看教程11页的图2.1C |
|||
rLED_Out <= 1'b1; |
|||
else |
|||
rLED_Out <= 1'b0; |
|||
|
|||
/***************************************/ |
|||
|
|||
assign LED_Out = rLED_Out; |
|||
|
|||
/***************************************/ |
|||
|
|||
|
|||
endmodule |
@ -1,45 +0,0 @@ |
|||
module led1_module |
|||
( |
|||
CLK, RSTn, LED_Out |
|||
); |
|||
|
|||
input CLK; |
|||
input RSTn; |
|||
output LED_Out; |
|||
|
|||
/*************************************/ |
|||
|
|||
parameter T100MS = 23'd5_000_000;//DB4CE15开发板使用的晶振为50MHz,50M*0.01=5_000_000 |
|||
|
|||
/*************************************/ |
|||
|
|||
reg [22:0]Count1; |
|||
|
|||
always @ ( posedge CLK or negedge RSTn ) |
|||
if( !RSTn ) |
|||
Count1 <= 23'd0; |
|||
else if( Count1 == T100MS ) |
|||
Count1 <= 23'd0; |
|||
else |
|||
Count1 <= Count1 + 1'b1; |
|||
|
|||
/*************************************/ |
|||
|
|||
reg rLED_Out; |
|||
|
|||
always @ ( posedge CLK or negedge RSTn ) |
|||
if( !RSTn ) |
|||
rLED_Out <= 1'b0; |
|||
else if( Count1 >= 23'd1_250_000 && Count1 < 23'd2_500_000 )//100ms的第二个四分之一,具体请看教程11页的图2.1C |
|||
rLED_Out <= 1'b1; |
|||
else |
|||
rLED_Out <= 1'b0; |
|||
|
|||
/***************************************/ |
|||
|
|||
assign LED_Out = rLED_Out; |
|||
|
|||
/***************************************/ |
|||
|
|||
|
|||
endmodule |
@ -1,45 +0,0 @@ |
|||
module led2_module |
|||
( |
|||
CLK, RSTn, LED_Out |
|||
); |
|||
|
|||
input CLK; |
|||
input RSTn; |
|||
output LED_Out; |
|||
|
|||
/*************************************/ |
|||
|
|||
parameter T100MS = 23'd5_000_000;//DB4CE15开发板使用的晶振为50MHz,50M*0.01=5_000_000 |
|||
|
|||
/*************************************/ |
|||
|
|||
reg [22:0]Count1; |
|||
|
|||
always @ ( posedge CLK or negedge RSTn ) |
|||
if( !RSTn ) |
|||
Count1 <= 23'd0; |
|||
else if( Count1 == T100MS ) |
|||
Count1 <= 23'd0; |
|||
else |
|||
Count1 <= Count1 + 1'b1; |
|||
|
|||
/*************************************/ |
|||
|
|||
reg rLED_Out; |
|||
|
|||
always @ ( posedge CLK or negedge RSTn ) |
|||
if( !RSTn ) |
|||
rLED_Out <= 1'b0; |
|||
else if( Count1 >= 23'd2_500_000 && Count1 < 23'd3_750_000 )//100ms的第三个四分之一,具体请看教程11页的图2.1C |
|||
rLED_Out <= 1'b1; |
|||
else |
|||
rLED_Out <= 1'b0; |
|||
|
|||
/***************************************/ |
|||
|
|||
assign LED_Out = rLED_Out; |
|||
|
|||
/***************************************/ |
|||
|
|||
|
|||
endmodule |
@ -1,45 +0,0 @@ |
|||
module led3_module |
|||
( |
|||
CLK, RSTn, LED_Out |
|||
); |
|||
|
|||
input CLK; |
|||
input RSTn; |
|||
output LED_Out; |
|||
|
|||
/*************************************/ |
|||
|
|||
parameter T100MS = 23'd5_000_000;//DB4CE15开发板使用的晶振为50MHz,50M*0.01=5_000_000 |
|||
|
|||
/*************************************/ |
|||
|
|||
reg [22:0]Count1; |
|||
|
|||
always @ ( posedge CLK or negedge RSTn ) |
|||
if( !RSTn ) |
|||
Count1 <= 23'd0; |
|||
else if( Count1 == T100MS ) |
|||
Count1 <= 23'd0; |
|||
else |
|||
Count1 <= Count1 + 1'b1; |
|||
|
|||
/*************************************/ |
|||
|
|||
reg rLED_Out; |
|||
|
|||
always @ ( posedge CLK or negedge RSTn ) |
|||
if( !RSTn ) |
|||
rLED_Out <= 1'b0; |
|||
else if( Count1 >= 23'd3_750_000 && Count1 < 23'd5_000_000 )//100ms的第四个四分之一,具体请看教程11页的图2.1C |
|||
rLED_Out <= 1'b1; |
|||
else |
|||
rLED_Out <= 1'b0; |
|||
|
|||
/***************************************/ |
|||
|
|||
assign LED_Out = rLED_Out; |
|||
|
|||
/***************************************/ |
|||
|
|||
|
|||
endmodule |
@ -1,16 +1,69 @@ |
|||
|
|||
module top_module ( |
|||
clk, |
|||
|
|||
input clk, |
|||
|
|||
//input_from_stm32 |
|||
input stm32_pc6, // 灯光强度控制PWM |
|||
input stm32_pc7, // 灯光强度控制PWM |
|||
input stm32_pc8, // 灯光强度控制PWM |
|||
input stm32_pc9, // 灯光强度控制PWM |
|||
|
|||
input stm32_pa1, // 快门控制 |
|||
input stm32_pa2, // 快门控制 |
|||
input stm32_pa3, // 快门控制 |
|||
input stm32_pa4, // 快门控制 |
|||
input stm32_pa5, // 快门控制 |
|||
|
|||
//output_to_stm32 |
|||
output stm32_pa0, // 输入捕获 |
|||
|
|||
//光强控制引脚 |
|||
output lt_intensity_1, //灯光强度控制输出 |
|||
output lt_intensity_2, //灯光强度控制输出 |
|||
output lt_intensity_3, //灯光强度控制输出 |
|||
output lt_intensity_4, //灯光强度控制输出 |
|||
|
|||
//拍照控制引脚 |
|||
output lt_on_off_ctrl_1, //指示灯通断控制输出 |
|||
output lt_on_off_ctrl_2, //指示灯通断控制输出 |
|||
output lt_on_off_ctrl_3, //指示灯通断控制输出 |
|||
output lt_on_off_ctrl_4, //指示灯通断控制输出 |
|||
|
|||
output camera_shutter_out, //相机快门控制输出 |
|||
|
|||
debug_light |
|||
|
|||
// 触发输入引脚 |
|||
input trigger_input0, //触发输入 |
|||
|
|||
|
|||
//测试引脚 |
|||
// output spi2_miso, //用于测试的SPI输出 |
|||
|
|||
output tp5, |
|||
output tp6, |
|||
output tp7, |
|||
output tp8, |
|||
|
|||
output [2:0] debug_light |
|||
); |
|||
|
|||
input clk; |
|||
assign lt_intensity_1 = stm32_pc6; |
|||
assign lt_intensity_2 = stm32_pc7; |
|||
assign lt_intensity_3 = stm32_pc8; |
|||
assign lt_intensity_4 = stm32_pc9; |
|||
|
|||
assign lt_on_off_ctrl_1 = stm32_pa1; |
|||
assign lt_on_off_ctrl_2 = stm32_pa2; |
|||
assign lt_on_off_ctrl_3 = stm32_pa3; |
|||
assign lt_on_off_ctrl_4 = stm32_pa4; |
|||
assign camera_shutter_out = stm32_pa5; |
|||
|
|||
output [2:0] debug_light; |
|||
assign stm32_pa0 = !trigger_input0; |
|||
|
|||
assign debug_light[0] = 0; |
|||
assign debug_light[1] = 1; |
|||
assign debug_light[0] = 1; |
|||
assign debug_light[1] = 0; |
|||
assign debug_light[2] = 0; |
|||
|
|||
assign tp8 = !trigger_input0; |
|||
|
|||
endmodule |
@ -1,60 +0,0 @@ |
|||
module top_module |
|||
( |
|||
CLK, RSTn, LED_Out |
|||
); |
|||
|
|||
input CLK; |
|||
input RSTn; |
|||
output [3:0]LED_Out; |
|||
|
|||
/*******************************/ |
|||
|
|||
wire LED0_Out; |
|||
|
|||
led0_module U1 |
|||
( |
|||
.CLK( CLK ), |
|||
.RSTn( RSTn ), |
|||
.LED_Out( LED0_Out ) |
|||
); |
|||
|
|||
/*********************************/ |
|||
|
|||
wire LED1_Out; |
|||
|
|||
led1_module U2 |
|||
( |
|||
.CLK( CLK ), |
|||
.RSTn( RSTn ), |
|||
.LED_Out( LED1_Out ) |
|||
); |
|||
|
|||
/*********************************/ |
|||
|
|||
wire LED2_Out; |
|||
|
|||
led2_module U3 |
|||
( |
|||
.CLK( CLK ), |
|||
.RSTn( RSTn ), |
|||
.LED_Out( LED2_Out ) |
|||
); |
|||
|
|||
/*********************************/ |
|||
|
|||
wire LED3_Out; |
|||
|
|||
led3_module U4 |
|||
( |
|||
.CLK( CLK ), |
|||
.RSTn( RSTn ), |
|||
.LED_Out( LED3_Out ) |
|||
); |
|||
|
|||
/**********************************/ |
|||
|
|||
assign LED_Out = { LED3_Out, LED2_Out, LED1_Out, LED0_Out}; |
|||
|
|||
/***********************************/ |
|||
|
|||
endmodule |
@ -1,70 +0,0 @@ |
|||
module top_module |
|||
( |
|||
//CLK, |
|||
//RSTn, |
|||
PC6, |
|||
PC7, |
|||
PC8, |
|||
PA9, |
|||
LT_PWM1, |
|||
LT_PWM2, |
|||
LT_PWM3, |
|||
LT_PWM4, |
|||
EXIN1, |
|||
EXIN1_to_MCU, |
|||
PA1, |
|||
PA2, |
|||
PA3, |
|||
PA4, |
|||
LT_EN1, |
|||
LT_EN2, |
|||
LT_EN3, |
|||
LT_EN4, |
|||
cam_triger |
|||
); |
|||
|
|||
//input CLK; |
|||
//input RSTn; |
|||
input PC6; |
|||
input PC7; |
|||
input PC8; |
|||
input PA9; |
|||
output LT_PWM1; |
|||
output LT_PWM2; |
|||
output LT_PWM3; |
|||
output LT_PWM4; |
|||
input EXIN1; |
|||
output EXIN1_to_MCU; |
|||
input PA1; |
|||
input PA2; |
|||
input PA3; |
|||
input PA4; |
|||
output LT_EN1; |
|||
output LT_EN2; |
|||
output LT_EN3; |
|||
output LT_EN4; |
|||
output cam_triger; |
|||
|
|||
/********光源亮度控制***************/ |
|||
|
|||
assign LT_PWM1 = PC6; |
|||
assign LT_PWM2 = PC7; |
|||
assign LT_PWM3 = PC8; |
|||
assign LT_PWM4 = PA9; |
|||
/**********************************/ |
|||
|
|||
/********光源使能*******************/ |
|||
assign LT_EN1 = PA1; |
|||
assign LT_EN2 = PA2; |
|||
assign LT_EN3 = PA3; |
|||
assign LT_EN4 = PA4; |
|||
|
|||
/**********************************/ |
|||
|
|||
assign EXIN1_to_MCU = EXIN1; |
|||
|
|||
/***********************************/ |
|||
|
|||
assign cam_triger = PA1 || PA2 || PA3 || PA4; |
|||
|
|||
endmodule |
Write
Preview
Loading…
Cancel
Save
Reference in new issue