Forum: µC & Digital Electronics Arm Cortex for Automotive Engine Management?

von Paul W. (enigmapaul)

Rate this post
0 useful
not useful
Hi Guys,

I'm wondering about the applicability of ARM Cortex M4 or other families 
for engine management.  Is the M4 used in this applicable at all, or is 
that more towards the Cortex R4?

What might be the key differences between the Cortex M4 and the 
established engine management players like Freescale MPC55xx and 
Infineon Tricore?  Is ARM growing its share in this segment?



von Robert T. (robertteufel)

Rate this post
0 useful
not useful
Hi Paul,

engine management is dominated by two players, Freescale and Infineon. 
Neither is using a Cortex based to device to control an engine, both 
have been using higher performance devices than a Cortex-M for many 
years. I would not know about Cortex-R in engine management, however 
afaik they are used in ABS systems.
Currently the dominating architecture for engine management is the 
Infineon TriCore, which has been providing DSP and Floating Point 
options for many years.
While Cortex-M4 is probably targeted at Automotive applications I doubt 
ARM envisions the Cortex-M in engine management. There is so much more 
to automotive than this, although I have to admit, I still consider 
engine management the heart of all automotive applications.
There will be even more computing performance required for all the car 
infotainment and there high end Cortex devices seem to do really well.

Cheers, Robert

von Paul W. (enigmapaul)

Rate this post
0 useful
not useful
Hi Robert,

Thanks much for the reply.

I know that Cortex-M3 is used for industrial control and motor 
applications, but not engine management.  The Cortex M4 seems to be a 
bit more power and can do floating point.  But the Cortex-R4 seems to be 
targeted at, among other things, engine management.

Do you know of any automotive controllers that use the R4, or is this 
still an emerging application?  Also, do you know what kind of functions 
that Freescale (I assume MPC5xx and MPC5xxx) and Infineon Tricore have 
that distinguish it as an engine management device?


von TPU (Guest)

Rate this post
0 useful
not useful
Yes they have one or more TPU (Time Process Unit)
Freescale has introduced the TPU yeras ago in the 68xxx uC.
Newer devices as the MPC5xx have better and more flexible TPUs.

Go to the Freescale hompage and search for it.

von TPU (Guest)

Rate this post
0 useful
not useful
Shortform from the ref manual MPC561:

Chapter 19
Time Processor Unit 3

The time processor unit 3 (TPU3), an enhanced version of the original 
TPU, is an intelligent,
semi-autonomous microcontroller designed for timing control. The TPU3 is 
fully compatible to the TPU2.
Operating simultaneously with the CPU, the two TPU3 modules process 
micro-instructions, schedule and
process real-time hardware events, perform input and output, and access 
shared data without CPU
intervention. Consequently, for each timer event, the CPU setup and 
service times are minimized or
The MPC561/MPC563 contains two independent TPU3s: TPU_A and TPU_B.

von Robert T. (robertteufel)

Rate this post
0 useful
not useful
Mr. TPU guest is right. One major difference is the timer capability. 
TriCore as multiple timer arrays that can be combined in any thinkable 
way and then some more. IIRC there are approx. 100 timers on a TC1796.

One brief quote from the TC1796 data sheet "286 interrupt sources, 
generating up to 92 service requests" that is a little bit more than 
what a Cortex-M3 could or should handle. 416-pin package, 2 MB Flash 
with 256 KB SRAM and some more big chip items show that these devices, 
the TriCore and the MPC5xxx belong in a totally different league.

The timers are used to trigger injection on a hardware dependence rather 
than software triggered with jitter.

Or in a nutshell, the Cortex-M3 core does not cut it for this 
applications and existing peripherals are even much further below the 
required complexity level.


von Paul W. (enigmapaul)

Rate this post
0 useful
not useful
How about the Cortex-R4 however?

von Robert T. (robertteufel)

Rate this post
0 useful
not useful
Paul Ware wrote:
> How about the Cortex-R4 however?

Chances are I just haven't heard about the R4 being used in Engine 
management but I can't fight the feeling that the Cortex-R family some 
off to a rough start with questionable future. Cortex-Ax and Cortex-Mx 
are doing great and having 2 out of 3 families being a huge success is a 
great achievements.
Again, the R-4 is not very visible to me, doesn't really mean there is 
no business with it. The only automotive implementation I've heard is a 
dual R4 design from TI, afaik for ABS.
The performance of the CPU would probably be adequate for engine 
management, the secret is in the peripherals though. The timer 
description for TriCore is more than 200 pages thick.

If you are with a company that does engine management, invite ARM to 
present their success stories, they would be happy to come. If it is 
just for academic interest, the lesson is there are specialized 
suppliers for this high end segment.



Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.