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

MSP432P401R: Initialize ADC MSP432, sanity check

$
0
0

Part Number:MSP432P401R

Hello folks,

I am looking for a sanity check on my settings of the ADC for the MSP432. If someone could please confirm everything below looks correct (without any blatant bugs that could cause jumpy ADC readings) I would be very grateful.  I call initialize_adcs() function at the beginning of the program once, prioritize ADC14_IRQHandler() ISR as shown below.

    MAP_Interrupt_setPriority(FAULT_SYSTICK, 0x10); 
    MAP_Interrupt_setPriority(INT_PORT1, 0x20); 
    MAP_Interrupt_setPriority(INT_ADC14, 0x20);

I then call the following once, prior to the main while() loop:

		ADC14->CTL0 |= ADC14_CTL0_ENC |  		/*!< ADC14 enable conversion - same as MAP_ADC14_toggleConversionTrigger(); */
				ADC14_CTL0_SC;					/*!< ADC14 start conversion */

I am reading ADC 0-13 and pull the internal temperature sensor info which required some unclear modification... (which is mostly why I am concerned regarding the settings below)

void initialize_adcs(void)
{

    // Initialize the shared reference module. By default, REFMSTR=1 => REFCTL is used to configure the internal reference
    while(REF_A->CTL0 & REF_A_CTL0_GENBUSY);// If ref generator busy, WAIT

    REF_A->CTL0 |= REF_A_CTL0_VSEL_0 |      // Enable internal 1.2V reference
            REF_A_CTL0_ON;                  // Turn reference on
    REF_A->CTL0 |= REF_A_CTL0_ON;           // Turn reference on
    REF_A->CTL0 &= ~REF_A_CTL0_TCOFF;       // Enable temperature sensor

	// Turn on ADC14, extend sampling time to avoid overflow of results
	ADC14->CTL0 = ADC14_CTL0_ON |		/*!< ADC14 on */
			ADC14_CTL0_MSC |			/*!< ADC14 multiple sample and conversion */
			ADC14_CTL0_SHT0__192 |		/*!< 192 */
			ADC14_CTL0_SHP |			/*!< ADC14 sample-and-hold pulse-mode select */
			ADC14_CTL0_CONSEQ_3;		/*!< Repeat-sequence-of-channels */

    ADC14->CTL1 |= ADC14_CTL1_TCMAP;        // Enable internal temperature sensor

	ADC14->MCTL[0] = ADC14_MCTLN_INCH_0;    // ref+=AVcc, channel = A0
	ADC14->MCTL[1] = ADC14_MCTLN_INCH_1;    // ref+=AVcc, channel = A1
	ADC14->MCTL[2] = ADC14_MCTLN_INCH_2;    // ref+=AVcc, channel = A2
	ADC14->MCTL[3] = ADC14_MCTLN_INCH_3;	// ref+=AVcc, channel = A3
	ADC14->MCTL[4] = ADC14_MCTLN_INCH_4;	// ref+=AVcc, channel = A4
	ADC14->MCTL[5] = ADC14_MCTLN_VRSEL_1 | ADC14_MCTLN_INCH_22; // ADC input ch A22 => temp sense
//	ADC14->MCTL[5] = ADC14_MCTLN_INCH_5;	// original code without temperature sensor
	ADC14->MCTL[6] = ADC14_MCTLN_INCH_6;	// ref+=AVcc, channel = A6
	ADC14->MCTL[7] = ADC14_MCTLN_INCH_7;	// ref+=AVcc, channel = A7
	ADC14->MCTL[8] = ADC14_MCTLN_INCH_8;	// ref+=AVcc, channel = A8
	ADC14->MCTL[9] = ADC14_MCTLN_INCH_9;	// ref+=AVcc, channel = A9
	ADC14->MCTL[10] = ADC14_MCTLN_INCH_10;	// ref+=AVcc, channel = A10
	ADC14->MCTL[11] = ADC14_MCTLN_INCH_11;	// ref+=AVcc, channel = A11
	ADC14->MCTL[12] = ADC14_MCTLN_INCH_12;	// ref+=AVcc, channel = A12
	ADC14->MCTL[13] = ADC14_MCTLN_INCH_13|  // ref+=AVcc, channel = A13
			ADC14_MCTLN_EOS;

	ADC14->IER0 = ADC14_IER0_IE13;           // Enable ADC14IFG.7

	while(!(REF_A->CTL0 & REF_A_CTL0_GENRDY));	// Wait for reference generator to settle

	__enable_interrupt();
	NVIC->ISER[0] = 1 << ((ADC14_IRQn) & 31); // Enable ADC interrupt in NVIC module

}

