Quantcast
Channel: MSP low-power microcontroller forum - Recent Threads
Viewing all 21975 articles
Browse latest View live

MSP low-power microcontroller forum

$
0
0

Hi Guy, 

I need some help, I am research the power tool.

and test the tool. I get the waveform

yellow is battery pack voltage waveform

red      is battery pack current waveform

In the black part, is the power tool at stall statues,and build the high current which is almost 100 amps.(the peak)

I have many question need to ask.

1. Can I measure the RMS current at black part section?

    It is possible at Oscilloscope DSO-X 3024T.

    if it can how can i use? I can't find the answer in DSO-X 3000 series manual.

2. What does the power tool Current Waveform is not a Direct current?

    that look like pulsating direct current. ? 

3. The waveform is noraml at Power tool?

    I used 14.4 DC motor, and the current is look like pulsating.

4. The Power tool is connect to The battery Pack ,

    At this waveform ,Could I know the current of Battery Pack are supply value?

    For the Battery pack,It is supply the DC (RMS) current value or The highest Current value?

    The Battery Pack is 14.4V 2.0AH , and the Waveform is used the Battery pack to Supply and get this waveform.

please help me this question , thx so much.


MSP430F5529: Latest firmware

$
0
0

Part Number: MSP430F5529

Hi,

Can anyone say How we can flash latest firmware on MSP430F5529LP?

Regards,

Compiler/MSP430G2544: Flash MSP430 using SBW using AM57xx

$
0
0

Part Number: MSP430G2544

Tool/software: TI C/C++ Compiler

Hello,

I have connected MSP430 with AM57xx using SBW interface. Is there any methods/utility present to flash MSP430 from AM57xx?

Regards,

Prerak

MSP430-FLASHER: can't detected com port?or can't find msp430.dll?

$
0
0

Part Number: MSP430-FLASHER

Hi Friend:

I want to use  MSP430-FLASHER (command line) to write *.hex to msp430afe253.

and before,i can debug code according to MSP-FET430UIF.(in IAR->FET Debugger's connection is ti USB-IF(COM7),and switch jtag to SBW interface).

but when i start uni-flasher,can't select com port(but usb 1---3),and can't get device's info.updateing firmware or driver is needed,etc.following is detail.

1)in command line,it is said that msp430.dll is missing. 2)from UNIFLASH,just usb1-3 was showed. 3)in IAR's configure,its shows com port.

4) inform me to do a firmware updated. 5)when i press firmware updated,got error and driver is missing.

then another driver install is needed?

or some suggestion?

thx and best regards.

jonny

CCS/MSP-EXP432P401R: TExaSdisplay.exe, the Logic Analyzer display is dead. (Ref.: sekp066.pdf, pages 10-12)

$
0
0

Part Number: MSP-EXP432P401R

Tool/software: Code Composer Studio

Using CCS + TExaSdisplay (someone knows why the upper/lower case is as it is? ) as per instructed in sekp066.pdf page 10 to 12, my TExaSdisplay display is dead.
The program is running fine, the LEDs are flashing (OK, I changed the delays so they become perceptible by a human being), so the problem is not there.
I got confirmation by TExaSdisplay that it found COM5 in my case, and it is the same USB cable that the one I got with the robot kit, so the cable and the communication should not be the problem.
But I don't get any clock signal (even with the event trigger set on raising edge for P1.0.
Any idea?  I even close CCS, just in case the debugger could interfere. No candy.

By the way, (another question, but highly connected) the sekp066.pdf mentions that we could use our own Logic Analyzer if we have one. Nice, thanks you to give the permission, :-) ,  but where would I pin, say on a scope, the probe to get P1.0 clock signal?  I don't see any pin with a remotely similar label on the development board.

Software versions:

CSS 9.2.0.00013  (the one with a red cube logo),
TExaSdisplay 2.4,
Windows 10 64 bits  build 18362.418,
HP Desktop computer.

CCS/MSP430F5529: MSP430F5529 SPI COMMUNICATION

$
0
0

Part Number: MSP430F5529

Tool/software: Code Composer Studio

Dear All,

