名稱:傳送帶控制器Verilog代碼遠(yuǎn)程云端平臺Quartus
軟件:Quartus
語言:Verilog
代碼功能:
任務(wù)及要求:
1.設(shè)計內(nèi)容和要求(包括設(shè)計內(nèi)容、主要指標(biāo)與技術(shù)參數(shù))
設(shè)計內(nèi)容:基于FPGA的傳送帶控制器的設(shè)計。
設(shè)計要求:
(1)設(shè)計語言為 Verilog,硬件開發(fā)平臺為 Spartan-3E開發(fā)板;
(2)設(shè)計基于FPGA的傳送帶控制器的設(shè)計,要求用四個電機(jī)來傳送帶的四個輪子,可以實現(xiàn)直行、后退、左轉(zhuǎn)、右轉(zhuǎn)四種運(yùn)動方式:左、右轉(zhuǎn)時需相應(yīng)使左右轉(zhuǎn)燈亮起,結(jié)束時轉(zhuǎn)向燈熄滅:后退時兩個轉(zhuǎn)向燈均亮起,并用揚(yáng)聲器提示。
(3)采用層次化的設(shè)計。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在遠(yuǎn)程云端平臺驗證,遠(yuǎn)程云端平臺如下,其他遠(yuǎn)程云端平臺可以修改管腳適配:
演示視頻:
設(shè)計文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. 程序RTL圖
5. 管腳分配
6. 仿真文件(VWF)
7. 仿真圖
下圖中,紅色框為前進(jìn),橘黃色框為左轉(zhuǎn),藍(lán)色框為右轉(zhuǎn),灰色框為后退
部分代碼展示:
//傳送帶控制 module?conveyor( input?clk_1KHz, input?rst, input?forward_key,//前進(jìn) input?left_key,//左轉(zhuǎn) input?right_key,//右轉(zhuǎn) input?back_key,//后退 output?left_led,//左轉(zhuǎn)燈 output?right_led,//右轉(zhuǎn)燈 output?beep,//揚(yáng)聲器 //電機(jī)1 output?IN1_a, output?IN1_b, output?IN1_pwm, //電機(jī)2 output?IN2_a, output?IN2_b, output?IN2_pwm, //電機(jī)3 output?IN3_a, output?IN3_b, output?IN3_pwm, //電機(jī)4 output?IN4_a, output?IN4_b, output?IN4_pwm ); wire?[3:0]?state;//輸出狀態(tài)控制 //狀態(tài)控制模塊 state_ctrl?i_state_ctrl( .?clk_1KHz(clk_1KHz), .?rst(rst), .?forward_key(forward_key),//前進(jìn) .?left_key(left_key),//左轉(zhuǎn) .?right_key(right_key),//右轉(zhuǎn) .?back_key(back_key),//后退 .?left_led(left_led),//左轉(zhuǎn)燈 .?right_led(right_led),//右轉(zhuǎn)燈 .?beep(beep),//揚(yáng)聲器 .?state(state)//輸出狀態(tài)控制 ); //電機(jī)控制模塊 motor_ctrl?i_motor_ctrl( .?clk_1KHz(clk_1KHz), .?rst(rst), .?state(state),//輸出狀態(tài)控制 //左前電機(jī)1 .?IN1_a(IN1_a), .?IN1_b(IN1_b), .?IN1_pwm(IN1_pwm), //右前電機(jī)2 .?IN2_a(IN2_a), .?IN2_b(IN2_b), .?IN2_pwm(IN2_pwm), //左后電機(jī)3 .?IN3_a(IN3_a), .?IN3_b(IN3_b), .?IN3_pwm(IN3_pwm), //右后電機(jī)4 .?IN4_a(IN4_a), .?IN4_b(IN4_b), .?IN4_pwm(IN4_pwm) ); endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=345