/* ADC14 interrupt service routine */
void ADC14_IRQHandler(void) {
	if (ADC14->IFGR0 & ADC14_IFGR0_IFG13)
	{
		A0results[0] = ADC14->MEM[0];
		y1_sim = A0results[0];
		A0results[1] = ADC14->MEM[1];
		A0results[2] = ADC14->MEM[2];
		A0results[3] = ADC14->MEM[3];
		y2_sim = A0results[3];
		A0results[4] = ADC14->MEM[4];
		A0results[5] = ADC14->MEM[5];
		temp = A0results[5];
		lift_off1[0] = ADC14->MEM[6];
		lift_off1[1] = ADC14->MEM[7];
		lift_off1[2] = ADC14->MEM[8];
		lift_off2[0] = ADC14->MEM[9];
		lift_off2[1] = ADC14->MEM[10];
		lift_off2[2] = ADC14->MEM[11];
		A0results[12] = ADC14->MEM[12];
		A0results[13] = ADC14->MEM[13];
	}
}

I am most concerned about ADC values jumping for no reason which could trigger unwanted effects in our system.

Thank you,

Bob


Linux: Any body has experience with MCUs on Beagleboard works?

$
0
0

Tool/software: Linux

ARM MCU section is read-only, post here and it may not be the right place

Anybody has experience with the PRU on BeagleBoard?

Have one set of BBG (BeagleBone Green) wiki.seeed.cc/.../
Believe it use most TI chips and it has 2 PRUs (Programmable Real-time Unit) MCUs built-in running 200MHz, 32-Bit

events.static.linuxfound.org/.../Enhancing RT Capabilities with the PRU final.pdf

My ideal goal will be running Volumio on BBG and be able to control everything (DAC registers, volumio music control) with less #s of board:

          => MCU (PRU) => DAC
BBG => USB-transceiver => Audio DAC

Question is will it work that way?

Any input is appreciated, thx!

TINA/Spice/TINA-TI: Non-linear transformer magnetizing inductance TINA

$
0
0

Part Number:TINA-TI

Tool/software:TINA-TI or Spice Models

Hi,

I would like to use a model of a flyback transformer in my simulation. It looks like using non-linear model is a good way to define turns ratio, winding resistance and magnetizing inductance. My question is how can I add new core type to make sure that the equivalent magnetizing inductance is what I need (at the operating point)? Or maybe there are models that I can directly set a constant value of magnetizing inductance plus turns ratio? 

Thanks

TPS40400: Constant Current Solution issue

$
0
0

Part Number:TPS40400

TI,

We are working on a solution which employs a TPS40400 based DC/DC, INA139 (Current Sense), TLE2144 (Quad Op-Amp), and LM4041C (Voltage Reference).

The desired behavior is to control the current output of the DC/DC using the FB pin on the TPS40400.

We have produced a bench prototype for evaluating the setup, and have verified the setup is wired as expected. **More details are below.**

When we turn on the setup, the PGOOD is high, and the FB is measured to be 0.612 V. We have an IADJ pin that we feed into the op-amp to adjust the current, and this is set to 0V. The measured output voltage is 0V. All is good. 

When we begin to increase the voltage at the IADJ pin, the FB voltage begins to decrease. Once FB hits about 0.600V or slightly below, the PGOOD goes low, and the FB voltage suddenly jumps to 1.235V and the measured output voltage jumps to 0.750 V. This is unexpected behavior.

**DETAIL ON THE DESIGN**

