Support readback in SU-Servo mode via MISO #7

Merged
sb10q merged 2 commits from occheung/urukul-pld:readback into master 2025-10-31 09:03:39 +08:00
Member

This PR changes the pin mapping in SU-Servo mode.

  • MISO pin is assigned EEM0[2], identical to non-servo mode.
  • NU_CLK is moved to EEM0[5] to make way for MISO.
  • NU_CS pin is removed. CS_N is now simply pulled low when in servo mode, as permitted by the AD9910 datasheet.
    Only PROTO_REV 9 firmware, on either Xilinx CoolRunner II CPLD (xc2c) or iCE40 targets, will receives this change.

Closes #6.

This PR changes the pin mapping in SU-Servo mode. - MISO pin is assigned EEM0[2], identical to non-servo mode. - NU_CLK is moved to EEM0[5] to make way for MISO. - NU_CS pin is removed. CS_N is now simply pulled low when in servo mode, as permitted by the AD9910 datasheet. Only PROTO_REV 9 firmware, on either Xilinx CoolRunner II CPLD (xc2c) or iCE40 targets, will receives this change. Closes #6.
occheung added 2 commits 2025-10-10 17:05:55 +08:00
occheung added 3 commits 2025-10-14 13:42:36 +08:00
occheung force-pushed readback from 2b5b387acf to d14eba7311 2025-10-14 16:59:21 +08:00 Compare
occheung changed title from WIP: Support readback in SU-Servo mode via MISO to Support readback in SU-Servo mode via MISO 2025-10-14 16:59:34 +08:00
mwojcik reviewed 2025-10-15 13:48:27 +08:00
@@ -285,1 +287,4 @@
With CS = 3, MASK_NU selects the source of MISO among the 4 DDS available.
| MASK_NU | MISO Source |
Member

nit: it's more of a select (one from 4), rather than a mask (any of 4), although I understand the desire not to change the original signal name

nit: it's more of a select (one from 4), rather than a mask (any of 4), although I understand the desire not to change the original signal name
First-time contributor

I haven't tested this, but it seems altogether like a cleaner solution than the very limited half-duplex shift-register mode we use in Oxford (though we were constrained to also work on old CPLD versions and rev. 8, and didn't spot that we could steal one of the DDS diff pair lines). Assuming it works reliably in testing, just having straightforward readback via regular MISO seems as implemented here seems like the way to go.

I haven't tested this, but it seems altogether like a cleaner solution than the very limited half-duplex shift-register mode we use in Oxford (though we were constrained to also work on old CPLD versions and rev. 8, and didn't spot that we could steal one of the DDS diff pair lines). Assuming it works reliably in testing, just having straightforward readback via regular MISO seems as implemented here seems like the way to go.
sb10q merged commit d14eba7311 into master 2025-10-31 09:03:39 +08:00
Sign in to join this conversation.
No Reviewers
No Label
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: M-Labs/urukul-pld#7