cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
sebastianro
Participant
Participant
3,676 Views
Registered: ‎10-22-2010

PCIe Video

Jump to solution

Hi, 

 

Can data comming from an ADC which converts TV analogue signals( component or composite, e.g. PAL, NTSC, etc) be directly processed (i.e. sent over PCIe) on an Spartan PFGA or do I need a video decoder? How much logic will it take?

 

Thanks

0 Kudos
1 Solution

Accepted Solutions
eteam00
Professor
Professor
4,666 Views
Registered: ‎07-21-2009

I was thinking about using an ADC. Do you think is better to use a decoder ASIC? Which are the advantages, besides having less functions to implement on the FPGA?

If you want to learn about analogue video, sampling systems and filters, clock generation, etc. then use a "dumb" ADC with your own design for clamping and sync stripping and PLL and comb filter and anti-aliasing filters.


If you want a video decoder/converter so you can build a product or learn about video processing, buy an ASIC.

Where can I learn about packetised video? What is the most common data format for sending video through PCIe? What format is a PC expecting? Or it doesn't "expect" I decide on it and the PC will, through software, process the format sent by me?

I'll let someone else help you on this.  It's too open-ended, and I don't have enough current first-hand experience in this area.  Use the web!

 

Here are some starting points for finding multimedia ASICs.  Some have PCI or PCIe interfaces.

NXP (formerly Philips)

Analog Devices

Intersil/Techwell

Broadcom

Conexant

 

and others...  lots and lots of choices.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.

View solution in original post

4 Replies
eilert
Teacher
Teacher
3,663 Views
Registered: ‎08-14-2007

Hi,

if the video signal is sampled at a high enough rate for the required bandwitdh (e.g sth. around 20 MSPS), the FPGA should be able to process it. However, you need to do the decoding inside the FPGA then, like searching for the synchronisation pulses etc. if you want to access the true pixel data.

 

The amount of logic depends on what your design goal is.

You just mentioned feeding the FPGA with some data, but what you are going to do with that data?

 

Have a nice synthesis

  Eilert

0 Kudos
eteam00
Professor
Professor
3,661 Views
Registered: ‎07-21-2009

Can data comming from an ADC which converts TV analogue signals( component or composite, e.g. PAL, NTSC, etc) be directly processed (i.e. sent over PCIe) on an Spartan PFGA or do I need a video decoder?

Let's break this down to 3 separate problems, for the purposes of discussion.

 

1.  Conversion to digital.

 

This is done very day, it's a well-understood art.  Inexpensive multi-format video decoder and digitisation ASICs are readily available.  There is such an ASIC in every 19" LCD TV set with composite and analogue component inputs. Don't forget audio as well as video information.

 

There is no need to store and forward the vertical and horizontal blanking intervals (including sync pulses).

There are well-documented standard digital video formats and coding standards, both compressed and uncompressed.  You will need to learn these.

 

2.  Transmission and reception over PCIe.

 

This is also a common practice.  You will need to select a data format.  Learn about packetised video.

There are compressed and uncompressed formats.  At a certain level of abstaction, it's not video on the PCIe channel... it's just data.

 

3.  Video processing in FPGA

 

You don't specify what video processing you are interested in performing, but anything you can send over x1 PCIe can be "directly processed" in the FPGA, in real time.  If you can figure out how to encode the video into packets and transmit the packets over PCIe, you'll also understand how to receive and decode the packets back into video (and audio).

How much logic will it take?

Depends on your feature set.  There are a number of video-centric development boards available for building, debugging, and evaluating your own feature set.

 

Each of the 3 problems in the above list is a major undertaking all by itself.  First you need to understand the principles and technologies, then you need to design the function in terms of features and datapaths.  Finally you need to convert your design to working code and component selection and circuit boards.

 

What you have described is not a straightforward 6-month design project, unless you've done very similar things already.

 

Hope this helps you.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
sebastianro
Participant
Participant
3,649 Views
Registered: ‎10-22-2010

Hi,

 

Thanks for your response, great as always, I mean you even stated the problem better than me. That being said I have a couple of questions:

 

1.  Conversion to digital.


I was thinking about using an ADC. Do you think is better to use a decoder ASIC? Which are the advantages, besides having less functions to implement on the FPGA?

 

2.  Transmission and reception over PCIe.

 

This is also a common practice.  You will need to select a data format.  Learn about packetised video.

There are compressed and uncompressed formats.  At a certain level of abstaction, it's not video on the PCIe channel... it's just data.

 

This is another aspect that's not clear to me. Where can I learn about packetised video? What is the most common data format for sending video through PCIe? What format is a PC expecting? Or it doesn't "expect" I decide on it and the PC will, through software, process the format sent by me?

 

Thanks again


0 Kudos
eteam00
Professor
Professor
4,667 Views
Registered: ‎07-21-2009

I was thinking about using an ADC. Do you think is better to use a decoder ASIC? Which are the advantages, besides having less functions to implement on the FPGA?

If you want to learn about analogue video, sampling systems and filters, clock generation, etc. then use a "dumb" ADC with your own design for clamping and sync stripping and PLL and comb filter and anti-aliasing filters.


If you want a video decoder/converter so you can build a product or learn about video processing, buy an ASIC.

Where can I learn about packetised video? What is the most common data format for sending video through PCIe? What format is a PC expecting? Or it doesn't "expect" I decide on it and the PC will, through software, process the format sent by me?

I'll let someone else help you on this.  It's too open-ended, and I don't have enough current first-hand experience in this area.  Use the web!

 

Here are some starting points for finding multimedia ASICs.  Some have PCI or PCIe interfaces.

NXP (formerly Philips)

Analog Devices

Intersil/Techwell

Broadcom

Conexant

 

and others...  lots and lots of choices.

 

-- Bob Elkind

SIGNATURE:
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369

Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.

View solution in original post