The INA139 is a High Side Current Shunt Monitor. It is used to measure the current through a 0.010 Ω Current Sense Resistor (Rs).

The current to be measured ranges from 0 to 12A. 

The transfer function of the INA139 is VO = (Is) (Rs) (RL) / (1kΩ) .

For ease of math, we have set the gain (RL) = 1kΩ . This gives VO = (Is) (Rs) = 0.010 * (Is)

(which produces a 0 to 120mV full scale sense input voltage, valid for the INA139)

--

This is passed to a unity gain TLE2144 buffer stage (non-inverting).

The IADJ input is similarly passed to a unity gain TLE2144 buffer stage (non-inverting).

The IADJ voltage is passed into the Inverting (-) input of another TLE2144 stage, and the 1.225V LM4041C reference voltage is passed into the Non-Inverting (+) input. This op amp stage has a gain of 0.1

Thus, VA = 0.1 * (1.225 - IADJ).

Both VA and VO are connected to FB through the last TLE2144 stage to a voltage divider (with equal R values) connected to the Non-Inverting (+) input. The Inverting (-) input is connected to GND. This opamp stage has a gain of 10.

FB = 10 * (Vdiv - 0) = 10 * Vdiv

Vdiv = (VA + VO) / 2

FB = 10 * (VA + VO) / 2 = 5*(VA) + 5*(VO) = 0.5*(1.225 - IADJ) + 0.050 * (Is)

The TLE2144 is powered from +12 V and -12 V rails. (to ensure a full swing to ground)

============================

Our transfer function is repeated here for clarity:

FB = 0.5*(1.225 - IADJ) + 0.050 * (Is)

============================

The intended behavior is as follows: 

0.6 = 0.5*(1.225 - IADJ) + 0.050 * (Is)

[[ MAX CURRENT: (12A) ]]

IADJ = 1.225 - ((0.6 - 0.050 *12)) / (0.5)

IADJ = 1.225 V

[[ MIN CURRENT: (0A) ]]

IADJ = 1.225 - ((0.6 - 0.050 * 0)) / (0.5)

IADJ = 0.025 V

================================

Worth noting is what happens if IADJ is 0V.

Is = (0.6 - 0.5*(1.225 - 0)) / 0.050 = -0.25 A

================================

The issue is that the unit will successfully start up with IADJ = 0 V, and will have a current of 0A (because the TPS40400 will not allow the negative voltage, and this is especially true if the load is a diode/LED.) However, as soon as it hits the "turn on" current threshold, IADJ = 0.025 V or so, the unit will immediately "jump" to a FB value of 1.235 V (not 0.600) and the output voltage will sit at 0.750V (may not be relevant if a diode load). 

Given the above detail, we would expect that  (1.235 - 0.5*(1.225 - 0.025)) / 0.050 = 12.7 A which would imply that the output is not being properly regulated. Indeed, the measured output of the INA139 is 0.127 V or 0.010 * 12.7A. 

Why would the TPS40400 FB pin not hold at 0.600V? Any ideas why it might be higher than anticipated? 

The correct behavior for this scenario should be 0A, (0.6 - 0.5*(1.225 - 0.025)) / 0.050 = 0A

It is also worth noting that increasing the IADJ value does not change the FB value, (which is expected, but not at 1.235), and does change the (Is) value.

Any insight or suggestions on what else to check are appreciated.

Thanks,

TPS3808-Q1: schematic review for automotive display

$
0
0

Part Number:TPS3808-Q1

Hi,

Could someone review my schematic please?

Kind regards,

Ross

TPS7A61-Q1: schematic review for automotive display

$
0
0

Part Number:TPS7A61-Q1

Hi,

Could someone please review my schematic please?

Many thanks,

Ross

TPS7A4201: Enable Pin Input Impedance

$
0
0

Part Number:TPS7A4201

Hello,

Could you please let us know if there is any resistance internally on the enable input EN pin on the TPS7A4201?

In the block diagram in section 7.2 does not show anything.

We are using a different LDO which has an open-drain configuration which does not work for us.

Thank you, Keith

