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

MSP430F5524: ID codes and JTAG control register layout

$
0
0

Part Number:MSP430F5524

Dear Forum

I am using SpyByWire on the MSP430F5524 and I have four problems/questions.  I have ported the slau320 code zip file provided by TI to a Raspberry PI and am using two GPIO pins.  Interrupts on the Raspberry PI are turned off during GPIO operations.

  1.  When I read the core Id and device Id I get the following two numbers 0x103 and 0x1a0.

These do not correspond to anything I can find in a data sheet.   Where are these responses documented? Are they correct?

  #define IR_COREIP_ID               0xE8   // original value: 0x17
 #define IR_DEVICE_ID               0xE1   // original value: 0x87

cmd 0xe8 gives 0x103 //
cmd 0xe1 gives 0x1a0 //   not 0x5540 which I should expect from the documentation?

2. I am uncertain of the layout of the the IR_CNTRL register for this device.  There are four versions of  the access code in the slau320w code reference that I downloaded.  I need to be sure I am using the correct one. 

The various versions write different numbers to the IR_CNTRL register and seem to refer to different versions of it.  Does this register in the chip I am using follow the 5xx family layout described in Table 8-6 of MSP430 Memory Programming User's Guide.  I have the feb 2010 revision?  Perhaps this is out of date?

I think the 5xx designation is confusing since my device has four digits, namely 5524.  Does 5xx encompass 5524 or not?

Is the device I am using an xv2 version? Where is it documented whether an MSP430 device is an xv2 version or not?

3.  I note that when the 20 bit data register that is read by the slau320w code in some instances it rotates the top four bits to the bottom.  This is called unscrambling in the code.  But data sent to that register is not pre-srambled in that way.  Why this is this not symmetric?  Why should one ever read back from this register in 20-bit form since there are no 20-bit results documented anywhere as far as I can see?

4.  Why can I only perform about 100 MemRead calls before the device looses synchronisation and a TAP-reset sequence is needed again?  All of my signals and supply voltages are completely clean as far as I can see?  Is the MPU perhaps coming out of sleep and interfering?

Many thanks

David Greaves


RTOS/MSP432P4111: RTOS/MSP432P4111

$
0
0

Part Number:MSP432P4111

Tool/software: TI-RTOS

I had the same problem and your solution works. The problem is that f_mount returns FR_OK only if the first time is called there is a microSD in the shueld. If there is not one and f_mount is called once, the seocnd time is called (now with a microSD inside the shuield) it does not return FR_OK.

Does this have any solution?

Thank you.

CCS/EVM430-FR6047: EVM430-FR6047 Multiple Meter Constants

$
0
0

Part Number:EVM430-FR6047

Tool/software: Code Composer Studio

Hi,

I'm calibrating my Water Meter development, and found out some interesting approaches to calibrating for improving accuracy.

On this guide (FAQ, listed below), on point 1.2 11, It's adviced to have multiple meter constants over the entire flow rate range.

Is there a recommended way of implementing this?

Thanks.

Compiler/MSP430FR5969: MSP430 MATHLIB/ IQMATH/ Trignometeric functions

$
0
0

Part Number:MSP430FR5969

Tool/software: TI C/C++ Compiler

Hi! I am using math.h header file for my trignometeric and algorithmic functions. Then i saw the MSP Mathlib guide www.ti.com/.../slau499.pdf and now I want to implement that library in my CCSv8 Program.

I tried to go on this link  and clicked on get software then it takes forward to (Sorry, the page you’re looking for can’t be found.).

At this directory C:\ti\ccsv8\ccs_base\msp430\lib\5xx_6xx_FRxx. I found MSPMathlib files(that are .lib/ object file library). I tried to include them as guided in (slau499.pdf)

After getting file linked to my program. I include it as #include "msp430_math.h" then it gives me an error that could not find the file.

Also, IQmath and MSPMathlib are two different libraries or not??

As in this forum, MSP430 Library is actually named IQmath. 

Can anyone please guide me for this.

Thanks in advance!!

MSP430F2618: About cystal.

$
0
0

Part Number:MSP430F2618

Dears:

Low frequency crystal parameter manual recommends 32.768k crystal, but according to our functional requirements (power consumption and performance tradeoff) we are actually over-limit use to 100K. 100K function is fine, but it has been found recently that very low voltage of ESD air-discharge coupling interference will cause 100K crystal to stop vibration briefly (it will recover after several hundred us).

Possible reason:

1. Less interference?

2. Frequency up and MSP430F2618 has insufficient drive capability?

