The FIAT Forum
iNETFX Domain Registration - COM/NET/ORG £6.50 a year!

Go Back   The FIAT Forum > FIAT Cars > Cinquecento / Seicento


Reply
 
Thread Tools Search this Thread
Old 17-01-2008   #31
 
Join Date: Jan 2008
Location: Belfast
Posts: 29
Thanks: 0
Trader Rating: (0)
United Kingdom 
Re: 6F/16F Cinque/Sei ECU Reader Project

That interface looks good. I can't see any problem with it working providing the ECU output is open collector and the input expects 0-12V.

If someone can tell me for sure that this is how the 16F behaves I would love to know rather than flog a dead horse / ECU .

I think there is only so far you can go though if you were to connect this to a computer serial port directly.

The computer's UART will be able to receive the ISO code @ 1200 baud (a standard PC speed) and send out the initialization sequence, but once the ECU switches to 7812.5 baud, you will not be able to set a standard serial port to that speed in order to communicate with it.

My intention is to connect a PIC to the ECU and handle the initialization and speed changes, using "bit-banging" software routines to achieve 7812.5 baud. (This part I have already done)

Then use the PICs inbuilt UART to connect to a PC at something like 9600 baud and act as a middle man between the two.
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

CinqSporting97 is offline  
Reply With Quote
Old 17-01-2008   #32
 
Join Date: Jun 2006
Posts: 431
Thanks: 17
Trader Rating: (0)
reddy4bed has donated! 
Re: 6F/16F Cinque/Sei ECU Reader Project

Ive read lots of 16F and this i/f always works.
You do not need to bother with PIC interface etc, you can set the port baud rate to almost anything. I've sent a working prog (sorry its DOS only) with the assembler file so you can write a better one! the method to change baud rate is in there, also look up the serial port chip on web.
Attached Files
File Type: zip PUN.zip (3.7 KB, 169 views)
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

reddy4bed is offline  
Reply With Quote
Old 17-01-2008   #33
 
Join Date: Jan 2008
Location: Belfast
Posts: 29
Thanks: 0
Trader Rating: (0)
United Kingdom 
Re: 6F/16F Cinque/Sei ECU Reader Project

It is encouraging that you have interfaced with 16Fs in the past. You are quite right, the assembly code you posted sets up the serial port to 7680 baud after the initialization sequence. That's about 98% accurate, which isn't bad. The reason I was going for a PIC solution was that I didn't know how tolerant the ECU was to inaccurate baud rates.

The PC route would be good for laptop based diagnostics, while the PIC would be suitable for a handheld scanner / real time sensor value display, etc.

Once I get the oscilloscope on the line I will now better what is going on.
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

CinqSporting97 is offline  
Reply With Quote
Old 17-01-2008   #34
 
Join Date: Aug 2005
Location: Ireland
Posts: 356
Thanks: 19
Trader Rating: (0)
Ireland 
Re: 6F/16F Cinque/Sei ECU Reader Project

howye lads..

another interesting discussion on diagnostics. I've been looking to mess with FIAT ECU's and diagnostics for a while now too. If you were looking for a handy interface to avoid having to mess with baud rates, its possible the OE2700 universal tester chip for the mobyDic interface might do the job. its made by a guy called bulent ozen, in turkey, at www.ozenelektronic.com.
It would let one concentrate on the higher level software.

I have the original mobyDic interface, for EOBD. which seems to connect to most cars I've tried it with, except a few petrol FIATS.

he also has a FIAT tester chip which plugs into the original mobyDic interface and works with his own software. It seems to do airbags and other stuff as well, which would be nice.. Its price has come down a bit, and I'd gladly buy one to test if the guy would just answer an email !. he has some useful info there as well.

as for a normal serial interface I'm pretty sure that the standard 12 volt K-line interface is what the marelli ECU's use.

Cinqsporting97, you say you would use bit banging for the serial, but would it not be easier to set the PIC uart to the required baud rate ?. Of course it gets tricky with crystal choice when you are dealing with funny baud rates.

Asteris, you could try the trial download of WINOLS to try and discover the map locations. It tries to identify maps, by looking for patterns. works fairly well too, although I only tried it on JTD and other diesel maps.


Owen.
__________________
Faster Horses, Younger Women, Older Whiskey and More Money.

