GM ALDL interface

Terryk terryk at foothill.net
Sun Dec 7 17:47:05 GMT 1997


In my approach, I don't need to worrying about any framing errors, or
variations in the rate. I am just doing a A/D conversion basically.

I don't know of anyone using a stock uart to talk 160. Somewhere I have my
notes on this. I figured that there is no way I would be the first to solve
the problems. So I attacked it in a different way. Turns out this is how
others have approached it. It would work for 8192 also.

I'll look for the stuff if you folks care.

Terry

----------
> From: Ludis Langens <ludis at netcom.com>
> To: diy_efi at coulomb.eng.ohio-state.edu
> Subject: Re: GM ALDL interface
> Date: Sunday, December 07, 1997 6:07 AM
> 
> Terry Kelley <terryk at foothill.net> wrote:
> > I samples at 2-3X the 160 baud rate and dumped the serial stream it
into a
> >large buffer (9x max bytes +1). 
> >[...]
> >Considering how slow 160 baud is, there is plenty of time to do all of
> >this, convert, display the results and start again.
> 
> Your's is certainly a valid approach.  However, what happens when your
CPU
> "goes out to lunch" (perhaps servicing a floppy disk or network device)
for
> more than 5 mS?
> 
> steve ravet <steve at imes.com> wrote:
> >The maximum byte length would be 5.75 msec.  At 8
> >data bits, one stop bit, you would need a baud rate of 1739.
> 
> I compute something different:  The length of the start bit and 8 data
bits
> is 288/65517.1875 seconds (~4.4 mS).  So the baud rate for 8-N-1 should
be
> 9 * 65517.1875 / 288 = 2047 baud.  (This assumes the timing used by my
ECM.)
> 
> >...and a "zero" bit would
> >result in a bit [byte] with at least some ones in it (non zero).
> 
> The byte would be all ones.  The "zero" pulse is (exactly) 1/12 the "one"
> pulse.  This might actually cause problems with some UARTs because the
pulse
> is slightly too short to be a start bit.  At 8-N-1, the start bit should
be
> 1/9 of the long pulse.  Going to 8-E-1 would change the expected ratio to
1/10.
> 
> >The meaning of each byte in the frame is unknown, and probably differs
per ECM.
> 
> A frame format has been posted here before.  It turned out to be a 95%
match
> for my case.  I've figured out the format for mine and another ECM.  One
is a
> subset of the other, except for differences in some of the flag bits.
> 
> >Thanks for the idea,  Ludis!  I plan on trying that out.
> 
> I'd like to hear how it works out.
> 
>                    unsigned long BinToBCD(unsigned long i) {unsigned long
t;
> Ludis Langens         return i ? (t = BinToBCD(i >> 1), (t << 1) + (i &
1) + 
> ludis at netcom.com                 (t + 858993459 >> 2 & 572662306) * 3) :
0;}




More information about the Diy_efi mailing list