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 KingdomPosts: 6771 |
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: AustraliaPosts: 6094 |
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 KingdomPosts: 6771 |
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 ZealandPosts: 2350 |
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: AustraliaPosts: 6094 |
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: AustraliaPosts: 2134 |
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: AustraliaPosts: 6094 |
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: NetherlandsPosts: 4222 |
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 KingdomPosts: 2112 |
Isn't impedance ac resistance? https://en.wikipedia.org/wiki/Electrical_impedance |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6771 |
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: NetherlandsPosts: 4222 |
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 KingdomPosts: 6771 |
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 KingdomPosts: 856 |
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 KingdomPosts: 6771 |
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 KingdomPosts: 2112 |
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 KingdomPosts: 6771 |
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 KingdomPosts: 2112 |
only the maplin says 0V when nothing connected, the others float. I liked maplin. |
||||
Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 6771 |
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: AustraliaPosts: 6094 |
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 ZealandPosts: 9305 |
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 |