Quantcast
Channel: Forums - Recent Threads
Viewing all 262198 articles
Browse latest View live

CC2541: Need help/advice in reducing code size

$
0
0

Part Number:CC2541

I had an application built using the SimpleBLEBroadcaster as a base - and it took around 40K of flash.

I needed to add Over-the-Air Download (OAD) support, so I rebuilt it using SimpleBLEPeripheral.  Now my code size has jumped up to over 100K!

Can anyone suggest ways to get this code size back down to a small-ish size?

I have a need to add a large static buffer (currently 30-40K - but maybe even larger).  However, since OAD splits the chip's 256K flash in two, I need to get my code size down to 70 or 80K in order to do that.

Thoughts?


CCS/CC1350STK: accelerometer, gyroscope (x,y,z axis) values doesn't change

$
0
0

Part Number:CC1350STK

Tool/software: Code Composer Studio

Hi

I am getting same accelerometer and gyroscope values for all axis.The value i am getting is 19456 for x,y,z axis for both sensors.

For gyroscope i am using this code

txBuffer[0] = 0x43;
txBuffer[1] = 0x44 ;
txBuffer[2] = 0x45;
txBuffer[3] = 0x46;
txBuffer[4] = 0x47;
txBuffer[5] = 0x48;
i2cTransaction.slaveAddress = Board_MPU9250_ADDR;
i2cTransaction.writeBuf = txBuffer;
i2cTransaction.writeCount = 6;
i2cTransaction.readBuf = rxBuffer;
i2cTransaction.readCount = 6;

