22.10.2013 Views

TECHNICAL NOTES ON THE EEC-IV MCU - Auto diagnostics

TECHNICAL NOTES ON THE EEC-IV MCU - Auto diagnostics

TECHNICAL NOTES ON THE EEC-IV MCU - Auto diagnostics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Eectch98-Part4.fm<br />

goes to an HSO port. Currently, there is a piece of code that is added to the<br />

interrupt routine that allows sending an address to the <strong>EEC</strong><strong>IV</strong> via the STI line and<br />

then echoes out the result from the STO line. It needs two hooks into the <strong>EEC</strong> -- one<br />

for a periodic interrupt (for the STO data) and the other for the HSI interrupt.<br />

WARNING! The sensor +5 volts is the SAME as the CPU +5 volts. Any accidental connection<br />

of the +5 ref of the TPS sensor to the battery via a test light, and<br />

spitzensparken and poppencorken.<br />

The biggest problem I can see when re-calibrating an <strong>EEC</strong><strong>IV</strong> is that there is virtually<br />

no way of figuring out what it is up to. Perhaps a ’scan port’ patch would be<br />

useful? How I think you would need to do that is enable the EER, and modify a few<br />

bytes of Ford code to get a hook for ours. Then out of the STO you can get scan tool<br />

data like you see on a GM. The limitation here is someone needs to figure out the<br />

use of any interesting memory locations and the scaling factors.<br />

This means when you get data, the SES lamp flickers.<br />

I think J3 pin 12 MRESET and 22 TSTSTB are the ones to use with the pause pin to<br />

read the ROM from J3. You have the unit full on and in pause mode by putting a low<br />

on J3 pin 8 and then putting a low on pin 12 and releasing (to reset memory program<br />

counter I guess) and then keep strobing pin 22 TSTSTB low and reading MB after each<br />

strobe and it seems to be reading the ROM contents. It appears STROBE pin 21 is for<br />

reading and control from CPU but MSTROBE is for memory dump.<br />

Another contributor wrote:<br />

In my opinion, the whole memory was set up to be high speed, yet only 8 bits wide.<br />

A conventional computer has to use the bus to apply an address, and then another bus<br />

to read the data at that address. It appears that, in an <strong>EEC</strong>, the CPU can just<br />

request "the next program byte" -- as pointed to by the "Slave Program Counter" so<br />

there is no need to send an address. There is a second register, the "Data Address<br />

Register", which is in charge of the data. It, however, doesn’t increment by<br />

itself. The advantage of having both of these registers is that one can read an<br />

instruction, download the address of some data that’s wanted, read the data, and<br />

then read the next instruction WITHOUT SENDING AN ADDRESS FOR THAT NEXT INSTRUC-<br />

TI<strong>ON</strong>. I still have to be able to load that Slave PC with another address though, in<br />

the case of jumps and interrupts and stuff like that.<br />

I’m guessing that getting the high and low bytes of data is even easier than I’m<br />

showing. Why else would they call it a "16K X 16bit ROM"? If you have to ask for<br />

the high and low bytes separately it would be more accurate to call it a "32K X 8bit<br />

ROM"<br />

<strong>EEC</strong>-<strong>IV</strong> Technical Notes: External Control 55 last edited: 9/29/98

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!