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

CC3220MODA: sl_Connect issue

$
0
0

Part Number: CC3220MODA

I am attempting a socket connection to a PC from the SimpleLink Module.  Everything appears ok except the sl_Connect function.  It hangs when I call it.  if I trace the code in sl_socket.c the hanging statement is highlighted in the attached image.  Either statement hangs whether it's blocking or non-blocking.  If I comment out the highlighted code the connection establishes and the rest of the socket calls seem to work fine.  What am I missing?  It is lines 500/506 in sl_socket.c in case the screenshot is fuzzy.

Thanks,


Compiler/TMS320C28346: INTERNAL ERROR: no match for ASG, ti-cgt-c2000_18.12.2.LTS

$
0
0

Part Number: TMS320C28346

Tool/software: TI C/C++ Compiler

Hey, I Use CCS9 with 18.12.2 LTS Compiler.

I'm trying to compile this piece of code with -O2 optimizations.

               for (s16_index = 7; s16_index >= 0; s16_index--)
               {
                  s32_temp_vd2[s16_index] = ((long)(s64_temp_vd[s16_index]));    // check for numeric overflow
                  if ((long long)s32_temp_vd2[s16_index] != s64_temp_vd[s16_index])
                  {
                     u16_numeric_overflow_flag = 1;
                  }
               }

and i get this error:

>> ../source/BG/Velocity.c, line 3983: INTERNAL ERROR: no match for ASG


This may be a serious problem. Please contact customer support with a
description of this problem and a sample of the source files that caused this
INTERNAL ERROR message to appear.

Cannot continue compilation - ABORTING!

gmake: *** [Velocity.obj] Error 1

from spru514p:

--opt_level=2 or -O2
Performs all --opt_level=1 (-O1) optimizations, plus:
– Performs loop optimizations
– Eliminates global common subexpressions
– Eliminates global unused assignments
– Performs loop unrolling

So i change the for loop to:

               for (s16_index = 0; s16_index < 8; ++s16_index)
               {
                  s32_temp_vd2[s16_index] = ((long)(s64_temp_vd[s16_index]));    // check for numeric overflow
                  if ((long long)s32_temp_vd2[s16_index] != s64_temp_vd[s16_index])
                  {
                     u16_numeric_overflow_flag = 1;
                  }
               }

And it compiles well.

With optimizations less than -O2 both variants compile well.

Please shine some light on this issue.

My compiler flags:

-v28 -ml -mt --float_support=fpu32 -O2 --opt_for_speed=2 --advice:performance=all --define="_DEBUG" --define="LARGE_MODEL" --symdebug:none --diag_error=225 --diag_error=2082 --display_error_number --issue_remarks --quiet --abi=coffabi -k --asm_listing --c_src_interlist --asm_directory="${CWD}" --obj_directory="${CWD}" 

TXS0206A: Use with SD Card in SPI mode.

$
0
0

Part Number: TXS0206A

Greetings,

I need a voltage level translator between my MCU (1.8v) and SD Card (3.3V). However, since my host processor doesn't have an SDIO peripheral, I'll be using SPI-mode only. Is the TXS0206A still a suitable part? If so, can the the DAT1A, DAT1B, DAT2A, and DAT2B pins be left floating or pulled high?

Thanks!

DS90UB953A-Q1: Questions about the difference between DS90UB953A-Q1 and DS90UB953-Q1

$
0
0

Part Number: DS90UB953A-Q1

Hi Team,

Since customer is curious about the difference of DS90UB953A-Q1 and DS90UB953-Q1, what we can found is the temperature range is different, but customer want to know why this two device can support different temperature range, so could you please kindly help to explain the reason ? Thank you very much for your kindly help.

Best regards

Jessica

CCS/TM4C123GH6PM: Interrupt Handler

$
0
0

Part Number: TM4C123GH6PM

Tool/software: Code Composer Studio

Hello all, 

