In our project, we use telosb as the sensor mote and want to implement
Dallas 1-Wire bus by adding a 'sensor board'. I had examined telosb
datasheet. There seems to be 4 GPIO pin, 1 I2C and 1 UART in 10 pin IDC
(sensor board interface) available. Maxim provides several 1-Wire bus master
chips to adapt common serial interface, such as I2C, UART, RS232 to 1-Wire
bus. In this case, since telosb is powered by battery, the Vcc voltage is no
more than 4.2 volts (Lithium battery), only I2C->1-Wire chip, DS2482-100, is
suitable.

Then I have two choice to implement I2C in telosb: use built-in I2C
interface or simulate I2C by 2 GPIO pins. MSP430F1611 has two USART ports. I
also examined the telosb shematic diagram. USART1 is connected to USB chip
(FT232BM). USART0 is connected to cc2420 radio chip (SPI mode), ST Flash
(SPI mode), and also 10 pin IDC header to act as UART and I2C port. I
noticed that there's a warning in telosb datasheet, mentioning that the I2C
bus is shared with the radio. When reading or writing to I2C bus, radio is
blocked and no message would be received. This is definitely a bad thing in
our case. We may connect dozens of 1-Wire sensors on bus. Sampling all
sensors data may take several hundreds of milliseconds or even seconds. So,
my question is:

1) If I connect DS2482 to I2C directly, is there any way to solve the
problem in programming? I mean, receiving radio message when reading sensor
data through I2C bus?
2) If I connect DS2482 to 2 GPIO pins and simulate I2C bus in software (I
read some articles saying this is possible but I am not sure), then could
the mote doing two job (receiving message and reading sensor data)
simutaneously?

Thanks in advance.

UGlee (Tianfu Ma)
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to