This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LMK5B33216: Regarding I2C using TICS PRO

Part Number: LMK5B33216

Tool/software:


Greetings...

    I was trying to program the LMK5B33216 with I2C using a register map obtained from TICS Pro. I'm attaching the project file we used to program it and the I2C Program used to program it.
The programming does not yield the right results. We are seeing 102.4 MHz clocks at OUTs 6 & 7 and 72 MHz at OUT1. All other outputs are getting blanked out.
Our requirement is to be able to Reference the APLL1 from XO, Reference DPLL1 from IN0 (PPS), Reference APLL2 from VCO1 feedback and Reference DPLL2 from IN1. And we'd like to get a few 100 MHz, 10 MHz and 1 PPS signals from the Output channels in CMOS format.

Please assist ASAP. 

Requesting you to assist us with the programming.10&100.tcs
import smbus
import time
from gpiozero import LED

pin = 18  

led = LED(pin)

led.on()

bus = smbus.SMBus(1)  


DEVICE_ADDRESS = 0x65


try:
# List of hex values
    hex_values = [
        0x001300
,0x0014B0
,0x0015A1
,0x001615
,0x001700
,0x001806
,0x001901
,0x001A00
,0x002000
,0x002502
,0x0026FF
,0x0027FF
,0x0028FF
,0x002900
,0x002A00
,0x002B00
,0x002C00
,0x003102
,0x003600
,0x003700
,0x003800
,0x00390F
,0x003A0F
,0x003B0E
,0x003C38
,0x003D00
,0x003E00
,0x003F08
,0x004003
,0x004103
,0x004203
,0x004308
,0x004408
,0x004588
,0x004688
,0x00478A
,0x00488A
,0x00490A
,0x004A8A
,0x004B1A
,0x004C1A
,0x004D1A
,0x004E00
,0x004F0E
,0x00500E
,0x005100
,0x005200
,0x0053AA
,0x00541F
,0x0055FF
,0x0056FF
,0x005700
,0x005800
,0x0059FA
,0x005A00
,0x005B00
,0x005C32
,0x005D00
,0x005E00
,0x005F32
,0x006000
,0x00611F
,0x0062FF
,0x0063FF
,0x006400
,0x006500
,0x006676
,0x006700
,0x006800
,0x00692A
,0x006A00
,0x006B00
,0x006C2A
,0x006D00
,0x006E0A
,0x006F00
,0x00700F
,0x007100
,0x00720A
,0x007300
,0x00740F
,0x007503
,0x0076E8
,0x007705
,0x0078DC
,0x007903
,0x007AE8
,0x007B05
,0x007CDC
,0x007D00
,0x007E00
,0x007F1F
,0x0080CB
,0x008100
,0x008201
,0x008386
,0x0084AC
,0x008500
,0x008600
,0x00871F
,0x0088CB
,0x008900
,0x008A01
,0x008B86
,0x008CAC
,0x008D00
,0x008E62
,0x008F1D
,0x00905A
,0x009100
,0x009298
,0x009396
,0x009481
,0x009500
,0x009662
,0x00971D
,0x00985A
,0x009900
,0x009A98
,0x009B96
,0x009C81
,0x009D0E
,0x009E0E
,0x009F0A
,0x00A00A
,0x00A100
,0x00A200
,0x00A300
,0x00A400
,0x00A500
,0x00A600
,0x00A700
,0x00A800
,0x00DE00
,0x00DF00
,0x00E000
,0x00E100
,0x00E201
,0x00E400
,0x00E509
,0x00E600
,0x00E70C
,0x00E800
,0x00E909
,0x00EA27
,0x00EBC0
,0x00EC00
,0x00ED00
,0x00EE04
,0x00EFB1
,0x00F000
,0x00F101
,0x00F286
,0x00F3F3
,0x00F715
,0x00F843
,0x00F992
,0x00FA00
,0x00FB00
,0x00FC00
,0x00FD00
,0x00FE00
,0x00FF00
,0x010000
,0x010100
,0x010200
,0x010300
,0x010400
,0x010503
,0x010600
,0x010700
,0x01081F
,0x010940
,0x010A00
,0x010B00
,0x010C1B
,0x010D00
,0x010E0F
,0x010F14
,0x01100F
,0x011105
,0x011208
,0x011304
,0x011408
,0x011508
,0x011606
,0x011702
,0x011806
,0x011911
,0x011A05
,0x011B00
,0x011C16
,0x011D68
,0x011E03
,0x011FEB
,0x012001
,0x012185
,0x012203
,0x012309
,0x012401
,0x012592
,0x01260D
,0x012742
,0x012801
,0x012940
,0x012A00
,0x012B0A
,0x012C3E
,0x012D0A
,0x012E08
,0x012F1B
,0x01301D
,0x013107
,0x01323F
,0x01330F
,0x01343F
,0x013500
,0x013A00
,0x013B00
,0x013C00
,0x013D0F
,0x013EA0
,0x013F00
,0x014000
,0x014100
,0x014200
,0x014300
,0x014400
,0x014500
,0x014600
,0x014700
,0x014800
,0x014900
,0x014A00
,0x014B00
,0x014C0F
,0x014DA0
,0x014E00
,0x014F00
,0x015000
,0x015100
,0x015200
,0x015300
,0x015400
,0x015500
,0x015600
,0x015700
,0x015800
,0x015902
,0x015A00
,0x015B00
,0x015C00
,0x015D00
,0x015E00
,0x015F00
,0x016000
,0x016600
,0x016700
,0x01687D
,0x016900
,0x016A08
,0x016B00
,0x016C00
,0x016D00
,0x016E00
,0x016F00
,0x017014
,0x017100
,0x017200
,0x017511
,0x017600
,0x017700
,0x017803
,0x017A00
,0x017B09
,0x017C00
,0x017D0C
,0x017E00
,0x017F00
,0x018009
,0x0181C5
,0x018200
,0x018300
,0x018405
,0x018536
,0x018600
,0x018701
,0x018886
,0x0189D2
,0x018D55
,0x018E6F
,0x018F92
,0x019000
,0x019100
,0x019200
,0x019300
,0x019400
,0x019500
,0x019600
,0x019700
,0x019800
,0x019900
,0x019A00
,0x019B03
,0x019C00
,0x019D00
,0x019E23
,0x019F28
,0x01A000
,0x01A100
,0x01A21B
,0x01A300
,0x01A40F
,0x01A514
,0x01A60F
,0x01A708
,0x01A808
,0x01A904
,0x01AA08
,0x01AB08
,0x01AC06
,0x01AD02
,0x01AE06
,0x01AF11
,0x01B005
,0x01B100
,0x01B216
,0x01B368
,0x01B403
,0x01B5EB
,0x01B601
,0x01B785
,0x01B803
,0x01B909
,0x01BA01
,0x01BB92
,0x01BC0D
,0x01BD42
,0x01BE01
,0x01BF40
,0x01C000
,0x01C10A
,0x01C214
,0x01C308
,0x01C408
,0x01C51B
,0x01C61D
,0x01C707
,0x01C83F
,0x01C90F
,0x01CA3F
,0x01CB00
,0x01D000
,0x01D100
,0x01D200
,0x01D311
,0x01D494
,0x01D500
,0x01D600
,0x01D700
,0x01D800
,0x01D900
,0x01DA00
,0x01DB00
,0x01DC00
,0x01DD00
,0x01DE00
,0x01DF00
,0x01E000
,0x01E100
,0x01E212
,0x01E3C0
,0x01E400
,0x01E500
,0x01E600
,0x01E700
,0x01E800
,0x01E900
,0x01EA00
,0x01EB00
,0x01EC00
,0x01ED00
,0x01EE00
,0x01EF02
,0x01F000
,0x01F100
,0x01F200
,0x01F300
,0x01F400
,0x01F500
,0x01F600
,0x01FC00
,0x01FD00
,0x01FE7D
,0x01FF00
,0x020008
,0x020100
,0x020200
,0x020300
,0x020400
,0x020500
,0x020600
,0x020700
,0x020800
,0x020B11
,0x020C00
,0x020D00
,0x020E01
,0x021000
,0x021109
,0x021200
,0x02130C
,0x021400
,0x021503
,0x02160D
,0x021740
,0x021800
,0x021900
,0x021A04
,0x021BC5
,0x021C00
,0x021D01
,0x021E86
,0x021FB8
,0x022355
,0x022457
,0x022592
,0x022600
,0x022700
,0x022800
,0x022900
,0x022A00
,0x022B00
,0x022C00
,0x022D00
,0x022E00
,0x022F00
,0x023000
,0x023103
,0x023200
,0x023300
,0x02340F
,0x02355C
,0x023600
,0x023700
,0x023800
,0x023900
,0x023A0F
,0x023B0E
,0x023C0F
,0x023D08
,0x023E08
,0x023F08
,0x024008
,0x024108
,0x024206
,0x024308
,0x024406
,0x024511
,0x024605
,0x024707
,0x024814
,0x024971
,0x024A03
,0x024BEB
,0x024C01
,0x024D85
,0x024E03
,0x024F09
,0x025001
,0x025192
,0x02520D
,0x025342
,0x025401
,0x025540
,0x025600
,0x02570A
,0x025814
,0x025908
,0x025A08
,0x025B1B
,0x025C1D
,0x025D07
,0x025E3F
,0x025F0F
,0x02603F
,0x026100
,0x026600
,0x026700
,0x026800
,0x026907
,0x026AAE
,0x026B14
,0x026C7A
,0x026DE1
,0x026E47
,0x026FAE
,0x0270FF
,0x0271FF
,0x0272FF
,0x0273FF
,0x0274FF
,0x027500
,0x027600
,0x027700
,0x027807
,0x0279AE
,0x027A14
,0x027B7A
,0x027CE1
,0x027D47
,0x027EAE
,0x027FFF
,0x0280FF
,0x0281FF
,0x0282FF
,0x0283FF
,0x028400
,0x028502
,0x028600
,0x028700
,0x028800
,0x028900
,0x028A00
,0x028B00
,0x028C00
,0x029200
,0x029300
,0x02947D
,0x029500
,0x029608
,0x029700
,0x029800
,0x029900
,0x029A00
,0x029B00
,0x029C00
,0x029D01
,0x029E01
,0x02C20D
,0x02C350
,0x02C403
,0x02C502
,0x02C606
,0x02C706
,0x02C8FF
,0x02C900
,0x02CA16
,0x02CB18
,0x02CC01
,0x02CDFF
,0x02CE00
,0x02CF00
,0x02D000
,0x02D180
,0x02D200
,0x02D300
,0x02D406
,0x02DBDC
,0x02DC88
,0x02DDA8
,0x02E000
,0x030506
,0x030660
,0x030700
,0x030896
,0x03094D
,0x030A0B
,0x030B07
,0x030C06
,0x030D06
,0x030EFF
,0x030F00
,0x031001
,0x03110D
,0x031200
,0x031302
,0x031428
,0x0315F5
,0x0316C8
,0x031780
,0x031800
,0x031911
,0x031A06
,0x032318
,0x03243A
,0x032503
,0x032800
,0x034600
,0x034700
,0x034857
,0x03490B
,0x034A01
,0x034B0E
,0x034C0E
,0x034D7F
,0x034E00
,0x034F0A
,0x03500E
,0x035100
,0x035200
,0x03536F
,0x035446
,0x035517
,0x035680
,0x035700
,0x035850
,0x035904
,0x036056
,0x036130
,0x03620C
,0x036800
,0x03C154
,0x03C200
,0x03C328
,0x03C444
,0x03C500
,0x03C614
,0x03C701
,0x03C800
,0x03C973
,0x03CB24
,0x03CC02
,0x03CD3F
,0x03CE00
,0x03CF00
,0x03D000
,0x03D100
,0x03D200
,0x03D33A
,0x03D400
,0x03D53A
,0x03D600
,0x03D70D
,0x03D800
,0x03D900
,0x03DA00
,0x03DBB4
,0x03DC00
,0x03DD00
,0x03DE00
,0x03DF00
,0x040019
,0x040103
,0x04022B
,0x040318
,0x040400
,0x040500
,0x040600
,0x04073A
,0x042019
,0x042103
,0x04222B
,0x042318
,0x042400
,0x042500
,0x042600
,0x04273A
,0x044145
,0x044250
,0x044343
,0x04444C
,0x044521
,0x0446A3
,0x044700
,0x044800
,0x044900
,0x044A28
,0x044B10
,0x044C0D
,0x044D00
,0x044E00
,0x044F00
,0x0450B4
,0x045100
,0x045200
,0x045300
,0x045400
,0x046143
,0x04624C
,0x046343
,0x04644C
,0x046521
,0x0466A3
,0x046700
,0x046800
,0x046900
,0x046A28
,0x046B00
,0x046C0D
,0x046D00
,0x046E00
,0x046F00
,0x04705A
,0x047100
,0x047200
,0x047300
,0x047410
,0x048121
,0x04824C
,0x048321
,0x04844C
,0x048521
,0x0486A3
,0x048700
,0x048800
,0x048900
,0x048A04
,0x048B00
,0x048C0D
,0x048D00
,0x048E00
,0x048F00
,0x049040
,0x049100
,0x049200
,0x049300
,0x049410
,0x04A143
,0x04A24C
,0x04A343
,0x04A44C
,0x04A521
,0x04A6A3
,0x04A700
,0x04A800
,0x04A900
,0x04AA04
,0x04AB00
,0x04AC0D
,0x04AD00
,0x04AE00
,0x04AF00
,0x04B040
,0x04B100
,0x04B200
,0x04B300
,0x04B410
,0x04C143
,0x04C24C
,0x04C343
,0x04C40C
,0x04C521
,0x04C6A3
,0x04C700
,0x04C800
,0x04C900
,0x04CA04
,0x04CB00
,0x04CC0D
,0x04CD00
,0x04CE00
,0x04CF00
,0x04D040
,0x04D100
,0x04D200
,0x04D300
,0x04D410
,0x04E019
,0x04E103
,0x04E24F
,0x04E318
,0x04E400
,0x04E500
,0x04E600
,0x04E70D
,0x05002B
,0x050103
,0x05024F
,0x050318
,0x050400
,0x050500
,0x050600
,0x05070D
    ]

    # Function to write 8-bit data to a 16-bit register address
    def write_to_register(device_address, register_address, data):
        high_byte = (register_address >> 8) & 0xFF  # Extract high byte of register address
        low_byte = register_address & 0xFF  # Extract low byte of register address
        # Write the register address and data as a block (2-byte address, 1-byte data)
        bus.write_i2c_block_data(device_address, high_byte, [low_byte, data])
        time.sleep(0.01)  

    # Function to read 8-bit data from a 16-bit register address
    def read_from_register(device_address, register_address):
        high_byte = (register_address >> 8) & 0xFF  # Extract high byte of register address
        low_byte = register_address & 0xFF  # Extract low byte of register address
        # Write the register address to the device
        bus.write_i2c_block_data(device_address, high_byte, [low_byte])
        time.sleep(0.01)  # Short delay before reading
        # Read 8-bit data from the device
        return bus.read_byte(device_address)

    # Iterate through the hex values, write to the I2C device, and then read back the data
    for value in hex_values:
        register_address = (value >> 8) & 0xFFFF  # Extract the 16-bit register address
        data = value & 0xFF  # Extract the 8-bit data
        write_to_register(DEVICE_ADDRESS, register_address, data)
        print(f"Written data 0x{data:02X} to register 0x{register_address:04X}")
        
        # Read back the data from the register
        read_data = read_from_register(DEVICE_ADDRESS, register_address)
        print(f"Read data 0x{read_data:02X} from register 0x{register_address:04X}")

    print("Data writing and reading complete.")