This is vikash Chandra Raman, I am doing a project on MSP430F5529. I am interfacing ACS71020 ic with SPI Communications. I have to send 32 bit registers through Spi And also i have to recieve 32 bit data from ACS71020 on controller RXBUFF.

i have send 32 bit registers, through send functions, kindly check my send function.

sync_low;

send(0x2325,2),send(0x5626,2)

sync_high;

void send( int data,int i)
{
int l;
__disable_interrupt();
l=data;
l=l>>8;
while(i){
while(!( UCB1IFG & UCTXIFG));
UCB1TXBUF = l;
l=data;
i--;
}
while(UCB1STAT & UCBUSY);
__enable_interrupt();


}

It successfully send, But when i recieve the data it only recieve 8 bit , it is showing on RXBUFF.

So , i requested to say that if i have to recieve 32 bit data on rxbuff, what should i do.

kindly tell me the solution or give some ideas.

waiting for your positive response

Vikash chandra Raman

Comcon industries

New-Delhi

MSP430G2230: TEST/SBWTCK pin on MSP430G2230

$
0
0

Part Number: MSP430G2230

I'm developing a small board with a MSP430G2230 and the TEST/SBWTCK is connected with a short track to a programming connector.

Is the internal pull-down resistor enough and the pin could be leaved floating, or is it better to add an external pull-down resistor to increase the noise immunity?

Thanks and best regards

Guido

CCS: MAP-EXP430G2ET LAUNCHPAD

$
0
0

Tool/software: Code Composer Studio

Hello sir.,

             I am using MSP-EXP430G2ET Launchpad ,i require driver setup file for external controller debugging. i installed FET Pro 430 ,but it shows JTAG Initialization issues and security fuse failed Error. PlZ Help.

Regards,

intelux elec.pune.


CC430F6137: CC430F6137 LCD display issue

$
0
0

Part Number: CC430F6137

Dear TI Team,

We developed a product based on CC430F6137 and attempted to build 4000 sets of them as a pilot run over last few weeks. Among the parts we build, we noticed that there were 93 PCS of them exhibited LCD display problem. Below is a description of the problem we observed for your reference.

1. Power up the device, CC430F6137 functions as expected and the LCD is turned on and shows correct information

2. While CC430F6137 is up and running, we tried to remove the system power to the device , and followed by applying power to device in succession, the LCD display suddenly switched off. Under this situation, we attempted to reset the device while keeping its power for multiple times , the LCD display kept on off state. What we expect is that the device should resume working after system reset.      

3. While the system was pending in a state as described in step 2. We kept on removing and applying system power to the device, there was chance that the system resumed working again - the LCD display returns normal and the system operate as expected. 

In summary, keep on applying and removing power to the device pushes a functional CC430F6137 device to a state where its LCD display was switched off and  system stopped functioning. We suspected that the issue we are experiencing may due to improper hardware design. Would you please help revise our schematic design as below and give us some hints where we could go wrong? Thank you.

 

Best regards,

Peter 

 

(Please visit the site to view this file)

 

MSP432P401R: SimpleLink v3.30 - Examples use wrong header file ("Board.h" instead of "ti_drivers_config.h")

$
0
0

Part Number: MSP432P401R

Many of the examples in the new SDK v3.30 revision - which uses Sysconfig - contain a reference to "Board.h":

/* Driver configuration */
#include <ti/drivers/Board.h>

Is it correct to assume that this is an accidental carry-over from previous (non-Sysconfig) versions of the SDK? I expect that this should have referenced the new Sysconfig generated header file:

/* Driver configuration */
#include "ti_drivers_config.h"

Thanks,
Scott

MSP430FR2311: MSP430FR2311 transimpedance amplifier positive input channel selection

$
0
0

Part Number: MSP430FR2311

Hi,

I want to use the transimpedance amplifer of MSP430FR2311IRGY  for my application. According to Table 6.22 (page 58) on datasheet given below TRIPSEL = 00 connects TIA+ input to P1.7, but other combinations (01, 10, 11) are not used.

