Quantcast
Viewing all 262198 articles
Browse latest View live

CCS/CC2650: Combining uartecho and pininterrupt examples from TI-RTOS

Part Number:CC2650

Tool/software: Code Composer Studio

Hello good people!

I want to combine the uartecho example with pininterrupt example for the CC2650XL Launchpad, both from TI-RTOS, so that when i type, 'r' and 'g' for example, in the serial session(uart part), the red and green LED should Turn ON, respectively(pininterrupt part).

Can anyone provide some support for the necessary changes that needs to be done.

Regards,

Syed


CCS/TMS320F28335: Question regarding the EQEP module of F28335

Part Number:TMS320F28335

Tool/software: Code Composer Studio

Hi,

I am trying to use Delfino microcontroller for FOC control of a PMSM. I am at the beginning of using EQEP module for the incremental encoder. I have all the QA, QB, and index signals as inputs for the microcontroller. Here is the initialization for the EQEP module:

EQep1Regs.QDECCTL.bit.QSRC=00; // QEP quadrature count mode

EQep1Regs.QEPCTL.bit.FREE_SOFT=2;
EQep1Regs.QEPCTL.bit.PCRM=00; // PCRM=00 mode - QPOSCNT reset on index event
EQep1Regs.QEPCTL.bit.UTE=1; // Unit Timeout Enable
EQep1Regs.QEPCTL.bit.QCLM=1; // Latch on unit time out
EQep1Regs.QPOSMAX=15000;
EQep1Regs.QEPCTL.bit.QPEN=1; // QEP enable

EQep1Regs.QCAPCTL.bit.UPPS=5; // 1/32 for unit position
EQep1Regs.QCAPCTL.bit.CCPS=2; // 1/128 for CAP clock
EQep1Regs.QCAPCTL.bit.CEN=1; // QEP Capture Enable

When trying to measure the speed, the regsiter "EQep1Regs.QPOSCNT" sometimes does not reset when an index occurs. And sometimes, it gets zero. I have configured the EQEP module to reset at the index point whenever an index occurs and I expect it to reset at index point. However, for example in one test, it resets, but in the next test, it does not reset. Does anyone have a  similar problem? Can yoy please help me?

Thanks

IWR1443BOOST: Radar Studio hangs on firmware download

Part Number:IWR1443BOOST

Hello,

I am following the instructions in the TI document "mmWave Sensor Raw Data Capture Using the TSW1400 Board" in order to stream data from my IWR1443BOOST to teh TSW1400.

Everything has gone smoothly up until the point where I need to upload the appropriate BSS and MSS firmwares in Radar Studio (page 11 of the document referenced above).

When I press the "Load" button in Radar Studio, I get a progress dialog that says:

"Downloading firmware to device...

Please wait, you can't terminate."

The progress bar remains frozen at 0% and never changes.  I'm not sure how to insert a screenshot, but will attempt to do so.  Is there an obvious reason why this would be happening?

TPS92512: TPS92512 current spiking at turn on

Part Number:TPS92512

I have the TPS92512 set up almost identical to the set up created by web bench except that

1. I and enabling the unit via 0-5v pulse into PDIM.  For the purpose of trouble shooting this is currently a constant 5v as soon as the micro powers up.

2. I have a thermistor set up to scale back the power if the board gets too hot.

Note: the system drives 3 parallel paths of 2 creee XQE LEDs

When I turn on the system I get a quick blip as shown below, the scope grab is measured from ground to pin 7 and is thus a current measurement. It appears for the first 20ms that the chip is stuck at 100% duty cycle and allowing for 5.6A of current, after that start up glitch it works properly limiting to about 0.3v at pin 7.  The glitch happens almost every boot cycle but varies in duration. Do you have any thoughts on what may be causing this?

Image may be NSFW.
Clik here to view.

Image may be NSFW.
Clik here to view.

TPS40200: inverting buck-boost converter - how to measure loop gain

Part Number:TPS40200

Hello,

I’m looking for guidance on how to measure the loop gain for an inverting buck-boost converter.  All the references are for a standard buck converter.

