Figure  7-2: Camera connection to the FMC board




Download 3,22 Mb.
Pdf ko'rish
bet47/81
Sana16.05.2024
Hajmi3,22 Mb.
#238917
1   ...   43   44   45   46   47   48   49   50   ...   81
Bog'liq
Alireza Fasih

Figure 
7-2: Camera connection to the FMC board 
Figure 
7-3: Xilinx XtremeDSP Kit 3400 
Figure 7-3 shows the Xilinx XtremeDSP kit which is very appropriate for image processing 
and machine vision applications. This platform provides an embedded design framework 
that can be customized with user defined video accelerators implemented in the FPGA 
fabric. It has one Spartan FPGA with 3.4 million system gates and 126 DSP48 internal block 
sets. This board has 256MB DDR2 and 256MB Compact Flash. The clock rate for the FPGA 
is up to 200 MHZ. 
LVDS 
Deserializer 
DS92LV1212A 
Camera 
Ref CLK 
CLK 
FMC Low 
Pin count 
Connector 
FPGA 


 
74 
7.6
 
Electronic System Level and High Level Direct Convolution 
Modeling 
There are many possibilities to design a proper model for the video signal processing. As 
main part of an Image processing engine, we need a convolution operator. This basic and 
simple mathematic model is very useful for the implementation of many complex filters 
such as first derivative and second derivative ones, finding edge operations, median filters, 
noise cancelation, and etc. Due to the complexity of filters the best way to design a 
convolution module in FPGA is using HDL programming. There are a lot of techniques to 
implement and generate HDL code. One of the best techniques is using a high-end 
technology of Electronic System Level design (ESL) like Impulse CoDeveloper. Impulse 
CoDeveloper is a proper tool for developing custom IP modules such as convolution and 
image processing modules. This tool allows designers to quickly develop custom filter 
modules in standard c program. With this tool we can convert an untimed C program to 
synchronized HDL code. One of the best facilities of this tool is the debugging module for 
higher level C standard programs such as Microsoft visual studio and so on. CoDeveloper 
results are fully compatible with standard C and VHDL. Almost all the data interactions 
between modules and processes in CoDeveloper are based on stream passing and shared 
memory. For creating these convolution modules we have designed two parallel C-
language processes named columns and convolution. The column process has access to the 
incoming video stream and it can store the pixels values of 3 rows of an image in the 
internal memory buffer for the convolution module. Figure 7-4 shows these two main 
modules for splitting rows and convolution. The designer has access to the multi-channel 
memory controller; by this way the program can use the pipelining technique. Depending 
on the hardware platform we can use the pipelining technique in our design. Using the 
Pipelining #Pragma switch, which is a pre-
compiled command in C, we can synthesize “for
-
loops” commands and the internal contents of that in a concurrent mode. If a system has
access to the dual-channel external memory, one can thereby synthesise some parts of the 
code in a pipelining mode which has an interaction with external memory and registers 
[122]. 


 
75 

Download 3,22 Mb.
1   ...   43   44   45   46   47   48   49   50   ...   81




Download 3,22 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Figure  7-2: Camera connection to the FMC board

Download 3,22 Mb.
Pdf ko'rish