Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8609

General • Pico 32bit DMA with out pins 8 issue

$
0
0
Not sure if this is the correct place for a post like this, so I won’t go into the gory details until I get some feedback.
Simply stated, I’m DMA’ing a large block of 32bit aligned data to a state machine in order to create 8 repeting signals each with a programmable phase offset. They drive ultrasonic transducers. As long as my transitions for any pin occur at byte0,4,8…inside the buffer, they are clean. If the transitions occur at any other byte position, the transitions make the initial change, then flip state, and finally back. These transitions are definitely not crosstalk.
Here’s a sample of the 32bit data
0) 10000000100000001000000011000000
1) 11000000110000001100000011000000
2) 11000000110000001100000011000000

Shown as desired values output to 8 GPIO pins
12345678. GPIO pin
0) 10000000
1) 10000000
2) 10000000
3) 11000000. < pin2 transition error, drives high, then low, then high
4) 11000000
5) 11000000

If I move the pin2 bit transition to offset 4, the transition is clean.
Also, if I change the DMA to transfer as 8bit data, all transitions work fine in any position.

If this is the right place to discuss this, I can provide scope pics, my DMA config, address locations and the PIO program, although it’s very simple… Or best case maybe someone can shed some light on what’s happening.
out pins 8

Statistics: Posted by GHamsz — Sun Dec 07, 2025 6:26 am



Viewing all articles
Browse latest Browse all 8609

Trending Articles