Thanks!

CCS/F28M36P63C2: Using gpio's to control voltage.

Part Number:F28M36P63C2

Tool/software: Code Composer Studio

Hello,

Using the GPIO's to regulate voltage. I have a voltage control switch with 6 different voltage settings each connected to a GPIO physically. I have the GPIO's configured as Inputs by clearing the GPIODIR register. I am reading the GPIODAT of each of these registers, and based on which one was selected i regulate the voltage.

Issue is that in the watch window, i notice that all 6 GPIO's read a 1 in the GPIODAT register by default. I am a bit confused by the information provided in the tech ref manual. Are they internal pull up??

Thanks,

Srini

Will TI ever provide Signed Drivers for TI USB related devices running on MS Windows?

 As you may be aware, Microsoft is slowly tightening the noose regarding the use of unsigned drivers especially related to Windows 10. As Microsoft states, Starting with new installations of Windows 10, version 1607, the previously defined driver signing rules will be enforced by the Operating System, and Windows 10, version 1607 will not load any new kernel mode drivers which are not signed by the Dev Portal. Their rationale is that this is for security purposes.

We have been using an unsigned TI USB Boot loader driver (with driver signing disabled) to install and run the boot loader. on Win 7 & 10 PCs. We use it to facilitate loading Firmware on our TI based product in manufacturing. Recently, the Boot loader stopped working when a recent update of MS WIN 10  (Version 1803) was applied. Since our company policy now forces us to run on all WIN 10 PCs with the latest updates (for security purposes), reverting to a previous update (or running on Win 7 PCs) is not an acceptable option for us.

Is TI planning to supply signed drivers for their MS WIndows based  products in the near future to help alleviate this situation? It seems like more customers will start to run into this as they switch over to WIN 10, or apply the latest updates on their existing WIN 10 PCs.

Please advise ASAP,

Thanks,

Jim Price, Audio Hardware Engineer, LENA Foundation

BQ34110: Need help setting the registers in BQ34110

Part Number:BQ34110

Hi Support team

My customer is using a customer version of this  battery 

Image may be NSFW.
Clik here to view.

and they are asking for help setting up the registers in the bq34110. The battery a LiFePO4 in a 4S9P setup, but in a different shape and higher 10A max charging current..

Do we have a set up for this? or any experience working with this battery vendor?

Thanks

Jeff Coletti


TIDEP-0099: Trouble getting up and running in Windows 10

Part Number:TIDEP-0099

The documentation for this starter kit is very difficult to follow.  I simply want help to get up and running with the OMAP-L137/TMS320C6747 Floating Point Starter Kit (SK) and the PCM1864 CMB as is demonstrated in the video demo .

I have installed CCS 8.1.0 but need help getting the correct Target Configuration as well as getting the demo projects loaded. 

Here is the console message I get when trying to "connect to target.  

"C674X_0: Error connecting to the target: Error 0x80000240/-1180 Fatal Error during: Initialization, OCS,  The target is being held in reset.  The applied reset must be released before progressing."

Image may be NSFW.
Clik here to view.

TMS320F28027: SCIRXBUF RXRDY in TMS320F28027 SCIA is never set although RXBUFF receives data

Part Number:TMS320F28027

Hi,

I am trying to see in debugger why I cannot rely on the RXRDY as an indicator that something has been received in SCI Rx buffer.

So far, my conclusion is that RXRDY is never set. I am using this without Rx interrupts disabled.

Please, let me know how it the SCI receiver supposed to be initialized in order to reliably receive asynchronous byte by byte ingress 8-bit data.

When is the RXRDY set, and how to condition SCIA Rx side to allow for reliable RXRDY usage?

Previously, when waiting on SCI to raise RXRDY flag, I ended up in eternal wait loop.

My workaround was to check if the FIFO is not empty, so I can read the buffer, but that is not recommended usage of Rx SCI.

Here are the details form SPRUGH1C-Revised October 2009, document by TI the following should be true:

