FPGA in ECU

Post Reply
klyttle
Posts: 19
Joined: Fri Jan 02, 2015 9:47 pm

FPGA in ECU

Post by klyttle » Sun Jan 25, 2015 1:34 am

I thought I'd share this article I found online while researching FPGA utilization in an ECU:

http://m.autosport.com/news/report.php/id/35334

Now, I know such a feature outlined in this article is currently not in the cards for this project, but as I had stated in my introduction to this forum, it could (keyword here is could) be a consideration later, especially now that rusEFI is in the works to become an LLC; this project may do well to differentiate itself from the rest of the open source ECU pack.

User avatar
kb1gtt
contributor
contributor
Posts: 3469
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA
Contact:

Re: FPGA in ECU

Post by kb1gtt » Sun Jan 25, 2015 10:42 am

I agree that FPGA's are the cat's meow and should be something to consider on the longer term plan. They offer nS timing events, unlimited timers and signal processing that requires no CPU cycles. Mostly once you have developed 1 cyl, you can very easily scale to 48 cyl's. They are not only faster and more accurate, they scale very well.

In another thread I noted the http://papilio.cc/ which is attempting to make FPGA easy to program similar to how Aruduino's made it easy to program micro processors. Papilio has made some great progress in making FPGA programming far easier than it has been over the last several years. They are doing this with one of the largest FPGA MFG's chips known as the spartan. As luck has it, that MFG has also identified that automotive is a market worth some effort, and they make automotive grade FPGA's.

http://www.xilinx.com/applications/automotive.html
http://www.xilinx.com/training/automoti ... aining.htm

So I would suggest the path to FPGA would probably be to start with papilio pro, which will set up ISE PC development environment and an underlying wishbone structure. It will allow AVR style programming for soft processors, which I believe is an reasonably easy port for chibios and the current rusEFI platform. Then once it's working with these low cost off the shelf items, it would be a reasonably easy port to one of xilinx automotive grade FPGA's.

Oh, did I also mention that the papilio has the ability to connect a logic analyzer to internal registers and to internal timer bits. That's a crazy mind blowing option for FPGA approaches.
Welcome to the friendlier side of internet crazy :)

User avatar
kb1gtt
contributor
contributor
Posts: 3469
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA
Contact:

Re: FPGA in ECU

Post by kb1gtt » Sun Jan 25, 2015 11:05 am

Logic sniffer with papilio video found here titles "How-to debug internal FPGA Logic with the $50 Openbench Logic Sniffer."
Welcome to the friendlier side of internet crazy :)

User avatar
russian
Site Admin
Posts: 9673
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: FPGA in ECU

Post by russian » Sun Jan 25, 2015 3:09 pm

To be honest I simply do not know much about FPGA. I am a software developer and in the end of the day I do not really care what kind of programmable logic device is executing my code.

What problems would FPGA solve? Are there any 5v FPGA? What about ADC - do any of FPGA have analog inputs?
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

User avatar
kb1gtt
contributor
contributor
Posts: 3469
Joined: Tue Sep 10, 2013 1:42 am
Location: ME of USA
Contact:

Re: FPGA in ECU

Post by kb1gtt » Sun Jan 25, 2015 3:38 pm

FPGA's don't have analog inputs, you have to have an external SPI or what ever digital interface. Closest to an Analog input FPGA that I know of is a PSoC, which isn't really an FPGA, it's more like an CPLD which is a really small FPGA. Analog outputs can be done with a low pass filter and a PWM.

Features they provide include fast timing which is handy for multiple injection pulses during combustion / direct inject events at higher RPM, lower level diagnostics / lower level bit information, and they are very scale-able. For example, they would allow multi-injections of direct injection, multi-spark of CDI events, transmission control, and very complicated math all with very low latency. Traditional MCU's have issues with processing all that information fast enough and with a low enough latency. That's why we see ETPU's, low latency IRQ's and other such mechanisms in traditional MCU's.
Welcome to the friendlier side of internet crazy :)

User avatar
russian
Site Admin
Posts: 9673
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: FPGA in ECU

Post by russian » Sun Jan 25, 2015 4:21 pm

kb1gtt wrote:FPGA's don't have analog inputs, you have to have an external SPI or what ever digital interface.
external ADC topic: http://rusefi.com/forum/viewtopic.php?f=4&t=805
https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

klyttle
Posts: 19
Joined: Fri Jan 02, 2015 9:47 pm

Re: FPGA in ECU

Post by klyttle » Sun Jan 25, 2015 8:31 pm

It's important to note that your current development path is absolutely essential, so there's no need to be overly concerned at the moment with undertaking some radical FPGA ECU development.

