EEVblog Electronics Community Forum

Electronics => Microcontrollers => Topic started by: ant17 on December 22, 2013, 07:41:55 am

Title: fpga vs arm 9 micro
Post by: ant17 on December 22, 2013, 07:41:55 am
hi guys i will be building a robot arm with six degrees of freedom.Which will have multiple end effector attachments eg. a milling head. I was wondering what you thought about building the main controller and hmi to use fpga technology or arm microprocessor am3359a with windows capability. which would be best for motion control accuracy and speed of code execution i was just wondering your thoughts
Title: Re: fpga vs arm 9 micro
Post by: Psi on December 22, 2013, 07:59:52 am
Use a MCU,  unless you've got some super critical and extremely complex control algorithm which needs to be done in hardware. Then maybe a FPGA could be useful,(although probably coupled with a MCU)

In general you only use a FPGA when you can't use a MCU

As far as speed of code execution goes, a robot arm is never going to move fast enough to exceed what you can do with a fast MCU.


On the other hand, if you really want to play with a FPGA (just to learn) then go for it, expect it to be much more difficult though.
Title: Re: fpga vs arm 9 micro
Post by: ant17 on December 22, 2013, 08:25:54 am
ok thanks for that info .If anybody has different  a opinion i would be glad to here it thanks for those that contributed
Title: Re: fpga vs arm 9 micro
Post by: Icarus on December 22, 2013, 01:31:08 pm
You could use SoC (System on Chip) approach. Basically, you can download a soft-core procesor, a lot peripherals(ethernet controllers, ram controllers, etc...) and a lots of other stuff (digital filters, fft, etc...) into a FPGA. Then you can program it just like a regular MCU.
However tihs could be expensive because those "soft-stuff" are not free.
Title: Re: fpga vs arm 9 micro
Post by: lorth on December 22, 2013, 04:14:36 pm
Or you can get a true SoC FPGA, like Xilin's Zynq, Altera's Cyclon V SoC, or Microsemis' FPGAs (many have ARM cores inside).

Basically, they have an ARM core, or multiple, A9, or M0. You can watch these infomercials from Altera (https://www.youtube.com/watch?v=RVM-ESUMOMU) that explain why you should use SoC+FPGA, and obviously, the whole thing is to try to sell you Altera's... But anyways, I think it gives you a good enough understanding on the thing...

One problem is price... those chips are expensive, and the development boards are not cheap either.
Title: Re: fpga vs arm 9 micro
Post by: kunzem on December 24, 2013, 02:58:36 am
you can also couple a cheap spartan3 with an mcu, but general, highlevel control stuff is a pain in fpga's! (often you end in implementing an mcu in the fpga for such stuff...)
Title: Re: fpga vs arm 9 micro
Post by: alex.forencich on December 24, 2013, 10:03:45 pm
One thing that might be a good consideration is a hybrid approach: use the ARM for the interface and high level control, and then use an FPGA to generate the PWM signals and process the encoder values.  You might also be able to implement servo control loops on the FPGA if there are issues with getting it to run fast enough on the ARM.  Also, if you get an ARM controller with an external memory bus that can be connected to an SRAM chip, you can set up the FPGA to act like an SRAM for very high speed communication.