Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 19:10 23 Nov 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : Hardware bug in RP2350

     Page 2 of 3    
Author Message
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6771
Posted: 03:45pm 28 Aug 2024
Copy link to clipboard 
Print this post

You should be fine using it like that, Stan. Carry on. :)  At the very worst you'll run into problems and have lost some header pins. It's not as if you're making an outlay for a board using a more expensive module.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6094
Posted: 07:58am 29 Aug 2024
Copy link to clipboard 
Print this post

I ran a simple test on a PGA2350
setpin gp20, din : do : print pin(gp20) : pause 1000 : loop

With 10k switched from GND to 3.3V, everything worked as it should.

Trying with 47k and not so simple.
47k to 3.3V gives a high and so does floating input.
47k to ground and the input stays high until I try to measure the voltage. Then the input goes low and the meter reads 0V. The meter is high impedance so shouldn't make much difference.

Remove the link to GND and the floating input goes high. Ground it through the 47k again and the same issue. No change until I try and measure the input voltage.

I repeated the test with 100k and the results are the same as 47k.

Before I loaded the MMBasic firmware I measured about 20k pulldown on GP20
Very rough measurement.

Jim
VK7JH
MMedit   MMBasic Help
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6771
Posted: 08:07am 29 Aug 2024
Copy link to clipboard 
Print this post

If someone had put in the spec that the inputs were 10K (or whatever) impedance then there would have been no issue. :)  Perhaps that's what RPi mean when they say "fix in documentation" - simply accept that it *isn't* a RP2040 work-alike in all respects. It's a different chip with its own spec.

I bet the company that changed RPi's pad without notification are squirming...
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
robert.rozee
Guru

Joined: 31/12/2012
Location: New Zealand
Posts: 2350
Posted: 08:25am 29 Aug 2024
Copy link to clipboard 
Print this post

  TassyJim said  47k to 3.3V gives a high and so does floating input.
47k to ground and the input stays high until I try to measure the voltage. Then the input goes low and the meter reads 0V. The meter is high impedance so shouldn't make much difference


hi Jim,
   are you by any chance able to repeat this test with a meter set up to measure current consumption from the 5v supply fed into the pico? i'm interested in hearing if the current consumption of the chip goes up when in the 'pin locked up' state. it would likely be best measured when the CPU clock is set to 48MHz, as this will see the CPU power consumption minimized at less than 10mA (according to Phil's testing here: https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=17194#225560). if there is any change in current consumption it will (hopefully) be extremely small; on the 20mA range a 3.5 digit DMM should be able to resolve down to a 10uA change.


cheers,
rob   :-)
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6094
Posted: 08:37am 29 Aug 2024
Copy link to clipboard 
Print this post

  Quote  hi Jim,
  are you by any chance able to repeat this test

I will do more tests once I have the breakout board assembled.
El-cheapo breadboards are not very reliable...

Tomorrow is supposed to be wet.

Jim
VK7JH
MMedit   MMBasic Help
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2134
Posted: 08:49am 29 Aug 2024
Copy link to clipboard 
Print this post

  Quote  47k to ground and the input stays high until I try to measure the voltage. Then the input goes low and the meter reads 0V. The meter is high impedance so shouldn't make much difference.

Just a guess, perhaps the meter lead is picking up some mains hum and that is pushing it out of the strange half way condition.

See what happens with a length of wire connected to a pin and nothing else.
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6094
Posted: 09:36am 29 Aug 2024
Copy link to clipboard 
Print this post

  phil99 said  
  Quote  47k to ground and the input stays high until I try to measure the voltage. Then the input goes low and the meter reads 0V. The meter is high impedance so shouldn't make much difference.

Just a guess, perhaps the meter lead is picking up some mains hum and that is pushing it out of the strange half way condition.

See what happens with a length of wire connected to a pin and nothing else.


I will start with a permanent connection to the CRO to reduce spikes on the pin.

Jim
VK7JH
MMedit   MMBasic Help
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4222
Posted: 10:31am 29 Aug 2024
Copy link to clipboard 
Print this post

All,

My measurements show that if you need a pull-down on a GPIO pin, it should be 10k or lower (i.e. 4.7k).

The problem does not exist when you use the pin to measure an analog voltage (SETPIN gpx,AIN).

You cannot use a digital pin as a high impedance input (such as with a logic analyzer, or a high impedance voltage divider, sensitive optocouplers) since you influence your source too much, and may get false readings.

This does not make the chip unusable, but the high impedance you took from granted in most all modern microprocessors, does not apply here. But providing pullup and pulldown resistors at microprocessor pins to achieve a pre-determined state immediate after power ON (before the code runs) is common practise on most designs already. Only pull-downs have to be lower impedance that typically needed.

The "latch-up" can be removed by pulling down around 200uA (2V/10k). This means that the carefully designed low power modes for this chip can be degraded when all 30/48 IO pins can end up in latched state (48 x 0.2mA = 9.5mA) without software knowing. Since IO pins are typically used to "wake up" from low power mode, you cannot simply disconnect the IO pin from the pad (as proposed by RP).

Regards,

