Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

-->
   

SensRcore - ANT11TS33M5IB

Rank

Total Posts: 2

Joined 2011-12-08

PM

Hello,

I'm working with ANT11TS33M5IB from ANTAP2DK1 Development Kit (using Battery Boards and IO Interface Boards) in SensRcore mode:

Battery Board

DIP1: ON....IOSEL
DIP2: OFF..PORTSEL == USER script
DIP3: ON...
DIP4: ON...NVM sector select
DIP5: ON...

There is a demand to use SLAVE with no additional external microcomputer to control it, with 2032 3V battery supply.

When I set 2 nodes (2 masters) + 1 node slave according to following scripts:

SLAVE:

C [91][05][00][40][01][01][00] // data channel 0, pin mask AIO0 (IN read)

C [42][05][00][00] // slave

C [51][05][31][00][01][05] // 49, 1, 5 (bit 2 ^ bit 0 SET)

C [44][05][00] // disable ANT channel 5 HIGH priority search

C [90][05][01][10][01][CF] // LED A+B ON

C [91][06][01][40][02][01][00] // data channel 1, pin mask AIO1 (IN read)

C [42][06][00][00] // slave

C [51][06][32][00][01][05] // 50, 1, 5 (bit 2 ^ bit 0 SET)

C [44][06][00] // disable ANT channel 6 HIGH priority search

C [90][06][01][20][01][CF] // LED B+A ON

C [4B][05]

C [4B][06]


MASTER1:

C [91][00][00][40][02][01][00] // data channel 0, pin mask AIO1 (IN read)

C [42][00][10][00] // master

C [51][00][32][00][01][05] // 50, 1, 5

C [90][00][01][20][01][D0] // LED B ON

C [4B][00]


MASTER2:

C [91][00][00][40][01][01][00] // data channel 0, pin mask AIO0 (IN read)

C [42][00][10][00] // master

C [51][00][31][00][01][05] // 49, 1, 5

C [90][00][01][10][01][E0] // LED A ON

C [4B][00]



I run into troubles.



Situation:

1. both masters are running, slave successfully found them, communication OK (buttons <-> LEDs)

2. both masters OFF - slave searched them but didn't find any master - OK



The problem:

When I measured slave's current consumption after unsuccessful search (timeout expired), there is a very high value (not less than 40uA, sometimes up to 300uA! with no communication==masters are dead) read by HP34401A 6digits ampermeter.

But when I compare my slave with slave running in DEMO mode set by DevKit's paper card Add-on, I get result only about 2uA. That's a big difference.



The questions:

1. Am I doing something wrong, or there is no possibility to lower current (automatically, NOT BY USER - of course) in SensRcore ANT11TS33M5IB module running USER script?

1211572185_at3_rf_transceiver_module_datasheet.pdf

1216050529_at3_rf_transceiver_chipset_datasheet.pdf

both says:

I_Idle: No active channels – no communications: 1.1 μA

I_Base: Base active current: 2.6 μA



What's the difference between I_Idle and I_Base or exact explanation? For what mode (asynchronous, synchronous interface, SensRcore) are these datasheet infos valid (mainly I_Idle)?



2. Is there ANY SOURCE CODE WITH DESCRIPTION for factory SensRcore DEMO script (paper card) available for download? I was unable to read any NVM script from UNCONFIGURED (new) ANT11TS33M5IB modules (various 3) because ANTware 3.0 CRASHED every time when I tried to do so (when I load user script, that works fine). I know there is different DIP switches setting, but I didn't find meaning of MEMSEL pin (in standalone SensRcore mode). Where does this demo script reside? Perhaps not in the same memory as in USER script? Are there any technical details or differences between user and demo SensRcore setting of pin 9 on ANT11TS33M5IB module board? For example powering down Texas MSP430 microcomputer when SEARCH was unsuccessful. Or there is no supposition to run slave in SensRcore after unsuccessful search FOR LONG time with power supply (i.e. battery) ON?



3. Is there any oficial explanation of DevSel DIP switches setting to choose desired sector? I was experimenting a little, because I didn't find anything about it in documentation.



4. Is there any dependence of setting module TX power (command Transmit Power: 0x47) versus current consumption? I also found nothing (no table, no graph).


Thank You      
Avatar
RankRankRankRank

Total Posts: 745

Joined 2012-09-14

PM

Hello,

For expediency I will try to address some of your questions now:

1) I_Idle represents the current consumption when no channels are open and all communication has ceased. I_Base is the minimum current current consumption when any channel is open, representing the current required for the chip during any kind of communications activity, not including the current required for handling messages.