"2.7.2 Receiver Data Buffer (SCIRXBUF)
When the current data received is shifted from RXSHF to the receiver buffer, flag bit RXRDY is set and
the data is ready to be read. If the RX/BK INT ENA bit (SCICTL2.1) is set, this shift also causes an
interrupt. When SCIRXBUF is read, the RXRDY flag is reset. SCIRXBUF is cleared by a system reset."

What am I missing here?

MSP430F2274: SPI Communication Acting Unpredictably Between Master and Slave

Part Number:MSP430F2274

The simple program I am trying to run is to have the slave's LEDs light up when the button on the master is pressed, and then transmit data the slave received to illuminate the master's LEDs. My code for both the master and slave are shown, beginning with the master.

#include <msp430.h>
#include <stdint.h>
#define SLAVE_CS_OUT P3OUT #define SLAVE_CS_DIR P3DIR #define SLAVE_CS_PIN BIT0 #define SLAVE_RST_OUT P4OUT #define SLAVE_RST_DIR P4DIR #define SLAVE_RST_PIN BIT6 #define BUTTON_DIR P1DIR #define BUTTON_OUT P1OUT #define BUTTON_REN P1REN #define BUTTON_PIN BIT2 #define BUTTON_IES P1IES #define BUTTON_IE P1IE #define BUTTON_IFG P1IFG #define BUTTON_VECTOR PORT1_VECTOR #define BUTTON_LED_OUT P1OUT #define BUTTON_LED_DIR P1DIR #define BUTTON_LED_PIN BIT0 #define COMMS_LED_OUT P1OUT #define COMMS_LED_DIR P1DIR #define COMMS_LED_PIN BIT1 void SendUCB0Data(uint8_t val) { while (!(IFG2 & UCB0TXIFG)); // USCI_A0 TX buffer ready? UCB0TXBUF = val; } void configClocks() { DCOCTL |= DCO1 + DCO0; // DCOCTL = 0x60 BCSCTL1 |= XT2OFF + DIVA_3 + RSEL2 + RSEL1 + RSEL0; // BCSCTL1 = 0xB7 BCSCTL2 |= SELM_3 + SELS; // BCSCTL2 = 0xC8 BCSCTL3 |= XT2S_3; // BCSCTL3 = 0xC0 } void initGPIO() { //LEDs COMMS_LED_DIR |= COMMS_LED_PIN; COMMS_LED_OUT &= ~COMMS_LED_PIN; BUTTON_LED_DIR |= BUTTON_LED_PIN; BUTTON_LED_OUT &= ~BUTTON_LED_PIN; //SPI Pins P3SEL = BIT3 | BIT2 | BIT1; SLAVE_RST_DIR |= SLAVE_RST_PIN; SLAVE_RST_OUT |= SLAVE_RST_PIN; SLAVE_CS_DIR |= SLAVE_CS_PIN; SLAVE_CS_OUT |= SLAVE_CS_PIN; //Button to initiate transfer BUTTON_DIR &= ~(BUTTON_PIN); // button input BUTTON_OUT |= BUTTON_PIN; // button pull up BUTTON_REN |= BUTTON_PIN; // button pull up/down resistor enable BUTTON_IES |= BUTTON_PIN; // button Hi/lo edge BUTTON_IE |= BUTTON_PIN; // button interrupt enabled BUTTON_IFG &= ~BUTTON_PIN; // button IFG cleared } void initSPI() { UCB0CTL0 |= UCCKPL + UCMSB + UCMST + UCSYNC; UCB0CTL1 |= UCSSEL_1; // ACLK UCB0BR0 |= 0x03; // /32 UCB0BR1 = 0; // UCA0MCTL = 0; // No modulation must be cleared for SPI UCB0CTL1 &= ~UCSWRST; // **Initialize USCI state machine** IE2 |= UCB0RXIE; // Enable USCI0 RX interrupt } int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer configClocks(); initGPIO(); initSPI(); SLAVE_RST_OUT &= ~SLAVE_RST_PIN; // Now with SPI signals initialized, __delay_cycles(1000); SLAVE_RST_OUT |= SLAVE_RST_PIN; // reset slave __delay_cycles(1000); // Wait for slave to initialize while(1) __bis_SR_register(LPM3_bits + GIE); } #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=USCIAB0RX_VECTOR __interrupt void USCIB0RX_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(USCIAB0RX_VECTOR))) USCIA0RX_ISR (void) #else #error Compiler not supported! #endif { if(IFG2 & UCB0RXIFG) { COMMS_LED_OUT = UCB0RXBUF; __no_operation(); } //IFG2 &= ~UCB0RXIFG; //BUTTON_IFG &= ~BUTTON_PIN; //__delay_cycles(1000); } #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=BUTTON_VECTOR __interrupt void Button_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(BUTTON_VECTOR))) Button_ISR (void) #else #error Compiler not supported! #endif { static volatile char send_byte; BUTTON_IFG &= ~BUTTON_PIN; // button IFG cleared if(send_byte == 0) { SendUCB0Data(0x01); send_byte = 1; } else if(send_byte == 1) { SendUCB0Data(0x02); send_byte = 2; } else if(send_byte == 2) { SendUCB0Data(0x03); send_byte = 3; } else if(send_byte == 3) { SendUCB0Data(0x00); send_byte = 0; } //Initiate __bic_SR_register_on_exit(LPM3_bits); // Exit LPM0 }

