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