for (i = 0; i < 20; i++) {
if (I2C_transfer(i2c, &i2cTransaction)) {

gyroX = (((int16_t)rxBuffer[1]) << 8) | rxBuffer[0];
gyroY = (((int16_t)rxBuffer[3]) << 8) | rxBuffer[2];
gyroZ = (((int16_t)rxBuffer[5]) << 8) | rxBuffer[4];
int16_t gyrox = SensorMpu9250_gyroConvert(gyroX);
int16_t gyroy = SensorMpu9250_gyroConvert(gyroY);
int16_t gyroz = SensorMpu9250_gyroConvert(gyroZ);          //Function call to source code file

.............

and for accelerometer 

txBuffer[0] = 0x3B;
txBuffer[1] = 0x3C;
txBuffer[1] = 0x3D;
txBuffer[3] = 0x3E;
txBuffer[3] = 0x3F;
txBuffer[5] = 0x40;
i2cTransaction.slaveAddress = Board_MPU9250_ADDR; 
i2cTransaction.writeBuf = txBuffer;
i2cTransaction.writeCount = 3;
i2cTransaction.readBuf = rxBuffer;
i2cTransaction.readCount = 3;

/* Take 20 samples and print them out onto the console */
for (i = 0; i < 20; i++) {
if (I2C_transfer(i2c, &i2cTransaction)) {
accelerationX = (((int16_t)rxBuffer[1]) << 8) | rxBuffer[0];
accelerationY = (((int16_t)rxBuffer[3]) << 8) | rxBuffer[2];
accelerationZ = (((int16_t)rxBuffer[5]) << 8) | rxBuffer[4];
int16_t accelx = SensorMpu9250_accConvert(accelerationX);
int16_t accely = SensorMpu9250_accConvert(accelerationY);
int16_t accelz = SensorMpu9250_accConvert(accelerationZ);

is there anything i am doing wrong?any help would be greatly appreciated

thanks in advance

best regards

Shyam

RTOS/66AK2H12: NC_NetStart() and task prioritties

$
0
0

Part Number:66AK2H12

Tool/software:TI-RTOS

XDCtools 3.32, SYS/BIOS 6.46, CCS 7.4, PDK 4.0.7, NDK 2.25

I'm not sure how to phrase my query but I've got an ARM build roughly using the PDK NDK emac example as a starting point. It is a TCP application with three servers set to run along with a multitude of other tasks. Depending upon what level I set various task priorities to, the NC_NetStart() NetIP callback will get called once when the network is added and then immediately called again with the network removed. I am using a fixed IP. In other words, my callback for NetIP is as in the example; static void NetworkIPAddr(IPN IPAddr, uint IfIdx, uint fAdd). That function gets called twice with fAdd as true and than again with it as false.

The above happens as I raise the task priorities of some of my other tasks. I have the network stack task itself at 12, the server tasks at 7 (set from DaemonNew()). If I keep other tasks lower, say 5, everything works as expected.

Note that there is no connection begin establish during the above sequence. I am simple starting the ARM executable under CCS debug and seeing the NetIP call back getting called twice (it printf()s "Network Added" or Network Removed").

Is/are there some task priority rule(s) that I am not aware of in regard to setting the levels with NC_NetStart() or the network task? What would cause the network to be removed after being added?

Mike

MSP430G2553: MSP430G2553 + ADXL345 over SPI

$
0
0

Part Number:MSP430G2553

Hi

I was trying to post my question in this thread, however, it is locked!

I am connecting the MSP430G2553 to the ADXL345 accelerometer over SPI and using this code to set the ADXL345:

///////////////////////////////////////////////////////////////////
void SPI_write(void){

P3OUT &= ~CS;               // BIT 3.7 is CS

while (!(IFG2&UCA0TXIFG)); // Wait for TXBUF ready
UCA0TXBUF = 0x2D; // We want to write to the power register

while (!(IFG2&UCA0TXIFG)); // Wait for TXBUF ready
UCA0TXBUF = 0x00; // Write the 0x00 to the power register (put the ADXL345 in standby mode)
///--------------------------------------------------------
while (!(IFG2&UCA0TXIFG)); // Wait for TXBUF ready
UCA0TXBUF = 0x31; // We want to write to the data format register while the ADXL345 is in stanby mode

while (!(IFG2&UCA0TXIFG)); // Wait for TXBUF ready
UCA0TXBUF = 0x09; // Write the 0x01 to the data format register (4g range)
///--------------------------------------------------------
while (!(IFG2&UCA0TXIFG)); // Wait for TXBUF ready
UCA0TXBUF = 0x2C; // We want to write to the BW_RATE register

while (!(IFG2&UCA0TXIFG)); // Wait for TXBUF ready
UCA0TXBUF = 0x09; // Write 0x09 to the BW_RATE register to set the ACC to 25Hz data rate (table 7, p#14 of datasheet)
// setting the ACC to this acceleration sampling rate should makes it consume 90microAmp.
//see note 7 on page 5 of the data sheet about the wake up time
///---------------------------------------------------------
while (!(IFG2&UCA0TXIFG)); // Wait for TXBUF ready
UCA0TXBUF = 0x2D; // We want to write to the power register

while (!(IFG2&UCA0TXIFG)); // Wait for TXBUF ready
UCA0TXBUF = 0x08; // Write the 0x08 to the power register to put it in measure mode
///---------------------------------------------------------
delay_ms(10);
while (!(UCB0STAT&UCBUSY)==0);
IFG2 &= ~UCA0RXIFG;

P3OUT |= CS;
}
////////////////////////////////////////////////////////////////////////

I am getting back the data. But it is different from when the ADXL345 is connected to the Arduino.

For example, when he accelerometer is still on the table, then I get 0.79 G rather than 1 G for the z-axis

anyone can help me with this

thank you

CC2650: I2C Master and slave simultaneous operation

$
0
0

Part Number:CC2650

The cc26xx/cc13xx technical reference manual states that it "Supports simultaneous master and slave operation", however it seems it is not possible to separately specify the pins to be used for slave and master when routing them using IOCPinTypeI2c().

If this is correct we would have to enable/disable the modules and switch the pins between each operation(?). This does not sound very "simultaneous", am I missing something?

Apologies for posting again on this subject, I had a broader question earlier, but it has been locked so I cannot post further queries on it


Regards,

Andreas U.

TUSB3410: TUSB3410 Power Sequence

$
0
0

Part Number:TUSB3410

I'm using TUSB3410 with external oscillator and external 1.8V power supply as below URL.

e2e.ti.com/.../572186

I'd like to make sure is there any required sequece for 3.3V and 1.8V power supply.

The current sequence of my circuit keeps 1.8V below 3.3V power supply as following waveform picture.

Is this available?

TMP421-Q1: Remote temperature error

$
0
0

Part Number:TMP421-Q1

I am reading xC0 00 from the external 2N3906 transistor.  Connected as shown on page 1 of the data sheet with the emitter grounded at the remote location.   The internal reading seems to be correct, and the ID is correct etc.  I have looked with a scope and see proper operation on the I2C bus with the negative temperature being reported.   I saw another post for something similar but it seemed to have been resolved offline.

Help will be appreciated - last thing to get working on my board.

I am doing a 16 bit read from port 1 to get the upper and lower data in one shot.   It seems to work on the local temperature at port 0.

As a side note, without the 3906 connected I get a constant 20C reading.   With it connected the -64C reading - in my lab so should be similar to the local temperature.

DS90UB953-Q1: Minimum value for IDD_TOTAL

$
0
0

Part Number:DS90UB953-Q1

Hello,

My customer requriers IDD_TOTAL_min for their product design.

Can you provide IDD_TOTAL_min?

It's OK with design value.

Best regards,


DRV8332: using external 3.3V supply for DRV8332

$
0
0

Part Number:DRV8332

Can I provide an external 3.3V to VREG pin of DRV8332 instead  of providing 12V on VDD pin of DRV8332 to reduce the power consumption? Since VDD is used to power LDO inside DRV8332 which generates 3.3V to power internal logic circuits of DRV8332. The input of this internal LDO is 12V and the output is 3.3V, so the efficiency is 3.3V/12V=27.5%, the efficiency is poor.

CCS/TMS320F28069M: Problem with Permanent Magnet Synchronous Motor

$
0
0

Part Number:TMS320F28069M

Tool/software: Code Composer Studio

Hello,

I am trying to controll an PMSM motor using lab 5b.
Without load the motor works fine but when I put some load the motor does not start to spin, it makes a noise like it was spinning (if I increase the velocity the noise increases like the motor was running in a faster speed, but it continues stopped.
I already tried the torque control (lab 4a) and it has the same behavior.

The motor is this in the link below.

What can I modify to control the motor correctly ?

Thanks in Advance !

TPS54335-1A: Frequency compensation components

$
0
0

Part Number:TPS54335-1A

Hi,

The absolute maximum rating of the COMP pin is 3V MAX.

Can I use a capacitor with a rated voltage of 10 Vdc for these compensating capacitors?

Should I use a capacitor with a rated voltage of 50 Vdc to have a margin?

Best regards,
Seishin

ADS1278-HT: [ADS1278] what is adc channel input max current (continuous) of ads1278?

$
0
0

Part Number:ADS1278-HT

 what is  adc channel input max current (continuous) of ads1278?

I will try to limit the max adc channel input current using PTC.  .

It will prevent the adc channel from being corrupted by overcurrent.

i think so.

I want to know the instantaneous maximum current value and the continuous maximum current value.

LAUNCHXL-CC1310: cc1310 IEEE MAC address usage issue

$
0
0

Part Number:LAUNCHXL-CC1310

hi

there are some questions.

I checked the primary mac address (IEEE 802 15.4 MAC Address) in the cc1310 chip via smartrf flash programmer2.

1. If I am producing a product with cc1310, Is there no problem using this address in the product?

    (Does the cc1310 chip price include the price for commercial use of the mac address?)

2.Is it ok to use this mac address when you get product certification?

   

 

Thanks.

SN74LV594A: Power on state of outputs (storage register)?

$
0
0

Part Number:SN74LV594A

I'm using the SN74LV594A (8 bit shift register with separate shift and storage registers) in a design that will be driving a bunch of other logic devices including FPGAs. Naturally, some of these devices generally do not like floating inputs.  They must be driven either high or low continuously from power-up.  The 594A has a storage register that appears to continuously drive the 8 outputs of the device, i.e. there is no output enable or therefore any risk of the outputs going highZ and hence the inputs of the other devices floating...so I believe I'm in good shape and shouldn't have to provide explicit pull ups / downs.

However, I am curious about the default / power up state of the output and whether there is any period of time when the outputs are not driven. There is no information about this in the datasheet.

Can anyone clarify this for me?

CC3220MOD: Power supply recommendation

$
0
0

Part Number:CC3220MOD

Hi,

I have a few questions about the power supply design for the CC3220MOD module-

1. Is it recommended to use a battery or an LDO instead of an SMPS?

2. Or if in case a buck or a boost converter can be used, then what are the constraints on the switching noise, ripple, etc?

Regards,

Prachi


DAC8760EVM: DAC 8760 EVM Software Installation

LDC2114: Issues with coil design

$
0
0

Part Number:LDC2114

I have a 10mmx8mm coil, with a free air inductance of about 2.6uH and a resistance of ~2ohms. If I connect to the LDC2114EVM board, with its 47p capacitor, I can get reasonable results detecting an aluminium can.  The coils oscillates at 14MHz. But running the calculations, this setup would result in a Q of 118 and an Rp of 28k - well outside the datasheet spec.

If I take the exact same coil, and resonate it with 377pF, it oscillates at 6.6MHz , Q is 31 and Rp is 2k - BUT IT DOESN"T WORK AS A SENSOR!  The data stream just shows a steady output near zero (+/- 1 count), even though I can see the oscillation frequency rise as I bring the aluminium can close to the coil.

Can anyone explain this behaviour?

Note: channel one on this chip doesn't seem to work at all (no oscillation) - could I have a damaged chip that is causing the coil issues?

66AK2H12: Normal Operation of EMIF attached in 66ak2h12

$
0
0

Part Number:66AK2H12

Hi,

Thanks to supporters in forum, our project keeps going on. Thanks a lot.

Currently, I focused on EMIF operation on our platform (66ak2h12 inside our specific board)

We used CE1 space(0x34000000) for communication, and HW(FPGA) tried to access that area.

But some weird operation is observed. When DSP writes 16bit data on CE1 space, HW catches the 32 bit data.

test process)

1. Add EMIF initialization code on gel script.(Actually, we didn`t use NOR/NAND flash. so I didn`t initialize the NOR/NAND related register)

2. Add test script on gel script as a hotemu function. So We can test it as we want.

3. chipscope is attached on FPGA. When the signal is received on FPGA, it can analysis it(datasize, contents of data, write enable signal etc)

our code snippets are below:

initialization : 

EMIF_Init()
{
    GEL_TextOut("Revision = %x \n",,,,,EMIF_RCSR);
    GEL_TextOut("EMIF Initiated\n");
    
    // W_SETUP = 0x3, W_STROBE = 0x7, W_HOLD = 0x1
    // R_SETUP = 0x3, R_STROBE = 0xF, R_HOLD = 0x1
// Data bus : 16bit EMIF_A2CR = 0x0C72679D; GEL_TextOut("EMIF Init Done\n"); }

Test code : 

hotmenu EMIF_Test()
{
    *(unsigned short*)(0x34000018) = (unsigned short)0x1234; // for testing 16 bit data
    //*(unsigned short*)(0x34000010) = 0x12345678; 

    //*(unsigned short*)(0x34000020) = 3;   
}

expected result : FPGA receive the 0x1234(16bit)

observed result : FPGA receive the 0x00001234(32bit)  <- FPGA received two write enable signal and get data(0x1234 and 0x0000)

Is this the right operation of EMIF? or should I consider something at other side?

Thanks in advance.

Chanseok

TPS62088: efficiency fluctuation

$
0
0

Part Number:TPS62088

Hi,

Our customer wants to know about the detail of TPS62088 efficiency.
Is there data showing the efficiency fluctuation when the temperature fluctuates?
If not, is it possible to measure it?

The conditions are as follows.
Vin = 3.3 V, Vout = 1.8 V, Iout = 500 mA, I want data in over temperature range.

Best Regards,
Yuto Sakai

TPS23756: 8VDC input required

$
0
0

Part Number:TPS23756

Hello,

              I have a 8 VDC input PoE ( 802.3at PD ) power controller required ( Flyback ), Did the TI have any suitable part? thank.

Thank for your kindly support

Jason C

         

Viewing all 262198 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>