Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 18085|回復: 5
打印 上一主題 下一主題

[問題求助] FPGA用於數位影像處理?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-12-11 00:47:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位前輩.小弟目前手上有一個xillinx的FPGA版子! 目前想要建構一個如下的環境:
9 @. z# A. Y7 Y# i讀取一張影像,經過一個簡單的運算(ex.把一張影像的每個pixel值作一些運算) 輸出到VGA的螢幕上!
6 B' ]" C" K$ F1 m8 a想請教各位幾個問題(之前無FPGA的學習經驗)
1 j) ~5 Z+ K. S8 I6 p* k3 R1.verilog 有讀取一張影像的指令嗎?我的想法是寫一個verilog code 把要處理的影像就直接寫在code上.+ Z" M" X/ U- m0 J$ U( J
  燒錄到版子上,直接秀在螢幕上.
' r/ M+ |$ a1 \2.如果是要把處理好的影像輸出到VGA螢幕上(FPGA板上有VGA Port),還需要寫什麼程式嗎?% s7 X  M) u. C/ r4 ?
) T6 @% X, P( _# Q  u7 }
<ps>如果有相關的參考資料(網站,書),可提參考的話,也非常感激!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-12-11 13:38:41 | 只看該作者
有幾件事你必須先決定。( H" C7 b2 F, s  [& ?% k! V$ r! R
1.影像儲存的地方及大小
; N$ Y8 d- g* Z4 t) r) j( q8 E3 ?2.影像如何和PC之間傳輸及驗證
, q; H6 K4 s: s我規劃的方法  C4 P  l; Z$ R! W! Q. w+ D9 B
1.使用SDRAM存,所以要使用SDRAM控制器的IP! Q! i& N/ O0 y' J2 z/ L( f
2.使用PCI界面,確保資料流量1 D! N& c, Q! H$ h4 w
至於VGA,暫不考量,因為要是資料處理錯誤,從VGA是看不出來的。  n: Z# I4 J& b% M! }* R) {: l
我是從PC的記憶體傳到PCI卡上的FPGA處理完再回傳PC。至少可以比對處理狀況,或是單格處理再比對。( ^' H: ~( i  E6 }2 e
要是你用獨立板子,那又要處理攝影問題。至少PC不用,可以使用錄好的檔案。
2 q9 `! P$ j% ?+ X6 \+ T做即時攝影處理,我做過,完全看不出資料處理錯誤時的狀況。只能知道處理錯誤,然後猜。

評分

參與人數 1Chipcoin +3 收起 理由
masonchung + 3 感謝經驗分享!

查看全部評分

3#
發表於 2008-12-14 16:48:53 | 只看該作者
Altera有一塊板子他提供NTSC/PA IN,VGA out的參考設計,而且全部都是source code,你可以參考這個設計^_^! b0 @7 J5 v0 d8 K0 z
網址如下:
1 r5 J. v2 P' phttp://www.terasic.com.tw/cgi-bi ... goryNo=38&No=56
# i0 ~/ o( Y5 \/ c. l) y想design TV的人可以參考,板子規格如下:# i% _; f$ b. j/ a* s" l
Altera Cyclone II 2C35 FPGA with 35000 LEs
) u+ _7 e0 Q+ P% Z8 v1 VAltera Serial Configuration deivices (EPCS16) for Cyclone II 2C35 # u. t3 t; @+ E: t- [- L
USB Blaster built in on board for programming and user API controlling + v7 h1 ]$ K4 G, i" q, p  m
JTAG Mode and AS Mode are supported
6 m) b# n1 P. e% d8Mbyte (1M x 4 x 16) SDRAM
+ [  S" r! y7 ]/ i; u512K byte(256K X16) SRAM
7 D9 c; H0 w5 e/ [' T; r4Mbyte Flash Memory (upgradeable to 4Mbyte)
# j0 \" z6 z  @9 jSD Card Socket " Y0 S% o* V! [0 [; i$ Q
4 Push-button switches & M6 n# a8 x9 n" _" n
18 DPDT switches
! h5 w; G1 [( ]9 Green User LEDs
  K8 R+ X7 }: I1 l6 d5 l, q18 Red User LEDs
& ]0 Q; U5 i5 D2 ~3 `16 x 2 LCD Module ) e1 _$ N; `7 C: e- V2 C0 v
50MHz Oscillator and 27MHz Oscillator for external clock sources . z4 o4 d2 Y3 r) t; O
24-bit CD-Quality Audio CODEC with line-in, line-out, and microphone-in jacks 5 k# c0 d, ?/ A' r4 R& X: C
VGA DAC (10-bit high-speed triple DACs) with VGA out connector
( r; j+ Q0 t' w' bTV Decoder (NTSC/PAL) and TV in connector   M2 s3 ]& [2 t0 A0 B) p: D" u
10/100 Ethernet Controller with socket.
! C* J6 j! f' k4 y# |! S  WUSB Host/Slave Controller with USB type A and type B connectors.
' T, P/ g; V! x# iRS-232 Transceiver and 9-pin connector
% C2 Z% K: L3 \7 n+ ]) m. jPS/2 mouse/keyboard connector + H8 r! K$ r8 Y$ l8 N5 k
IrDA transceiver
4 }" a9 S/ T6 A" HTwo 40-pin Expansion Headers with diode protection
4 K7 n4 p: @( g0 s' C' v; p9 @+ v) N3 ODE2 Lab CD-ROM which contains many examples with source code to exercise the boards, including: SDRAM and Flash Controller, CD-Quality Music Player, VGA and TV Labs, SD Card reader, RS-232/PS-2 Communication Labs, NIOSII, and Control Panel API . F) X: l1 i& V* C! N
Size:153*203 mm
4#
發表於 2008-12-15 13:26:43 | 只看該作者
DE2這個發展板,是基於NIOS-II的Soft-CPU上。也有CCD模組可以選購。. U; v% P: r+ H
不過,影像處理需要很高的效能,不可以在Soft-CPU上執行,必須自行建立處理模組以裝置的方式掛上。
# R" p# g7 T- M9 h* G, T9 G, y可以我覺得因為影像處理使用很多FPGA的資料,再加上一個Soft-CPU,真的不知是否可以擠進去。% L& L0 b4 y  a! g& g7 M9 R1 S
至於和PC端的傳輸,大概只能使用USB。可能要做出單格的方式來驗證演算法。, y$ V% N0 _' O$ n  k6 U
使用這板子做VGA顯示,已有台大研究生做出來,也是用在影像處理上,用Google找找吧。
5#
發表於 2008-12-16 11:14:01 | 只看該作者
你能確定你的資料輸入的模式嗎?3 o3 y& k3 q6 \1 v* \
就是說資料進入FPGA的方式是哪一種?
1 Y: {6 ~, |1 f& `: C實務上的作法就是 你要先確定你的版子是哪一種資料輸入( W9 w& h" \6 i! F  O6 T
以及是哪一種訊號模式進入FPGA?
  W, K! h1 `& Z- _! }, [1 b3 E然後妳才能有辦法寫code去判斷一張FRAME的起始
& q8 R9 |+ l- N' f* s: W判斷起始以後再去判斷每一條LINE的起始
9 @/ v3 l6 ^) A' o% m# h有辦法判斷起始以後再去對pixdata進行演算法運算% Q! k8 ?8 M7 `2 \3 E
影像處理最主要是演算法的驗證,可以實現的演算法不一定能用
3 j$ v9 g, T" j+ L2 Y, D( `; e因為gate會太多以致COST大增,以你的想法是想要把資料寫在CODE裡面
0 `0 h& K- g% V* ~# c' H4 k或是把影像從RAM拉出來一次,然後運算以後儲存,在輸出運算一次的結果到螢幕0 O: [# K7 J6 H* F
這只能確認演算法的展現成果,但是對於實際影像運作就不行
* {/ C, X, @: k* b8 x6 T3 n7 R9 w因為影像是連續的,實際的運作流程會是判斷影像的資料型態," X* ?" g4 b! ?5 P( A
將演算法實現成VERILOG,判斷影像的起始與資料位置進行演算法運算,再依照輸出與輸入的介面需求
: R) |: d% K) T4 Z) v" W7 G將資料讀入與輸出4 |) S) f3 F) @3 D* w
實務作法3 E2 T( Q$ w* Y* W! C+ ^' i$ w
1.確認進入與輸出實驗版的資料型態RGB?CCIR?
: ]* D" E, u* m5 O6 W2.確認進入與輸出FPGA的資料型態RGB?CCIR?或是SD?! V! x& F* O. o  R1 N! l: H
3.進行FPGA資料介面編寫' }6 k5 l9 j+ K  g& \# |, W2 C
4.進行演算法編寫7 Y, g' I" ]  m: c( c/ T0 E1 S8 C
5.整合介面與演算法
6 E. B/ @4 h2 H+ q9 e/ V6.燒入FPGA
* W7 c. D- u9 _/ z/ m' ]& h這樣才是整各流程
. W$ T3 ^, q( a# g9 b6 `3 i; q  N! p$ P) e3 l# B( d
[ 本帖最後由 kosenmagic 於 2008-12-16 11:31 AM 編輯 ]

評分

參與人數 1Chipcoin +3 收起 理由
masonchung + 3 回答詳細!

查看全部評分

6#
發表於 2008-12-18 22:26:27 | 只看該作者
DE2板子參考設計的輸入是使用ADI的chip,出來是CCIR656,source code是把656轉601,之後存到sdram,然後再抓出來做影像處理,最後丟到VGA或LCD,8 R' v- m7 U! }8 p0 w! Y; v
block Digram如下圖:
* c1 S2 ~6 w) n2 J" G2 W有任何問題,我們再來討論討論^__^

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x

評分

參與人數 1Chipcoin +3 收起 理由
masonchung + 3 分享是成長動能,懂得分享回饋是無限的!?

查看全部評分

7#
發表於 2008-12-24 18:39:27 | 只看該作者
挖...3 X/ ^$ l0 {$ w1 g$ z" \/ E( Z0 y
各位大大的回答都很詳細...
( p0 J1 i) [: c7 f/ [# U) ]# s  l0 X讓我們這些新手很受用...
0 q# p' B) D8 F9 H, P2 ^. j% I) o不知道哪邊還可以找到更多DE2的介紹呢?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-16 05:09 AM , Processed in 0.130517 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表