#include <msp430.h>
#include <stdint.h>

#define SLAVE_CS_IN     P3IN
#define SLAVE_CS_DIR    P3DIR
#define SLAVE_CS_PIN    BIT0

#define CLK_IN          P3IN
#define CLK_PIN         BIT3

#define LED_OUT         P1OUT
#define LED_DIR         P1DIR
#define RED_LED_PIN     BIT0
#define GREEN_LED_PIN   BIT1


void SendUCB0Data(uint8_t val)
{
    while (!(IFG2 & UCB0TXIFG));              // USCI_A0 TX buffer ready?
    UCB0TXBUF = val;
}


void configClocks()
{
    DCOCTL |= DCO1 + DCO0;                                  // DCOCTL = 0x60
    BCSCTL1 |= XT2OFF + DIVA_3 + RSEL2 + RSEL1 + RSEL0;     // BCSCTL1 = 0xB7
    BCSCTL2 |= SELM_3 + SELS;                               // BCSCTL2 = 0xC8
    BCSCTL3 |= XT2S_3;                                      // BCSCTL3 = 0xC0
}


void initGPIO()
{
  //SPI Pins
  P3SEL = BIT3 | BIT2 | BIT1;
  SLAVE_CS_DIR &= ~(SLAVE_CS_PIN);

  //LEDs
  LED_DIR |= RED_LED_PIN + GREEN_LED_PIN;
  LED_OUT &= ~RED_LED_PIN & ~GREEN_LED_PIN;
}

void initSPI()
{
  UCB0CTL1 = UCSWRST;                       // **Put state machine in reset**
  UCB0CTL0 |= UCCKPL + UCMSB + UCSYNC;      // 3-pin, 8-bit SPI Slave
  UCB0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  IE2 |= UCB0RXIE;                          // Enable USCI0 RX interrupt
}


int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  while (!(CLK_IN & CLK_PIN));              // If clock sig from mstr stays low,
                                            // it is not yet in SPI mode
  configClocks();
  initGPIO();
  initSPI();

  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM4, enable interrupts
  __no_operation();
  return 0;
}

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCIAB0RX_VECTOR))) USCI0RX_ISR (void)
#else
#error Compiler not supported!
#endif
{
    //static volatile char send_byte;

    if(IFG2 & UCB0RXIFG)
    {
        LED_OUT = UCB0RXBUF;
        UCB0TXBUF = UCB0RXBUF;
    }
}

 When running this code, the master receives an RX interrupt, but will constantly stay in that ISR, or will trigger an interrupt for the pin corresponding to the button. The furthest it has gotten is illuminating one LED on the master, but then halting and never returning to the master's button ISR even when pressed. Commenting out the contents of the `if` statement within the master's RX ISR will cause the program to behave as predicted, where the slave's LEDs will illuminate or turn off during each button press on the master. Is there any reason as to why including the master's RX ISR causes the program to behave unpredictably? I can provide more information if needed. Thank you!