I am trying to run the project below on my development board and it suppose to blink the LED light until SW1 or SW2 is pressed. The prototype its suppose to use for the interrupt is "void GPIOF_Handler(void)". I am not sure if that is correct of how it is suppose use the interrupt correctly. As of right now when I press either button the LED just stalls in the current position it is at. 

I am trying to figure out if I am missing a header file for the prototype or am I suppose to declare it at a different point in the code to make sure it runs.

If anyone can help me and or explain it, I would greatly appreciate it. 

Thank you.

#include <stdint.h>
#include <tm4c123gh6pm.h>
#include <stdbool.h>
#include <hw_types.h>
#include <interrupt.h>
void delay_ms(int n);
bool IntMasterEnable(void);
bool IntMasterDisable(void);
extern void GPIOFIntHandler(void);
int main(void)
{
    SYSCTL_RCGCGPIO_R |= 0x20;              /* enable clock to PORTF */
    /* PORTF0 has special function, need to unlock to modify */
    GPIO_PORTF_LOCK_R = 0x4C4F434B;         /* unlock commit register */
    GPIO_PORTF_CR_R = 0x01;                 /* make PORTF0 configurable */
    GPIO_PORTF_LOCK_R = 0;                   /* lock commit register */
    /* configure PORTF for switch input and LED output */
    GPIO_PORTF_DIR_R &= ~0x11;              /* make PORTF4 input for switch */
    GPIO_PORTF_DIR_R |= 0x0E;               /* make PORTF3, 2, 1 output for LEDs */
    GPIO_PORTF_DEN_R |= 0x1F;               /* make PORTF-0 digital pins */
    GPIO_PORTF_PUR_R |= 0x11;               /* enable pull up for PORTF4, 0 */
    /* configure PORTF4, 0 for falling edge trigger interrupt */
    GPIO_PORTF_IS_R &= ~0x11;               /* make bit 4, 0 edge sensitive */
    GPIO_PORTF_IBE_R &= ~0x11;              /* trigger is controlled by IEV */
    GPIO_PORTF_IEV_R &= ~0x11;              /* falling edge trigger */
    GPIO_PORTF_ICR_R |= 0x11;               /* clear any prior interrupt */
    GPIO_PORTF_IM_R |= 0x11;                /* unmask interrupt */
    /* enable interrupt in NVIC and set priority to 3 */
    NVIC_PRI30_R = 3 << 5;                  /* set interrupt priority to 3 */
    NVIC_EN0_R |= 0x40000000;               /* enable IRQ 30 ( D30 of ISER[0]) */
    bool IntMasterEnable();
    /* toggle the red LED (PF1) continuously */
    while(1)
    {
        GPIO_PORTF_DATA_R |= 0x02;
        delay_ms(500);
        GPIO_PORTF_DATA_R &= ~0x02;
        delay_ms(500);
    }
}
/* SW1 is connected to PF4 pin, SW2 is connected to PF0. */
/* Both of them trigger PORTF interrupt */
void GPIOF_Handler(void)
{
    int i;
    volatile int readback;
    /* toggle green LED (PF3) three times */
    for (i = 0; i < 3; i++)
            {
                GPIO_PORTF_DATA_R |= 0x08;
                delay_ms(500);
                GPIO_PORTF_DATA_R &= ~0x08;
                delay_ms(500);
            }
    GPIO_PORTF_ICR_R |= 0x11;       /* clear the interrupt flag before return */
    readback = GPIO_PORTF_ICR_R;    /* a read to force clearing of interrupt flag */
}

/* delay n milliseconds (16 MHz CPU clock) */
void delay_ms(int n)
{
    int i, j;
    for(i = 0; i < n; i++)
        for(j = 0; j < 3180; j++)
        {} /* do nothing for 1 ms */
}
/* This function is called by the startup assembly code to perform system specific
 * initialization tasks
 */
void SystemInit(void)
{
    bool IntMasterDisable();
    /* Grant coprocessor access */
    /* This is required since TM4c123G has a floating point coprocessor */
    NVIC_CPAC_R |= 0x00F00000;
}