'99 Bravo GT TD100 and '01 Bravo JTD100 (remapped )
stylers is offline  
Reply With Quote
Old 18-01-2008   #35
 
peteu's Avatar
 
Join Date: Mar 2002
Location: .
Posts: 50
Thanks: 1
Trader Rating: (0)
peteu has donated! 
Re: 6F/16F Cinque/Sei ECU Reader Project

Hi Cinqsporting97, sorry for the delay in replying, had a busy day yesterday.
Originally Posted by CinqSporting97 View Post
Thanks peteu,

The circuit diagram you have attached does seem to confirm that the ECU outputs TTL levels to the interface. If this is the case then my ECU is doing something strange.

I have definitely obtained a reading of just over 10volts repeatedly, between pin 3 (K) and GND.
I dont know much about the cinq ecu, and the rest of this is from what I can remember from 5 years ago with the coupe, but the coupe ecu definately outputs ttl levels. I'd imagine the cinq is the same, but then again it is a fiat!

I am not sure that the circuit diagram attached though will work as expected, but anyone please feel free to correct me if I am wrong.

AFAIK, the K line is the data output from the ECU - the L line in the data input to the ECU.

The pins on the MAX202 and MAX232, etc are labelled from the perspective of the TTL (the ECU) side of the chip . i.e. T1IN is the TTL input (going towards the MAX chip) for transmission channel 1. T1OUT is the RS232 output of transmission channel 1. R1IN is the RS232 input of reception channel 1 and R1OUT is the TTL output (going to the ECU) of reception channel 1.

That is, whenever the ECU transmits on the K line, the K line is connected to T1IN, the MAX chip converts this to RS232, outputs it on T1OUT and T1OUT is connected to the receive pin on the computer serial port.

In the attached diagram the L line is connected to T2IN, meaning that the ECU should be transmitting on the L line. The K line is connected to R2OUT, indicating that the ECU will receive on the K line.

It is my opinion that these two lines have been mixed up and K should go to T2IN and L to R2OUT. The RS232 side of things looks fine.

Can someone confirm my assumptions about the direction of the K and L lines and the pin assignments for the MAX202/232?
Hmm yes you are right, looking at it the K and L lines are the wrong way round on the diagram above, the attached diagram here is from the max202 spec sheet and shows the chip pin labelling.

peteu, it would be great if you could check your K line voltage. However, if the output is indeed TTL it would be quite possible to get a reading of 0v with the ignition on, when the K line is idling (not outputing the ISO code).

What I mean to say is you might miss the voltage flickering up to 5V as the ECU outputs the ISO code and then falls back to zero. Make sure you can see the multimeter clearly whenever you turn on the ignition.
If I can get my communications issues cleared up I would be more than happy to start developing a device like barnacle's widget.
I'll try and get out this afternoon whilst it's still light and have a go measuring the k-line voltage
Attached Thumbnails
Click image for larger version

Name:	max202.jpg
Views:	107
Size:	93.1 KB
ID:	36720  
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

peteu is offline  
Reply With Quote
Old 19-01-2008   #36
 
Join Date: Jun 2006
Posts: 431
Thanks: 17
Trader Rating: (0)
reddy4bed has donated! 
Re: 6F/16F Cinque/Sei ECU Reader Project

If you look at the max202 info you will see that there is an inverted output,
ie when the rs232 line is idle (-12v) the ttl o/p is idle at +5v. Likewise when
the ecu is at idle its tx line will be high but at a shifted level, believe me I've done loads of testing on them. If the crossover point at the i/p to ecu is 7v then ttl logic is not going to work without shifting.
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

reddy4bed is offline  
Reply With Quote
Old 21-01-2008   #37
 
Join Date: Jan 2008
Location: Belfast
Posts: 29
Thanks: 0
Trader Rating: (0)
United Kingdom 
Re: 6F/16F Cinque/Sei ECU Reader Project

I had a chance to connect my 16F ECU to an oscilloscope at the weekend and I can confirm that there is nothing coming out of either the K line or L line on "Key ON", just a steadyish (fuel pump noise, etc) 10-11v.

So the ISO code is not being transmitted as the 16F specification says.

I can see two different explanations of this:
  • either the diagnostic lines are fried and just will never output anything ever again, or
  • The ECU is using a different protocol.
