07-18-2017 11:07 PM
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
08-08-2017 02:31 AM
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.
By the way, unless you are working with existing hardware, do consider using a newer device such as a Spartan-6 or Artix device.
08-17-2017 07:40 AM
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.