Electric fan control on Sd4x

A1C calibration can be modified and configured to operate all EFI-SD4x ECUs in 4 cylinder, 6 cylinder and 8 cylinder configurations.
jsa
Posts: 274
Joined: 2021 Feb 16, 15:46
Location: Australia
Vehicle Information: 95 Escort RS Cosworth
2.0 YBP
CARD / QUIK / COSY / ANTI
GHAJ0
SMD-190 / SMD-490 EEC-IV

Binary Editor
ForDiag

Re: Electric fan control on Sd4x

Unread post by jsa »

Code: Select all

 Update_fans:
648c: 9b,f6,74,00         cmpb  R0,[Rf6+74]                                        # 941C fan control enable
6490: d7,01               jne   6493             if (0 = Fan_enble)  {
6492: f0                  ret                    return; }

6493: 37,a1,02            jnb   B7,Ra1,6498      if (Cranking = 0) goto 6498;
6496: 20,c1               sjmp  6559             goto 6559;
6498: 71,df,e9            an2b  Re9,df           Hsfflg = 0;
649b: 9b,f6,77,b0         cmpb  Rb0,[Rf6+77]                                       #  ROM 941F fan high speed temp 2(242DegF)
649f: d6,24               jge   64c5             if (ECT >= Ect_hs2) goto 64c5;
64a1: 9b,f6,76,b0         cmpb  Rb0,[Rf6+76]                                       #  ROM 941E fan high speed temp 1(234DegF)
64a5: de,21               jlt   64c8             if (ECT >= Ect_hs1)  {
64a7: b3,74,21,42         ldb   R42,[R74+21]     R42 = N_byte;
64ab: 9b,f6,78,42         cmpb  R42,[Rf6+78]     
64af: d3,17               jnc   64c8             if ((uns) R42 >= [9420])  {
64b1: a3,74,de,42         ldw   R42,[R74+de]     R42 = Load;                       # engine load (VE? )
64b5: 8b,f6,7a,42         cmpw  R42,[Rf6+7a]     
64b9: d3,0d               jnc   64c8             if ((uns) R42 >= [9422])  {
64bb: b3,74,3f,42         ldb   R42,[R74+3f]     R42 = Mph_FiltH;                  # 2BD - vehicle speed filtered(1) (MPH) 2BC is 8.8 format
64bf: 9b,f6,79,42         cmpb  R42,[Rf6+79]     
64c3: d9,03               jgtu  64c8             if ((uns) R42 <= [9421])  {
64c5: 91,20,e9            orb   Re9,20           Hsfflg = 1; } } } }
64c8: 35,e9,0d            jnb   B5,Re9,64d8      if (Hsfflg = 1)  {
64cb: b3,f6,71,40         ldb   R40,[Rf6+71]     R40 = [9419];
64cf: 9b,72,ce,40         cmpb  R40,[R72+ce]                                       # timer?
64d3: d9,03               jgtu  64d8             if ((uns) R40 <= Edftmr)  {
64d5: 91,08,e9            orb   Re9,8            Hispd = 1; } }
64d8: b3,f6,76,42         ldb   R42,[Rf6+76]     R42 = Ect_hs1;                    # 941E fan high speed temp 1(234DegF)
64dc: 7b,f6,6d,42         sb2b  R42,[Rf6+6d]     R42 -= [9415];
64e0: 98,b0,42            cmpb  R42,Rb0          
64e3: da,03               jle   64e8             if ((uns) R42 < ECT)  {
64e5: 71,f7,e9            an2b  Re9,f7           Hispd = 0; }
64e8: 9b,f6,6c,b0         cmpb  Rb0,[Rf6+6c]                                       #  ROM 9414 fan low speed temp (220DegF)
64ec: da,03               jle   64f1             if ((uns) ECT < Fan_temp)  {
64ee: 91,04,e9            orb   Re9,4            Lospd_ect = 1; }
64f1: b3,f6,6c,42         ldb   R42,[Rf6+6c]     R42 = Fan_temp;                   # 9414 fan low speed temp (220DegF)
64f5: 7b,f6,6e,42         sb2b  R42,[Rf6+6e]     R42 -= [9416];
64f9: 98,b0,42            cmpb  R42,Rb0          
64fc: da,03               jle   6501             if ((uns) R42 < ECT)  {
64fe: 71,fb,e9            an2b  Re9,fb           Lospd_ect = 0; }
6501: 33,e9,09            jnb   B3,Re9,650d      if (Hispd = 0) goto 650d;
6504: b3,f6,75,40         ldb   R40,[Rf6+75]     R40 = Hedfhp;                     # 941D fan high speed enable
6508: 99,01,40            cmpb  R40,1            
650b: df,44               je    6551             if (R40 = 1) goto 6551;
650d: b3,f6,6f,42         ldb   R42,[Rf6+6f]     R42 = [9417];
6511: 7b,f6,70,42         sb2b  R42,[Rf6+70]     R42 -= [9418];
6515: 9b,74,3f,42         cmpb  R42,[R74+3f]                                       # 2BD - vehicle speed filtered(1) (MPH) 2BC is 8.8 format
6519: d1,05               jleu  6520             if ((uns) R42 > Mph_FiltH )  {
651b: 33,ea,02            jnb   B3,Rea,6520      if (Accflg = 0) goto 6520;
651e: 20,06               sjmp  6526             goto 6526; }
6520: 3a,e9,03            jb    B2,Re9,6526      if (Lospd_ect = 1) goto 6526;
6523: 37,c5,04            jnb   B7,Rc5,652a      if (Cfmflag = 1)  {
6526: 71,9f,47            an2b  R47,9f           Fan = 0;
                                                 Hi_fan = 0;                       # R47 bits 5 and 6 OFF (Fans? )
6529: f0                  ret                    return; }