3.  Customer  wants to increase the crystal drive current, and try to connect XOUT with pull resistance 3MOHM (providing 1uA current), and it is true that the crystal oscillation amplitude (peak-to-peak value) increases from 180mV to 510mV, since not clear about the internal crystal control circuit of 2618, and worried about potential risks. Please help me find the internal circuit of 2618 crystal or recommend a method.

RTOS/MSP432P401R: Sensor BoosterPack example Running slow on FreeRTOS

$
0
0

Part Number:MSP432P401R

Tool/software: TI-RTOS

Hello,

I have a question regarding Sensor BoosterPack example :

When I used TI RTOS code version it worked perfectly on Simple link SDK mobile application, However when I use Free RTOS code version it build &runs  with no errors but on Simple link SDK mobile application it runs significantly slow, as example: if the board position changed, it take delay time to see the values change (impact) on the application , What possibly could be the reason for this delay?

I use MSP432P401R red + CC2650.

Thanks in advance,

Rana

MSP430F5418: How many the highest value of crystal for MSP430F5418?

CCS/MSP430G2553: Dispersion between MSP430G2553 units in capacitance measurement

$
0
0

Part Number:MSP430G2553

Tool/software: Code Composer Studio

HI.
I am using an MSP430G2553, for a capacitive sensor that measures up to 200pf, with the Pin Oscillator method, shown in figure 8.1 of document SLAU144J. I use the Pinosc_01 example of MSP430Ware
Try a microcontroller with the pcb, and in the tests everything worked fine.
When I test several microcontrollers, an operating dispersion appears, more in the average measurement area than in the extremes, it reaches 3% and I need to reduce it to 1%.
I will try adding a crystal, and varying the timings so that the measurement value is as high as possible.
Any other idea? Maybe some other newer micro with Captivate technology is better?

MSP430FR5969-SP: Rating/screening flow/quality level of MSP430FR5969-SP

$
0
0

Part Number:MSP430FR5969-SP

Hello,

I'd like to follow up on a previous post regarding the reliability level of this part. Is there a higher grade version of this part? We're seeking something that complies with EEE-INST-002 Level 2 and understand this part falls short. Does TI offer any screening to meet higher reliability needs? Is there any analysis of how this part compares to EEE-INST-002 levels?
Thank you,
Fiorella

MSP430F67791: MSP430Ware Library Routine Issues: ucs.c

$
0
0

Part Number:MSP430F67791

We have two issues in the ucs.c lib function within MSP430Ware 3.80.05.04. Specifically under /driverlib/driverlib/MSP430F5xx6xx but probably under other family variants as well.

Issue #1

ucs.c ... line 479

    HWREG16(UCS_BASE + OFS_UCSCTL6) |= xcap;

Should be ...

    HWREG16(UCS_BASE + OFS_UCSCTL6) |= xcap<<2;

This disables XT1 if a cap value of 0x01 or 0x03 (6 or 12pF) is selected, as well as not setting the desired XCAP value.

Issue #2

