如何建設(shè)網(wǎng)站論壇有沒有購買鏈接
基于FPGA進(jìn)行車牌識(shí)別
- 基于FPGA進(jìn)行車牌識(shí)別
- 1. 文件說明
- 2. 程序移植說明
- 3. 小小的編程感想
本項(xiàng)目的原理講解視頻已經(jīng)上傳到B站“基于FPGA進(jìn)行車牌識(shí)別”。
本項(xiàng)目全部開源,見我本人的Github倉庫“License-Plate-Recognition-FPGA”。
1. 文件說明
小技巧:下載整個(gè)Github文件夾:http://tool.mkblog.cn/downgit/#/home
1. 工程及源代碼
里面包含了大磊FPGA的源代碼,以及我自己的源代碼。
其中,大磊FPGA的源代碼包括一些的數(shù)字圖像處理的模塊。我自己的源代碼則直接將Vivado 2022.1工程“ov5640_fun4_lcd_up3”放了上去,同時(shí)將工程中的比特流
、源代碼及硬件約束文件
單獨(dú)拿了出來,需要的同學(xué)可以快速查看。
2. 軟件處理
里面包括整個(gè)開發(fā)過程所用到的圖片庫,以及我自己寫的MATLAB仿真源代碼。這些汽車圖片都是我在校園里拍的。
3. 基于FPGA的車牌識(shí)別.pdf
就是我在B站演示的PPT,需要自取。
4. 圖庫
本markdown文檔中用到的圖片,大家基本用不到所以不用看。
2. 程序移植說明
本人在開發(fā)時(shí)使用到的硬件:
- FPGA開發(fā)工具:Vivado 2022.1。
- 開發(fā)板:正點(diǎn)原子達(dá)芬奇PRO。
- 攝像頭:正點(diǎn)原子OV5640。
- LCD顯示屏:正點(diǎn)原子800*480顯示屏。
首先,如果使用的硬件和本人一樣,那么就可以直接打開Vivado下載比特流(開源文件夾中“工程及源代碼\我自己的工程備份\比特流備份\ov5640_fun4_lcd.bit
”),就可以看到我在視頻中所演示的現(xiàn)象。
若配件不一樣,或者使用其他版本的Vivado或者Altera那邊的Quartus,可能打不開這個(gè)工程,就需要工程遷移。但好在本項(xiàng)目幾乎用的都是純Verilog,以及一些常見的IP核(clk、BRAM、FIFO、MIG),所以我直接將所有的源代碼和約束文件都提取出來放在了“.\工程及源代碼\我自己的工程備份\源代碼及約束文件
”,并且我下面將給出各個(gè)IP核的配置界面,以供大家參考。






- 第一頁默認(rèn)。
- 第三頁默認(rèn)。
- 第四頁選DDR3。
- 第八頁默認(rèn)。
- 第九頁:Fixed Pin Out.
- 第十頁:選擇“Read XDC/UDF”,然后選取工程文件夾中的“ddr3_xdc.ucf”,再點(diǎn)擊“Validate”即可。
- 第十一頁及之后就按照默認(rèn)選項(xiàng)“同意”即可。




- DDR3模塊-wr_fifo配置:與rd_fifo一樣,只不過名稱不一樣。










3. 小小的編程感想
- 攝像頭的信號(hào)。開發(fā)新的模塊時(shí),注意場(chǎng)同步信號(hào)vsync是低電平有效,而行同步信號(hào)href和行有效信號(hào)clken都是高電平有效。并且clken和href左對(duì)齊,且clken每?jī)蓚€(gè)時(shí)鐘周期才有效一次(這是因?yàn)閿z像頭一次只能傳輸8bit數(shù)據(jù),但是一個(gè)像素的數(shù)據(jù)為RGB565共16bit)。
- 卡了很久的bug:上電后畫面總是停留在第一幀,然后就不動(dòng)了。原來是沒有給模塊輸入正常的時(shí)鐘信號(hào)…
- 奇怪的硬件bug:上電后工作完全正常,但是過個(gè)兩三分鐘畫面就會(huì)卡住不動(dòng)了。最后我也不知道咋回事,打算第二天再看,結(jié)果第二天這個(gè)問題就突然好了。😂