CCS/TM4C123GH6PM: Tiva C triggering ADC by GPIO event

$
0
0

Part Number: TM4C123GH6PM

Tool/software: Code Composer Studio

Hello. I have next task. I receive 2 signals from compactors which looks like 50% PWM 100Hz and shifted by 90 degrees to each other. I need to make ADC sample each time than signals switched (4 times per period or 400hz). I wrote next code for this task.

static void adcInterruptHandler(){

    unsigned int state = ADCIntStatus(ADC0_BASE, 0, true);
    ADCIntClear(ADC0_BASE, 0);

    int32_t tmp[2];
    ADCSequenceDataGet(ADC0_BASE, 0, (uint32_t *)tmp);
    ADCSequenceDataGet(ADC0_BASE, 0, (uint32_t *)tmp+1);
}

static void initAdc(){
    SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);

    while(!SysCtlPeripheralReady(SYSCTL_PERIPH_ADC0));

    ADCSequenceConfigure(ADC0_BASE, 0, ADC_TRIGGER_EXTERNAL, 0);
    //set up sequence
    ADCSequenceStepConfigure(ADC0_BASE, 0, 0, ADC_CTL_CH1);
    ADCSequenceStepConfigure(ADC0_BASE, 0, 1, ADC_CTL_CH0 |
                             ADC_CTL_IE | ADC_CTL_END);
    //interrupt settings
    ADCIntRegister(ADC0_BASE, 0, adcInterruptHandler);
    ADCIntEnable(ADC0_BASE, 0);
    ADCSequenceEnable(ADC0_BASE, 0);
    ADCIntClear(ADC0_BASE, 0);
}

static void initGpioInterrupt(){
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
    GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, GPIO_PIN_0);
    GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, GPIO_PIN_4);
    GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_0, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
    GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_4, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
    GPIOIntTypeSet(GPIO_PORTF_BASE,GPIO_PIN_0,GPIO_BOTH_EDGES);
    GPIOIntTypeSet(GPIO_PORTF_BASE,GPIO_PIN_4,GPIO_BOTH_EDGES);


    GPIOADCTriggerEnable(GPIO_PORTF_BASE, GPIO_PIN_0);
    GPIOADCTriggerEnable(GPIO_PORTF_BASE, GPIO_PIN_4);
}

This code run good while i emulate event using button, but at real enviroment it goes to FaultISR. Look like signals has gitter and triggering happend several times in one moment. I need to fix this fault by skipping redundant events but how to do it?

AM5716: Datasheet Revision

$
0
0

Part Number: AM5716

Hi,

My customer found the datasheet of AM5716 was changed Rev.G to Rev.D on below site.

http://www.ti.com/product/AM5716

They found the revision was G last week but it was D this week. They would like to know why it is changed.

Could you please check it?

Best Regards,

M.Ohhashi

BQ78350-R2-DEVICE-FW: Power consumption in Sleep Mode - Sleep:Voltage Time and Sleep:Current Time

$
0
0

Part Number: BQ78350-R2-DEVICE-FW

Hello

I'm fine tuning the DF settings to accurately track the energy consumption of a battery pack of our design when it is in sleep mode.

1st Question:

The two parameters:
- Sleep:Voltage Time
- Sleep:Current Time
are proposed with default respective of 5s and 20s

Having to cope with a pack that could stay in sleep mode for long time, such as several hours/days, is it suggestable to increase these values at something like 240s each, to avoid so many frequent sampling and further reduce the power consumption ?
Or are there some drawbacks in the accuracy of the calculations in having such long periods ?

2nd Question:

The battery electronics consume approx. 140uA in Sleep Mode, and approx. 600uA when the device is active and communicating.
It is unpredictable to understand how long the pack will stay in Sleep mode vs. the time the pack will be active and communicating, although without measuring any charge/discharge greater than the filters.

In a scenario like this what value is suggestable to consider as Battery Electornic Load to be written in Fuel Gauging / CEDV Cfg / Electronics Load ?
Is there eventually a workaround or the possibility to indicate an electronic load to be used by the gauge in both cases ?

