The first issue is signal compatibility. I2C is a three wire buss (SCL,
SDA, and GND). All data travels on the SDA line, so it needs to be
tri-state and bi-directional. I2C also normally operates at VCC (typically
+5VDC or +3.3VDC).
The external serial port on the Palm meets none of this criteria. Tx, Rx,
CTS etc. are fixed as inputs and outputs because of the RS-232 line driver.
The line driver also provides RS-232 compatible voltages (nominally +/-
12VDC).
The SCL line might be able to go directly to one of the GPIO lines, which
drive interrupts on the Dragonball via a transistor. But, because of the
transistor (for protection and level adaptability), you cannot use a GPIO
line (as is) for SDA.
I suppose you could wire up an external circuit to combine Rx, Tx, and
handshaking to provide a tri-state, bi-directional SDA line. However, based
upon your description it is not clear if you system actually uses I2C. I2C
is synchronous, there is no need for a break or delay. A start condition is
a high->low transition on SDA while SCL is high. Then, the address is
clocked out, followed by a read/write bit. The slave responds with an ACK
bit, then bytes are exchanged one at a time with an ACK bit after each (no
ACK from master on last byte of read). A stop condition is a low->high
transition on SDA while SCL is high.
You can get the Dragonball manual from Motorola and the hardware SDK for the
Palm serial port from Palm (you have to sign up for the program).
Good Luck,
-jjf
-----Original Message-----
From: Patrick Ouellet [mailto:[EMAIL PROTECTED]]
Sent: Monday, July 24, 2000 10:55 AM
To: Palm Developer Forum
Subject: Re: Raw Data on Serial
Ok here is what I need to do...
I must use the palm pilot to emulate a security system keypad...
In the security system... the keypad is slave so it listen on the BUS
using I2C Bus protocol, to receive lit leds and to input pressed keys.
I must plug the palm pilot serial to the security system bus and emulate the
keypad..
To do so... I must be able to listen on the BUS to syncronise...
The syncronisation mechanisim is simple...
On the I2C Bus protocol there is two wire DATA and CLOCK
I must listen on the Clock... when I catch a 32 ms delay between impulse
This means Im at the begining of the sequence.. so now Im synchronise.
Now each 25 ms the impulse change ( 1 to 0 or 0 to 1 )
I must then Listen if an impulse(1) last more than 25 ms that means
A led must be lit... if i need to tell the system a key has been pressed
i must send a non-impulse(0) to the bus to override Its impulse
to tell him that the user has pressed a key...
but to do this I must control Tx to send data at and extreme precise
time... If it put it into a buffer... I'll miss my delay and the system will
be
totally
fuzzed and make beep all the time... even maybe call the police...
So I must not...
Now if you need further information just ask...
BTW: Im working for the security compagny... This is not some kind
of robber plan to disrupt security system... h�h�
"Fitzpatrick, Joe" wrote:
> You can bypass the RS232 transceiver with a small Phillips screwdriver and
a
> soldering iron...
>
> FWIW, you might get more helpful answers if you would explain what it is
you
> are trying to accomplish. IE, what UART behavior you are trying to
> circumvent and why...
>
> -jjf
>
--
For information on using the Palm Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/tech/support/forums/
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/