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

What is the Task concept in TI RTOS

$
0
0

Hi,

I need 2 different functionalities, that can run parallel.

My use case is like this,

I wanted to read ADC readings from cc2650 with a predefined interval and store the value to a global buffer. When ever a global buffer of size 256 Byte is completely filled, the SPI Flash write functionality get invoked and write the buffer to flash memory. But Flash write should not block the ADC reading operation. 

I don't know if the threading concepts in c are applicable in TI RTOS. 

I see that all the Tasks in TI RTOS are created with a priority and TI RTOS having  preemptive scheduling, which means low priority tasks will be in a queue until a high priority task finishes. 

What happens if I am giving same priority to the tasks I have explained above. Will it run parallel or one task will queue the other to take the turns.

Anyone having good understanding about the Task execution and scheduling please help me and let me know if running tasks parallel is possible or not


Is there any board that connect TSIP on EVM6678 and landline phones?

$
0
0
Hi Champs,

I`m looking for a board that can connect TSIP on AMC edge connector of EVM6678
and landline phones? 
I'm planning to evaluate the C6678 TSIP with landline phones.

So, could you please let me know, if you have any?
 
Best regards,
j-breeze

TPS5430 for Output -5V/-9V from Input +12V

$
0
0

I am planning to use below schematic using TPS5430 for -5V/-9V application.

Both voltages for op-amp sensing application ( medical grade instrument ) and load requirement is not more than 50 mA.

For -5V resistors are as below:

R10=0E ,R12=47K, R13=15K

Please review circuit and suggest for any improvement.

Bluetopia Build Fails

$
0
0

Hi,

I am trying to build bluetopia for wl18xx chip on imx6 sololite processor and using 3.0.35-2508-g54750ff kernel version.And  i am facing the below errors.

~/AM335xBluetopiaLinuxProduction-4.0.3.0.1.0/build$ make all
CC_S BTPMSRVR.c -o BTPMSRVR_S.o
LN BTPMSRVR_S.o libBTPM_S.a libBTPM_HAL_S.a libSS1BTAUD.a libSS1BTGAV.a libSS1BTAVC.a libSS1BTAVR.a libSS1SBC.a libSS1BTFTP.a libSS1BTHDP.a libSS1BTHDS.a libSS1BTHIDH.a libSS1BTHID.a libSS1BTPAN.a libBTPS_VNET.a libSS1BTPBA.a libSS1BTHFR.a libSS1BTMAP.a libSS1BTOPP.a libSS1BTCTS.a libSS1BTNDCS.a libSS1BTRTUS.a libSS1BTDIS.a libSS1BTGAT.a libSS1BTGAPS.a libSS1BTHIDS.a libSS1BTNDC.a libSS1BTRTU.a libSS1BTIAS.a libSS1BTHRS.a libSS1BTSCP.a libSS1BTLLS.a libSS1BTBAS.a libSS1BTTPS.a libBTPS.a libBTPS_PLA.a libBTPS_OSA.a -o SS1BTPM
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: warning: ld-linux-armhf.so.3, needed by /opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/usr/lib/libasound.so, not found (try using -rpath or -rpath-link)
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: error: ../BluetopiaPM/lib/libBTPM_S.a(BTPMMAIN_S.o) uses VFP register arguments, ../BluetopiaPM/bin/SS1BTPM does not
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: failed to merge target specific data of file ../BluetopiaPM/lib/libBTPM_S.a(BTPMMAIN_S.o)
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: error: ../BluetopiaPM/lib/libBTPM_S.a(BTPMDEVM_S.o) uses VFP register arguments, ../BluetopiaPM/bin/SS1BTPM does not
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: failed to merge target specific data of file ../BluetopiaPM/lib/libBTPM_S.a(BTPMDEVM_S.o)
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: error: ../BluetopiaPM/lib/libBTPM_S.a(DEVMGR_S.o) uses VFP register arguments, ../BluetopiaPM/bin/SS1BTPM does not
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: failed to merge target specific data of file ../BluetopiaPM/lib/libBTPM_S.a(DEVMGR_S.o)
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: error: ../BluetopiaPM/lib/libBTPM_S.a(DEVMUTIL_S.o) uses VFP register arguments, ../BluetopiaPM/bin/SS1BTPM does not

CAN bootloader for TMS320f28035

$
0
0

Hi all,

I am using TMS320F28035 as my Target MCU. So i want to write Bootloader code for my Target MCU so as to update MCU flash over the air.

But since i am intended to update the flash through CAN channel and my PC application communicates via USB/UART channel.

So i am confused as how to use some MCU as USB to CAN converter which can work as Master MCU between PC application and Target MCU.

PC (Data Source) <-->UART <--->MCU(master) <---> CAN <---> MCU (Target)

So which MCU should be used as master one?

ADC coding for SCR gate controller

$
0
0

 Hello,

I am trying to make firmware code for a SCR controller.

Need to work how I can make my  8 analog input  voltage to ADC and generate PWM (for R,S,T phase) considering zero crossing and firing angle correction.

Few information are follows.

1. I need to use pin ADCIN_A0 to ADCIN_B1. Here ADCIN_A1 and ADCIN_A3 should be exclude, because I am ignoring AC current and voltage part.(see the schematic)

2. My input  DC_volt_ADC and DC_current_ADC signals  are 0-3 volt and 20mA . Which might be single ended input.

3. If you look in the schematic Spare2_ADC, Spare1_ADC, Voltage_control signals are depends on M_Select_1, M_Select_2, M_Select_3(external Relay controlled)  in I/O pin 77-89.

4. The switching logics are,(

When M_Select_1--> HIGH ,Voltage_control -->HIGH and others (Spare2_ADC, Spare1_ADC) are LOW..

At this time M_Select_2, M_Select_3 are LOW.

Alternatively, M_Select_2, M_Select_3  pins could be HIGH when M_Select_1 is kept LOW  thus  Spare2_ADC, Spare1_ADC would be HIGH.

5.    3.3V REF Voltage_ADC is applied to ADCIN_A7 to ADCIN_B1.

I am following this code ( some part of it from ATmel ).

Kindly help me to write code in the required logic.

#include "DSP28x_Project.h" // Device Headerfile and Examples Include File

interrupt void adc_isr(void);

// Global variables used in this example:
Uint16 LoopCount;
Uint16 ConversionCount;
Uint16 Voltage1[10];
Uint16 Voltage2[10];
Uint16 Voltage3[10];
Uint16 Voltage4[10];
Uint16 Voltage5[10];
Uint16 Voltage6[10];
Uint16 Voltage7[10];
Uint16 Voltage8[10];
Uint16 Voltage9[10];

main()
{


InitSysCtrl();


EALLOW;
#if (CPU_FRQ_150MHZ) // Default - 150 MHz SYSCLKOUT
#define ADC_MODCLK 0x3 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25.0 MHz
#endif
#if (CPU_FRQ_100MHZ)
#define ADC_MODCLK 0x2 // HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 100/(2*2) = 25.0 MHz
#endif
EDIS;

EALLOW;
SysCtrlRegs.HISPCP.all = ADC_MODCLK;
EDIS;


DINT;
Gpio_select();
InitPieCtrl();

// Disable CPU interrupts and clear all CPU interrupt flags:
IER = 0x0000;
IFR = 0x0000;

InitPieVectTable();

EALLOW; // This is needed to write to EALLOW protected register
PieVectTable.ADCINT = &adc_isr;
EDIS; // This is needed to disable write to EALLOW protected registers


InitAdc(); // For this example, init the ADC

AdcRegs.ADCTRL1.all = 0;
AdcRegs.ADCTRL1.bit.ACQ_PS = 7;
AdcRegs.ADCTRL1.bit.SEQ_CASC =1;
AdcRegs.ADCTRL1.bit.CPS = 0;
AdcRegs.ADCTRL1.bit.CONT_RUN = 0;

AdcRegs.ADCTRL2.all = 0;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1
AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 =1;
AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 = 0;

AdcRegs.ADCTRL3.bit.ADCCLKPS = 3;

AdcRegs.ADCMAXCONV.all = 0; // 8 double conv's (16 total)

AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0;// Setup ADCINA0 as 1st SEQ1 conv
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 1;//Setup ADCINA1 as 2nd SEQ1 conv

EPwm2Regs.TBCTL.all = 0xC030;
EPwm2Regs.TBPRD = 2999;
EPwm2Regs.ETPS.all = 0x0100;
EPwm2Regs.ETSEL.all = 0x0A00;

// Enable ADCINT in PIE
PieCtrlRegs.PIEIER1.bit.INTx6 = 1;
IER |= M_INT1; // Enable CPU Interrupt 1
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM

LoopCount = 0;
ConversionCount = 0;

asm(" RPT #10 || NOP"); // Short delay for ADC reset to take effect

void configure_adc_voltage(void)
{
struct adc_config conf_adc;

adc_get_config_defaults(&conf_adc);

conf_adc.reference = ADC_REFERENCE_INT3V;
conf_adc.positive_input = ADC_POSITIVE_INPUT_VOLTAGE;
conf_adc.negative_input = ADC_NEGATIVE_INPUT_GND;
conf_adc.sample_length = ADC_VOLTAGE_SAMPLE_LENGTH;

adc_init(&adc_instance, ADC, &conf_adc);

ADC->AVGCTRL.reg = ADC_AVGCTRL_ADJRES(2) | ADC_AVGCTRL_SAMPLENUM_4;

adc_enable(&adc_instance);
}

float calculate_voltage(uint16_t raw_code)
{
float VADC; /* Voltage calculation using ADC result for Coarse voltage calculation */
float VADCM; /* Voltage calculation using ADC result for Fine voltage calculation. */
float INT3VM; /* Voltage calculation for reality INT3V value during the ADC conversion */

VADC = ((float)raw_code * INT3V_VALUE_FLOAT)/ADC_12BIT_FULL_SCALE_VALUE_FLOAT;

/* Coarse Temp Calculation by assume INT1V=1V for this ADC conversion */
coarse_voltage = voltageR + (((voltageH - voltageR)/(VADCH - VADCR)) * (VADC - VADCR));

/* Calculation to find the real INT1V value during the ADC conversion */
INT3VM = INT3VR + (((INT3VH - INT3VR) * (coarse_voltage - voltageR))/(voltageH - voltageR));

VADCM = ((float)raw_code * INT1VM)/ADC_12BIT_FULL_SCALE_VALUE_FLOAT;

/* Fine Temp Calculation by replace INT3V=3V by INT3V = INT3Vm for ADC
conversion */
fine_voltage = voltageR + (((voltagepH - voltageR)/(VADCH - VADCR)) * (VADCM - VADCR));

return fine_voltage;

}

// Mux input
int16_t adcReadData(uint16_t mux)
{
#if defined(__AVR_AT90USB162__)
return 0;
#else
uint16_t low;

ADCSRA = (1<<ADEN) | ADC_PRESCALER; // enable ADC
ADCSRB = (1<<ADHSM) | (mux & 0x20); // high speed mode
ADMUX = aref | (mux & 0x1F); // configure mux input
ADCSRA = (1<<ADEN) | ADC_PRESCALER | (1<<ADSC); // start the conversion
while (ADCSRA & (1<<ADSC)) ; // wait for result
low = ADCL; // must read LSB first
return (ADCH << 8) | low; // must read MSB only once!
#endif
}

float adc_value, inst_current;
float acc_load_current; // accumulator = (I1*I1 + I2*I2 + ... + In*In)
double rms_current;

// Calculate the real instantanous value from the ADC reading
inst_current = (adc_value/1024)*2.5; // 10bit ADC, Voltage ref. 2.5V, so formula is: x=(adc/1024)*2.5V

// Update the RMS value with the new instananous value:
// Substract 1 sample from the accumulator (sample size is 512, so divide accumulator by 512 and substract it from the accumulator)
acc_load_current -= (acc_load_current / 512);
inst_current *= inst_current; // square the instantanous current
acc_load_current += inst_current; // Add it to the accumulator

rms_current = (acc_load_current / 512); // Get the mean square value. (sample size is 512)
rms_current = sqrt(rms_current); // Get RMS value

// Now the < rms_current > is the real RMS current

// Clear SampleTable
for (i=0; i<BUF_SIZE; i++)
{
SampleTable[i] = 0;
}

// Start SEQ1
AdcRegs.ADCTRL2.all = 0x2000;

for(;;)
{ // Take ADC data and log them in SampleTable array

// Initialize the array index. This points to the current
// location within the SampleTable
array_index = 0;

for (i=0; i<(BUF_SIZE/16); i++)
{
// Wait for int1
while (AdcRegs.ADCST.bit.INT_SEQ1== 0){}
GpioDataRegs.GPBSET.bit.GPIO34 = 1; // Set GPIO34 for monitoring -optional

AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;


// Wait for ADC interrupt
for(;;)
{
LoopCount++;
}

}


interrupt void adc_isr(void)
{

Voltage1[ConversionCount] = AdcRegs.ADCRESULT0 >>4;
Voltage2[ConversionCount] = AdcRegs.ADCRESULT1 >>4;
Voltage3[ConversionCount] = AdcRegs.ADCRESULT2 >>4;
Voltage4[ConversionCount] = AdcRegs.ADCRESULT3 >>4;
Voltage5[ConversionCount] = AdcRegs.ADCRESULT4 >>4;
Voltage6[ConversionCount] = AdcRegs.ADCRESULT5 >>4;
Voltage7[ConversionCount] = AdcRegs.ADCRESULT6 >>4;
Voltage8[ConversionCount] = AdcRegs.ADCRESULT7 >>4;
Voltage9[ConversionCount] = AdcRegs.ADCRESULT8 >>4;


// If 40 conversions have been logged, start over
if(ConversionCount == 9)
{
ConversionCount = 0;
}
else ConversionCount++;

// Reinitialize for next ADC sequence
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear INT SEQ1 bit
AdcRegs.ADCTRL2.bit.RST_SEQ2 = 1; // Reset SEQ1
AdcRegs.ADCST.bit.INT_SEQ2_CLR = 1; // Clear INT SEQ1 bit
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE

return;
}(Please visit the site to view this file)

how is pin muxing done in TMS320F28075

$
0
0

i couldn't find the pin muxing step in ur adc_soc_epwm_cpu01 example .

as per my understanding its done using GPxMUXx registers,is there any other way?

what is meant by trim values in this examples, what all does it contain?

How do the CC1350 run the TI BLE software stack ( which enables full BLE connectivity) and the sub-1G sensor function at the same time?

$
0
0

hi,

We need use the BLE profile to connect smart phone and use the sub -1G to send data.

How do  the CC1350  run  the TI BLE software stack ( which enables full BLE connectivity)  and the sub-1G sensor function  at the same time?


Error while flashing .elf file on cc2650 using xds110 device debugger pack.

$
0
0

I am frequently facing these errors, i updated the firmware of Debugger devpack, but still these errors are showing at the time of flashing. I am using XDS110, cc2650, CCS uniflash 3.4 on ubuntu 14.04.

CCS v6 is not getting installed on Opensuse Leap 42.1

$
0
0

Hi Everyone!!!

I am trying to install CCS on Opensuse Leap 42.1.

My version of CCS is: 6.1.3.00034.

I tried using the offline installer available on the wiki page.

1) First of all, it gives me the following warning:-

"Failed to locate 32-bit system libraries required for CCS operation:

libcairo.so.2

libgdk-x11-2.0.so.0

libgtk-x11-2.0.so.0

libpangocairo-1.0.so.0"

The above mentioned libraries are already installed. Then also the installer is not able to find them. I even reinstalled those libraries but, no use, same warning.

2) Then I went with installing although the warning was occurring. But still unlucky, installation does not complete, its max 20-25%. I am attaching the installation log.(Please visit the site to view this file)

Please guys help!!!

THCV231 and THCV236 according to TI's solution

$
0
0

Hola,

Does TI have a solution which similar with THCV231 and THCV236 below and can support HiSPi? Thanks ~

(Please visit the site to view this file)

XDS200 connection problem

$
0
0

I just purchased an XDS200 debug probe. I have been successfully using an Olimex xds100v2 device but wanted a faster device. The target is a custom board with a TM4C1294 Tiva processor. Using CCS version 6.1.3, the connection is JTAG, the program is using TI-RTOS. The Test Connection test shows an OK scan test. However when I try to run the program (again, no problem using the XDS100v2 probe) i have no breakpoint response and no system_printf output. If I hover over the debug icon it reports that it is running. The pause button is grayed out. CCS is running in a Windows 10 Pro OS environment.

To say that I am at my wits end is an understatement :(.

TPS25810 can't charge device problem

$
0
0

Dear sir:

       Currently we meet TPS25810 can't charge device(Google Nexus) problem.  

We have test the CC1 and CC2 is 3.85V,    

we use 5.1K resistor to pull CC2 to ground, it's still 3.7V,  Vbus is not output. could you help suggest how to solve the problem.

internal forum is read only currently, i can provide schematic if need.

Robin

Influence in capacitive measurements

$
0
0

FDC 2212 works well to capacitive sensors but in some applications it is not always pure capacitor it is sometimes influenced by plasma, for example, in this situation the capacitor become an impedance i.e. an ohmic  resistance is in parallel with the measuring capacitor. The model of the plasma produced usually is a resistor.

How is it dealt? Is it possible to use another channel as a compensation to the change? Or other solutions? 

AM335x eMMC programming with Uniflash


UCC28881 isolated flyback solution to output 5V@500mA

$
0
0

Hi Team,

Is there any reference design using UCC28881 to converter 90-264VAC to 5V@500mA in isolated flyback topology?

There is a reference circuit on data sheet page 25 but customer need detail component values and transformer spec.

Thanks and best regards,

Victor

Configuring WiFI SSID parameters in MSP432 TI RTOS tcp echo example.

$
0
0

Hi,

I am using the tcp example of TI RTOS on MSP432 with CC3100. The example requires configuration via the Simple Link Starter app right now. Is there  a way to define the configuration parameters in the code itself so that I don't have to reconfigure using the app every time.

Any help would be valuable.

Thanks

ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install.bin, Failed to connect SFTP subsystem. Remote host may not have sftp-server installed.

$
0
0

I installed the new Linux distribution ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install.bin: on my board am335x and on my host Ubuntu 16.04, 64 bits.

I created a HelloWorld project in CCS 6.1.3 following the instructions for cross compiling:

But when I run I get the error:

Error during file upload.

Failed to connect SFTP subsystem. Remote host may not have sftp server installed.

I can connect with ssh to the board.

Please check the attached pictures:

Does CC2640 BLE stack2.2 support PG2.2 as well?

$
0
0

Hi,

Does CC2640 BLE stack2.2 support PG2.2 as well?

Any different setting between support PG2.2 and PG2.3?

Vivian

Porting application code from TDA2x to TDA3x

$
0
0

Hi,

I am working on porting the application from tda2x to tda3x.

Currently the application runs fine on tda2x.The application uses bios,xdc,ipc,bsp,edma,ivahd,eve,vlib,mathlib packages from vision sdk.

On tda2 physical master is a15 that launches the secondary bootloader.The sbl will load and start the code from m4.

On tda3 what will be the scenario since tda3 does not support a15.

a) How the secondary bootloader launches on TDA3x

b)Is it fine to port the software modules running on a15 in TDA2 on m4 in TDA3x.

c)Does disabling a15 support from whole application,compiling the ti packages with TDA3 and then generating the application image is right procedure.

d)How should i proceed for porting application from tda2x to tda3x.

Regards

Mayank 

Viewing all 262198 articles
Browse latest View live


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