Subject: Freescale engine MCU's
From: Rotary Engine
Date: 8/30/2010, 9:10 AM
To: AAA Put this in the To box


  Hello Paul & Group,

  There was an "Ultra-squirt" project going on about two years ago. Seems
  that it didn't materialize, but the hardware choice was interesting:

  Freescale MPC55xx - 32-bit PowerPC core, programmable eTPU timer for
  ignition + injection, DSP knock indication built-in, CAN bus, plenty of
  i/o, good set of driver/sensor circuits.

  What's interesting here, is that - if i understood correctly - the eTPU
  unit offloads the ignition/injection timing task from processor, and it
  is still fault-tolerant (ie. missing teeth, no CAS signal etc.)

  Here's some video clips. Not really a proper product introduction, but
  gives an idea how eTPU works.

  Using the Engine Position eTPU Functions - Freescale Application Note:
 3769
  http://www.youtube.com/watch?v=a1NplNEAaww

  eTPU Set 2 Simulator Demo
  http://www.youtube.com/watch?v=Mu_zBkoByVQ

  Link to Freescale eTPU user guides:
  http://tinyurl.com/2wzw45p

  Back then, the required CodeWarrior version cost $5000, now it is $955
  or $1955 - the difference seems to be the "Optimizing C/C++ compiler"
  Runs on Linux or win2k - 7, new version 10.0 within Eclipse. Yes that's
  more than OSS price, but... it ought to be good.

  It seems that this is the best platform to develop a really capable
  FADEC product for rotary engines.
  ...Just that there should be someone involved who could (and will ;)
  make neat C code...

  Anyone tried 55xx / 56xx?


    Petri Flander


  I have code warrior for some of the smaller Free Scale chips but what
  I don't like about it is the  C or assembly language required.

  Atmel ZBasic is an order of magnitude easier to learn and
  faster to program. There are some trade off as a bit more hardware
  is required. It is fast enough for simple AC engine EFI and EFIS.

  Paul Lamar

 There is the earlier TPU in the 68332 & MPC555, and the later
 eTPU in the MPC55xx series family. They are state machines and
 not that difficult to learn if you can dedicate the time to
 understanding what the TPU is doing.  The Motorola programming
 manuals are not the easiest to understand.  Munir Bannoura
 taught the classes on the TPU and eTPU and wrote his own books
 after seeing students struggle in class with the state machines.
 Once I listed every command on a Excell Spreadsheet with the
 allowed states and how to enter and exit each, it made it much
 easier to understand.

 Once you understand the state machine, and what is allowed from
 one state to the next you still need to spend sometime to write
 the microcode.  Advantage is that once you understand that, and
 can write the code, it is a great tool and also excellent for
 your resume!

 TPU is very handy for conditions changing constantly with a
 modern emissions equipped engine meeting EPA standards.  Since
 the TPU can run autonomous of the engine controller, it greatly
 helps reduce the overhead of the controller to focus on real
 time calculations. It is one of the few embedded controllers
 with a floating point processor for real time calculations, so
 that off loading the main processor is a critical function.
 For a simple aircraft engine control, it is way overkill.  Most
 simple 8 bit micro controllers will work fine, and even having
 two microcontrollers for redundancy is easily done.

 I still have my MPC555 boards and logic analyzer, but there are
 so many hours in the day and to many other projects before I
 could revisit the TPU programming.  I was paid nicely for TPU
 code, but only way I would take that up again is if I lived in
 the Bahama's and limited myself to four hours a day of
 microcoding, and the rest of the time flying, fishing, and
 sailing. Now that would be the life!

 As to tools, do look at the gcc compilers. There was some great
 work on uC/OS (Jean Labrosse's royality free RTOS for personal
 use) put together by a French University on the MPC555.

 Tom Walter

Thanks Paul and Tom,

This raises so many questions...
It seems that, to understand this whole ECU thing, one needs more than a
passing knowledge of the requirements - and ways - to design this kind
of system.

Perhaps you could recommend me some book to read first? :)

Cheers,
Petri

I have found only one book on this subject so far but
then I have not looked very hard.

A book was written by Caxton C. Foster
in 1981 called Real Time Programming ISBN 0-201-010937-X.
It is a good mix of hardware and software theory.
He focuses on the 6502, 6800 and the Z80.
An expansion of the 6800 instruction set is still
around in some Free Scale processors.

In October 1977 a magazine came out called the 6502
journal mostly about the Apple II.

Back in 1975 there was nothing except the data sheets on
the processors. Perhaps I was so ignorant
on the subject I choose a hardware interrupt method of real
time multitasking because I did not know any better :)

Ironically, and as far as I can tell, I built the first
embedded application of a microprocessor. I would love
to see some documentation on a earlier device.

I started to sell a single board industrial
computer called the SuperKIM.

When we published this IEEE paper in 1979 we had no idea it
was the start of a whole industry :)

http://www.rotaryeng.net/who.html

Paul Lamar

-- 
The Rotary Engine NewsLetter. Powered by Linux.
ACRE NL web site. http://www.rotaryeng.net
Youtube key word PaulLamar2
Copyright 1998-2010 All world wide rights reserved.