最近在知乎上看到一個關于深入學習FPGA的優秀回答,現分享如下,已取得劉皇叔授權。
下面幾個小項目,只要有一個做出demo機,就會有人搶著要你。
問:
FPGA只會寫SPI、串口和IIC,感覺畢業之后會找不到工作,請問下一步應該學什么?
答:
做實際的案例,給你建議三個方向:
1、做一個簡易示波器
(1)雙通道,8位分辨率,采樣率50MSA/s(可調),采樣深度250M。
(2)支持自動采樣,觸發采樣,單次采樣。
(3)數據處理和存儲
A. 增加帶寬抑制,一般20MHz限制;
B. 支持兩通道的算數運算:加減乘除;
C. 支持信號疊加平均;
D. 屏幕截取存儲到SD卡或者U盤,可以選擇存屏幕圖片、屏幕數據、內存數據。
(4)顯示屏幕1080分辨率,用個顯示器代替就行。
實現上面功能已經很了不起了,如果還不過癮,增加如下功能:
A. 支持通道FFT;
B. 支持USB讀取內存數據;
C. 支持以太網采集;
D. 16通道數字信號采集,分辨率1ns。
2、做一個多功能測控卡
(1)8通道模擬信號輸入:16位AD分辨率,最大采樣率1MHz,可調。帶外觸發采樣。支持簡單的數據預處理算法(平滑、抽取等)。
(2)2路模擬信號輸出:8位DA輸出,最大打點速率1M。可輸出正弦波、方波、三角波、斜坡等常見函數波形。用戶可以設置參數。
(3)8路數字輸入,8路數字輸出。
(4)數據可以通過以太網遠程讀取,遠程控制。
實現上面功能已經很不錯了,如果還嫌不過癮,可以增加下面內容:
增加輸入輸出緩存
1)對于模擬輸出AO0和AO1:分配128MB內存,用作自定義數據緩存區,用戶可以預先編制波形,打點輸出到通道上。例如以1MHz采樣頻率,輸出到AO1通道,則最長可以編制最長128秒的數據。如果選擇AO0和AO1,則可以預編制最長64秒的數據。
2)對于模擬輸入:可以分配512M內存作為輸入緩存,這樣如果1個模擬輸入通道1MHz采樣,可以存儲16位的數據128秒、2個通道同時采樣可以存儲數據64秒……
3)如果上面的輸入輸出采樣頻率可以修改,那就更棒了!采樣頻率降低一半,采樣時長增加1倍。
3、做視頻分割、拼接
(1)1個1080視頻輸入,3×3分割顯示;
(2)多個攝像頭讀取數據,合并到一個屏幕顯示;
(3)同屏異顯。
上面的內容做完了,你已經很棒了,如果還想來點高端的,可以增加以下內容:
1)異常捕捉,如有人闖入區域、著火了等等。
2)增加智能調整幀率或降低清晰度算法,應對帶寬有限。
3)活體特征識別,比如認出是一條狗、一個人、人是誰等等。大膽的想吧。
上面這3個小項目,只要有一個做出demo機,就會有人搶著要你。
本文來自:劉皇叔
如果看到這里,請點贊、收藏、分享三連!
限時免費掃碼進群,交流更多行業技術
審核編輯 黃宇
-
FPGA
+關注
關注
1620文章
21507瀏覽量
598830
發布評論請先 登錄
相關推薦
評論