ucs.c ... begin line 834

    if (mode == 1){
        //fsystem > 16000
        //Select DCOCLK
        HWREG16(UCS_BASE + OFS_UCSCTL4) &= ~(SELM_7 + SELS_7);
        HWREG16(UCS_BASE + OFS_UCSCTL4) |= SELM__DCOCLK + SELS__DCOCLK;

Line 837 clears the MCLK and SMCLK field before the second line sets the desired value. That clear on the MCLK sets the clock source to XT1. This in turn locks up the debug session, presumably due to the core clock being switched to a non-running oscillator (assumes XT1 is not used).

MSP-EXP432P401R: Error message during compiling program

MSP430FR5989: Executing Interrupt vectors from RAM

$
0
0

Part Number:MSP430FR5989

Hi,

Do you have any example which shows how to have ISRs in RAM (link and load to flash but execute from RAM)? I understand how to relocate the vector table to top of RAM, but I'm trying to execute all or part of my ISRs from RAM as well without fetching anything from FRAM on an LPM wake up.

I'm using IAR compiler tools, if you could point me to such an example it would help.

Also I'm trying to see if there is a way to find out which peripheral (maskable) interrupt occured, for ex:- if I point a few of peripheral interrupts to a same handler, is there a way for me to identify which interrupt occurred within the handler?  In short I'm looking for something similar to SYSSNIV/SYSUNIV but for maskable peripheral interrupts.

Best Regards

Santosh Athuru 

CCS/MSP-FET: no device attached error with MSP432P401r

$
0
0

Part Number:MSP-FET

Tool/software: Code Composer Studio

Trying to Flash MSP432P401r with MSP-FET on pcb with no XDS110.

But is unable to connect and detect

I’ve run updates to get the latest drivers and made sure i'm running a version of CCS that supports the tool/MSP432s.

I’ve also tried using USB1 configuration as well but no joy.

I’ve tried creating another target configuration but neither the original (which I know works) or the new one are able to detect the MSP432.

Device manager confirms that the MSP-FET is there so I know it works, it just seems to be unable to connect the MSP432P401R.

Any ideas on where I might be going wrong, or is simply the MSP-FET not able to do this without an adapter?

MSP430F5438A: Synchronous Data Transfer

$
0
0

Part Number:MSP430F5438A

Hi,

I have already asked this question from TMS320F28377S perspective in the respective forum. But I have this question for MSP430 Forum as well as the availability of peripherals in MSP430 are different.

I am interfacing MSP430F5438A to one of the transceivers which provide/need the following 4 set of RS422 signals:

1. A Data signal and a Clock signal for Transmit  (both signals are provided by the MSP430F5438A the transceiver)

2. A Data signal and a Clock signal for Receive (both signals are provided by the transceiver to the MSP430F5438A )

All signals are RS422 (so I need RS422 converters). The data signal is synchronized with the Clock signal.

What peripheral can I use for this kind of transfer?

Thanks and Regards,

Ankit

MSP-FET: ptrfo


MSP430F67791A: Triggering SDADC24B channels by TA0.A1 output

$
0
0

Part Number:MSP430F67791A

Hello All, 

I am trying to set up the controller such that I am able to trigger 3 channels of SDADC24B module via the Timer A0 Capture/Compare 1 output. 

Timer A0 is sourced from the SMCLK clock @8MHz and is set up in the Up counting mode with a period of 1mS. 

The TA0.A1 output is set up to provide a compare output i.e. TA0.A1.CCIFG flag is programmed to be set at 25µS period after the Timer resets on reaching the 1mS period. 

On the other side the SDADC24 channel 0, 1, 2 are set up to be simultaneously triggered by the Trigger 1 input. 

To trace I enabled the CCIE 1 interrupt but I am not getting any interrupts.

It just doesnt seem to be working. What am I doing wrong? My code is added below:

void Init_Timer0(void)
{
	TA0CTL   = TASSEL__SMCLK + MC_0  	// Stop & Clear Timer, Clock input
			 + ID_0 + TACLR;			// set as SMCLK, No divisor
	TA0CCR0  = COUNT_1MS;				// 7.995 MHz / 7995
	TA0CCR1	 = 200;						// TA0.A1 output triggers SDADC
	TA0CCTL1 = CCIE + CM_0 + CCIS_2;	// CCI interrupt enabled, CCI is grounded.
	TA0CCTL1 &= ~CAP;					// Compare mode enabled
	TA0CTL	|= MC_1;					// Start counting Up
}

void Init_SDADC24(void)
{
	SD24BCTL0 = SD24SSEL__SMCLK + SD24PDIV_0 +      // ADC CLK = SMCLK/16, Internal Ref
				SD24DIV2 + SD24DIV1 + SD24DIV0 +
				SD24REFS;						    // SMCLK = MCLK/2 &OK AMP

	SD24BINCTL0 = SD24INTDLY_0 + SD24GAIN_1;		// G=1 Interrupt on 4th Samp
	SD24BCCTL0 = SD24SNGL + SD24DF_1 + SD24SCS__EXT1;    // External Trigger 1
	SD24BOSR0 = OSRCNT;								// OSR of 500 &OK AMP
	SD24BPRE0 = CH0_DELAY;							// No Delay for Ch0 result

	SD24BINCTL1 = SD24INTDLY_0 + SD24GAIN_1;		// G=1 Int on 4th Samp
	SD24BCCTL1 = SD24SNGL + SD24DF_1 + SD24SCS__EXT1;    // External Trigger 1
	SD24BOSR1 = OSRCNT;								// OSR of 250 &OK AMP
	SD24BPRE1 = CH1_DELAY;							// Delay Ch 1 result by 10 cycles

	SD24BINCTL2 = SD24INTDLY_0 + SD24GAIN_1;		// G=1 Int on 4th Samp
	SD24BCCTL2 = SD24SNGL + SD24DF_1 + SD24SCS__EXT1;    // External Trigger 1
	SD24BOSR2 = OSRCNT;								// OSR of 250 &OK AMP
	SD24BPRE2 = CH2_DELAY;    						// Delay ch2 result by 20 Cycles

	SD24BINCTL3 = SD24INTDLY_0 + SD24GAIN_1;		// G=1 Int on 4th Samp
	SD24BCCTL3 = SD24SNGL + SD24DF_1 + SD24SCS__EXT1;    // External Trigger 1
	SD24BOSR3 = OSRCNT;                             // OSR of 250 &OK AMP
	SD24BPRE3 = CH3_DELAY;							// Delay Ch3 result by 30 Cycles

	SD24BIE = SD24IE3;								// Interrupt on EOC from Ch3
}//------------ End SDADC24 Initialisation ------------------------------------------------

Any Help would be highly appreciated! Thanks .

MSP432P4111: Damaged Board

$
0
0

Part Number:MSP432P4111

Hello

I purchase MSP432P4111 Launchpad. Every time I Upload code board is getting really hot. Recently I figured out that board is damaged (with help of this forum). Because of this damage board can not operate in low power modes. I also can measure current consumption with EnergyTrace. Main goal of buying this board was its low power consumption. does TI has refund or replace service?

Here is link of discussion where figured out that board is damaged:

https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/750976 

MSP430F5659: FATFs problem: FR_INVALID_OBJECT retuned by validate function

$
0
0

Part Number:MSP430F5659

Good morning everybody!

Today I'm here because I was trying to deal with an issue related to FAT32 system module interfaced with micro SDHC Card 8GB.

I stored a .txt file in SD Card from my PC and the aim of what I'm trying to do is to read what I previously wrote in this file. prova.txt: "qwertyuiop123456789"

FATFS FatFS;
FIL elba;
DIR dir;
FRESULT fat_ret0, fat_ret;

As you can see from my definitions I'm using FATFs library from TI. In the main I call:

fat_ret0=f_mount(0,&FatFS);
fat_ret=f_open(&elba,"prova.txt", FA_READ);
if(fat_ret==FR_OK)
fat_ret=f_read(&elba, &readDATA_buffer, 20, &bytes_read);
f_close(&elba);

The issue happens in f_read function when static FRESULT validate function is called.

if (!fs || !fs->fs_type || fs->id != id) 
 return (FR_INVALID_OBJECT)

I really don't understand why I have this result, especially since I can see my .txt file correctely in the expression windows of CCS.

  

I really would appreciate any comment, help and advice in order to understand better if there is a problem related to my file or to FATFs interface with the SDHC card.

Many Thanks & Kind Regards,

Maria Angela

MSP430G2553: ISR from port 1.3 only called once

$
0
0

Part Number:MSP430G2553

I am waiting on an interrupt from Pin 1.3. However, the first time the button connected to pin 1.3 is pressed the ISR is called and works just fine. But when the putton is pressed again the ISR is not called anymore.

What I have done so far:

- checked an earlier version, here it works just fine; I compared both versions for hours but can not find any difference

- checked that the settings for receiving an interrupt from pin 1.3 are not changed when the program runs

- Had a look at the regsiters from of both programms, they are completly identical except that when the ISR is called in both programms a LED is turned on. In the earlier version when the LED is turned on in P1IFG the pin of the LED is set. I have reset the the Interrupt Flag in the ISR, but did not make any difference. So I guess it is not related to my problem

- checked many forums but could not find anything like that

My question: What could cause an ISR to not get called again?

Here is the ISR:

#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
    //switch to LPM
    if(mspON){                              
        TACTL &= ~MC_3;           
        UCA0CTL1|= UCSWRST;            
        TA1CTL &= ~MC_3;                    
        resetLEDtoggle(GREENLED + BLUELED); 
        resetLEDOn(GREENLED + BLUELED); 
        P2OUT = 0;                 
        mspON = 0;
        __bis_SR_register_on_exit(LPM4_bits);
   }
    //exit LPM
   else{
       P2OUT |= LDO_FILTER + LDO_BLUETOOTH;
       mspON = 1;
       isBlocked = 0;
       configUART();
       TA1CTL |= MC_2;                      //go in continuous mode
       setLEDtoggle(GREENLED + BLUELED);
       __bic_SR_register_on_exit(LPM4_bits);
   }
    P1IFG &= ~BIT3;                          // P1.3 IFG cleared
}

If it helps I can upload the whole code as well.

I am thankfull for every suggestion!

Compiler/MSP430F5529: Warnings caused by msp430f5xx_6xxgeneric.h

$
0
0

Part Number:MSP430F5529

Tool/software: TI C/C++ Compiler

When compiling code using the driverlib I am receiving a bunch of warnings like:

"C:/ti/ccs820/ccsv8/ccs_base/msp430/include/msp430f5xx_6xxgeneric.h", line 10207: warning #48-D: incompatible redefinition of macro "WDT_MDLY_8" (declared at line 4759 of "C:\ti\ccs820\ccsv8\ccs_base\msp430\include\msp430f5529.h")

It looks like the generic.h header is redefining a bunch of macros that are already defined in the msp430f5529.h header file. It appears that that both of these files are included in the hw_memmap.h file that is in driverlib.

Is there a good way to remove these warnings or a set of header files that do not cause these conflicts?

Thanks,

Kevin

Viewing all 22733 articles
Browse latest View live


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