Thanks in advance

Pietro Vignali


CCS/TIDC-CC2650STK-SENSORTAG: Over the Air Download (OAD)

$
0
0

Part Number: TIDC-CC2650STK-SENSORTAG

Tool/software: Code Composer Studio

I am working on the Over the Air Download (OAD).
The FlashROM version is the only one that can work as a standalone (only battery) with the ti_simplelink android App.
The FlashOnlyOAD version is working only with the CCS debugger in debug mode, (with debugger board and connected to PC).
The 'TI OAD Service' ( ti_simplelink android App)  is enabled only when FlashOnlyOAD is running.
What is needed to do to make the FlashOnlyOAD version a standalone application?

MSP430FR5994: SBW access to 48-pin (RGZ) package

$
0
0

Part Number: MSP430FR5994

I'm using IAR and FET430UIF V1.4a, firmware updated by IAR 7.12.3. FR5994 is selected in the project options. ( I have also tried EZ-msp2013 as an FET. Not sure if that should be expected to work talking to an FR59xx target.)

This is embarrassing. It smells like some kind of rookie mistake.

I can successfully talk to the 80-pin PN-packaged  FZ5994 on its launch pad, which uses Spy BiWire, but have been unsuccessful in using SBW talking to any of my own targets that use the 48-pin RGZ package. Obvious, right? Mis-wired! Except I have checked it every way I can and it seems ok: Pin 1 of the JTAG connector to pin 23 of the processor (RST/SBWTDIO) and pin 7 of the JTAG to pin 22 (TEST/SBWTCK). Power and ground, of course and the voltmeter says I have power. Ohmmeter says the right pins are connected together and neither net is to grounded. I made up a socket board for loose chips and a probe fixture for my prototypes with their soldered chips. Neither will respond. IAR says none found or unsupported. I have ordered fresh processors and contacted them in the socket board, inserting with static precautions, in case I had killed the earlier ones with static or soldering. Always the same message.

The errata sheet lists no debug issues.

SO, is there any sort of known trap waiting for the unwary when using the RGZ package with SBW?

BQ76940: All balancing MOSFETs run simultaneously

$
0
0

Part Number: BQ76940

Hi,

Recently I've made a new version of a BMS for a 10S battery based on a schematic by earlier designer. The problem that I got is that after powering the BMS all but one of the balancing MOSFETs are ON. The one that is not on is on first cell. Given that the battery has 3.73V on each cell, the voltages between VC0-VC1 and so on are just the same. From the software side all balancing is disabled. Any obvious mistakes that I made ?

CCS/TIDC-CC2650STK-SENSORTAG: ti_simplelink android App + 'TI OAD Service' , ends with error messages and firmware app crushes

$
0
0

Part Number: TIDC-CC2650STK-SENSORTAG

Tool/software: Code Composer Studio

Using the FlashOnlyOAD version with the CCS debugger in debug mode (this version does not work as standalone)
After parring with ti_simplelink android App  
Select  'TI OAD Service' for firmware download 
Use the below:
Version 1.50 (Sep 2 2019)
1. High Speed  (and low speed)
2. select FW file
3. CC2650 SensotTag 1.50 (BLE) 
4. Download starts 
5. Download Ends with the error message from CCS
Cortex_M3_0: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.2.0.00004) 
Cortex_M3_0: Trouble Halting Target CPU: (Error -2064 @ 0x0) Unable to read device status. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.2.0.00004) 

Compiler/AM4376:

$
0
0

Part Number: AM4376

Tool/software: TI C/C++ Compiler

Hi,

It is possible to access CAN peripheral from PRU?

I would like to move my CAN Stack from main core to one of the PRUs. 

I would like to have fully functional CAN interface running on PRU.

Regards

Rafal Witelus

BQ24075: Circuit troubleshooting

$
0
0

Part Number: BQ24075