I have done a little bit of research into this and it seems that around 1997 Fiat started to implement it's own proprietary protocol based on ISO9141 through the 3 pin connector.

My cinq was one of the last run sold in 1997, before they started selling the Seicento.

And it seems that the early Puntos with 16F ECUs did use the Fiat 9141 protocol.

So things are stacking up in favour of the 9141 protocol, the car was made in 97 when the protocol change seems to have occurred, the ECU is capable of doing it as the same box in the Punto uses 9141 and most importantly 9141 does not output an ISO code on Key ON.

In the Fiat 9141 protocol the ECU must be "woken up" by sending an initialization sequence a 5 (yes five) baud. At which point the ECU then sends out the ISO code.

The tester then has to manipulate this ISO code in some way and send it back to the ECU for it to enter diagnostic mode.

There are a few problems in testing this theory, the main one being that the wake up sequence is different for different ECUs and I'm not sure what it should be for the cinq.

Its usually just a 7bit number sent at 5 baud with odd parity, 1 start bit and 1 stop bit. So that leaves me with a maximum of 127 codes to try. All I need to do now is write the software and hope the ECU doesn't lock me out after three attempts.

Does anyone have any thoughts?

Have you ever interfaced to a 16F in a Punto using the Fiat 9141 protocol?

Peteu, how did you get on measuring your K line voltage?
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

CinqSporting97 is offline  
Reply With Quote
Old 21-01-2008   #38
 
Join Date: Jun 2006
Posts: 431
Thanks: 17
Trader Rating: (0)
reddy4bed has donated! 
Re: 6F/16F Cinque/Sei ECU Reader Project

Doubt if you have screwed the ecu. Its unlikely (but possible)to change the system on the same basic ecu, are you sure you have it connected ok?.
I've sent a general layout for bench use, no need for the relay or immo yet.
ps sorry about the rubbish scree grabber!.
Attached Files
File Type: pdf immo.PDF (9.2 KB, 197 views)
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs


Last edited by reddy4bed; 21-01-2008 at 13:06.
reddy4bed is offline  
Reply With Quote
Old 21-01-2008   #39
 
Join Date: Jan 2008
Location: Belfast
Posts: 29
Thanks: 0
Trader Rating: (0)
United Kingdom 
Re: 6F/16F Cinque/Sei ECU Reader Project

Thanks for that layout, it will come in very handy. I am (nearly) 100% sure it was connected correctly as I did the testing with the ECU in the car (which was starting and running fine).

I know that these systems are designed to withstand all kinds of abuse, such as prolonged shorting to GND / VBatt, etc so I too think it's unlikely that the ECU is damaged (but it's always a possibility).

As the Punto uses the same ECU and has a different protocol I think it's worth testing to see if the late model cinqs use Fiat 9141 too.
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

CinqSporting97 is offline  
Reply With Quote
Old 21-01-2008   #40
 
peteu's Avatar
 
Join Date: Mar 2002
Location: .
Posts: 50
Thanks: 1
Trader Rating: (0)
peteu has donated! 
Re: 6F/16F Cinque/Sei ECU Reader Project

Hi Cinqsporting,

I managed to get round to testing the output from my k-line, and i was getting 10-11v (varying a bit) on the multimeter at key on. My car is a 1997 sporting also.
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

peteu is offline  
Reply With Quote
The following user says "Thank You!" to peteu for this useful post:
CinqSporting97 (21-01-2008)
Old 21-01-2008   #41
 
Join Date: Jan 2008
Location: Belfast
Posts: 29
Thanks: 0
Trader Rating: (0)
United Kingdom 
Re: 6F/16F Cinque/Sei ECU Reader Project

Thanks peteu,
When you say "varying a bit" do you mean that the voltage just drops a little until the fuel pump stops running or does it drop down to say 6-7v for a second or two and then stabilise at 10-11v?
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

CinqSporting97 is offline  
Reply With Quote
Old 21-01-2008   #42
 
peteu's Avatar
 
Join Date: Mar 2002
Location: .
Posts: 50
Thanks: 1
Trader Rating: (0)
peteu has donated! 
Re: 6F/16F Cinque/Sei ECU Reader Project

It was fluctuating around 10.5v but not dropping any lower than 10. I didn't measure for long enough for the pump to stop i dont think.
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

peteu is offline  
Reply With Quote
Old 31-01-2008   #43
 