652a: 3b,ea,0c            jb    B3,Rea,6539      if (Accflg = 0)  {
652d: a3,f6,72,40         ldw   R40,[Rf6+72]     R40 = [941a];
6531: 8b,74,98,40         cmpw  R40,[R74+98]                                       # 216 - timer?
6535: d9,02               jgtu  6539             if ((uns) R40 > Acctmr ) goto 6539;
6537: 20,14               sjmp  654d             goto 654d; }
6539: b3,f6,55,40         ldb   R40,[Rf6+55]     R40 = [93fd];
653d: 9b,74,97,40         cmpb  R40,[R74+97]                                       # 215 timer?
6541: d9,0a               jgtu  654d             if ((uns) R40 > Wcotmr ) goto 654d;
6543: b3,f6,6f,40         ldb   R40,[Rf6+6f]     R40 = [9417];
6547: 9b,74,3f,40         cmpb  R40,[R74+3f]                                       # 2BD - vehicle speed filtered(1) (MPH) 2BC is 8.8 format
654b: db,02               jc    654f             if ((uns) R40 >= Mph_FiltH) goto 654f;
654d: 20,10               sjmp  655f             goto 655f;
654f: 20,07               sjmp  6558             goto 6558;
6551: 71,df,47            an2b  R47,df           Fan = 0;                          # R47 bit 5 OFF (Fan? )
6554: 91,40,47            orb   R47,40           Hi_fan = 1;                       # R47 bit 6 ON (Fan? )
6557: f0                  ret                    return;

6558: f0                  ret                    return;

6559: 71,f7,e9            an2b  Re9,f7           Hispd = 0;
655c: 71,fb,e9            an2b  Re9,fb           Lospd_ect = 0;
655f: 91,20,47            orb   R47,20           Fan = 1;                          # R47 bit 5 ON (Fan? )
6562: 71,bf,47            an2b  R47,bf           Hi_fan = 0;                       # R47 bit 6 OFF (Fan? )
6565: f0                  ret                    return
efloth
Posts: 299
Joined: 2021 Feb 15, 22:12
Location: Sacramento CA
Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1