IWR1443: set up of multiple receiver gain

Part Number:IWR1443

Is it possible to set up multiple receiver gain (or time variable gain) in one config file for High accuracy visualizer?

Thanks

Viktorija

TPS3809: Thermal Resistance Values

Part Number:TPS3809

I am wondering what the thermal resistance values for part #:TPS3809 are with a unit of measurement of °C/W. The area of interest is junction to case, junction to board, junction to ambient, or whichever information is available. The information is not presented in the datasheet. Thanks!

INA271-HT: INA271SHKQ

Part Number:INA271-HT

i AM LOOKING FOR THE LEAD COMPOSITION AND THE LEAD FINISH FOR THIS PART AS IT IS NOT ON THE DATA SHEET

REF5025-HT: REF5025SHKQ

Part Number:REF5025-HT

I AM LOOKING FOR THE LEAD COMPOSITION , THE LEAD FINISH AND THICKNESS  FOR THIS PART


ADS8867: The evaluation module (EVM) for this part shows as obsolete. How can I evaluate this before committing to using it in my design?

DLPDLCR2000EVM: Running Blue LED in Continuous Wave ( CW) Mode

Part Number:DLPDLCR2000EVM

I'm interested in using this projector to make a patterned photostimulator for optogenetics /  neurophotonics. The 450 nm LED on the device would be great for stimulating Channelrhodopsin but it's important to have temporal control of the light patterning. Typically one would like to be able to control the frequency between 10-70 Hz and the duration of the pulse between 1-25 ms. 

I was able to get the board to output only blue. Through this link I was also able to figure out how to set the diode current levels. However, even when have this set to just blue, when I put it on a diode and look on it on the oscilloscope I see that the blue is still just pulsing, in this case at ~120 Hz. 

I believe this pulsing is controlled by the LED select output on the DLPC2607 and the strobe controller on the DLPA1000. Is there anyway for me to just get the blue LED to be in a constant on or constant wave ( CW )  mode? If I some how spliced into the LED select traces would I be able to get the DPLA1000 to output in CW mode and even On/Off modulate it with the same line at the desired temporal frequencies (20 Hz, 5 ms on for 10-40 pulses). 

Thanks,

Greg

Image may be NSFW.
Clik here to view.
Blue output on diode

SN65DP159: Using FTDI232H and eyescan tool

DRV8801: wiring between motor driver and PWM generator

Part Number:DRV8801

Hi,

I am working on the schematic of the DRV8881 motor driver and I was wondering that should I have to connect any pins to PWM generator? I have TLC5951 PWM generator on PCB.

Thanks!

Regards,

Farinaz

CCS/CC3220SF-LAUNCHXL: CC3220 max data size allowed to be sent to AWS site

Part Number:CC3220SF-LAUNCHXL

Tool/software: Code Composer Studio

I am running the Connect_to_AWS_IoT demo.

I am trying to send a packet of data up to the cloud.
I have been running this for quite sometime and have had no issues with it.

When I attempt to send data with 1670 bytes in it, it fails (nothing arrives at the AWS site, the CC3220 never sent it) - when I back the number of bytes down to 1000, it passes (the data arrives on the AWS site no problem)

I am calling the MQTT_AGENT_Publish() function, which calls the prvSendCommandToMQTTTask() which puts the data on the xCommandQueue queue and off it goes (basically, I believe this is sending the data to the network processer so I may not be able to specifically track what's going on).

The good new is: My software isn't locking up, no queues or buffers are overflowing and crashing - it just can't handle a packet of data that size.

q1. Is there a limit to how many bytes I can send to the AWS cloud?
q2. Do I need to send a packet this size in two chunks?

Viewing all 262198 articles
Browse latest View live


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