ALDL Serial (TTL) Question
#1
ALDL Serial (TTL) Question
Hey guys... this is a great site, and this is my first post for something I haven't been able to find out myself. I'm investigating building an ALDL datalogger for iPhones. Nothing fancy at first, probably just for dumping the data frames to the internal flash for later download. Maybe later I can build a dashboard UI, but for now, I just want the ECM's data stream.
As I understand it, ALDL's datastream (at least for my '7427) is 8192 baud 5V TTL. The iPhone is 3.3V TTL, which should be a simple level conversion, using something like the LM1117 chip and a couple of caps. I've seen some ALDL homebrew schematics that use the PC's TX line... is this necessary? If I just jump the ALDL's diagnostic pin to ground with a 10kohm resistor, I can effectively put the ECM into datastream mode, correct? Then all I need is the ALDL TX => iPhone RX level converter and I'm set? If I were to desire the iPhone to enable the datalogging mode through software (rather than a 10kohm resistor), what would be required of the iPhone's TX pin?
This is not an iPhone-specific question, it can be applied to any datalogger device that happens to require 3.3V (or even 5V) TTL input.
Thanks!
As I understand it, ALDL's datastream (at least for my '7427) is 8192 baud 5V TTL. The iPhone is 3.3V TTL, which should be a simple level conversion, using something like the LM1117 chip and a couple of caps. I've seen some ALDL homebrew schematics that use the PC's TX line... is this necessary? If I just jump the ALDL's diagnostic pin to ground with a 10kohm resistor, I can effectively put the ECM into datastream mode, correct? Then all I need is the ALDL TX => iPhone RX level converter and I'm set? If I were to desire the iPhone to enable the datalogging mode through software (rather than a 10kohm resistor), what would be required of the iPhone's TX pin?
This is not an iPhone-specific question, it can be applied to any datalogger device that happens to require 3.3V (or even 5V) TTL input.
Thanks!
#2
Member
Join Date: Mar 2009
Location: Columbus, OH
Posts: 188
Likes: 0
Received 0 Likes
on
0 Posts
Car: 1995 K2500
Engine: 5.7
Transmission: 4L80E
Axle/Gears: 4.11's
Re: ALDL Serial (TTL) Question
I'm not much help but I use my WinMo6.5 phone to datalog my AEM UEGO using a bluetooth serial port. Never tried to get it to work with the ALDL data though.
#4
Re: ALDL Serial (TTL) Question
I understand that RX/TX are multiplexed into one wire on the ALDL side... does anyone have any clues how to do this from a 3.3v TTL on the PC side? I've been studying the schematic here: http://cable.invisibill.net/, but my skills are limited... it seems like if I can convert the 5v to 3.3 and vice versa, just a diode would work for the multiplexing, right?
Please, school me.
#5
Re: ALDL Serial (TTL) Question *iPhone*
Just an update of what I've found...
I started playing with the serial device in my Mac, with some simple C code... I got it to open the serial port at 8192 baud and send command strings. I noticed that with my ALDL -> USB adapter that all of my commands would just echo back, which leads me to believe that there is nothing special that needs to be done for the multiplexed RX/TX on the ALDL side.
I had a heck of a time figuring out why my command would not return anything else, until I realized my checksum algorithm was wrong. I changed it to a 2's compliment checksum and voila... a 3+63+1-byte (command response + payload + checksum) string was returned by the ECM (after the echoed command). I dumped several hundred frames to a file for later parsing... it looks like good data!
Next, I cobbled together a C program for the iphone to make sure I can open its serial port at 8192 baud... it works! Although I have no device yet to connect to it, it's a great start.
All in all, a good day... I'm just waiting on my iPhone connectors and logic level converters to arrive in the mail before I can actually log some data. I'll keep you guys posted.
I started playing with the serial device in my Mac, with some simple C code... I got it to open the serial port at 8192 baud and send command strings. I noticed that with my ALDL -> USB adapter that all of my commands would just echo back, which leads me to believe that there is nothing special that needs to be done for the multiplexed RX/TX on the ALDL side.
I had a heck of a time figuring out why my command would not return anything else, until I realized my checksum algorithm was wrong. I changed it to a 2's compliment checksum and voila... a 3+63+1-byte (command response + payload + checksum) string was returned by the ECM (after the echoed command). I dumped several hundred frames to a file for later parsing... it looks like good data!
Next, I cobbled together a C program for the iphone to make sure I can open its serial port at 8192 baud... it works! Although I have no device yet to connect to it, it's a great start.
All in all, a good day... I'm just waiting on my iPhone connectors and logic level converters to arrive in the mail before I can actually log some data. I'll keep you guys posted.
Thread
Thread Starter
Forum
Replies
Last Post