Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-12-11 00:47:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位前輩.小弟目前手上有一個xillinx的FPGA版子! 目前想要建構一個如下的環境:
8 `7 e- K* m) f. g讀取一張影像,經過一個簡單的運算(ex.把一張影像的每個pixel值作一些運算) 輸出到VGA的螢幕上!1 j" ]$ Y3 K0 P2 U0 H# w& `
想請教各位幾個問題(之前無FPGA的學習經驗)
6 l5 J' \3 D2 y( @  V! ^1 w5 m1.verilog 有讀取一張影像的指令嗎?我的想法是寫一個verilog code 把要處理的影像就直接寫在code上.: A% ]6 y- c1 g. B  t& Q2 _
  燒錄到版子上,直接秀在螢幕上.% n8 E. D7 k) a7 j+ c7 X4 Q
2.如果是要把處理好的影像輸出到VGA螢幕上(FPGA板上有VGA Port),還需要寫什麼程式嗎?
; |& y5 Z( e6 m3 F/ t: z
- ]* k4 N% o+ B2 D" s- C! C<ps>如果有相關的參考資料(網站,書),可提參考的話,也非常感激!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-12-11 13:38:41 | 只看該作者
有幾件事你必須先決定。9 T/ b9 L2 |  x0 }) j7 v* z: A
1.影像儲存的地方及大小' m$ c6 H, k) y6 |3 @5 u- H& _) d
2.影像如何和PC之間傳輸及驗證
: y! ?( P- N* X. }我規劃的方法& D/ z4 d2 T. N( f! K
1.使用SDRAM存,所以要使用SDRAM控制器的IP$ M# O' Y' A5 C  E% L
2.使用PCI界面,確保資料流量
  j! y+ b2 v4 i  \* ?  R至於VGA,暫不考量,因為要是資料處理錯誤,從VGA是看不出來的。8 P" V* ^" X: L/ N! ^
我是從PC的記憶體傳到PCI卡上的FPGA處理完再回傳PC。至少可以比對處理狀況,或是單格處理再比對。
" e9 d1 Z/ O4 I0 a要是你用獨立板子,那又要處理攝影問題。至少PC不用,可以使用錄好的檔案。
* O' k1 k  U5 v# f: t做即時攝影處理,我做過,完全看不出資料處理錯誤時的狀況。只能知道處理錯誤,然後猜。

評分

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

查看全部評分

3#
發表於 2008-12-14 16:48:53 | 只看該作者
Altera有一塊板子他提供NTSC/PA IN,VGA out的參考設計,而且全部都是source code,你可以參考這個設計^_^
  i1 m# m/ ~5 Z+ a網址如下:6 g' s& z* w- X, U. i4 p) p( D
http://www.terasic.com.tw/cgi-bi ... goryNo=38&No=56
  S! i7 F0 F" A3 p& _" ~想design TV的人可以參考,板子規格如下:
0 B+ E3 v0 T3 YAltera Cyclone II 2C35 FPGA with 35000 LEs 0 a9 K' `7 I- a
Altera Serial Configuration deivices (EPCS16) for Cyclone II 2C35
+ w7 Z" u- v2 wUSB Blaster built in on board for programming and user API controlling " y! X/ Q0 N2 k& i0 N; i% O
JTAG Mode and AS Mode are supported : U: y0 {/ ~1 |" U3 w2 g) [4 P& t
8Mbyte (1M x 4 x 16) SDRAM 7 J( l$ p: z& `3 X
512K byte(256K X16) SRAM
! D2 r( b' k0 X8 r4Mbyte Flash Memory (upgradeable to 4Mbyte)
% t& _/ w* r8 W# z. m& b( WSD Card Socket / R. M/ L  q! R
4 Push-button switches
0 W9 r0 t3 x4 v' w+ Q6 I9 [2 Z18 DPDT switches % N- z/ p4 e' E0 k9 j1 J! d
9 Green User LEDs
5 H9 F, F4 B( w8 g( B2 e18 Red User LEDs 0 e1 l5 s. m: @3 ]( C4 [  H
16 x 2 LCD Module ! o4 ^; s* J- v3 ^: T2 I
50MHz Oscillator and 27MHz Oscillator for external clock sources
7 z% h2 z) l+ v1 e; w24-bit CD-Quality Audio CODEC with line-in, line-out, and microphone-in jacks
5 G9 z) d# `5 J/ R* ~0 X) R7 FVGA DAC (10-bit high-speed triple DACs) with VGA out connector ; L6 d! j2 Z" g5 b: J, Q
TV Decoder (NTSC/PAL) and TV in connector : _( D, D) s# A+ c; B, D
10/100 Ethernet Controller with socket.
7 @. N8 f# a; {0 w# V9 N# PUSB Host/Slave Controller with USB type A and type B connectors.
& ^8 G) s* U& H6 B8 {RS-232 Transceiver and 9-pin connector ' Q" L+ Y/ ]8 A6 w, C7 b# {
PS/2 mouse/keyboard connector 9 J6 C% K$ b. G. k9 I
IrDA transceiver
; ^+ ?: X2 I7 e; v# p( m, m8 t0 ?Two 40-pin Expansion Headers with diode protection
9 T8 S- K- d2 ]( i/ D! nDE2 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
2 o4 A# h: \4 w9 R% G- ESize:153*203 mm
4#
發表於 2008-12-15 13:26:43 | 只看該作者
DE2這個發展板,是基於NIOS-II的Soft-CPU上。也有CCD模組可以選購。8 I0 C# }% M2 r  O5 s, g
不過,影像處理需要很高的效能,不可以在Soft-CPU上執行,必須自行建立處理模組以裝置的方式掛上。* A' n% L" _* Q5 l2 v. @& b! i# o
可以我覺得因為影像處理使用很多FPGA的資料,再加上一個Soft-CPU,真的不知是否可以擠進去。& Y) v7 N  ]% F% c5 o  ]3 V0 P
至於和PC端的傳輸,大概只能使用USB。可能要做出單格的方式來驗證演算法。8 Q* J( t- C( y" F4 j
使用這板子做VGA顯示,已有台大研究生做出來,也是用在影像處理上,用Google找找吧。
5#
發表於 2008-12-16 11:14:01 | 只看該作者
你能確定你的資料輸入的模式嗎?
8 q- j4 \' F6 l7 S: T* j7 w  n1 o就是說資料進入FPGA的方式是哪一種?
% G2 a" y" N) X2 v2 ?實務上的作法就是 你要先確定你的版子是哪一種資料輸入
( R. Q* D2 T( i以及是哪一種訊號模式進入FPGA?$ _7 I$ N' e! V
然後妳才能有辦法寫code去判斷一張FRAME的起始8 j9 G6 d4 r* L* @" t+ l9 [* e) J
判斷起始以後再去判斷每一條LINE的起始
' i2 i  L  e# B8 O4 U8 v有辦法判斷起始以後再去對pixdata進行演算法運算% Y  ~" @4 z: ^
影像處理最主要是演算法的驗證,可以實現的演算法不一定能用7 F6 q- P5 {! w4 X& X
因為gate會太多以致COST大增,以你的想法是想要把資料寫在CODE裡面
7 P/ j7 T, W. u8 l1 u4 ~; Q或是把影像從RAM拉出來一次,然後運算以後儲存,在輸出運算一次的結果到螢幕
2 f+ z' q" d; ]- [4 f這只能確認演算法的展現成果,但是對於實際影像運作就不行
6 Y; H- d( }' F0 }( W因為影像是連續的,實際的運作流程會是判斷影像的資料型態,5 f, [; u# h& y% ~* X* x7 n
將演算法實現成VERILOG,判斷影像的起始與資料位置進行演算法運算,再依照輸出與輸入的介面需求2 W; N4 @! ]+ Q/ v" q1 r9 z! G
將資料讀入與輸出
  ^& V' }; ^; q2 z4 q實務作法: p7 P# W  e% k: i+ \4 S
1.確認進入與輸出實驗版的資料型態RGB?CCIR?% ], [9 b  |' j
2.確認進入與輸出FPGA的資料型態RGB?CCIR?或是SD?5 d  f% z7 }& [7 j0 B
3.進行FPGA資料介面編寫
9 `8 j2 g6 y4 N, }' Z7 j; R4.進行演算法編寫5 \7 \! Y# \% S4 G! H5 u/ R2 C8 ~
5.整合介面與演算法
7 g0 _8 f0 P- ?$ Y: i6.燒入FPGA. T3 N, Y, v- s) f* d5 U5 `
這樣才是整各流程# D7 ^0 c9 W6 Q* i+ P, Z! N

1 f. b5 y8 ~, T2 T  I[ 本帖最後由 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,
( s3 M5 C1 T0 \# y9 r6 p8 @' `& n' ublock Digram如下圖:7 V% k+ @, q' l7 e5 z# a. I
有任何問題,我們再來討論討論^__^

本帖子中包含更多資源

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

x

評分

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

查看全部評分

7#
發表於 2008-12-24 18:39:27 | 只看該作者
挖...
; m: r1 O4 k. X7 {9 m2 {$ Y+ k5 y7 |各位大大的回答都很詳細...
) Z+ B+ k$ D" k, l) a: ~/ D讓我們這些新手很受用...
5 ~! O$ u0 A5 m& G- t不知道哪邊還可以找到更多DE2的介紹呢?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-29 03:27 AM , Processed in 0.135017 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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