Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
10 years ago

Generating 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

Steven

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    What protocol is used for data transfer?

    Are you familiar with hardware design?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored 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.