I am designing a single cell lithium ion battery charge and discharge circuit (BQ24075 & BQ29732) with a 5V regulated step up converter (TPS61090) to drive an atTiny85 and a ptc hearer.  I have been having issues implementing the BQ24075 & BQ29732. The BQ24075 will not charge or discharge the battery even if I bypass the BQ29732. Is there anything incorrect in my circuit below?  

TPS54202: \converter sometimes gets damaged and burns

$
0
0

Part Number: TPS54202

Hi,

we have the same problem with TPS54202 converter. After connecting to the power supply converter sometimes gets damaged and burns. What security arrangement do you propose? We have already damaged a lot of IC's and we need to protect against this problem for the future.

Thanks!

Piotr


CC1120: I can't write to register another value

$
0
0

Part Number: CC1120

I can read the default value from the CC1120 registry that is used for configuration. Then I try to write a different value in it. After reading again, I still get the default value.

I am using STM32VLDISCOVERY. I can read the value, so the configuration of communication via SPI is correct.
Of course I know that the write address is given unchanged, for reading increased by 0x80.

Anyone have an idea what's wrong?

LAUNCHXL-CC1352R1: BTool V1.42.16 Disconnects after ~30 Seconds

$
0
0

Part Number: LAUNCHXL-CC1352R1

Hi,

I am trying an OAD from my PC to a LAUNCHXL-CC1352R1.  I have followed all the relevant instructions.

BTool Reports a disconnection event approximately 30 seconds after starting the OAD. This happens repeatedly, irrespective of what project I have running on the board (out-of-the-box demos or our own application)

[09-03-2019 08:37:14.438] <Info   > [709] : <Info> - 08:37:14.434
Device Disconnected
Handle = 0x0000
Addr Type = 0x00 (ADDRTYPE_PUBLIC)
BDAddr = 80:6F:B0:1E:CA:78

The sniffer shows that my board sent a notification requesting the next block 0x9C:

The BTool disconnected, but DID NOT terminate the link layer gracefully.

TI: Please advise why the BTool disconnects after about 10 seconds of activity. Please also open source these tools so as we can fix the problems ourselves. 

TI: I have tried the Android SimpleLink Starter app from the AppStore. It crashes once its connected to my device. I have tried the iOS version of the SimpleLink starter. It works fine. Therefore I don't think its a problem of my firmware or board, I think its a tooling problem.

The complete log is attached.

Thanks.

(Please visit the site to view this file)

CCS/OMAP-L138: Standalone compiler, developing for multicore.

$
0
0

Part Number: OMAP-L138

Tool/software: Code Composer Studio

Can anyone point me to an example of combined DSP/ARM/PRU code for the OMAP_L138. A 'hello world' equivalent so that I can see how it is put together? Or can someone point me to pieces such as a standalone hello world for the DSP. By standalone I mean basically derived from StarterWare with no DSP/BIOS or RTOS. The memory and processor cannot support the overhead of an OS.

I have been assuming that, since you cannot use the DSP-C compiler and the ARM-compilire in the same project (the c extention triggers the compiler based on the current core) that combined code would first set up compiles in the DSP and PRU cores and then merge them with the ARM code as hex defines, with the DSP and PRU code compiled before the ARM as a 'working set'. This is just a quick question and any help would be appreciated.

Note also that I have tried to set it up as a DSP project but the TMS100 JTAG will not connect. I believe that the ARM must run to main before I can start the DSP with the Gel file functions. But how can I compile the combined DSP/ARM code for that? Main problem is that there are so many possibiltiies and I don't know which one is right. Takes too long just to try them all. 

DRV8886: tENABLE and tDISABLE

$
0
0

Part Number: DRV8886

Hello,

Our customer use the DRV8886.

The customer are considering the sequence of the logic input and have some questions.

How long does it take from ENABLE=High to output enable?

and

How long does it take from ENABLE=Low to output disable?

Best Regards,

Naoki Aoyama

CC3200: cc3200

Viewing all 262198 articles
Browse latest View live


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