Re: Electric fan control on Sd4x

Unread post by efloth »

Thanks for the input guys. So to find pin 35 in code, I need to orb a bunch of registers until I find the connection to ground activate? Does the other parameter of that opcode reference the bit in that register?
wwhite
Posts: 319
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: Electric fan control on Sd4x

Unread post by wwhite »

I think pin #35 on the 60 pin plug goes nowhere on the circuit board from what I can tell, have to verify.

Pin #34 is a PWM output, on the CPU it is one of the HSO, I believe.
On the circuit board it goes to a location where there is a missing chip.
You would have to make a connection from the CPU pin missing chip location to the trace where pin #34 is.
Not sure if PWM fan control uses another chip, or if it is direct to pin.

I'm not sure if you want PWM or on/off, which would be best??
On/Off is probably easier.
I'm think there is a spare I/O pin on SD48, I'll try and find it today.
efloth
Posts: 299
Joined: 2021 Feb 15, 22:12
Location: Sacramento CA
Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1

Re: Electric fan control on Sd4x

Unread post by efloth »

Let me know what you find. 35 is not connected as you said. I found the end of the line for pin 15. It appears an optional component needs to be installed. Any ideas on what goes here?
PXL_20230110_002036826~2.jpg
I have a relay so On/Off is what I am looking for
wwhite
Posts: 319
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: Electric fan control on Sd4x

Unread post by wwhite »

What is the original code on the SD48 hardware you have?
wwhite
Posts: 319
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: Electric fan control on Sd4x

Unread post by wwhite »

efloth wrote: 2023 Jan 09, 19:24 Let me know what you find. 35 is not connected as you said. I found the end of the line for pin 15. It appears an optional component needs to be installed. Any ideas on what goes here?

PXL_20230110_002036826~2.jpg

I have a relay so On/Off is what I am looking for
EEC-IV with hardware code MA46G have the same PCB as SD4xx, different components, same traces.
MA46G came in 93ish explorers, etc. with MAF.

PIN 15 (60 pin plug) on the Explorer is for MAF. So, that missing component is for MAF.
efloth
Posts: 299
Joined: 2021 Feb 15, 22:12
Location: Sacramento CA
Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1

Re: Electric fan control on Sd4x

Unread post by efloth »

I'll send a pic tomorrow. It is sd48b for sure but don't have the other info. I think pin 39 may be an option but I lost it near the small logic chips in the middle of the board. All the other available pins appear to go nowhere or to missing components.
efloth
Posts: 299
Joined: 2021 Feb 15, 22:12
Location: Sacramento CA
Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1

Re: Electric fan control on Sd4x

Unread post by efloth »

PXL_20230110_164033721.jpg
efloth
Posts: 299
Joined: 2021 Feb 15, 22:12
Location: Sacramento CA
Vehicle Information: 1991 F150 4.9L J1X 80lb Injectors E85
1995 F150 5.8L MOB1

Re: Electric fan control on Sd4x

Unread post by efloth »

So pin 39 just needs a couple smd components and connects through this ic.
PXL_20230110_214615099.jpg
Any ideas on what this chip is? Are we dealing with the on/off or PWM?
wwhite
Posts: 319
Joined: 2021 Feb 16, 15:53
Location: Victoria, BC, Canada
Vehicle Information: 1994 Flarside, XLT, 351w E4OD
SD48b, Quarter Horse, Burn2

Re: Electric fan control on Sd4x

Unread post by wwhite »

I think that chip is connected to CPU pin#43-AVCC, supply voltage for A/D stuff, I wouldn't go there.

Working backwards from the CPU, looks like CPU pin#21(LSO3), pin#23(LSO1) and pin#26(I/O0) are not connected to anything.
Going to verify in software.
Post Reply