WEBENCH® Tools/LM3409HV: Driver gives out a whine and does not work

$
0
0

Part Number:LM3409HV

Tool/software: WEBENCH® Design Tools

I'm using the LM3409HV to drive about 12 LEDs (6 parallel strip with 2 in series in each strip). Each LED consumes about 300mA. When I turn on the circuit, I hear a high pitched whine from the board. Also the LEDs do not light up. I used Webench to configure this for a 4A output at 5.2V. The schematic is shown here. I added an external voltage reference that supplies the Vadj (1.24V) through a divider network. Any idea what am I missing here?


CCS/TMS320F28035: Calculating Timestamp / Excecution time in Code composer Studio using C2000

$
0
0

Part Number:TMS320F28035

Tool/software: Code Composer Studio

Hello,

I am interested in calculating the execution time for the code in CCS using C2000 device. So is there a time stamp function or something like that? 

Kindly let me know what would be steps for it!

Thank you!

Regards

Sagar

ADS1293EVM: ADS1293 GUI Stop and get wrong waveform

$
0
0

Part Number:ADS1293EVM

Dear Sir/Ms.

I get 2 question from my customer.

There are 2 questions need help.

 

1. they can not get correct ECG data under 3 lead configuration

 

they connect the probes to my LA, RA, LL, RL as below

 

And theyhave checked probes pin connection with EVM, it seems to be correct.

Is there anything we miss?

 

 

 

 

2. SW error after stopping record ECG data

 

After entering the cancel button of the dialog 

 

Customer get difference waveform with user guide. There seems a lot of noise even connect ECG sensor to someone's body.

BTW, customer get same noise waveform when JP2 and JP3 short.

Did they do something wrong?

CDCLVD1208: CDCLVD1204/8 Additional Phase Noise Data

$
0
0

Part Number:CDCLVD1208

Hello,

I'm looking for additive phase noise data similar to that shown on page 6 of the CDCLVD1208 datasheet:

Specifically, I need the phase noise data for the following clock frequencies for both the CDCLVD1204andCDCLVD1208:

  1. 148.5 MHz
  2. 161.133 MHz
  3. 297 MHz
  4. 322.265 MHz
  5. 644.53 MHz

Is that data available?

Don

UCC27424-Q1: ESD protection

$
0
0

Part Number:UCC27424-Q1

Hi,

For the UCC27424-Q1, do the OUT pins have ESD protection on them? This was not clear to me from reading the datasheet.

Best regards,
Ross

UCC3895: the different feedback circuit between UCC3895EVM-001 and PMP9622

$
0
0

Part Number:UCC3895

Hi Team 

My customer is curious about the different feedback circuit (EA+ EA- EAO) between PMP9622 and UCC3895EVM-001

why we designed two types of feedback circuit, any different and which one is better?  

PMP9622

 

UCC3895EVM-001

EA- and EAO are connecting each other,  

RTOS/TMDSCNCD28M36: Example programs using TI-RTOS for the control card TMDSCNCD28M36

$
0
0

Part Number:TMDSCNCD28M36

Tool/software:TI-RTOS

Hello, I have multiple questions. We have purchased the TMDSCNCD28M36 control card. We are using CCS7 for development.  We want to use TI-RTOS in our target application that will use the F28M36 Concerto processor. Our product is a real time pressure data acquisition system that outputs data to network devices. This dual core processor fits our needs quite well as the data will be sampled, filtered and converted using the F28 and the communication would be handled by the M3.

I found an example project, the RT-SineFIRFFT_m3 and the RT-SineFIRFFT_c28. We can partially get the example working. The UART output works but we can not get the Ethernet to handle an ARP causing the control card to not respond to a ping. I was hoping that this example would use TI-RTOS for the network communication, however it appears to use the third party UIP modules from  Adam Dunkels. I do not see any use of TI-RTOS in this example. I have not found another example for this control card. I can probably get this ARP and PING to work but I don't see the point because our goal is to use the features of TI-RTOS.

Our target design requirements include: 1588 PTP, IPV6, FTP, Web Server, Telnet Server, multiple threads and a Flash File System. From my understanding of TI-RTOS that it supports these functions.

