Skip to content

Commit 0c5f99d

Browse files
committed
adc: Flip SCK Polarity & Change CNVN timings
- To read the missed data bit in each transaction
1 parent 0be4816 commit 0c5f99d

2 files changed

Lines changed: 4 additions & 4 deletions

File tree

adc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def __init__(self, pins, params):
5050
self.sdo2n = sdo2n = Signal() # inverted input
5151
self.ddr_clk_synth = ddr_clk_synth = Signal(
5252
6, reset=0b000111
53-
) # signal to generate a 10ns period clock
53+
) # signal to generate a 4 ns * 3 = 12 ns period clock
5454

5555
if pins != None:
5656
self.specials += [
@@ -59,7 +59,7 @@ def __init__(self, pins, params):
5959
DifferentialOutput(~cnvn, pins.cnvn_n, pins.cnvn_p), # swapped
6060
DifferentialInput(pins.sdo_p[0], pins.sdo_n[0], sdo[0]),
6161
DifferentialInput(pins.sdo_n[1], pins.sdo_p[1], sdo2n), # swapped
62-
DDROutput(ddr_clk_synth[1], ddr_clk_synth[0], sck, ClockSignal("sys")),
62+
DDROutput(~ddr_clk_synth[1], ~ddr_clk_synth[0], sck, ClockSignal("sys")),
6363
]
6464

6565
self.comb += [

phaser.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,11 +238,11 @@ def __init__(self, platform):
238238
self.decoder.get("spi_datr", "read").eq(self.spi.reg.pdi),
239239
]
240240

241-
# 32 ns t_cnvh, 12 ns t_conv/t_DCNVSCKL, 192 ns data transfer, 24 ns t_rtt/tDSCKLCNVH
241+
# 32 ns t_cnvh, 16 ns t_conv/t_DCNVSCKL, 192 ns data transfer, 20 ns t_rtt/tDSCKLCNVH
242242
# Note that there is one extra cycle (4 ns) at the end of a transaction.
243243
# Total: 264 ns -> 3.788 MSps
244244
adc_parameters = AdcParams(
245-
width=16, channels=2, lanes=2, t_cnvh=8, t_conv=3, t_rtt=6
245+
width=16, channels=2, lanes=2, t_cnvh=8, t_conv=4, t_rtt=5
246246
)
247247

248248
self.submodules.adc = adc = Adc(platform.request("adc"), adc_parameters)

0 commit comments

Comments
 (0)