This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430 IO Pin Output Voltage too low to supply TLV2780 OP Amplifier

Other Parts Discussed in Thread: MSP430F2012, TLV2780, MSP430G2232

Dear Friends:

  I followed the SLAA335 "Implementing A Smoke Detector With The MSP430F2012" use one IO pin P1.3 to power TLV2780.

   I found that IO output voltage only 0.9V, but it is 3.3V if I disconnect IO Pin P1.3 from TLV2780.

  I use MSP430G2232 instead of MSP430F2012.

 Who can kindly tell me what the problem is ?

and how to soult the problem ?

Thanks !

Marshall Wu 

 

  • This is very low power amplifier, every msp430 shall be able to supply it from single pin. Perhaps amplifier output is connected to pin which is improperly configured as output and set to logical 0.

  • Dear llmars:

      Thanks for your prompt response.

      TLV2780 output is connect to P1.0( as ADC10 input) and P1.3 for TLV2780 power.

      I config P1DIR = 0x5a, (P1.0 input, P1.3 output)

                 P1OUT=0xaf,(P1.0 & P1.3 are high)

                 P1REN=0xee,(P1.3 with pull resistor, P1.0 without pull resistor)

                 P1SEL2,P1SEL = (0x00,0x00), (0x00,x01) or (0x01,0x010) have no difference.

                 ADC10AE0= 0x01;(enable P1.0 as analog input)

                 P1.3 output ~=0.83V,

                 When I connect Vcc=3.3V to TLV2780 VDD then every thing seems normal.(OK)

                Would you please check the above configuration to see what's wrong ?

                Thanks !

                Marshall Wu 

  • CHEN YOUNG WU said:
     When I connect Vcc=3.3V to TLV2780 VDD then every thing seems normal.(OK)

    Still you need to check against amp output "short". Disconnect amp output from uC and then try to power it.

  • I disconnected the TLV2780 output from uC P1.0

    Checked that P1.3(for OP power) is still 0.83V when P1.3 is output high(P1OUT = 0x08.

    why ?  the OP amplifier circuit is complete same as SLAA335 OP amplifier circuit.

    Thanks !

  • CHEN YOUNG WU said:
    why ?

    Out of ideas. Particular (single) opamp consumes 0.8mA, single I/O pin is more than enough to power it.

    Do you use amp having 1 channel? Maybe you somehow blew opamp or blew output pin P1.3? Forgot to (properly) connect VCC to msp430?  

    Check current draw of the circuit when amp is powered directly from VCC.

    Check what's happening with VCC rail, other output pins having logical 1 - while you power amp from P1.3.

    Open your mind and check whole circuit including pinouts of both ICs, resistor values.

  • TLV2780 is a single channel OP amp. it consuming 560uA when direct power by VCC.

    MSP430 VCC and VSS(GND) checked.

    checked, when P1.3 power OP the other P1.4 output is 3.3V

    I config P1.3 as a digital IO output function with pull up/down.

    When OP power by VCC, the ADC10 and OP amp are both function correctly.

    are there any other configuration I've missed ?

    Marshall  

  • CHEN YOUNG WU said:
    are there any other configuration I've missed ?

    Dunno. Can't check your circuit from here, can't check your source code either (because you don't show it all).

    BTW I never use pull-ups for outputs - can't say it changes something or not. Try to disable it.

    Try to power amp from another pin configured as output, without pull-up resistor and without according P1SEL bits set.

  • Ok, so you've got a pullup resistor (because pin is driven high) and you've connected a load to it. What you get is something like this:

    If you replace the opamp with a resistor to model the load, you get a Voltage divider. No wonder you only get 0.83V on the device because the rest has already dropped on the pullup resistor. Disable the pull resistor and it will probably be fine or perhaps provide Voltage to the opamp through a mosfet which you'd then drive from P1.3-- that would probably be a little neater (personal taste though).

  • Arturs Elksnis said:
    Ok, so you've got a pullup resistor (because pin is driven high) and you've connected a load to it.

    No, he did not. F2012 pin schematics says that pull-up resistor is enabled only for input direction.

  • Ilmars,
           In the first post in this thread Wong Chen Young Wu says this: 

    CHEN YOUNG WU said:
     I use MSP430G2232 instead of MSP430F2012
     

    So forget the F2012. Now in the document "MSP430x2xx Family User's Guide" (latest link: http://www.ti.com/lit/ug/slau144j/slau144j.pdf), page 328 and 329:

    Port schematics of G2232 for P1.3 seem to correspond to that too.

  • CHEN YOUNG WU said:
     Who can kindly tell me what the problem is ?

    The schematic pinout is for the SOT-23 part. SO part has different pinout.

    (Also SHDN should be connected to VDD. )

    Peter

  • Arturs Elksnis said:
    So forget the F2012.

    Can't. You never forget your first girl or first chip (of the msp430 series).

    Arturs Elksnis said:
    Port schematics of G2232 for P1.3 seem to correspond to that too.

    You shall look closer. Output (push-pull) driver enable of the pin P1.3 does not depend on pullup/down resistor enable. So by enabling pull-up for pin P1.3 you don't disable push-pull driver of the output unlike P1.3 of MSP430G2x21 chip.

    [edit] Have to admit that difference I mention looks weird to me. Comments are appreciated. Perhaps I missed something ;)

  • Dear All Friends :

       Finally, I've got the answer. The hints are come from our discussions. Thank you all !

      I just disabled the Pin Pull Up/Down function for Output IO Pin. So, that means the output can't enable pull up/down resistor ?

      Now, The OP got the power she needs.  but for OP to function correctly, It's need a delay to wait for a stable power.

      Thanks to ALL again !

    Chen Young

  • CHEN YOUNG WU said:

    Dear All Friends :

       Finally, I've got the answer.

      I just disabled the Pin Pull Up/Down function for Output IO Pin. Chen Young

    If you're saying setting PxRen to '0' solved the problem, it doesn't make any sense to me because from the pin schematic PxRen doesn't affect the push/pull driver. However PxSel2, PxSel = 1,0 would disable the driver and cause your problem as I see it.

  • Hi Joseph:

      At beginning, I just thougt that enable pull-up/down will make output high( voltage level) more close to VCC.

     From the Function diagram, It's seems no any bad affection at all. So, I did to enable pull-up/down resistor.

     I just don't know why ? but fact said what it is.

     Thank you for your particitation in Forum.

    Chen Young Wu

  • CHEN YOUNG WU said:

      .

     I just don't know why ? but fact said what it is.

     

    Chen Young Wu

    Chen,

       Yes, it is what it is.

    I see on p47 of MSP430G2232.pdf this statement in the revision of the document: "SLAS723E Changed all port schematics (added buffer after PxOUT.y mux) in Pin Schematics." So TI corrected one error and looks like you found another that TI needs to correct.

  • Anyone know something about bug detector? Similar with the smoke detector?

  • Darby Gloss said:
    Anyone know something about bug detector? Similar with the smoke detector?

    I don't find your question related to particular thread.

    To answer your question - yes, bug detector could be built as supersized smoke detector because bugs can be treated as huge smoke particles :D

**Attention** This is a public forum