Below are my questions:

1) Can TI-RTOS run on the TMDSCNCD28M36 control card, is there an example for it and what functions will work? Will it need to be ported to the F28M36?

2) Can I use other TI-RTOS examples for the M3 only for the TMDSCNCD28M36 control card? I have tried various example projects but none seem to compile correctly. I most likely have not picked the correct example. What examples will work on the M3 portion of the TMDSCNCD28M36?

3) Is there another TI processor with a development board that has TI-RTOS examples that can match the performance of the F28M36?

4) What TI-RTOS functions, listed above in our requirements, will we need to port to the TMDSCNCD28M36 and are any ready to be used?

5) Is there a network chip and flash that TI-RTOS already supports?

6) Should I be using CCS7 or CCS6 for this development?

Thank you for your advice in this matter, your answers will help guide us in our development.

Drew

MSP430F2274-EP: Target Board

$
0
0

Part Number:MSP430F2274-EP

I know that you make an target board for the MSP430F22xx 38 pin (DA package) component, but what target board would I use for the MSP430F2274-EP with 40 pins (RHA package)?


MSP430FR2311: MSP430FR2311

$
0
0

Part Number:MSP430FR2311

Hello.

I had some experience working with embedded systems long ago, now I am trying to make my way back to them and am using the MSP430FR2311 (use the launchpad). I have implemented a UART and it fuly works at 9600 bps. I am indeed taking the data and sendin it though a buetooth addapter to a PC. Full communication and everything works well. The problem is: When I try to change the speed, 4800, 19200 IT DOES NOT WORK! I set the values of the baudrate registers according to the recommendation (assuming the error is not so bad) but it never decodes the information accurately. Then I went to a much higher baudrate, used timer B at 1MHz as the clock source for the UART, here the RX interrupt never gets activated. For this I used one of the examples from "resource explorer" (pretty sure is the right one), then I used breakpoint to debug the program (working as expected), removed the jumpers for TX and RX (found in another thread describing sort of the same problem). The result is the same. I am getting crazy with this, can anyone help me find out what the problem is? What do I need to post in order to better illustrate my problems?

LM4040: LM4040 T0-92 pin out

$
0
0

Part Number:LM4040

What is the LM4040 pin out for the T0-92 package? It does not say it on the datasheet, at least anywhere obvious.

Thanks

Tony

CCS/TMS320F28379D: Solution Adaptor Buck Code

$
0
0

Part Number:TMS320F28379D

Tool/software: Code Composer Studio

Hi,

I'm interested in developing for the TMS320F28075.  Looks like the F28379D launchpad is the only way to go for launchpads as the xS launchpad looks discontinued.  I wanted to start with the buck example in the solution explorer to get my feet wet.  

Will the solution explorer example ment the the xS launchpad work on the F28379D  launchpad?

Regards,

Jake

"Basic design report" window doesn't uploaded-blank window

$
0
0

Hi,

After I made a simulation with Webench, I am trying to upload a "Basic design report" - on the Webench screen - clicking "print" from the upper buttons after that choosing "Basic design report" - the left one but, nothing happens, it opens another new blank window and it stays like that.

 

I have used before windows 7 and it worked fine with out any issues, now I am using windows 10, maybe it is because of that?

 

Please advice if there is any change or sw download needed to do so it will work?

 

Thanks in advance,

BQ2970: 0V battery charge function, which is "available" and which "anavailable" part references ?

$
0
0

Part Number:BQ2970

Hello,

0V battery charge disallowed or Allowed can be seen in the datasheet of BQ2970. In addition, we can seen also in the same datasheet the words "available" and "unavailable" for this function.

My question is, which references of the BQ2970x family are with 0V battery charge "avaible" and "unavailable" function. It is not clear in the datasheet.   

Indeed, some battery protections IC manufacturers separate the chip with 0V battery charge "available" and the 0V battery charge "unavailable" but it is not the case of texas instrument. 

Thank you in advance.

Best Regards,

Arnaud R.

Viewing all 262198 articles
Browse latest View live


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