Drivetrain (Cooper S) MINI Cooper S (R53) intakes, exhausts, pulleys, headers, throttle bodies, and any other modifications to the Cooper S drivetrain.

Drivetrain MYNES Technical write up... BMW/Siemens Catalyst Monitor Sytem

Thread Tools
 
Search this Thread
 
  #1  
Old 05-21-2009, 05:15 PM
jaytech's Avatar
jaytech
jaytech is offline
2nd Gear
Thread Starter
Join Date: Feb 2009
Location: Irvine, CA
Posts: 132
Likes: 0
Received 0 Likes on 0 Posts
MYNES Technical write up... BMW/Siemens Catalyst Monitor Sytem

I’ve been going through the BMW/Siemens code for some time now, and I am still going through it for over almost 4 years. Having that the BMW/Siemens version for the MINI which has over 2100 routines and subroutines it takes some time to go through it and completely understand what is going on looking at everything in assembly language (mnemonics). Now if we all knew someone at Siemens that can hand over the source code which is written in C programming language, then it wouldn’t take so long to go through and understand.

Why did I want to go through the BMW/Siemens code in the first place? We I didn’t want to fall into the trap of buying some third-party software that didn’t really understand what is going on, but find maps by eye or using an emulator to trace whilst the engine is running to figure out what map is what. This way is still good only if you are going through the code to find maps, and using the emulator to confirm things. It’s not that great for tuning a vehicle, especially the way BMW/Siemens routines for checksum calculations.

Lately I have been working on OBD II diagnosis codes, where they are stored, how does it trigger to store, if the function goes to a fail safe function, and does it trigger a MIL light or not. By this, it has me all over the place within the code. To understand this, you first have to understand the microcontroller and instruction set. So that took me about 8 months to read and understand the microcontroller peripherials and instruction set. So going through the code late hours of the night, I found all the data logging values that are stored in RAM, and then I found the OSC functions (Oxygen Storage Capacity) for Catalyst Monitoring. Here goes:

General description

BMW/Siemens has chosen to fulfill and exceed OBD’s requirement, and it’s based on Oxygen Storage Capacity (OSC):

During a controlled stimuli (special A/F pulses in engine steady state conditions), such as idle and cruising (additive) the downstream O2 sensor signal is analyzed to evaluate the OSC of the catalyst. The OSC is correlated experimentally with the global HC efficiency and HC emission during the cycle. It represents the quantity of oxygen that is really used for the oxidation-reduction by the catalytic converter which is (stored in lean excursion and consumed in the rich excursion).

The Catalyst monitoring is a sequential diagnosis from 34 routines within the code on steady state conditions and this monitoring is intrusive. There are three phases are composing the diagnosis:

• Engine stabilization
• Controlled stimuli-stabilization
• Controlled stimuli-diagnosis



If a problem has occurred with the downstream sensor during the catalyst diagnosis, then that is when the diagnosis for a bad sensor can be determined.

Picture below is a demonstration how the Catalyst Monitoring is done:




I am going to use the same variable names that Siemens use in their source code
VLS_DOWN: Downstream O2 sensor signal
FIL_DOWN_LAM_CAT: filtered signal for DOWN_DYN_CAT (=detection criteria) integration
FIL_DOWN_DYN_CAT: high filtered DW signal for mean richness

During the “Controlled stimuli - diagnosis phase” the downstream sensor activity is measured and corresponds to the OSC of the catalyst. If this activity is high (low OSC) the diagnosis criteria DOWN_DYN_CAT is high.
Another picture to describe this function:




By going through the code and if one of the monitoring conditions is not met or if the mass airflow deviates too much from the value stored at the start of this test phase, the test is interrupted sets a bit in RAM, and clears some other bits in RAM and the system returns to the < out of diagnosis > state.

Downstream sensor diagnosis phase:

If throughout the Controlled Stimuli phase, repeated several times setting bitfields in RAM at a certain address, and the function returns to checks again. The downstream sensor has not moved, the A/F closed loop mode is delayed in order to test the sensor.

If the downstream sensor sends a signal indicating a rich (lean) mixture, the injection time is forced to lean (rich) until sensor switches over or until the end of delay. That is one of the causes for the P2096 code when this delay expires or returns a failed sensor.

If an electrical failure (short circuit and open circuit of signal and heater) are treated as <comprehensive components>.
If the catalyst diagnosis has been done without any problems, the downstream sensor is treated as <good> and a sensor diagnosis is not required.

If the monitoring conditions for the diagnosis are fulfilled, the systems informs the OBD II sequencer code and waits for it’s authorization to start catalyst diagnosis. The OBD II sequencer manages the priorities in case of multiple diagnosis requests such as (catalyst diagnosis and O2 sensor diagnosis) and others. I found that in the code where all that happens and understand the threshold that are in place. Trust me, BMW/Siemens doesn’t leave any room for harder any error like other car manufacturers and still meet OBD II requirements.

