cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
macellan85
Explorer
Explorer
2,749 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
Reply
2 Replies
chapman
Xilinx Employee
Xilinx Employee
2,593 Views
Registered: ‎09-05-2007

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
Reply
macellan85
Explorer
Explorer
2,500 Views
Registered: ‎01-05-2017

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
Reply