Volhout
Edited 2024-08-29 20:34 by Volhout
PicomiteVGA PETSCII ROBOTS
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2112
Posted: 12:18pm 29 Aug 2024
Copy link to clipboard 
Print this post

Isn't impedance ac resistance? https://en.wikipedia.org/wiki/Electrical_impedance
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6771
Posted: 12:43pm 29 Aug 2024
Copy link to clipboard 
Print this post

Yes. It's the resistance to the flow of AC current.

However, MOSFETs have a very high DC resistance (in some cases hundreds of Meg) but the gate is a capacitor to the source. That capacitor can be relatively large (a few hundred pF) and passes some AC current even if the DC resistance is extremely high. So it is quite correct to speak of impedance when talking about the gate connection of a MOSFET.

Some circuits also simulate impedance, which can also be a bit confusing. :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4222
Posted: 02:06pm 29 Aug 2024
Copy link to clipboard 
Print this post

I am sorry if I confuse.

But I have a habit to use resistance for a pure resistor (theoretical then...)
I use impedance when it is a combination of resistance and inductance/capacitance -or- non linear resistance (as in this case...the resistance changes with the voltage applied).

Otherms may have been using these terms different. Hence my appologies for confusion.

Volhout
PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6771
Posted: 02:16pm 29 Aug 2024
Copy link to clipboard 
Print this post

No apologies necessary. :) There is always a reactive term to a resistance  and a resistive term to a reactance so it hardly matters. lol
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 856
Posted: 02:47pm 29 Aug 2024
Copy link to clipboard 
Print this post

Not that I know what I'm talking about but having to use low impedance signals feels more like a feature than a fault. Less sensitive to noise?
Edited 2024-08-30 00:49 by PhenixRising
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6771
Posted: 02:56pm 29 Aug 2024
Copy link to clipboard 
Print this post

TBH it's probably not that much of an issue really. If you want pull-ups or pull-downs then it's good practice to use external resistors anyway and if you really want a high impedance circuit then use an op-amp buffer to get it, don't depend purely on logic gates. As you say, noise immunity improves no end in low impedance circuits.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2112
Posted: 03:17pm 29 Aug 2024
Copy link to clipboard 
Print this post

I came across impedance in the '70's building speakers. the dc coil resistance wasn't the impedance value, which it was sold as ie 8ohm or car speakers 4ohm.
the phrase "high impedance" is won't draw much current when measuring...so lowering voltage. most cheap meters are ok in this respect I think but I'm usually wrong
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6771
Posted: 04:20pm 29 Aug 2024
Copy link to clipboard 
Print this post

It used to be that cheap meters were pretty bad for loading circuits. Now even a cheap digital meter will hardly load the circuit, particularly on DC volts. I have one of my late dad's meters. it uses a 1mA fsd movement so it's 1000R/V. On a 10V range will have a resistance of only 10K!

Wes, the DC resistance of a 4R or 8R speaker can be very low indeed. Sometimes a fraction of an ohm.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2112
Posted: 07:31pm 29 Aug 2024
Copy link to clipboard 
Print this post

only the maplin says 0V when nothing connected, the others float. I liked maplin.

 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6771
Posted: 09:21pm 29 Aug 2024
Copy link to clipboard 
Print this post

My most trusted meter is a very old Precision Gold WG022 that I got from Maplin. Just recently I've given it the first really good clean of its life and given it some new test leads as the red one was damaged in a couple of places. :)

I have a few others including an AVO Model D that's older than I am.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6094
Posted: 10:49pm 29 Aug 2024
Copy link to clipboard 
Print this post

First the good news.
The TEMPR command works so it looks like onewire is not affected.

Trying to use pulldown will drive you insane (if not already)

With a freshly reset pico2,
setpin gp26, din , pulldown

will indeed hold the input low with nothing connected.
Drive the input high and then disconnect and the input stays high when floating.
Restart your program and the input is still high.
Do a reset and we are back to low when floating.

Jim
VK7JH
MMedit   MMBasic Help
 
Grogster

Admin Group

Joined: 31/12/2012
Location: New Zealand
Posts: 9305
Posted: 12:16am 30 Aug 2024
Copy link to clipboard 
Print this post

This all sounds like fun!

However, the takeaway/workaround for this would seem to be pretty simple:

1) DO NOT use the PULLDOWN option, and Peter will quite probably remove that from the code
2) Use 10k external pull-ups or pull-downs.

I already do that for many of my own designs.  Pins I never use, I tend to just leave floating, cos they are not being referenced in the program anyway, so UNLESS the pins can do something odd if left floating and never used in your program....

For UART or standard high/low I/O pins, I tend to always use 10k pull-ups or pull-downs, depending on what state I need the pin to be in by default.

I2C already uses 4k7 pull-ups by default, so we're all used to using pull-up's and pull-down's in the area of 4k7 to 10k anyway.

I do admit that in the 2040 boards, I have made use of the PULLDOWN feature of the program, to save on having to use the external resistors, but if we HAVE to use external resistors on the GPIO pins on the new device, I don't really see that as THAT much of an issue, really.  It would seem that so long as you stick to 10k, there are no problems.

....unless I am missing something?
Smoke makes things work. When the smoke gets out, it stops!
 
     Page 2 of 3    
Print this page
© JAQ Software 2024