Join Date: Jan 2008
Location: Belfast
Posts: 29
Thanks: 0
Trader Rating: (0)
United Kingdom 
Re: 6F/16F Cinque/Sei ECU Reader Project

I have an update on my progress with the reader. Last night I decided to remove the ECU from the car and bench test it. I took it out and connected it to a battery and 10MHz oscilloscope, and what do you know I got a signal out on the K line when power was applied.

The last time I had it out I didn't have access to an oscilloscope and the time I tested it in the car the electrical noise from the fuel pump etc made the signal impossible to see. But last night with a clean DC supply and no noisy motors on the same line I could see the signal very clearly.

I still had my PIC circuit I talked about earlier hooked up to a MAX232 to interface it with my PC. So I made a 12V to 5V level shifter from a N Channel MOSFET so that I could connect one of the input pins on the pic to the K line.

I then used the pic to read the K line continuously @ 1200 baud and output the results at 56k baud to the PC. This is all overkill I know I could've just connected the level shifter to an input pin on the MAX232 and set the PC comm port to 1200, but I want to use the PIC circuit as a stand alone reader later.

When I turned on the ECU, I got the ISO code displayed on screen (through a little app I wrote to display binary comm port data) exactly as described in the spec.

I can now confirm a few things from the 16F technical spec:
  1. The line voltages are 0-12V (approximately)
  2. The K line idles high @ 12V through an internal pullup resistor
  3. The K line seems to be an open drain output.
  4. The ISO code is output at 1200 baud, 1 start bit, 8 data bits and 1 stop bit.
  5. The K line is positive logic, i.e. 12V is logic state one, 0V is logic state zero.
  6. The 16F ECU (at least my one, late 1997) does not use the Fiat 9141 protocol.
I know it says all of this in the document but I can now say that it's correct. Thanks arse!

That's all I managed to do last night, but it's very encouraging as it proves that the hardware is working and the ECU is not fried.

I now hope to reprogram the PIC with code to setup communication with the ECU and start reading data.

I'll keep you all informed on how it goes.
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs


Last edited by CinqSporting97; 31-01-2008 at 11:16.
CinqSporting97 is offline  
Reply With Quote
Old 03-02-2008   #44
 
Join Date: Jan 2008
Location: Belfast
Posts: 29
Thanks: 0
Trader Rating: (0)
United Kingdom 
Smile Re: 6F/16F Cinque/Sei ECU Reader Project

Ok folks, I have good news.

After some initial problems communicating with the ECU in the car (mainly with the software), I think I have cracked it.

I have got the ISO code out on Key ON, sent the init sequence and talked to the ECU through a PIC at 7812.5 baud.

I read the battery voltage, throttle position, non-validated errors, validated errors, entered active diagnostics mode, run the fuel pump as part of AD mode, and cleared the error memory.

I've tried a few cycles of this and it all works consistently.

At the minute I am running it through a pretty basic interface, that outputs hexadecimal data and allows me to request data from the ecu by typing in the hex code for the data I want. So it's not exactly very elegant, but it works for testing.

I now want to knock up a GUI interface for the laptop that will be a bit more streamlined.

A basic overview of what I've done is attached below.

Is anyone still interested in developing the ECU reader, I would like to get some input on features, etc?
Attached Thumbnails
Click image for larger version

Name:	CinqDiagOverview.jpg
Views:	120
Size:	23.8 KB
ID:	37756  
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

CinqSporting97 is offline  
Reply With Quote
Old 04-02-2008   #45
cc1
 
Join Date: Feb 2006
Location: Nottingham
Posts: 988
Thanks: 10
Trader Rating: (0)
cc1 has donated! United Kingdom 
Re: 6F/16F Cinque/Sei ECU Reader Project

I wish I was clever........
__________________
FIAT Forum Useful Links:
Donate to FF | Buy FF Merchandise | Classifieds | FF Insurance | How-to Guides | FAQs

cc1 is offline  
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
The FF ECU Reader...? ben Lets Talk FIAT 37 29-12-2006 19:25
(T) ECU Fault Code Reader hangten Bravo / Brava 3 29-09-2003 02:57


All times are GMT +1. The time now is 08:24.

Copyright ©2002 - 2009 FIAT Forum
Proudly hosted by iNETFX Message Boards and Forums Directory