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
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