However, according to Figure 6-3 on page 59 of the datasheet given below, to my understanding, TRIPSEL = 10 connects TIA+ input to Ground.

Basically I want to connect TIA+ input to ground and spare P1.7 for some other functionality. I am a bit confused on the use of TRIPSEL. My question is does TRIPSEL=10  connects the TIA+ input to ground or not?

Thanks very much in advance for your help.

Ertan

MSP-EXP430FR5969: MSP-EXP430FR5969

$
0
0

Part Number: MSP-EXP430FR5969

I was wondering if Zigbee Communications was compatible with this microcontroller. 

MSP432E411Y-BGAEVM: We need clarification about MSP432E411Y-BGAEVM board

$
0
0

Part Number: MSP432E411Y-BGAEVM

Hi Team,

   We going to use MSP432E411Y-BGAEVM board for our application.

   We having few doubts please clarify.

  1. How many concurrent tcp and udp socket support ?
  2. How many concurrent TLS/SSL connection support ?
  3. What is the purpose of SDRAM only for data storage purpose or it will ack as a RAM ?
  4. What is the difference between internal 256KB RAM and SDRAM 512Mb ?
  5. Can we possible to use segger j-link JTAG ?
  6. Can we possible to use cc3320sf board XDS110 JTAG ?

Regards

Vasu

CCS/MSP432P401R: I2C read/write functions for BMI60 IMU

$
0
0

Part Number: MSP432P401R

Tool/software: Code Composer Studio

Hi

I am trying to  configure BMI160 IMU's (sensor) registers and then read the information. Based on the BMI160 datasheet:

1- The read access should be like

 The read function based on above figure is: (First master transmitter->slave address->register address->repeated start->slave address->read data->...->NACK->Stop)

int8_t user_i2c_read(uint8_t dev_id, uint8_t reg_addr, uint8_t *reg_data, uint16_t len)

{
    int8_t rslt = BMI160_OK; /* Return 0 for Success, non-zero for failure */
    // Ensure stop condition got sent
    while (EUSCI_B0->CTLW0 & EUSCI_B_CTLW0_TXSTP);
    EUSCI_B0->CTLW0 |=EUSCI_B_CTLW0_TR;
    // I2C start condition
    EUSCI_B0->CTLW0 |= EUSCI_B_CTLW0_TXSTT;
    EUSCI_B0->I2CSA = dev_id;    //Set slave address 
    while((EUSCI_B0->CTLW0 & EUSCI_B_CTLW0_TXSTT));   //Wait for complete slave address to get transmitted

    while(!(EUSCI_B0->IFG & EUSCI_B_IFG_TXIFG0) ); //Wait until the data in TXBUF(register address) is transmitted
    EUSCI_B0->IFG &= ~(EUSCI_B_IFG_TXIFG0); //Clear the flag
    EUSCI_B0->TXBUF = reg_addr;    //Send the register address



       EUSCI_B0->CTLW0 &= ~EUSCI_B_CTLW0_TR;
       // I2C start condition
       EUSCI_B0->CTLW0 |= EUSCI_B_CTLW0_TXSTT;
       EUSCI_B0->I2CSA = dev_id;    //Set slave address 
       while((EUSCI_B0->CTLW0 & EUSCI_B_CTLW0_TXSTT) );   //Wait for complete slave address to get transmitted

       /* Read len-1 bytes of data*/
       for (i=len; i>1; i-- )
     {
           __delay_cycles(300000); // ~100ms pause between transmissions
           /*Read Data*/
         *reg_data = EUSCI_B0->RXBUF;
         reg_data++;

         /*ACKM*/
         while(!(EUSCI_B0->IFG & EUSCI_B_IFG_RXIFG0)); //Wait until the data in TXBUF(register address) is transmitted
         EUSCI_B0->IFG &= ~(EUSCI_B_IFG_RXIFG); //Clear the flag
         if(i==2)/*For the last byte send the STOP command*/
         {EUSCI_B0->CTLW0 |= EUSCI_B_CTLW0_TXSTP;}
      }
       /*Read the last byte*/
     if (i)
     {  
         __delay_cycles(300000); // ~100ms pause between transmissions
         while(!(EUSCI_B0->IFG & EUSCI_B_IFG_RXIFG0)); //Wait until the data in TXBUF(register address) is transmitted
         EUSCI_B0->IFG &= ~(EUSCI_B_IFG_RXIFG0); //Clear the flag
         /*Read Data*/
         *reg_data = EUSCI_B0->RXBUF; 
         reg_data++;
     }
     
     EUSCI_B0->CTLW1 |= EUSCI_B_CTLW1_STPNACK; //Sent NACK
     // Ensure stop condition got sent
     while (EUSCI_B0->CTLW0 & EUSCI_B_CTLW0_TXSTP);//check the ensure the STOP condition is sent out.

     return rslt;
    }

