UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Adventurer
Adventurer
2,498 Views
Registered: ‎01-05-2017

Pulse Height Analyser or MCA design

Hi 

 

I want to design pulse height analyser system for an analog signal providing 5us width pulse on a spartan3AN chip (AES220B). I planned to digitize signal through a fast ADC chip (MAX1426 - upto 10 MSps) and then transmit all data through a USB link and perform further analysis on the computer. Since the usb link can perform transmission upto 480MBps I though I can achieve this. Second method in mind, perfom the pulse height detection on the FPGA and transmit the usefull data to the computer. So a fast link is not necessary this time but the signal has a random nature and for now I don't know how to find out the heighest value. 

 

Any suggestion is very welcome!

 

 

Thanks in advance

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
2,342 Views
Registered: ‎09-05-2007

Re: Pulse Height Analyser or MCA design

If your sample rate is 10MSPS and the pulses you are analysing have duration of about 5us then you are looking at about 50 samples per pulse. It is more than reasonable to assume that you can clock a Spartan-3AN design at say 100MHz which gives you up to 10 clock cycles to process each sample and around 500 cycles to process each pulse. The samples are 10-bits so nothing difficult there to worry about either.

 

A simple 10-bit comparator would allow you to compare each new sample with a value held in a register. If the new sample is larger than the one in the register then load it into the register. Hey presto, you have a peak detector. The only thing you then need is a state machine to recognise when a pulse has come to an end, transmit the peak value and then reset the register to zero before the start of the next pulse. Another comparator that compares the input samples with some (relatively low) threshold value could tell the state machine when a pulse is present (i.e. above the threshold).

 

You might want to take a look at using PicoBlaze to act as a controller (state machine) and perform a bit more analysis.

 

https://www.xilinx.com/products/intellectual-property/picoblaze.html

 

By the way, unless you are working with existing hardware, do consider using a newer device such as a Spartan-6 or Artix device.

Ken Chapman
Principal Engineer, Xilinx UK
0 Kudos
Adventurer
Adventurer
2,249 Views
Registered: ‎01-05-2017

Re: Pulse Height Analyser or MCA design

Hi Mr @chapman

 

I got the same idea as well but thank you for your answer. 

 

The picoblaze makes me little bit scared as a not very experienced FPGA programmer :) I tried microblaze on another board and I thought it is complicated for now.

 

And what a pity at the moment I need to use this board because the professor wants it to be used :) Hope this will be ready soon.

 

Best wishes

0 Kudos