And what causes these problems are not bad cats, just the high flow ones let some unfiltered gas hit that downstream O2 sensor. So replacing cats, and replacing headers are unnecessary and doing a software fix to lift these threshold checks would be the fix.

Here is a code sniplet from my disassembly (but it's been altered not show the address of this function).

 
  #2  
Old 05-21-2009, 05:20 PM
Nazrin's Avatar
Nazrin
Nazrin is offline
4th Gear
Join Date: Jan 2009
Posts: 520
Likes: 0
Received 0 Likes on 0 Posts
Great technical post as usual Jason....
 
  #3  
Old 05-21-2009, 05:29 PM
Nazrin's Avatar
Nazrin
Nazrin is offline
4th Gear
Join Date: Jan 2009
Posts: 520
Likes: 0
Received 0 Likes on 0 Posts
Jason, just a simple question:

Im running a decat header..so this means all the high flow unfiltered gas passes thro the downstream O2 sensor right?

But how come there's no codes in my car?
 
  #4  
Old 05-21-2009, 05:35 PM
jaytech's Avatar
jaytech
jaytech is offline
2nd Gear
Thread Starter
Join Date: Feb 2009
Location: Irvine, CA
Posts: 132
Likes: 0
Received 0 Likes on 0 Posts
Your region is not in EPA tight standards, so that function is not so tight as in the USA because of California emission laws.
 
  #5  
Old 05-21-2009, 05:40 PM
Nazrin's Avatar
Nazrin
Nazrin is offline
4th Gear
Join Date: Jan 2009
Posts: 520
Likes: 0
Received 0 Likes on 0 Posts
Really? I would have tot all the MCS around the world would have similar ECUs....

So, that means I can run any header I want and not get the dreaded code?
 
  #6  
Old 05-21-2009, 05:41 PM
silversmoke06's Avatar
silversmoke06
silversmoke06 is offline
Banned
Join Date: Mar 2008
Location: Lake forest, California
Posts: 922
Likes: 0
Received 0 Likes on 0 Posts
Why did you cover the adress?
 
  #7  
Old 05-21-2009, 05:43 PM
jaytech's Avatar
jaytech
jaytech is offline
2nd Gear
Thread Starter
Join Date: Feb 2009
Location: Irvine, CA
Posts: 132
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by Nazrin
Really? I would have tot all the MCS around the world would have similar ECUs....

So, that means I can run any header I want and not get the dreaded code?
Hardware is the same, software is different, same as I said about the GP software in previous years example.
 
  #8  
Old 05-21-2009, 05:46 PM
D-MAN's Avatar
D-MAN
D-MAN is offline
5th Gear
iTrader: (1)
Join Date: Feb 2008
Location: Australia
Posts: 624
Received 0 Likes on 0 Posts
Great info
 
  #9  
Old 05-21-2009, 05:46 PM
jaytech's Avatar
jaytech
jaytech is offline
2nd Gear
Thread Starter
Join Date: Feb 2009
Location: Irvine, CA
Posts: 132
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by silversmoke06
Why did you cover the adress?
I posted that function as a courtesy, I will let you figure why I covered the address.
 
  #10  
Old 05-21-2009, 05:52 PM
Nazrin's Avatar
Nazrin
Nazrin is offline
4th Gear
Join Date: Jan 2009
Posts: 520
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by jaytech
Hardware is the same, software is different, same as I said about the GP software in previous years example.
Okay, so meaning I can run any header I want and not get the code?

Anyways, more importantly...How will this difference in software affect the remote tune that'll you be doing for my car? (in the near future)....
 
  #11  
Old 05-21-2009, 06:54 PM
ED955S's Avatar
ED955S
ED955S is offline
5th Gear
iTrader: (1)
Join Date: May 2007
Location: Vancouver, BC, Canada
Posts: 950
Received 2 Likes on 1 Post
Who else in this forum or vendor can have a brilliant explanation and analysis like that. That's the difference in copying your exam or homework than actually studying it yourself. Even if you fail, you know what went wrong and learn from your mistakes.
 
  #12  
Old 05-21-2009, 08:00 PM
JIMINNI's Avatar
JIMINNI
JIMINNI is offline
Banned
Join Date: Nov 2006
Location: Fresno Ca.
Posts: 4,862
Likes: 0
Received 3 Likes on 3 Posts
Very cool Jason So how you doing with the R56? It's a Bosch ECU correct? I'm asking because my wife will be driving one soon It actually just went thru the Panama Canal, well the ship did
 
  #13  
Old 05-21-2009, 08:19 PM
jaytech's Avatar
jaytech
jaytech is offline
2nd Gear
Thread Starter
Join Date: Feb 2009
Location: Irvine, CA
Posts: 132
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by JIMINNI
Very cool Jason So how you doing with the R56? It's a Bosch ECU correct? I'm asking because my wife will be driving one soon It actually just went thru the Panama Canal, well the ship did
Coming along really good (R56) I love how much RAM it comes with. Actually finding all the OBD II codes within this ECU too, and how to adjust the maps in RAM whilst the engine running instead of shutting off the car and flashing it. It's a really cool ECU after you get pass the security. The lambda coding is really cool, almost like MoTeC's self-tuning feature. Good stuff! I will leave as that for now.
 
  #14  
Old 05-21-2009, 08:28 PM
Some Guy's Avatar
Some Guy
Some Guy is offline
6th Gear
Join Date: Aug 2007
Location: CT
Posts: 1,798
Likes: 0
Received 11 Likes on 8 Posts
Originally Posted by jaytech
If the downstream sensor sends a signal indicating a rich (lean) mixture, the injection time is forced to lean (rich) until sensor switches over or until the end of delay. That is one of the causes for the P2096 code when this delay expires or returns a failed sensor.
This interests me as this is a code I have been fighting with for the last year and a half. So what you are saying is that p2096 is caused by a bad 02 sensor? Your wording has me a bit confused. Let me see if the explanation I give back is what you were trying to convey:

"If the downstream sensor gives a rich code, the engine is leaned out until the sensor goes over to lean. If it doesn't go over to lean by the end of the delay before closed loop mode the sensor is diagnosed as bad."

Is that what you are saying? It's just that I have had my car to the dealer three times for this code (soon to be a fourth) and they have yet to actually fix the problem. From what it sounds like it basically indicates a bad downstream O2 sensor.


In any event this is cool info. Our Cats and the related emission systems are basically like mobile science labs.
 
  #15  
Old 05-21-2009, 09:09 PM
astrochex's Avatar
astrochex
astrochex is offline
6th Gear
Join Date: Oct 2002
Location: Anaheim, CA
Posts: 1,731
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by jaytech
And what causes these problems are not bad cats, just the high flow ones let some unfiltered gas hit that downstream O2 sensor. So replacing cats, and replacing headers are unnecessary and doing a software fix to lift these threshold checks would be the fix.
So the proper software fix will let you have high flow cats without the potential of throwing codes?

When do you start testing? Will you start with a car with aftermarket exhaust components that throws codes?

Good detective work.
 
  #16  
Old 05-21-2009, 10:08 PM
ez1putt's Avatar
ez1putt
ez1putt is offline
3rd Gear
Join Date: Dec 2005
Location: Chandler AZ
Posts: 151
Likes: 0
Received 0 Likes on 0 Posts
Jason this is why you hold the moniker "TUNER"
 
  #17  
Old 05-21-2009, 10:21 PM
Longboard Mini's Avatar
Longboard Mini
Longboard Mini is offline
6th Gear
iTrader: (1)
Join Date: Feb 2006
Location: Rancho Santa Margarita
Posts: 2,438
Likes: 0
Received 1 Like on 1 Post
Originally Posted by Some Guy
This interests me as this is a code I have been fighting with for the last year and a half. So what you are saying is that p2096 is caused by a bad 02 sensor? Your wording has me a bit confused. Let me see if the explanation I give back is what you were trying to convey:

"If the downstream sensor gives a rich code, the engine is leaned out until the sensor goes over to lean. If it doesn't go over to lean by the end of the delay before closed loop mode the sensor is diagnosed as bad."

Is that what you are saying? It's just that I have had my car to the dealer three times for this code (soon to be a fourth) and they have yet to actually fix the problem. From what it sounds like it basically indicates a bad downstream O2 sensor.


In any event this is cool info. Our Cats and the related emission systems are basically like mobile science labs.
So your running the stock header and cat and are getting this same code? Is that correct.

LB
 
  #18  
Old 05-21-2009, 11:00 PM
ez1putt's Avatar
ez1putt
ez1putt is offline
3rd Gear
Join Date: Dec 2005
Location: Chandler AZ
Posts: 151
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by silversmoke06
Why did you cover the adress?
It's to stop the Revolution MIMIC Work crew.
 
  #19  
Old 05-21-2009, 11:17 PM
silversmoke06's Avatar
silversmoke06
silversmoke06 is offline
Banned
Join Date: Mar 2008
Location: Lake forest, California
Posts: 922
Likes: 0
Received 0 Likes on 0 Posts
Regardless of whose side you’re on I just fine it rude and juvenile to call each other names.
Thanks for the Reply.
 
  #20  
Old 05-22-2009, 07:33 AM
Bigshot's Avatar
Bigshot
Bigshot is offline
6th Gear
Join Date: Jul 2008
Posts: 1,513
Likes: 0
Received 1 Like on 1 Post
Originally Posted by silversmoke06
Regardless of whose side you’re on I just fine it rude and juvenile to call each other names.
Thanks for the Reply.


Please lets not go down that path...
 
  #21  
Old 05-22-2009, 11:23 AM
Wake|MCS's Avatar
Wake|MCS
Wake|MCS is offline
6th Gear
iTrader: (1)
Join Date: Jul 2005
Location: Miami, FL
Posts: 2,744
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by silversmoke06
Regardless of whose side you’re on I just fine it rude and juvenile to call each other names.
Thanks for the Reply.
Whose side you're on? Lmao..

I'm with Bigshot, lets not bring that garbage into this thread..
 
  #22  
Old 05-22-2009, 11:42 AM
Mini_Joe's Avatar
Mini_Joe
Mini_Joe is offline
3rd Gear
Join Date: Sep 2008
Location: Los Angeles
Posts: 188
Likes: 0
Received 0 Likes on 0 Posts
Jason,

Thanks for the details.

So in your opinion, is it possible that the ECU will adjust to constant P0420, P0036 and P0039 codes over time?

I've heard "adaptation tables" on the forum recently, but haven't been following it that closely to know if this was you who mentioned it, or someone else...

What I do know is that my car appears to be running much richer now, in the last 4k miles or so, based on the condition of the stock tailpipes and black soot that now covers my rear hatch extensively.

I also get these three codes on a regular basis now.
Up till now, I considered them nuisances only, but with the evidence of it running rich, I'm not too sure now.

Any chance that clearing the codes will also reset the adaptation tables?
If not, what tools would be required to do so???

Thanks (and hopefully not too far off topic).
 
  #23  
Old 05-22-2009, 01:00 PM
Mike@Mynes's Avatar
Mike@Mynes
Mike@Mynes is offline
Banned
iTrader: (2)
Join Date: Sep 2007
Posts: 350
Likes: 0
Received 0 Likes on 0 Posts
Joe, the pre-cat and post-cat O2's actually play a major role in the ecu's adaptation values... anybody who tells you otherwise don't truly understand the Mini Ecu and don't know what they are talking about.

Do the following:
- clear your codes with a scan tool
- clear the adaptation values by resetting your ecu
(https://www.northamericanmotoring.co...ni-viagra.html)

Check with MDBstat, he's having the same issues as you with the car running rich due to ecu's over compensation due to the CEL lights.

Hope this helps.
mike

Originally Posted by Mini_Joe
Jason,

Thanks for the details.

So in your opinion, is it possible that the ECU will adjust to constant P0420, P0036 and P0039 codes over time?

I've heard "adaptation tables" on the forum recently, but haven't been following it that closely to know if this was you who mentioned it, or someone else...

What I do know is that my car appears to be running much richer now, in the last 4k miles or so, based on the condition of the stock tailpipes and black soot that now covers my rear hatch extensively.

I also get these three codes on a regular basis now.
Up till now, I considered them nuisances only, but with the evidence of it running rich, I'm not too sure now.

Any chance that clearing the codes will also reset the adaptation tables?
If not, what tools would be required to do so???

Thanks (and hopefully not too far off topic).
 
  #24  
Old 05-22-2009, 01:11 PM
mdbsat's Avatar
mdbsat
mdbsat is offline
5th Gear
iTrader: (5)
Join Date: Aug 2008
Location: San Antonio
Posts: 605
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by Mike@Mynes
Joe, the pre-cat and post-cat O2's actually play a major role in the ecu's adaptation values... anybody who tells you otherwise don't truly understand the Mini Ecu and don't know what they are talking about.

Do the following:
- clear your codes with a scan tool
- clear the adaptation values by resetting your ecu
(https://www.northamericanmotoring.co...ni-viagra.html)

Check with MDBstat, he's having the same issues as you with the car running rich due to ecu's over compensation due to the CEL lights.

Hope this helps.
mike
I will admit I was very skeptical about the reseting of the ECU really doing anything. I am pleasantly suprised. Gas mileage back up, car performing better. As for the scan tool, the scan gauge will not cleat the code I have.
 
  #25  
Old 05-22-2009, 01:53 PM
Mini_Joe's Avatar
Mini_Joe
Mini_Joe is offline
3rd Gear
Join Date: Sep 2008
Location: Los Angeles
Posts: 188
Likes: 0
Received 0 Likes on 0 Posts
Originally Posted by Mike@Mynes
Do the following:
- clear your codes with a scan tool
- clear the adaptation values by resetting your ecu
(https://www.northamericanmotoring.co...ni-viagra.html)
Hope this helps.
mike
Mike,
I hadn't heard of anything being required besides resetting the idiot light.

Very cool!

Thanks!
 


Quick Reply: Drivetrain MYNES Technical write up... BMW/Siemens Catalyst Monitor Sytem



All times are GMT -7. The time now is 02:12 PM.