Both I_Idle and I_Base should apply for the use of asynchronous/synchronous interfaces and/or SensRcore, but messaging on either type of interface will require differing amounts of current.

You can find more information in the AN13 Power States Application Note found here.

The current consumption does seem a little high, were all onboard LED's disabled? Also to keep in mind is that the slave is running two channel searches so the search timeout will be doubled.

2) The scripted version of the code for the SensRcore Demo scripts, which are embedded in the firmware of the processor:

// Demo mode RX configuration
C [90][00][01][F0][01][F0] // set channel 0 outbound data type to digital output on AIO4-IO7, with crossover enabled
C [91][00][00][40][0F][01][00] // set channel 0 inbound data type to digital input on AIO0-AIO3
C [42][00][00][00] // assign channel 0 as receiver
C [51][00][00][00][78][05] // set channel 0 channel ID (wildcard device #, device type 120 "demo", trans type 5 (no shared address, global control byte in use)
C [45][00][48] // assign channel frequency to 2472 MHz
C [43][00][00][20] // set channel 0 message period to 4 Hz
C [4B][00] // open channel 0

// Demo mode TX configuration
C [90][00][01][F0][01][F0] // set channel 0 outbound data type to digital output on AIO4-IO7, with crossover enabled
C [91][00][00][40][0F][01][00] // set channel 0 inbound data type to digital input on AIO0-AIO3
C [42][00][10][00] // assign channel 0 as transmitter
C [65][00][78][05] // set channel 0 channel ID with device # = serial #, device type 120 "demo", trans type 5 (no shared address, global control byte in use)
C [45][00][48] // assign channel frequency to 2472 MHz
C [43][00][00][20] // set channel 0 message period to 4 Hz
C [4B][00] // open channel 0

The PORTSEL pin is used to choose asynchronous/synchronous communication in serial mode, or to choose between the demo/user script data (MEMSEL).

The ANT AT3 Module Datasheet found here has a chart describing what the pins are designated for in different chip modes.

After a timeout AT3 in SensRcore mode will not attempt to re-search and must be reset to start a new search.

3) Unfortunately there is no explicit documentation for DEVSEL pin setting, there is only the mentioning of sector selection in section 5.3 of the AN06 SensRcore Mode Application Note. However those three DEVSEL pins are mapped to allow you to select sectors 0 through 7 respectively.

4) Current consumption is not affected by a large degree from the TX power, particularly for a slave (RX) device.

Best regards      
Rank

Total Posts: 2

Joined 2011-12-08

PM

Hello!

First of all: thank you

for second:

maybe there are 3 mistakes in provided
"Demo mode TX configuration":
-> C [90][00][00][01][F0][01][F0]
... C [90][00][01][F0][01][F0] could be better

-> C [04][42][00][10][00]
... C [42][00][10][00] could be better

-> C [04][65][00][78][05]
... C [65][00][78][05] could be better

for third: I got it (finally!)
There is some strange problem when configuring command
"Set ANT Channel Input Mask (0x90)"

This problem is channel (physical) number independent. It doesn't work nor for 1 channel when I set pin mask different from 0xF0 (I set 0x10 and 0x20 in above 2 channel slave example).

With pin mask 0xF0 everything works fine (masters lost, slave's unsuccessful search, slave closed both channels -> current consumption about 2uA).

But why:
// Example usage
[90][00][01][03][01][00] //Allows incoming digital messages to affect pins IO0 and IO1. Since
// crossover mode is enabled, a value of 0x30 in the incoming RF
// message would set both outputs. Outputs are low on startup.

in ANT_SensRcore_messaging_and_usage.pdf ???      
Avatar
RankRankRankRank

Total Posts: 745

Joined 2012-09-14

PM

Hello,

Thank you very much, your corrections have been duly noted.

I'm glad to see you have your implementation working now. You may see reduced current if you can float (i.e. disconnect) the pins that your not using, as there could possibly be an issue with MCU pins leaking current through LEDs or so. You could try plugging the module directly into the battery board without the I/O board to see if that reduces current draw, if not I would continue using 0xF0 for your pin mask.

Best regards      
Rank

Total Posts: 2

Joined 2011-12-08

PM

Hello

"An issue with MCU pins leaking current through LEDs"

Yes, that's it

[img size=840]http://www.thisisant.com/images/fbfiles/images/04a.jpg[/img]

Image shows higher current exceptionally, but 0xF0 solves comfortably that issue.