Forum Discussion

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

Need a crash course in FPGAs

I just, uh, "discovered" FPGAs about a week ago and from what I've learned so far, they seem perfectly suited for vector control of an induction motor, compared to running a 100k lines of C code through a DSP.

The big, surprisingly basic problem I've run up against is that I don't have a clue as to how to start using them!

In the end I might decide to just license IP from someone else, but I'm the kind of engineer that can't totally outsource even a piece of a design - I have to have at least a vague understanding of what is going on inside, e.g., the microcontroller running my megawatt power conversion hardware.

So far it seems to me that MATLAB/Simulink in conjunction with, e.g., DSP or SOPC Builder would allow me to translate block-level models into working hardware the quickest, but I'm not 100% sure of that. I also know that MATLAB is pretty pricey software for a small company like ours, but maybe it isn't so bad compared to licensing someone else's IP?

Anyway, my goal is to make an FPGA with enough processing power and ADCs in it to do vector control (field oriented [FOC] or direct torque [DTC]) with space vector modulation of an induction motor. A separate microcontroller running our standard UI will tell the FPGA how much torque it wants from the motor (with RPM a secondary consideration) and the FPGA will do all the tedious calculations that would otherwise cripple all but the fastest DSPs.

I might end up licensing IP from someone else - but I'd really like to know what goes on first to make an informed decision one way or the other.

Thanks for any help!

13 Replies

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

    --- Quote Start ---

    As for vector control of induction motors. I have read several papers written by academics on the topic.

    --- Quote End ---

    Same here - it was because of a couple of academic papers I read (and one better-than-average thesis) that I saw some serious advantages in offloading all of the math-intensive motor control functions in an FPGA. Prior to that mini-revelation I was resigned to trying to get a 200MHz+ DSP to work inside a 200kW+ inverter.

    --- Quote Start ---

    It will take a few weeks/days to get aquainted with the language as it is a hardware description language whereas you are describing the logic you need for a certain design.

    --- Quote End ---

    Huh. No mention of MATLAB/Simulink, just get a dev kit and download (er, run on the web?) Quartus II? As we say with tongue firmly ensconced in cheek around here: How Hard Can It Be? :D
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    early on you'll want to consider if you need fixed or floating point calculations. also consider what sample rates you'll need and if there are any feedback paths (slow things down). try to break the algorithm down into pieces that can be done in parallel

    if you are going to look at design services a block diagram is a good idea
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Easiest start would be to get a development board like the DE2

    http://www.altera.com/education/univ/materials/boards/de2/unv-de2-board.html

    and download Quartus II

    Then read a book or watch the training videos

    http://www.altera.com/education/training/trn-index.jsp

    As for vector control of induction motors. I have read several papers written by academics on the topic.

    It will take a few weeks/days to get aquainted with the language as it is a hardware description language whereas you are describing the logic you need for a certain design.