How to get higher speed UPDI more reliable? #436
Replies: 6 comments
-
I'm unfamiliar withthe design of his device - If you have an oscilloscope that you can generate a trace of an unsuccessful programming attempt with I can tell you what's wrong electrically. I dropped support for 115.2 because I wasn't aware of any devices that needed that, but didn't work at other settings. You can reenable it by editing programmers.txt - copy-paste the 2230400 baud version, change the name Are you using the 12v pulse? we probably do things that are interfering with that. I can't really comment further without seeing a schematic. The 4.7k resistor is markedly inferior in terms of robustness of the connection compared to a 470-2.2k resistor small signal schottky diode I think me and LeoNerd need to get in contact so we can sort out whether there is a way that we can make sure SerialUPDI is compatible with it. This needs to happen FAST because there's already prototype hardware that will demand certain behavior for RTS and DTR by SerialUPDI being developed by BOTH primary developers of SerialUPDI. And once both of us are shipping hardware, we're not going to break compatibility with our products so that our competitors products work ;-) |
Beta Was this translation helpful? Give feedback.
-
Board schematic is here Leonerd schematic is here I've replaced the on-board 4.7K (R3) on the board with a zero-ohm, as the 4.7K exists inside the LeoNerd. I'm not using the 12V pulse. Tried to grab a waveform, any tips on how to get a good grab? |
Beta Was this translation helpful? Give feedback.
-
When we spoke yesterday, it was revealed that I guess there are a few
versions of that board from LeoNerd as he's been trying to find the ideal
thing to put between TX and RX. I hope I convinced him of the Right Way of
a 1k resistor in series with a schottky diode.....
I cant see a damned thing in that trace... I use a Siglent too and I would
suggest three things: 1. instead of using a camera, stick a USB thumb drive
tinto one of those USB ports and take screencaps that way. 2.use "single"
trigger mode. You want to see a trace where the lowest point shows two
different voltages (corresponding to whether the low was caused by
programmer or target driving the line low) - that's the most useful. Or if
you just see a few bursts of activity right at the start then nothing and
only one voltage for the valleys, tbat imoplies that the target isn't
answering. 3. If you have the "decode" module, you can set it toi decode
UART, the baud rate you're using, even parity and 2 stop bits.
…On Mon, May 24, 2021 at 4:03 PM Mechatroniks ***@***.***> wrote:
Schematic is here:
https://github.com/tetrabiodistributed/PAPRA-PCB/blob/main/pcb/PaprControlPCB/PCB%20Design%20Files/Papra%20v0.4%20Schematic.pdf
I've replaced the on-board 4.7K (R3) with a zero-ohm, as the 4.7K exists
inside the LeoNerd. I'm not using the 12V pulse.
Tried to grab a waveform, any tips on how to get a good grab?
[image: image]
<https://user-images.githubusercontent.com/57600622/119401166-fd3e5d00-bc8f-11eb-8979-d494c9ac7ff7.png>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#436 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABTXEW74NFYMGHPBPYLLDZLTPKWIDANCNFSM45H2DZ4Q>
.
--
____________
Spence Konde
Azzy’S Electronics
New products! Check them out at tindie.com/stores/DrAzzy
GitHub: github.com/SpenceKonde
ATTinyCore <https://github.com/SpenceKonde/ATTinyCore>: Arduino support for
all pre-2016 tinyAVR with >2k flash!
megaTinyCore <https://github.com/SpenceKonde/megaTinyCore>: Arduino support
for all post-2016 tinyAVR parts!
DxCore <https://github.com/SpenceKonde/DxCore>: Arduino support for the AVR
Dx-series parts, the latest and greatest from Microchip!
Contact: ***@***.***
|
Beta Was this translation helpful? Give feedback.
-
One thing I'm not sure I made clear - 921600 baud is probably not realistic - I couldn't make it work at least. that's fast enough where physical configuration starts to be relevant (ie, long wires are bad) Is the power supply rail noisy? askin part becasue the UPDI trace is also going under a power supply selection. that has some pretty wide traces, If large and chang and there are severely diminishing returns at that point Anyway. against tinyAVR even if you can make it work, based on my analysis of 460800 MHz performance, the write time was dominated by USB latency (initially, overwhelmingly dominated by, - final set of improvements were made a priority when I discovered that 17k/s write speed from Dx fell below that of jtag2updi on tiny, which led to the final round of performance improvements that reduced USB transactions, But with the short pages and extra command because of the page write and different nvmctrl left me with like 50% USB latency, so even at infinite baud rate, theeffective rate would be twice what's currently possible. That USB latency is a killer
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Also please post the failure message! There is also a software bug that can cause programming failures against tinyAVR devices at higher baud rates - though I could never make it manifest except on the HT42B534, which is pretty exotic. |
Beta Was this translation helpful? Give feedback.
-
with 2.3.2, I
57.6k working all the time.
230.4k rarely works, I think I got it once or twice
460.8K, never.
I'm using LeoNerd's UDPI programmer, the device (CP2105) claims to support up to 921.6K. It has built in 4.7K resistor. My PCB I've installed a 0-ohm. Running at 5V. 6" Jumper to pcb from programmer.
Otherwise, how can I get 115.2K working?
Beta Was this translation helpful? Give feedback.
All reactions