QTC-UMD / dds-sweeper

Raspberry Pi Pico interface for the AD9959 DDS
BSD 2-Clause "Simplified" License
5 stars 2 forks source link

Modify pin assignments to improve breakout board layout #46

Open dihm opened 4 hours ago

dihm commented 4 hours ago

The current pin assignments were mostly chosen before the board layout was made, resulting in a breakout board that has a large number of long, winding traces. I'm pretty sure we could choose better pin assignments that would make the board layout much better.

dihm commented 4 hours ago

I've had a first go at a better design, and I'm reasonably sure the following layout and pin assignments are valid.

image

#define PIN_MISO 0
#define PIN_MOSI 19
#define PIN_SCK 4
#define PIN_SYNC 1
#define PIN_CLOCK 21
#define PIN_UPDATE 6
#define PIN_RESET 2
#define P0 10
#define P1 9
#define P2 8
#define P3 7
#define TRIGGER 16

Pretty confident the only pins that are restricted are the SPI pins (MOSI, MISO, SCK) and the Clock output, which this respects. A number of minor code changes beyond updating the pin assigments are required.

I'm milling a test board now to ensure functionality with the pin changes. @carterturn If not too disruptive to your efforts, I plan to put together a PR with minimum number of changes required for things to nominally function.