Forum Discussion
Altera_Forum
Honored Contributor
11 years agoGenerating a pulse train at specific time on FPGA using VHDL programming.
Hello everyone.
I am new to VHDL programming and FPGA. I would to generate a pulse train at specific time on fpga using vhdl programming. The whole process is that 1. PC sent an array of specific time data to FPGA, the array is like [0 , 0.5 , 0.9 , 1.2 , 1.5 , 1.9 , 2.6 ...](us), in this array the interval between next element is irregular. 2. FPGA receive the array and then generate pulses at these specific time to trigger motor driver. Sorry, I am really a beginner in this area and struggling with this problem. I don't which part should I learn first. I will be very thankful if any feedback or advice is provided. Your response will truly be appreciated. Kindly provide your valuable suggestions. Thanking you Best Regards Steven3 Replies
- Altera_Forum
Honored Contributor
What protocol is used for data transfer?
Are you familiar with hardware design? - Altera_Forum
Honored Contributor
Hello PitervanderStar,
I am going to USB for data transfer. And I am not familiar with hardware design, this is my first project in this area actually. I am learning hardware design by myself, so is my question not clear? Anything important I have not mentioned? Thanks for your kindly reply! - Altera_Forum
Honored Contributor
Okay, First you need to know that you are working with hardware which executes parallel. So basically everything runs at the same time. If you need a delay, you build a timer and do something depending on this timer. You could start by making something basic. One of the first things I did was building a "knight rider" effect. It is a shift register that is connected to some leds. Each led is turned on and of in time, and when the last one is lit the effect is reversed. This uses some basic elements like a shift register, a counter and a little more sophisticated element: a prescaler.
I would start by something like that before drowning yourself in protoocols, memory and floating/fixed point.