The problem I have here that the code get stuck in the 

 if (i)
     {  __delay_cycles(300000); // ~100ms pause between transmissions
         while(!(EUSCI_B0->IFG & EUSCI_B_IFG_RXIFG0)); //Wait until the data in TXBUF(register address) is transmitted
         EUSCI_B0->IFG &= ~(EUSCI_B_IFG_RXIFG0); //Clear the flag

My question is that did I write the correct format for read access?

Thanks

Saber 

MSP430FR2110: About the FLL lock convergence characteristics of MSP430FR2110.

$
0
0

Part Number: MSP430FR2110

Hello everyone,
Use MSP430FR2110. MCLK is 16MHz.
The required specification requires a startup time of 40 ms or less.
I would like some data on the convergence characteristics of FLL lock.

Thank you in advance.

Best regards,

k.saito


MSP430FR2110: About faster startup time

$
0
0

Part Number: MSP430FR2110

Hello everyone,

Using MSP430FR2110
I want to make the time from power on to P1.0 = "Hi" 40ms or less. MCLK must be 16MHz.
The current software takes 138ms processing time.
About DCO Software Trim
I referred MSP430 Hardware Tools User's Guide .pdf.
47ms time is spent on Software_Trim () processing.
- What are your concerns if you execute processing without waiting for FLL Lock?
- Please give me advice on how to increase the startup time.

int main(void)
{
    /* Port-1 Initialization */
 P1DIR  = 0x31;
 P1REN  = 0x08;
 P1OUT  = 0x00;
 P1SEL0 = 0x02;
 P1SEL1 = 0xc2;
 P1IES  = 0x08; /* P1.3 Interrupt Low Edge */
 P1IE   = 0x08; /* P1.3 Interrupt Enable */

 WDTCTL = WDTPW + WDTHOLD; /* Stop watchdog timer */

    PM5CTL0 &= ~LOCKLPM5;       // Disable the GPIO power-on default high-impedance mode
                                // to activate previously configured port settings

 FRCTL0 = FRCTLPW | NWAITS_1;   /* Set FRAM wait state to 1 */
 
 Clock_Setting();

 __bis_SR_register( GIE );  /* interrupts enabled */

 P1OUT |= 0x01;

 while( 1 ){}
}

void Clock_Setting()
{
    __bis_SR_register(SCG0);                // disable FLL
    CSCTL3 |= SELREF__REFOCLK;              // Set REFO as FLL reference source

    CSCTL1 = DCOFTRIMEN_1 | DCOFTRIM0 | DCOFTRIM1 | DCORSEL_5; // DCOFTRIM=3, DCO Range = 16MHz
    CSCTL2 = FLLD_0 + 488;                  // DCODIV = 16.023552MHz

    __delay_cycles(3);
    __bic_SR_register(SCG0);                // enable FLL

    Software_Trim();                        // Software Trim to get the best DCOFTRIM value

    CSCTL4 = SELMS__DCOCLKDIV | SELA__REFOCLK; // set default REFO(~32768Hz) as ACLK source, ACLK = 32768Hz
                                            // default DCODIV as MCLK and SMCLK source

}

void Software_Trim()
{
    unsigned int oldDcoTap = 0xffff;
    unsigned int newDcoTap = 0xffff;
    unsigned int newDcoDelta = 0xffff;
    unsigned int bestDcoDelta = 0xffff;
    unsigned int csCtl0Copy = 0;
    unsigned int csCtl1Copy = 0;
    unsigned int csCtl0Read = 0;
    unsigned int csCtl1Read = 0;
    unsigned int dcoFreqTrim = 3;
    unsigned char endLoop = 0;

    do
    {
        CSCTL0 = 0x100;                         // DCO Tap = 256
        do
        {
            CSCTL7 &= ~DCOFFG;                  // Clear DCO fault flag
        }while (CSCTL7 & DCOFFG);               // Test DCO fault flag

        if(mclk == MCLK16MHz ) __delay_cycles((unsigned int)3000 * 16);// Wait FLL lock status (FLLUNLOCK) to be stable
                                                           // Suggest to wait 24 cycles of divided FLL reference clock

        while((CSCTL7 & (FLLUNLOCK0 | FLLUNLOCK1)) && ((CSCTL7 & DCOFFG) == 0));

        csCtl0Read = CSCTL0;                   // Read CSCTL0
        csCtl1Read = CSCTL1;                   // Read CSCTL1

        oldDcoTap = newDcoTap;                 // Record DCOTAP value of last time
        newDcoTap = csCtl0Read & 0x01ff;       // Get DCOTAP value of this time
        dcoFreqTrim = (csCtl1Read & 0x0070)>>4;// Get DCOFTRIM value

        if(newDcoTap < 256)                    // DCOTAP < 256
        {
            newDcoDelta = 256 - newDcoTap;     // Delta value between DCPTAP and 256
            if((oldDcoTap != 0xffff) && (oldDcoTap >= 256)) // DCOTAP cross 256
                endLoop = 1;                   // Stop while loop
            else
            {
                dcoFreqTrim--;
                CSCTL1 = (csCtl1Read & (~DCOFTRIM)) | (dcoFreqTrim<<4);
            }
        }
        else                                   // DCOTAP >= 256
        {
            newDcoDelta = newDcoTap - 256;     // Delta value between DCPTAP and 256
            if(oldDcoTap < 256)                // DCOTAP cross 256
                endLoop = 1;                   // Stop while loop
            else
            {
                dcoFreqTrim++;
                CSCTL1 = (csCtl1Read & (~DCOFTRIM)) | (dcoFreqTrim<<4);
            }
        }

        if(newDcoDelta < bestDcoDelta)         // Record DCOTAP closest to 256
        {
            csCtl0Copy = csCtl0Read;
            csCtl1Copy = csCtl1Read;
            bestDcoDelta = newDcoDelta;
        }

    }while(endLoop == 0);                      // Poll until endLoop == 1

    CSCTL0 = csCtl0Copy;                       // Reload locked DCOTAP
    CSCTL1 = csCtl1Copy;                       // Reload locked DCOFTRIM
    while(CSCTL7 & (FLLUNLOCK0 | FLLUNLOCK1)); // Poll until FLL is locked
}

hank you in advance.
Best regards,

k.saito

CCS/MSP432E401Y: Sometimes doesn't reset after calling SysCtlReset();

$
0
0

Part Number: MSP432E401Y

Tool/software: Code Composer Studio

In our project, the device sometimes doesn't reset after calling SysCtrlRst().
There is the same issue on MSP-EXP432E401Y LaunchPad.
Based on mqttclient example of SDK v2.10.00.17,
In order to test, we do some modification like the following:
- Publish a "Start" message when the device connects to the broker
void mainThread(uint32_t arg0, uint32_t arg1)
{
  ...
  while (gInitState != 0)
  {
      Display_printf(display, 0, 0, ".");
      sleep(1);
  }
  Display_printf(display, 0, 0, ".");

  // Device is ready, publish "start" message
  pushButtonInterruptHandler0(0);

  while (gResetApplication == false);
  ...
}

- Soft reset the device when receive "reset" message
void MqttClient(uint32_t arg0, uint32_t arg1) //void *pvParameters)
{
  ...
  case MSG_RECV_BY_CLIENT:
    tmpBuff = (char *) ((char *) queueElemRecv.msgPtr + 12);
    if (strncmp(tmpBuff, SUBSCRIPTION_TOPIC1, queueElemRecv.topLen)== 0)
    {
// GPIO_toggle(Board_GPIO_LED0);

    Task_sleep(ms_to_ticks(1000));
    SysCtlReset();
    }
    ...
}

We use a testing tool to publish a "reset" message per 20 seconds to reboot the system.
The device (MSP432E401Y Launchpad) stops in 4 hours, total reboot 629 times.
Is there any error in the use of the soft reset?
How do we find the root cause that the device stops during a soft reset procedure?

Compiler/MSP430F6736A: I use FET por 430 to erase the internal storage space of MCU. I am prompted with an error. Please help me deal with it.

$
0
0

Part Number: MSP430F6736A

Tool/software: TI C/C++ Compiler

Hi all

    I used MSP430F6736A in my products ,when I used   FET por 430   to erase the internal storage space of MCU. I am prompted with an error. Please help me deal with it.

MSP-FET430UIF: MSP-FET430UIF tool trashes MSP430F2013 internal flash

$
0
0

Part Number: MSP-FET430UIF

I reported an issue where CCS was unable to detect my MSP-FET430UIF and although I followed the recommendations which were given to me by TI support, I could not resolve this.

I am currently using MSP-FET430UIF together with a MSP430F4618 Experimenter board.

I am using an Ubuntu 19.10 laptop with the latest msp-elf-gcc toolchain (8.3.0.16)

After jumping through a number of hoops, I managed to get everything running correctly, using mspdebug and am now in the process of trying to configure my own custom Emacs-based IDE, with a bunch of packages, since CCS is a no-go for me and caused my laptop to crash.

I am now faced with an extremely ugly situation, whereby, it has become apparent to me that the MSP-FET430UIF tool has somehow damaged the bootstrap loader in the MSP430F2013 on the experimenter board.

I have read a number of articles regarding similar issues, in which it appears that the security fuse has blown, however, it is a matter of a mass erase of the on-chip flash being necessary.

Since the MSP430F2013 does not have a serial UART, the recommend methods of connecting a special circuit and correcting this issue, is not possible.

As a result, I decided to switch to a second, identical, brand-new MSP430F4618 Experimenter board.

Since my objective, at this stage, has only been to get my toolchain and debug environment working reliably, I have only used a simple blink.c to do my testing with:

#include <msp430x20x3.h>

int main(void) {
    WDTCTL = WDTPW | WDTHOLD;        // Stop watchdog timer
    P1DIR |= 0x01;                    // Set P1.0 to output direction

    for(;;) {
        volatile unsigned int i;    // volatile to prevent optimization

        P1OUT ^= 0x01;                // Toggle P1.0 using exclusive-OR

        i = 10000;                    // SW Delay
        do i--;
        while(i != 0);
    }

    return 0;
}

I was doing some testing, using MSPDEBUG as stub, and connecting GDB.

After a number of tests, setting breakpoints, running and just getting used to the commands and options, I noticed that, every time I loaded the blink.out and ran it, it looked like a breakpoint was set and was halting. I finally rebooted my laptop and power-cycled the board, to find that that the same thing has happened to my second experimenter board.

It is clearly evident to me that the damage has been done by some marginal timing issue, in relation to using the MSP-FET430UIF JTAG together the Spy-bi-Wire interface on the MSP430F2013.

The MSP-FET430UIF tool is revision 1.4a.

I would like to ask TI to please send me a replacement FET tool and two experimenter boards, which work reliably.

Thanking you in advance.

Jonathan Roberts

MSP430FR6043: powering MSP430FR6043 from eZ-FET

$
0
0

Part Number: MSP430FR6043

Please pardon the newbie question.

I am trying to power MSP430FR6043 IC using eZ-FET of MSP-EXP430FR4133 Launchpad. I have removed all the jumpers and connected all AVCC, DVCC, PVCC pins to 3V3 and all DVSS, PVSS AVSS pins to GND, as showed in picture. Also connected RST and TST pins to debug/program the MSP430FR6043 . Will this power up and flash the IC? Please help.

Viewing all 21975 articles
Browse latest View live


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