On the issue regarding analog I/O interface with FPGAs, may I direct your attention to the following article I also came across:

http://www.eeherald.com/section/news/on ... 29001.html

It seems the FPGA manufacturers are thinking the very same thing!

Cheers!

User avatar
abecedarian
Posts: 387
Joined: Fri Nov 15, 2013 10:49 am

Re: FPGA in ECU

Post by abecedarian » Mon Jan 26, 2015 12:06 am

IIRC, Xylinx has some FPGA with ADC capabilities, as do some of the others.
You can lead the horticulture but you can't make them think.

klyttle
Posts: 19
Joined: Fri Jan 02, 2015 9:47 pm

Re: FPGA in ECU

Post by klyttle » Mon Jan 26, 2015 4:04 pm

abecedarian wrote:IIRC, Xylinx has some FPGA with ADC capabilities, as do some of the others.
You're probably thinking of the Xilinx Virtex line of FPGAs. not sure if any of them are automotive rated though.
kb1gtt wrote:In another thread I noted the http://papilio.cc/ which is attempting to make FPGA easy to program similar to how Aruduino's made it easy to program micro processors. Papilio has made some great progress in making FPGA programming far easier than it has been over the last several years. They are doing this with one of the largest FPGA MFG's chips known as the spartan. As luck has it, that MFG has also identified that automotive is a market worth some effort, and they make automotive grade FPGA's.

http://www.xilinx.com/applications/automotive.html
http://www.xilinx.com/training/automoti ... aining.htm

So I would suggest the path to FPGA would probably be to start with papilio pro, which will set up ISE PC development environment and an underlying wishbone structure. It will allow AVR style programming for soft processors, which I believe is an reasonably easy port for chibios and the current rusEFI platform. Then once it's working with these low cost off the shelf items, it would be a reasonably easy port to one of xilinx automotive grade FPGA's.

Oh, did I also mention that the papilio has the ability to connect a logic analyzer to internal registers and to internal timer bits. That's a crazy mind blowing option for FPGA approaches.
Yep, I remember you mentioned to me in my forum introduction thread that you had one of those boards; I like the idea of using the Papilio Pro to get things started
(at the appropriate time when things are more settled, of course), and then possibly step up to one of the Picozed SOMs (http://zedboard.org/product/picozed) from there.
Last edited by klyttle on Mon Jan 26, 2015 5:19 pm, edited 1 time in total.

User avatar
abecedarian
Posts: 387
Joined: Fri Nov 15, 2013 10:49 am

Re: FPGA in ECU

Post by abecedarian » Mon Jan 26, 2015 4:48 pm

klyttle wrote:
abecedarian wrote:IIRC, Xylinx has some FPGA with ADC capabilities, as do some of the others.
You're probably thinking of the Xilinx Virtex line of FPGAs. not sure if any of them are automotive rated though....
I think that was it; didn't check for automotive rating though.
You can lead the horticulture but you can't make them think.

User avatar
russian
Site Admin
Posts: 9673
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Soldering skill: yes
Coding skill?: yes
Contact:

Re: FPGA in ECU

Post by russian » Wed Jun 07, 2017 1:26 am

https://rusefi.com/s/howtocontribute
very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions
my skype is arro239

Rhinoman
contributor
contributor
Posts: 246
Joined: Thu Sep 24, 2015 2:14 pm
Location: Wiltshire, UK
Contact:

Re: FPGA in ECU

Post by Rhinoman » Mon Jun 19, 2017 12:59 pm

I have done quite a bit of FPGA work on defence contracts. Its very unlikely you will see one in a production ECU because they are far too expensive, fortunately FPGAs aren't needed for EFI, modern processors are more than fast enough.
I prefer VHDL to Verilog; neither VHDL nor Verilog should be confused with software - you are still designing hardware but simply describing it rather than drawing a schematic.

puff
contributor
contributor
Posts: 2733
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: FPGA in ECU

Post by puff » Mon Jun 19, 2017 1:29 pm

just for educational purposes, could you name some examples of its use in defence applications? missile tracking? nuclear reaction analysis?

Flying
Posts: 13
Joined: Fri Apr 21, 2017 8:35 am

Re: FPGA in ECU

Post by Flying » Mon Jun 19, 2017 3:11 pm

puff wrote:just for educational purposes, could you name some examples of its use in defence applications? missile tracking? nuclear reaction analysis?
I'm not privy to the world of military hardware, but the uses that first come to mind for me are control interfaces (missiles, fly by wire) and anything to do with signals processing (enhancing radio/radar capabilities and robustness).

Post Reply