Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-12-11 00:47:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位前輩.小弟目前手上有一個xillinx的FPGA版子! 目前想要建構一個如下的環境:: \8 B. D& l" G9 c$ K, K  S
讀取一張影像,經過一個簡單的運算(ex.把一張影像的每個pixel值作一些運算) 輸出到VGA的螢幕上!* f2 X- z, B. x
想請教各位幾個問題(之前無FPGA的學習經驗)
- ?( x6 c8 Z+ n1.verilog 有讀取一張影像的指令嗎?我的想法是寫一個verilog code 把要處理的影像就直接寫在code上.
4 \" {! j; K' j) E0 U. M  燒錄到版子上,直接秀在螢幕上.
0 X/ z1 u; |' f% }; T' T% P" B' s2.如果是要把處理好的影像輸出到VGA螢幕上(FPGA板上有VGA Port),還需要寫什麼程式嗎?
' D" r& c! ^6 Q! l( O3 E) E0 c
2 q( ~  m. |. ?) m<ps>如果有相關的參考資料(網站,書),可提參考的話,也非常感激!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-12-11 13:38:41 | 只看該作者
有幾件事你必須先決定。. `4 _( m7 J4 k- u  ^
1.影像儲存的地方及大小3 {, S6 n* m; Y: {* {
2.影像如何和PC之間傳輸及驗證
8 J+ y) C0 U5 w: x" a7 F1 \% O我規劃的方法
) Z- W) _4 a. F" R' A/ D! V0 h1.使用SDRAM存,所以要使用SDRAM控制器的IP
) ~) H* {2 |! H6 G4 C: F4 P2.使用PCI界面,確保資料流量
8 l% N. z9 j/ R4 ?. x0 `至於VGA,暫不考量,因為要是資料處理錯誤,從VGA是看不出來的。
1 N8 e5 x) o* W; Y我是從PC的記憶體傳到PCI卡上的FPGA處理完再回傳PC。至少可以比對處理狀況,或是單格處理再比對。# b! _7 M! x$ h  W: w3 x
要是你用獨立板子,那又要處理攝影問題。至少PC不用,可以使用錄好的檔案。
2 F1 z( \+ E; y. C做即時攝影處理,我做過,完全看不出資料處理錯誤時的狀況。只能知道處理錯誤,然後猜。

評分

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

查看全部評分

3#
發表於 2008-12-14 16:48:53 | 只看該作者
Altera有一塊板子他提供NTSC/PA IN,VGA out的參考設計,而且全部都是source code,你可以參考這個設計^_^
: [+ z3 t# t8 Y( i網址如下:# c2 n8 o8 d! I6 @
http://www.terasic.com.tw/cgi-bi ... goryNo=38&No=568 }) P# C: K1 K3 v2 ^$ Z' h
想design TV的人可以參考,板子規格如下:5 q! Z$ k5 S- U
Altera Cyclone II 2C35 FPGA with 35000 LEs
% U' f( U3 w# {/ B+ D# SAltera Serial Configuration deivices (EPCS16) for Cyclone II 2C35 0 m/ c7 [. Y. [. B' p
USB Blaster built in on board for programming and user API controlling 8 G! v6 b3 W% k+ w/ [/ d: C: ]
JTAG Mode and AS Mode are supported
. L7 A+ |1 V! I: q* c' e" _% K8Mbyte (1M x 4 x 16) SDRAM
- ^8 }  h/ n- P2 y4 m% K3 P* M' w9 q512K byte(256K X16) SRAM ! W% S. U/ j1 m7 x- D
4Mbyte Flash Memory (upgradeable to 4Mbyte)
6 p' r9 U8 F5 `9 ^! }SD Card Socket 8 ]4 _4 C2 r9 E' ?- f
4 Push-button switches
* i: e& U' t) A' w- _$ U- B" u6 L8 H18 DPDT switches ! M: p" N' b- z, q
9 Green User LEDs : i  u8 i" `5 q) h+ G
18 Red User LEDs
  t& o2 o1 R" e( E/ r4 q& K16 x 2 LCD Module
1 z6 I2 a3 ~8 i  u, G- L) n: C, Y50MHz Oscillator and 27MHz Oscillator for external clock sources , o  ~$ V. U$ f  {# m0 F/ f1 ?
24-bit CD-Quality Audio CODEC with line-in, line-out, and microphone-in jacks ; K8 f* {' U1 a
VGA DAC (10-bit high-speed triple DACs) with VGA out connector * a8 b, n4 B& g$ r! g
TV Decoder (NTSC/PAL) and TV in connector ) m2 r  M: `5 {) W+ p; ^
10/100 Ethernet Controller with socket. " ?. i; t" n/ T# c4 b- M8 x" ?
USB Host/Slave Controller with USB type A and type B connectors. 4 \! d- z! F; S
RS-232 Transceiver and 9-pin connector ! b% }$ G( P, b
PS/2 mouse/keyboard connector * y9 c* D$ f) p
IrDA transceiver
$ D# ]4 Q& u  E' d$ [7 OTwo 40-pin Expansion Headers with diode protection
0 K* F% U& a: @DE2 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 " H6 g2 n! k  P. ]. j* ~. {
Size:153*203 mm
4#
發表於 2008-12-15 13:26:43 | 只看該作者
DE2這個發展板,是基於NIOS-II的Soft-CPU上。也有CCD模組可以選購。
" e/ {/ V2 z5 E! q8 N) J不過,影像處理需要很高的效能,不可以在Soft-CPU上執行,必須自行建立處理模組以裝置的方式掛上。% W  N* c* T* N
可以我覺得因為影像處理使用很多FPGA的資料,再加上一個Soft-CPU,真的不知是否可以擠進去。
; w+ E4 N  g2 T4 Y. m8 p) G8 U* k' i至於和PC端的傳輸,大概只能使用USB。可能要做出單格的方式來驗證演算法。
. Y8 A0 S1 x+ Y% h5 A5 P; A2 z& r使用這板子做VGA顯示,已有台大研究生做出來,也是用在影像處理上,用Google找找吧。
5#
發表於 2008-12-16 11:14:01 | 只看該作者
你能確定你的資料輸入的模式嗎?
( Q/ c' e! Y' d6 E就是說資料進入FPGA的方式是哪一種?8 ^' H5 b. u+ |& U2 ~& H
實務上的作法就是 你要先確定你的版子是哪一種資料輸入
* a5 Z+ `5 D. j" k% q以及是哪一種訊號模式進入FPGA?* O8 Z2 F0 q6 @
然後妳才能有辦法寫code去判斷一張FRAME的起始
5 k8 T5 ], C" G9 n- v' U. ]判斷起始以後再去判斷每一條LINE的起始/ ^: a' z, k0 y4 k, [5 }9 G2 e
有辦法判斷起始以後再去對pixdata進行演算法運算
9 T/ M% i1 m6 h) _3 e. O$ n影像處理最主要是演算法的驗證,可以實現的演算法不一定能用
% F0 t1 b7 x  K& Z; _; \5 y; S因為gate會太多以致COST大增,以你的想法是想要把資料寫在CODE裡面# a9 r% l2 O  I' b7 J3 ~* N" e
或是把影像從RAM拉出來一次,然後運算以後儲存,在輸出運算一次的結果到螢幕* z% P6 v3 E( P( w! p  s& n6 |
這只能確認演算法的展現成果,但是對於實際影像運作就不行
2 ^- F4 |5 B* t' x5 j4 ?5 s) T因為影像是連續的,實際的運作流程會是判斷影像的資料型態,
- {  K# P) ^$ u& B1 C/ f' R9 U5 U# P將演算法實現成VERILOG,判斷影像的起始與資料位置進行演算法運算,再依照輸出與輸入的介面需求
" d7 Y" G6 ^* v: d將資料讀入與輸出1 z/ ?: E3 ?% ]( F" P6 g3 Y
實務作法
, ~) Z, k8 d* q' {+ b4 {& O1.確認進入與輸出實驗版的資料型態RGB?CCIR?8 `6 ]$ j* V2 M3 e! {, b8 g
2.確認進入與輸出FPGA的資料型態RGB?CCIR?或是SD?6 @) ~9 A/ O( W: b9 G
3.進行FPGA資料介面編寫+ D' D2 B  i  n: e6 F
4.進行演算法編寫
0 L& X. X& b& S- F# u5.整合介面與演算法4 h6 m2 U: }7 ]
6.燒入FPGA
3 O# `- d% r- ]' Y; {% b" R# H這樣才是整各流程6 z, T: k9 {- d* b6 L
2 C* g' E' Y( N5 w
[ 本帖最後由 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,
1 I& y! E+ W% y+ h+ N& ?  @block Digram如下圖:
: d. h  X9 M5 c! L% {有任何問題,我們再來討論討論^__^

本帖子中包含更多資源

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

x

評分

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

查看全部評分

7#
發表於 2008-12-24 18:39:27 | 只看該作者
挖...
8 ~/ B& P$ A5 q4 w" ~, E各位大大的回答都很詳細...
$ ]! R# ]& C: x6 W8 \讓我們這些新手很受用...- g0 n% t- @( a2 Z& L
不知道哪邊還可以找到更多DE2的介紹呢?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-22 08:46 AM , Processed in 0.186011 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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