> On Sun, Apr 24, 2011 at 10:41 AM, Prasanna Karthik V <
> [email protected]> wrote:
>
>> hi,
>>   For the first question, i tried looking at some sample platform
>> implementations. It looks like i got it all wrong.
>> 1) Capture Interface is used just to include timing info associated with
>> an interrupt event. Capture interface in no way does emulation. TEP 126
>> gives info on how to emulate a normal pin as an interrupt.
>>
>
> Huh?  TEP126 talks about the cc2420 radio chip.   It really only says that
> if
> the interrupt lines from cc2420 aren't connected to something that can
> actually
> generate an interrupt then a spin wait (polling) can be used to see the
> lines.
> Its polling (emulation is a strange way to talk about it).
>
> One needs h/w support for generating an interrupt.   No way around that
> (its
> the basic
> definition of an interrupt).  On the Msp430 ports 1 and 2 can generate
> interrupts
> on a pin by pin basis.
>
> If one has a interrupt source then one can piggie back additional
> functionality
> and check other pins but that would make that pin dependent on the
> interrupt
> behaviour of that interrupt source.  (Strange and not recommended).
>
> This gets into the subject of polling.   Basically one could poll the pin
> you
> are interested in by piggie backing off say a timer interrupt of some
> fashion.
> This would allow you to periodically look at the pin you are interested
> in.
>
> But in no way is this really an interrupt.
>
>
>> 2) For the second, this link was useful
>> http://www.ece.ncsu.edu/netwis/sensor_networks.php
>>
>>
> That is really a round about way of figuring this out.   Why don't you
> start
> with the telosb schematic and figure this out by starting with the actual
> h/w and figuring out what the h/w provides.
>
> I did a google search for "telosb schematic" and found this pointer...
>
> http://www.tinyos.net/scoop/special/hardware
>
> It will show explicitly how the 10 pin expansion is wired.
>
> more below.
>
>
>> Thanks,
>> Prasanna Karthik
>> >>
>> >>
>> >>
>> >>(moved to tinyos-help)
>> >>
>> >>Only pins connected to port 1 or port 2 on the msp430 are capable of
>> >>being interrupts.
>> >>
>> >>-Joe
>> >>
>> >>On 4/11/06, Dan Steingart <steinda at berkeley.edu> wrote:
>> >>> While many of the pins on the 6 pin header (1,2,3,4,5,9) and on the
>>
>
> pin 9?  do you mean pin 6?
>
> 6 pin:
>
> pin 1:  ADC 6, P6.6                      pin 2:  ADC 7, P6.7
> pin 3:  GIO2, TA1 (output) P2.3     pin 4:  GIO3, 2.6
> pin 5:  UserInt, P2.7 (TA0)            pin 6:  Reset (RST)
>
>
> 10 pin:
>
> pin 1:  AVCC                               pin 2:  UART0RX P3.5
> pin 3:  ADC0, P6.0                       pin 4:  UART0RX P3.4
> pin 5:  ADC1, P6.1                       pin 6:  I2CSCL     P3.3
> pin 7:  ADC2, P6.2                       pin 8:  I2CSDA    P3.1
>           GIO1, P2.1
> pin 9:  GND                                pin 10:  ADC3,     P6.3
>                                                              GIO0,
> P2.0
>
> note: GIO1 and GIO0 are connected through to the expansion
> connect through a by default not populated resistor.   So by default
> are not connected.
>
> pin6 and 8 (I2CSCL, I2CSDA) are used by the radio too.
>
>>>> 10 pin header (2,3,4,5) can be set to be inputs or outputs (via
>> >>> MSP430GeneralIOC), only pins 3,4 and 5 on the 6-pin and pins 8 and 9
>> >>> on the 10 pin are addressed in MSP430InterruptC.
>>
>
> I don't understand your comment about pins 8/9 on the 10 pin.  pin 9 is
> GND
>
> MSP430InterruptC  only handles interrupts on Port 1 or Port 2.  ie.  Pin
> interrupts.
> Doesn't handle anything on any other ports because other ports don't
> support
> interrupts so there is nothing for MSP430InterruptC to do.  It is a crappy
> non informative name but not worth changing.  A better name would have
> been Msp430PinInterrupt or Msp430P12Interrupt.
>
>
> Before I start
>> >>> hacking to change this, is there a reason why any pin that can do
>> I/O
>> >>> can't also be an interrupt?
>>
>
> Yes.  Because only pins on Port 1 or 2 can be set up for interrupts.  That
> is because the TI Msp430 only provides port interrupts if it is port 1 or
> 2.
> h/w limitation.
>
>
>> >>>
>> >>> Thanks in advance,
>> >>>
>> >>> Dan
>> >>
>> >
>> > hi,
>> >    The usability of the pins available in the 16 pin-extension has
>> been
>> > discussed earlier in this thread.
>> > I seek a few clarifications:
>> >
>> > 1) Pins connected to Port1 or Port2 of the MSP430 can only be used as
>> > interrupt pins directly. Pins belonging to other Ports[3...6] can be
>> used
>> > as interrupts by emulating them using Capture interface. Right?
>>
>
> No.  I don't see how using the capture functionality allows making other
> ports
> act as an interrupt.
>
> None of the pins available on the expansion connectors can be used as
> input
> for the capture h/w available via the timers.   The TI documentation sucks
> and it uses the notation TA1 for example as both an input and and output.
> GIO2 P2.3 on pin 3 of the 6 pin for example is the output TA1.
>
>>
>> > 2) Addressability of pins. For. example, take pin 7 of the 10-pin
>> > Extension. It can act as a GPIO or ADC. Namely, P2.1 or P6.2. Do i
>> have
>> to
>> > explicitly state somewhere in the code, for it to be recognized as a
>> GPIO
>> > and not as an ADC?
>>
>
> Code can't do it.   There is a non-populated resister that connects P2.1
> GIO1 to
> pin 7 of U28 the 10 pin expansion.   But default there is no connection.
>
> Let's say you populate the resister (I have no idea what value you should
> use) then
> you can use configuration code to enable that pin as General I/O and then
> use it
> to generate an interrrupt.
>
> Unless the ADC is being used and in particular ADC2, then that pin isn't
> changed from
> the boot up default.  You'll have to look at the start up code to see what
> the default
> is and whether its value is changed from the reset value.
>
> I'm not going to figure out how you do that.  Left as an exercise for the
> student.
>
>
> eric
>
>>
>> > Thanks,
>> > -Prasanna Karthik
>> >
>> > _______________________________________________
>> > Tinyos-help mailing list
>> > [email protected]
>> > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>> >
>>
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> [email protected]
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>
>
>
>
> --
> Eric B. Decker
> Senior (over 50 :-) Researcher
>

Thanks eric. That really helped. I just have one more related question,

- An ADC pin, say, ADC0 [P6.0] can be used as a GPIO. Just by setting the
appropriate bits of P6SEL, does it start working as a GPIO?

P.S: By the way, the confusion about pin 8/9, i have no clue as to what
they meant by that.

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

Reply via email to