Skip to content

Commit

Permalink
Merge pull request #701 from slaclab/pre-release
Browse files Browse the repository at this point in the history
Release Candidate v2.6.5
  • Loading branch information
ruck314 authored Jun 23, 2020
2 parents 18f1946 + 94c7f53 commit 94c87dd
Showing 1 changed file with 16 additions and 23 deletions.
39 changes: 16 additions & 23 deletions python/surf/devices/ti/_Adc32Rf45.py
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,6 @@ def __init__( self, verify=True, **kwargs):
##############################
@self.command(description = "Device Initiation")
def Init():
self.Powerup_AnalogConfig()

# Wait for 50 ms for the device to estimate the interleaving errors
time.sleep(0.100) # TODO: Optimize this timeout

Expand All @@ -314,6 +312,15 @@ def Init():
self._rawWrite(offsetCorrector + chA + (4*0x068),0xA2) #... freeze offset estimation
self._rawWrite(offsetCorrector + chB + (4*0x068),0xA2) #... freeze offset estimation

self.DigRst()

self._rawWrite(generalAddr + (4*0x0012),0x04) # write 4 to address 12 page select
self._rawWrite(generalAddr + (4*0x0056),0x00) # sysref dis - check this was written earlier
self._rawWrite(generalAddr + (4*0x0057),0x00) # sysref dis - whether it has to be zero
self._rawWrite(generalAddr + (4*0x0020),0x00)
self._rawWrite(generalAddr + (4*0x0020),0x10) # Pdn sysref
self.PDN_SYSREF.set(0x1) # Do this in AppTop after JESD link is established

@self.command()
def Powerup_AnalogConfig():
self._rawWrite(generalAddr + (4*0x0000),0x81) # Global software reset. Remember the sequence of programming the config files is Powerup_Analog_Config-->IL_Config_Nyqx_chA-->IL_Config_Nyqx_chB-->NL_Config_Nyqx_chA-->NL_Config_Nyqx_chB-->JESD_Config
Expand Down Expand Up @@ -360,12 +367,14 @@ def Powerup_AnalogConfig():
self._rawWrite(generalAddr + (4*0x0059),0x02) #...
self._rawWrite(generalAddr + (4*0x005B),0x08) #...
self._rawWrite(generalAddr + (4*0x005c),0x07) #...
# self._rawWrite(generalAddr + (4*0x0057),0x10) # Register control for SYSREF --these lines are added in revision SBAA226C.
# self._rawWrite(generalAddr + (4*0x0057),0x18) # Pulse SYSREF, pull high --these lines are added in revision SBAA226C.
# self._rawWrite(generalAddr + (4*0x0057),0x10) # Pulse SYSREF, pull back low --these lines are added in revision SBAA226C.
# self._rawWrite(generalAddr + (4*0x0057),0x18) # Pulse SYSREF, pull high --these lines are added in revision SBAA226C.
# self._rawWrite(generalAddr + (4*0x0057),0x10) # Pulse SYSREF, pull back low --these lines are added in revision SBAA226C.
self._rawWrite(generalAddr + (4*0x0057),0x10) # Register control for SYSREF --these lines are added in revision SBAA226C.
self._rawWrite(generalAddr + (4*0x0057),0x18) # Pulse SYSREF, pull high --these lines are added in revision SBAA226C.
self._rawWrite(generalAddr + (4*0x0057),0x10) # Pulse SYSREF, pull back low --these lines are added in revision SBAA226C.
self._rawWrite(generalAddr + (4*0x0057),0x18) # Pulse SYSREF, pull high --these lines are added in revision SBAA226C.
self._rawWrite(generalAddr + (4*0x0057),0x10) # Pulse SYSREF, pull back low --these lines are added in revision SBAA226C.
self._rawWrite(generalAddr + (4*0x0057),0x00) # Give SYSREF control back to device pin --these lines are added in revision SBAA226C.
self._rawWrite(generalAddr + (4*0x0056),0x00) # sysref dis - check this was written earlier
self._rawWrite(generalAddr + (4*0x0020),0x00) # Pdn sysref = 0
self._rawWrite(generalAddr + (4*0x0012),0x00) # Master page disabled
self._rawWrite(generalAddr + (4*0x0011),0xFF) # Select ADC Page
self._rawWrite(generalAddr + (4*0x0083),0x07) # Additioanal Analog trims
Expand All @@ -381,15 +390,6 @@ def Powerup_AnalogConfig():
self._rawWrite(rawInterface + (4*0x4003),0x01) #...
self._rawWrite(rawInterface + (4*0x6068),0x22) #...

self.SYSREF_DEL_EN.set(self.SYSREF_DEL_EN.value(), write=True)
self.SYSREF_DEL_HI.set(self.SYSREF_DEL_HI.value(), write=True)
self.SYSREF_DEL_LO.set(self.SYSREF_DEL_LO.value(), write=True)

self.SYNCB_POL.set(self.SYNCB_POL.value(), write=True)
self.JESD_OUTPUT_SWING.set(self.JESD_OUTPUT_SWING.value(), write=True)



@self.command(description = "Set IL ChA")
def IL_Config_Nyq1_ChA():
self._rawWrite(mainDigital + chA + (4*0x044),0x01) # Program global settings for Interleaving Corrector
Expand Down Expand Up @@ -663,13 +663,6 @@ def JESD_DDC_config():
#
# self._rawWrite(decFilter + chB + (4*0x1f),0x01) # 6dB HBW DDC0

self._rawWrite(generalAddr + (4*0x0012),0x04) # write 4 to address 12 page select
self._rawWrite(generalAddr + (4*0x0056),0x00) # sysref dis - check this was written earlier
self._rawWrite(generalAddr + (4*0x0057),0x00) # sysref dis - whether it has to be zero
# self._rawWrite(generalAddr + (4*0x0020),0x00)
# self._rawWrite(generalAddr + (4*0x0020),0x10) # Pdn sysref
# self.PDN_SYSREF.set(0x1) # Do this in AppTop after JESD link is established

@self.command(description = "Digital Reset")
def DigRst():
# Wait for 50 ms for the device to estimate the interleaving errors
Expand Down

0 comments on commit 94c87dd

Please sign in to comment.