1. Attachments are working again! Check out this thread for more details and to report any other bugs.

Prius computer(s)

Discussion in 'Newbie Forum' started by Silver bullit, Apr 8, 2009.

  1. Silver bullit

    Silver bullit Right Lane Cruiser

    Joined:
    Mar 21, 2009
    608
    210
    15
    Location:
    San Diego, California
    Vehicle:
    2009 Prius
    Model:
    N/A
    Hi- Just bought an 09 prius in Feb. Interested in how the computer ( or computers?) hold up. Any problems in this area so far? Thanks...Mike :)
     
  2. qbee42

    qbee42 My other car is a boat

    Joined:
    Mar 2, 2006
    18,058
    3,074
    7
    Location:
    Northern Michigan
    Vehicle:
    2006 Prius
    Mostly fine. The early MFDs had some trouble with a connector, but that has been resolved. As for ECUs, they are very reliable. Like any other component, there have been some failures, but not many.

    Tom
     
    1 person likes this.
  3. usbseawolf2000

    usbseawolf2000 HSD PhD

    Joined:
    Sep 22, 2004
    14,487
    2,997
    0
    Location:
    Fort Lee, NJ
    Vehicle:
    2012 Prius Plug-in
    Model:
    Plug-in Base
    The Prius ECUs are 32-bits. Most of the cars during the launch 2004, were using 16-bits. I don't know about now.

    This got me wonder if the ECU in the 2010 Prius is faster or operate at 64-bits.
     
  4. Mike Dimmick

    Mike Dimmick Active Member

    Joined:
    Aug 8, 2008
    963
    247
    0
    Location:
    Reading, UK
    Vehicle:
    Other Hybrid
    Model:
    N/A
    'Bitness' has two aspects in computing systems. One is the number of memory locations that can be addressed. 32 bits is 4GB, way, way over anything required for ECUs.

    The other is the size of operands and results. Here, 16 bits only gives you a range of 0 to 65,535 or -32,768 to +32,767, whereas 32 bits gives 0 to 4 billion or -2 billion to +2 billion. 16 bits is a touch limiting, 32 is normally plenty for almost any operations. (Many 16-bit systems had ways to use two registers for 32-bit operations, but this was generally slower than fully 32-bit processors.)

    In binary floating point, 32 bits is enough for about 6 decimal digits of precision and exponents between -38 and +38. Floating point is a costly operation, without dedicated hardware, and generally embedded programmers try to avoid it. If fractional values are required, we usually use scaled integers. That is, the numbers are treated as if divided by some fixed quantity, like counting pennies rather than pounds/dollars.

    In my programming - I'm a line-of-business programmer of mobile devices - I very rarely use 64-bit numbers. Generally only when dealing with Windows time values, which are given to ridiculous precision (100ns intervals since 1 January 1601). If they are required, the compiler generates calls to built-in functions that implement 64-bit arithmetic using the 32-bit registers. It's a lot cheaper in terms of hardware budget than a full 64-bit arithmetic and logic unit and 64-bit registers.

    There's not even much benefit for most Windows programs in porting to 64-bit. 32-bit programs run fine. I'm using one right now (IE8 on Windows Vista). Only if the program does a lot of 64-bit calculation, or can make use of more than 2GB of memory, is it worth doing.

    The Airbag Control Module teardown mentions an HD6432695 microcontroller, which is kind of a hybrid 16/32-bit processor. The H8 family started off as a 16-bit processor but has gained 'extended' registers that can be used either as 32-bit registers or as two 16-bit registers. Addressing changed from 16-bit to 24-bit (up to 16MB). However, not all operations are available on 32-bit registers.

    Going back to the original topic, the Prius doesn't really have different kinds of computers to other cars. It just has more of them. Many other cars have drive-by-wire throttle or electronic brake-force distribution on dual-circuit braking systems.
     
    1 person likes this.
  5. usbseawolf2000

    usbseawolf2000 HSD PhD

    Joined:
    Sep 22, 2004
    14,487
    2,997
    0
    Location:
    Fort Lee, NJ
    Vehicle:
    2012 Prius Plug-in
    Model:
    Plug-in Base
    In simple term (without getting into caching and registers), there are two ways to increase the processing -- increase the clock cycle or the bits. A 32-bit processor can process 32 binary digits per clock cycle whereas 16-bit processor does half.

    Bits are like gas engine cylinders where 8 cylinders can burn twice as much gas as 4 cylinders. Clock cycles are like RPM, the faster it is the more work/power is created.

    Faster ECUs in car improve responsiveness. This means it will steer better, PSD can be controlled in much higher precision, regen brake response better, etc...

    We need to know these kind of improvements as well in 2010 Prius.
     
  6. dogfriend

    dogfriend Human - Animal Hybrid

    Joined:
    Feb 26, 2007
    7,512
    1,185
    0
    Location:
    Carmichael, CA
    Vehicle:
    2007 Prius
    Aren't they programmed to work for exactly 109,000 miles and then cease to function? I thought I read that somewhere. :madgrin:
     
  7. jayman

    jayman Senior Member

    Joined:
    Oct 21, 2004
    13,439
    641
    0
    Location:
    Winnipeg Manitoba
    Vehicle:
    2004 Prius
    You're a much better teacher than I am.

    Just curious, do you have any experience with embedded RTOS's like QNX, Wind River, or secure embedded RTOS's like Green Hills?
     
  8. qbee42

    qbee42 My other car is a boat

    Joined:
    Mar 2, 2006
    18,058
    3,074
    7
    Location:
    Northern Michigan
    Vehicle:
    2006 Prius
    I have an 8 bit project that uses 32 bit floating point numbers. I resisted as long as I could, but scaled integers got too messy. I also had to write a heap management system for it, which is a lot of overhead for a processor with only 128KB of program memory and 3936 bytes of RAM. It uses one interrupt for the timer, the rest is a giant state machine - around and around we go.

    Tom
     
  9. jayman

    jayman Senior Member

    Joined:
    Oct 21, 2004
    13,439
    641
    0
    Location:
    Winnipeg Manitoba
    Vehicle:
    2004 Prius
    Tom

    IBM's first "large" computer project, the vacuum tube SAGE (Semi Automatic Ground Environment) system used NO integers. This is circa late 1950's

    Every SAGE blockhouse had a literal small army of techs to keep that vacuum tube monster running 24x7. Around 5 MW of onsite diesel generators, 120 tons of chiller capacity to keep all those vacuum tubes "chilled " out, etc.

    It actually did achieve three nines up. Amazing what a dedicated +140 man team can accomplish, per site. I wish I had been born about two decades earlier, and been in on that project.

    I just don't get the same sense of job satisfaction looking at teeny components. Do you?
     
  10. qbee42

    qbee42 My other car is a boat

    Joined:
    Mar 2, 2006
    18,058
    3,074
    7
    Location:
    Northern Michigan
    Vehicle:
    2006 Prius
    I am old enough to have worked with vacuum tubes a bit. I can tell you with certainty that the B+ voltage for a vacuum tube hurts a lot more than the bias voltage for a transistor.

    For a long time I felt that using integrated circuits was like cheating. I now see myself as more of a systems engineer, tying together all of the ICs with a few discrete components. It's a different sort of work, but satisfying in its own way.

    Tom
     
  11. jayman

    jayman Senior Member

    Joined:
    Oct 21, 2004
    13,439
    641
    0
    Location:
    Winnipeg Manitoba
    Vehicle:
    2004 Prius
    Oh ho, you're not the only one to have ever done that. A lot of the DEW line components used early 60's vintage components right up to the mid/late 1980's.

    Some folks talk about a "baptism by fire." My first encounter with those evil, satanic Klystrons, almost did become a literal baptism by fire!
     
  12. Mike Dimmick

    Mike Dimmick Active Member

    Joined:
    Aug 8, 2008
    963
    247
    0
    Location:
    Reading, UK
    Vehicle:
    Other Hybrid
    Model:
    N/A
    Nah, it's all Windows CE-based mobile computers, most commonly Motorola's MC3000 series and the Windows Mobile MC70. We're barcode specialists.

    Microsoft do claim RTOS capabilities for Windows CE, but I've never written anything for embedded systems.

    I still maintain a couple of projects that were originally written for Symbol's Series 3000 DOS-based handhelds, so to a degree I have to keep my hand in with 16-bit software in tight amounts of memory, but even the phone-sized device I've been working with recently has a 312MHz Marvell PXA270 (ARM architecture) processor, with 32MB of RAM.

    ARM is the best for low power/high performance, but the car probably wouldn't benefit much from cutting down the power requirements of the electronics. 300-400W isn't all that much in the power budget of the car, only 1% of the generator's capability. If there are savings to be made, combining the functions of some of the ECUs - e.g. Hybrid Vehicle ECU and Engine ECU, which are strapped back-to-back in NHW20 - might be a better route.
     
  13. Mjolinor

    Mjolinor New Member

    Joined:
    Oct 20, 2008
    229
    4
    0
    Location:
    Greece
    Vehicle:
    2002 Prius
    So has anyone got in there with test gear.

    Are they assembler / C programmed from the bottom up or are they Linux based.

    Are there any JTAG ports or serial interfaces, a terminal on a serial port would be interesting.
     
  14. jayman

    jayman Senior Member

    Joined:
    Oct 21, 2004
    13,439
    641
    0
    Location:
    Winnipeg Manitoba
    Vehicle:
    2004 Prius
    The Prius uses a "secure" RTOS. As I have an NDA with the company that provides that RTOS that is about as far as I can go

    Sorry
     
  15. jdenenberg

    jdenenberg EE Professor

    Joined:
    Nov 21, 2005
    3,852
    1,854
    1
    Location:
    Trumbull, CT
    Vehicle:
    2020 Prius
    Model:
    LE AWD-e
    Mike,

    That's 0.5hp and since the ICE generates about 20 hp at highway cruise it would account for a 2.5% MPG hit. Low power is worthwhile in a Prius computer.

    JeffD
     
  16. jayman

    jayman Senior Member

    Joined:
    Oct 21, 2004
    13,439
    641
    0
    Location:
    Winnipeg Manitoba
    Vehicle:
    2004 Prius
    I agree, one has to keep in perspective and context, the overall performance requirements vs need for power management

    As an example, the IBM "Roadrunner" supercomputer recently completed* at LANL at a cost of about $130 million. It has around a 2.5 MW power budget, occupies about 6,000 square feet, and can do petaflop calculations. The primary use of this computer will be for nuclear weapons modeling

    What's interesting is that IBM expects a new generation of super computer by 2012 - codenamed "Sequoia" - that will exceed 20 petaflops. Among other things, it will have at least 1.6 petabytes of memory, an energy budget of 3,000 calculations per watt, and occupt about 1/2 the space of Roadrunner

    Naturally, this super computer will be installed at LLNL

    *source: my April 2009 issue of IBM Systems Magazine
     
  17. jayman

    jayman Senior Member

    Joined:
    Oct 21, 2004
    13,439
    641
    0
    Location:
    Winnipeg Manitoba
    Vehicle:
    2004 Prius
    The power budget of the Prius is an interesting question. Oak Ridge Laboratory (During WW II ORNL was a facility for plutonium production, afterwards primarily involved with nuclear medicine, radioisotopes, and energy

    ORNL took a Prius and essentially reverse-engineered it. They stripped the M/G and inverter/converter to determine frictional losses and energy budget.