except KeyboardInterrupt:
    print("Program interrupted by user")


  • Good Evening, the register that is supposed to be called "OUT01_CH1_CLK_IN_SEL" is nowhere to be found on the document named snau275a.pdf. TICS Pro gives an error when trying to select mux setting for 1 and 0

  • Hi Rishi,

    We will look into the .tcs file.

    Are you programming the EVM or a customer board?

    Regards,

    Jennifer

  • Greetings Jennifer.

    I've designed & fabricated a board. I was waiting for help with TICS Pro, but now I've started manually writing my register dump. While configuring the OUTs 1 and 2, I'm not able to control the IN_SEL because the register corresponding to it is missing in the programmer's guide. TICS Pro throws an error when changing the IN_SEL too.

    It will be helpful if your team can share a register map that configures APLL3 to reference XO and DPLL3 to reference IN1 with a ZDM from any of the outputs to it. The Register Map we generated from TICS Pro is not configuring these appropriately, but when we manually write the dividers and OUTx configurations with the programmer's guide, its working as expected

    Please do also let us know if a zoom call with your technical team might make it easier to explain the issues

    Best Regards

  • Hi Rishi,

    The "OUT01_CH1_CLK_IN_SEL" and "OUT02_CH1_CLK_SEL" in TICSPRO are used as a flex control that can change more than one register so it will not show up in the programmers guide. In order to change the CLK_IN_SEL of OUT0 and OUT1 multiple registers need to get changed to change the setting.

    I tried loading your provided tcs file but I do not see an error when changing the OUT01_CH1_CLK_IN_SEL.
    What is the error message TICSPRO gives?

    Best Regards,
    Kyle Yamabe