Part Number: LAUNCHXL-CC1310
Tool/software: Code Composer Studio
Hi everyone,
I am working with rfEchoTx/Rx examples from Simplelink SDK v3.20 and CCS v9.1 to develop a custom application and made changes to rfEchoTx example accordingly. What I am doing is roughly explained below.
1) When board power supply is turned on, it initiates read command to sensor hardware which then starts conversion of sensed value. (The sensor hardware gives a high-to-low signal on a pin, physically connected to DIO of LAUNCHXL-CC1310 when conversion is complete. This DIO pin is configured to raise an interrupt when a negative edge is sensed on DIO)
2)When an interrupt occurs, the LAUNCHXL-CC1310 reads the data via SPI lines, encapsulates the data into packet, transmits, waits for the ACK. When the board receives ACK, the program's work is done. This happens only once.(commented the while loop so that it occurs only once.
The problem is, the current consumption of the LAUNCHXL-CC1310 + sensor hardware comes out to be in the range 4mA to 6mA. Once the program execution is done, I remove the sensor hardware to assert how much current does the LAUNCHXL-CC1310 itself consumes. It came out to be around 4mA. At the end of execution of '*mainThread', I ensured that I am closing whatever drivers that I was using.
Following are the steps in which i am implementing the steps 1) and 2)
1-1. Powering on the Tx board via a DC supply (3V3 and GND). The Rx board is already on.
1-2. Once the read command is initiated, using a binary semaphore, we pause the flow of execution(Semaphore_pend).
2-1. When a negative edge occurs on the DIO, the interrupt callback reads the value on SPI lines and using the same binary semaphore, we resume the flow of execution of the program(Semaphore_post)
2-2. The sensed data is then loaded into packet and the packet is transmitted. The Tx board then receives the ACK, indicates the user and work is done. Hence UART,SPI,RF,Clock and Semaphore handles are closed and deleted (which probably stops the usage of peripherals?) and I am returning from the *mainThread.
The LAUNCHXL-CC1310 + sensor hardware consume 5mA current whereas the LAUNCHXL-CC1310 consumes 3mA (I removed the sensor hardware after program execution and noted the current reading)
With sensor hardware on LAUNCHXL-CC1310:
Without sensor hardware on LAUNCHXL-CC1310:
So finally my question is, how to reduce this current consumption possibly to tens of uA? This is critical as we intend our application to work on batteries in the end product.
Can someone suggest what can be done?
Thanks in advance,
-Chandrasekhar DVS