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.
Hi
Let me detail the background of the problems:
- Vdd=3.1V
- To save power, the µC is put in sleep mode.
To wake it up, we use a GPIO pin. We configure this pin as input with an external pulldown resistor of 100K (schematic in the attached file). Once the GPIO detects a high input state, the µC will be woken up.
- To give a high input state to the GPIO, we have a near-field pcb antenna in the circuit that senses an external near-field signal. The waveform of the near-field signal received at the antenna is a 50 Mhz sine wave. The amplitude is difficult to determine, because we add extra files for the measurement, so the signal must be amplified.
Could you tell me what conditions must be satified to wake up the µC?
In my opinion (I am not sure)
1) the near field signal received must have an amplitude greater than VIT+.
In your datasheet, VIT+ is between 1.35 and 2.25 V. Does this mean that the high input voltage varies from one microcontroller to another? Or does it mean that for the same microcontroller, the high input voltage can vary?
2) Signal level duration must be satisfied for high input detection. I can't find this information in your datasheet.
3) The duration of the input high state must be satisfied for the MCU to wake up. I found the information below. Can you confirm that my understanding is correct?
As we are using an 50Mhz external wakeup signal, the duration is 20ns which is not long enough. the we can NOT wake up the µC. To solve this, we use a diode bridge to redresse the wakeup signal.
Thank you
Best
Liang
Hi Liang,
1) - Yes. Actually, the VIT+ (max) is ratiometric to VDD. This means VIT+ = 2.25v when VDD = 3v = (0.75 x VDD). But if you are using VDD = 3.3, then VIT+ will be 0.75 x VDD = 2.47V. So keep this in mind.
2) and 3) - Regarding the minimum pulse width, yes, you should ensure you have at least 50ns as specified in the datasheet.
Does this answer your questions?
Hi Dennis,
Thank you for your reply.
1) I think the GPIO's input voltage should >VIT+ max to get the input high state. So what does VIT+ min mean?
2) 3) OK
4) could you tell me what is the impedance for GPIO input and its equivalent circuit?
5) what will happen if the Cvdd is 1µC and not the recommanded 4.7-10µF? My µC may not wakeup? if so, why?
Best
Liang
Hi Liang,
1) The VIN+ (min) means it is possible that some devices will have VIN+ threshold as low as 1.35v, which means you only need to apply a voltage > 1.35v. If the applied voltage is < 1.35v, then the GPIO pin will not cause a wake up event. But you need to ensure you can trigger a wake up event regardless of the VIN+ spec, so this is why the +VIN (max) is the important spec to meet.
For example, what the VIN+ (min) and (max) specification describes is, if you take a random population of 10,000 parts operating at +3v, and you apply various voltages to a GPIO pin on each of the 10,000 parts and measure what voltage causes the device to wakeup, you will find some will trigger when VIN+ as low as +1.35v and some as high as +2.25v, and most others somewhere in between.
4) When the GPIO pin is configured as an input, the impedance is > 100M ohm, but since you have a 100k pull down resistor, the impedance is 100k.
5) There are typically two capacitors recommended on the VDD pin; one is a "pool" or "tank" capacitor ranging from 4.7uF to 10uF. It's purpose is to help supply high currents when the MCU is switching large loads, say for example driving several mA through a GPIO pin to turn on an LED. If the power supply that supplies the VDD voltage is stable and close to the MSP430, then you can probably go with the smaller 1uF capacitor. But, in this case, since you would be using a value outside of the recommended range, I would highly recommend you test your design first to ensure this will work for your application before you go to production.
The other capacitor is typically a 0.1uF and is used to help suppress high frequency voltage spikes on the VDD input. You can use other values if you determine you have a noise source (such as a switching power supply) that is generating voltage spikes and the 0.1uF is not sufficient for that noise frequency.
Dennis,
Thank you for a such clair reply.
To be sure of the 5), i'm allowed to ask one more question.
We have produced 200-300 devices for test.
Errors may be occured for:
a)Programming ( the device is powered by external stable power)
b) Radio communication frame
Knowing that we have a 220µF tank capacitor behind the 1µF and the 200µF capacitor which is functional only if the µC is on.
Do you think the 1µF capacitor is the cause of the errors? specially during the programming where the 220µF capacitor is not functional?
If so, how can i prouve it? Program the same µC many times to see if it is random? Then repeat it after change 1µF to 4.7 or 10µF?
Best
Liang
Hi Liang,
I want to make sure I understand your circuit with the 220uF, so is it possible to provide me a simple drawing showing where the capacitors are located relative to the MSP430? Here is an example drawing:
Hi Dennis,
Here is the drawing:
The µC is directely powered by batteries.
The 220µF Tantalum capacitor is in parallel with the batteries to prevent the latter from strong current ripples.
The Capacitor is connected one side with VDD and the other side with several GPIO pins. The purpose is to avoid leakage current of the capacitor before the µC is activated. These GPIO pins are configured to perform high impedance so that the capacitor is not connected.
Once the µC is wakeup, these GPIO pins are configured to be output low.
Best
Liang
Hi Liang,
Ok, so to answer your question about using a 1uF capacitor, if you are seeing programming issues when using a 1uF and don't see errors with either the 4.7uF or 10uF, I would use an oscilloscope and monitor VDD during programming to see how well regulated it is. Can you do this and provide a screen capture of the oscilloscope waveform:?
Hi Liang,
I believe all of your questions have been answered, so I will mark this posting as RESOLVED.
If this isn’t the case, please click the "This did NOT resolve my issue" button and reply to this thread with more information.
If this thread locks, please click the "Ask a related question" button and in the new thread describe the current status of your issue and any additional details you may have to assist us in helping to solve your issues.
**Attention** This is a public forum