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.

CDCE6214-Q1: Can not store to EEPROM for CDCE6214-Q1

Part Number: CDCE6214-Q1
Other Parts Discussed in Thread: USB2ANY, CDCE6214, LMK03318, LMK03328

Hi

Good day.

I'm third party programmer manufacturer.

I'm developing the algo of CDCE6214-Q1 on our programmer, and customer is Delta. They will program this MPN on our programmer for production.

I have some technical support as below and need your help to clarify.

1. May i know any Device ID for recognized? it is helpful to avoid the mix devices for production.

2. There are two mode as fall-back mode (67h) and serial interface mode(68h). may i know which mode is suitable for third party support?

3. The algo is able to read and write the data into RAM of IC, but it is unable to store the data into EEPROM successfully. There is our programming flow.

   3-1. Power on ( VCC is 3.3V, HW_SW_CTRL and REFSEL is floating for fall-back mode)

    3-2. Scan Slave address and get 67h

    3-3. According to txt file, and write and read from R85 to R0, and make sure data is written into RAM.

  3-4. I refer to the 9.5.2.3.1 Register Commit Flow from Datasheet, and do store process.

  a. write 1 to RECAL (R0, bit4)

  b. write 0 to REGCOMMIT_PAGE (R3, bit9)

  c. EE_LOCK = 0x5 (R15,bit15~12)

  d. write 1 to REGCOMMIT (R3,bit10)

  e. Delay 200ms, and check R7,bit5  (i found this bit always 0)

  f. write 1 to UPDATE_CRC (R3,bit12)

  g. read back CRC from NVMLCRC

 h. Store CRC to NVM_WR_DATA(R14) and write 0x3F to NVM_WR_ADDR (R13, bit5~0)

and Delay 1s and power cycling

Then, Power on and read back from R0 to R85, and the content is not updated.

There is the schematic for our socket board. (VDD = 3.3V, and Y1 is 25MHZ)

In addition, i also tried to use serial interface mode(68h, HW_SW_CTRL is floating and REFSEL set low), and the behavior is same.

Please advise. Thank you.

Jack

  • Hello Jack,

    1. Registers 7-15 are device specific 

    2. Serial interface mode is more suitable

    3. In fall-back mode the EEPROM configuration is bypassed. Having HW_SW_CTRL floating puts the device in fall-back mode, not serial interface mode. Additionally, is PDN held Low until all power supplies have ramped up? The following steps must be done before the Register Commit Flow.

    Best,

    Cris

  • Hi Cris,

    R85	0x00550000
    R84	0x00540000
    R83	0x00530000
    R82	0x00520000
    R81	0x00510004
    R80	0x00500000
    R79	0x004F0008
    R78	0x004E0000
    R77	0x004D0000
    R76	0x004C0008
    R75	0x004B0008
    R74	0x004AA181
    R73	0x00492000
    R72	0x00480006
    R71	0x00470000
    R70	0x00460008
    R69	0x0045A181
    R68	0x00442000
    R67	0x00430006
    R66	0x00420000
    R65	0x00410008
    R64	0x0040A181
    R63	0x003F2000
    R62	0x003E0006
    R61	0x003D0000
    R60	0x003C0008
    R59	0x003B0008
    R58	0x003A502C
    R57	0x00394000
    R56	0x00380006
    R55	0x0037001E
    R54	0x00363400
    R53	0x00350069
    R52	0x00345000
    R51	0x003340C0
    R50	0x003207C0
    R49	0x00310013
    R48	0x003023C7
    R47	0x002F0380
    R46	0x002E0000
    R45	0x002D4F80
    R44	0x002C0318
    R43	0x002B0051
    R42	0x002A0002
    R41	0x00290000
    R40	0x00280000
    R39	0x00270000
    R38	0x00260000
    R37	0x00250000
    R36	0x00240000
    R35	0x00230000
    R34	0x00220000
    R33	0x00210000
    R32	0x00200000
    R31	0x001F0000
    R30	0x001E0060
    R29	0x001D0000
    R28	0x001C0000
    R27	0x001B0004
    R26	0x001A0000
    R25	0x00190401
    R24	0x00180024
    R23	0x00170000
    R22	0x00160000
    R21	0x00150000
    R20	0x00140000
    R19	0x00130000
    R18	0x00120000
    R17	0x001126C4
    R16	0x0010921F
    R15	0x000FA037
    R14	0x000E0000
    R13	0x000D0000
    R12	0x000C0000
    R11	0x000B0000
    R10	0x000A0000
    R9	0x00090000
    R8	0x00080000
    R7	0x00070C0D
    R6	0x00060000
    R5	0x00050008
    R4	0x00040000
    R3	0x00030000
    R2	0x00020002
    R1	0x00012310
    R0	0x00001010
    
    R85	0x00550000
    R84	0x00540000
    R83	0x00530FFC
    R82	0x00520600
    R81	0x00510004
    R80	0x00500000
    R79	0x004F0008
    R78	0x004E1000
    R77	0x004D0000
    R76	0x004C0008
    R75	0x004B0008
    R74	0x004AA181
    R73	0x00492000
    R72	0x00480006
    R71	0x00470000
    R70	0x00460008
    R69	0x0045A181
    R68	0x00442000
    R67	0x00430006
    R66	0x00420000
    R65	0x00410008
    R64	0x0040A181
    R63	0x003F2000
    R62	0x003E0006
    R61	0x003D0000
    R60	0x003C0008
    R59	0x003B0008
    R58	0x003A502C
    R57	0x00394000
    R56	0x00380006
    R55	0x0037001E
    R54	0x00363400
    R53	0x00350069
    R52	0x00345000
    R51	0x003340C0
    R50	0x003201C0
    R49	0x00310013
    R48	0x00301A14
    R47	0x002F0A00
    R46	0x002E0000
    R45	0x002D4F80
    R44	0x002C0318
    R43	0x002B0051
    R42	0x002A0002
    R41	0x00290000
    R40	0x00280000
    R39	0x00270000
    R38	0x00260000
    R37	0x00250000
    R36	0x00240000
    R35	0x00230028
    R34	0x00220000
    R33	0x00210000
    R32	0x00200000
    R31	0x001F0000
    R30	0x001E0030
    R29	0x001D0000
    R28	0x001C0000
    R27	0x001B0005
    R26	0x001A0000
    R25	0x00190400
    R24	0x00180718
    R23	0x00170002
    R22	0x001600A2
    R21	0x00150583
    R20	0x00140000
    R19	0x00130000
    R18	0x00120000
    R17	0x001126C4
    R16	0x0010921F
    R15	0x000FA037
    R14	0x000E0000
    R13	0x000D0000
    R12	0x000C0000
    R11	0x000B0000
    R10	0x000A0000
    R9	0x000912B7
    R8	0x00080001
    R7	0x00070610
    R6	0x000619CA
    R5	0x00050008
    R4	0x00040000
    R3	0x00030000
    R2	0x00020000
    R1	0x00012310
    R0	0x00001000
    

    Thanks for your reply.

    Now i use USB2ANY to connect to our socket board, and i use TICS Pro to program this MPN.

    I want to check the programming socket board is workable or not.

    Step 1. the HW_SW_CTRL is set to high and REFSEL is set to low, and TICS Pro can scan slave address 0x68.

    Step 2. i press "Import Register Map" and choose the file.

    Step 3. press "Register to EEPROM".

    Step 4. After Power cycling and reconnect the device, and I press "Read ALL Registers", then there is show difference register as below.

    I found some registers are unable to be written correctly.

     

    Please refer to attached file

    HexRegisterValuesMekey.txt is programing file and HexRegisterValuesMekeyafterprogrammed2.txt is dump after press register to EEPROM

    I'm not sure whether the hardware cause wrong programming behavior or others.

    Please advise.

    Thank you.

    Jack

  • Jack,

    If programming with HW_SW_CTRL high, please program both Page 0 and Page 1 in the software. After programming both pages, perform a power cycle. Do you then read the correct values in the registers upon startup?
    Thanks,

    Kadeem

  • Hi Kadeem,

    I'm following the steps to program 5pcs IC samples via the TIPC Pro.

    1. Put the IC into socket board and power on (HW_SW_CTRL = high, REFSEL = low, PDN = high)

    2. Scan I2C Bus and get 0x68

    3. Press Import Register Map to load the HexRegisterValuesMekey.txt

    4. Press write All registers

    5. Press EEPROM

        5-1. Set Page0, and Press Register to EEPROM

        5-2. Set Page1, and Press Register to EEPROM

    6. Power  cycle

    7. Press Scan I2C Bus and get 0x68

    8. Press Read All Registers

    9. Press Export Register Map to save these *.txt as 5 files from 5 IC samples, please see attached as below.

    Then, I compare the content between these file and original *.txt, and i found these chips are not programmed correctly.

    Is it possible the chip is protected? or others hardware causes to disable the EEPROM programming?

    I keep the GPIO1 & 4 are floating. PDN pull up and Y1 is 25Mhz crystal.

    R85	0x00550000
    R84	0x00540000
    R83	0x00530FFC
    R82	0x00520600
    R81	0x00510004
    R80	0x00500000
    R79	0x004F0008
    R78	0x004E1000
    R77	0x004D0000
    R76	0x004C0008
    R75	0x004B0008
    R74	0x004AA181
    R73	0x00492000
    R72	0x00480006
    R71	0x00470000
    R70	0x00460008
    R69	0x0045A181
    R68	0x00442000
    R67	0x00430006
    R66	0x00420000
    R65	0x00410008
    R64	0x0040A181
    R63	0x003F2000
    R62	0x003E0006
    R61	0x003D0000
    R60	0x003C0008
    R59	0x003B0008
    R58	0x003A502C
    R57	0x00394000
    R56	0x00380006
    R55	0x0037001E
    R54	0x00363400
    R53	0x00350069
    R52	0x00345000
    R51	0x003340C0
    R50	0x003201C0
    R49	0x00310013
    R48	0x00301A14
    R47	0x002F0A00
    R46	0x002E0000
    R45	0x002D4F80
    R44	0x002C0318
    R43	0x002B0051
    R42	0x002A0002
    R41	0x00290000
    R40	0x00280000
    R39	0x00270000
    R38	0x00260000
    R37	0x00250000
    R36	0x00240000
    R35	0x00230028
    R34	0x00220000
    R33	0x00210000
    R32	0x00200000
    R31	0x001F0000
    R30	0x001E0030
    R29	0x001D0000
    R28	0x001C0000
    R27	0x001B0005
    R26	0x001A0000
    R25	0x00190400
    R24	0x00180718
    R23	0x00170002
    R22	0x001600A2
    R21	0x00150583
    R20	0x00140000
    R19	0x00130000
    R18	0x00120000
    R17	0x001126C4
    R16	0x0010921F
    R15	0x000FA037
    R14	0x000E0000
    R13	0x000D0000
    R12	0x000C0000
    R11	0x000B0000
    R10	0x000A0000
    R9	0x000912B7
    R8	0x00080001
    R7	0x00070610
    R6	0x000619CA
    R5	0x00050008
    R4	0x00040000
    R3	0x00030000
    R2	0x00020000
    R1	0x00012310
    R0	0x00001000
    
    R85	0x00550000
    R84	0x00540000
    R83	0x0053FF00
    R82	0x005201C0
    R81	0x00510004
    R80	0x00500000
    R79	0x004F0008
    R78	0x004E0000
    R77	0x004D0002
    R76	0x004C0008
    R75	0x004B8008
    R74	0x004AA181
    R73	0x00490000
    R72	0x00480006
    R71	0x00470400
    R70	0x00460808
    R69	0x0045A181
    R68	0x00440000
    R67	0x00430006
    R66	0x00420000
    R65	0x00414808
    R64	0x0040A181
    R63	0x003F0000
    R62	0x003E0006
    R61	0x003D0000
    R60	0x003C0028
    R59	0x003B8008
    R58	0x003A502C
    R57	0x00390000
    R56	0x00380006
    R55	0x0037001E
    R54	0x00363400
    R53	0x00350069
    R52	0x00345000
    R51	0x003340C0
    R50	0x003207C0
    R49	0x00310013
    R48	0x003023C7
    R47	0x002F0380
    R46	0x002E0000
    R45	0x002D4F80
    R44	0x002C0318
    R43	0x002B0051
    R42	0x002A0002
    R41	0x00290000
    R40	0x00280000
    R39	0x00270000
    R38	0x00260000
    R37	0x00250000
    R36	0x00240000
    R35	0x00230028
    R34	0x00220000
    R33	0x00210000
    R32	0x00200000
    R31	0x001F0000
    R30	0x001E0030
    R29	0x001D0000
    R28	0x001C0000
    R27	0x001B0004
    R26	0x001A0000
    R25	0x00190400
    R24	0x0018091C
    R23	0x00170406
    R22	0x001600A2
    R21	0x00150513
    R20	0x00140000
    R19	0x00130000
    R18	0x00120000
    R17	0x001126C4
    R16	0x0010921F
    R15	0x000FA037
    R14	0x000E0000
    R13	0x000D0000
    R12	0x000C0000
    R11	0x000B0000
    R10	0x000A1CA1
    R9	0x00091CA1
    R8	0x00080001
    R7	0x00070C0D
    R6	0x00060E6C
    R5	0x00050008
    R4	0x00040000
    R3	0x00030000
    R2	0x00020000
    R1	0x00017652
    R0	0x00002000
    
    R85	0x00550000
    R84	0x00540000
    R83	0x0053FB00
    R82	0x005201C0
    R81	0x00510004
    R80	0x00500000
    R79	0x004F0008
    R78	0x004E0000
    R77	0x004D0002
    R76	0x004C0008
    R75	0x004B8008
    R74	0x004AA181
    R73	0x00490000
    R72	0x00480006
    R71	0x00470400
    R70	0x00460808
    R69	0x0045A181
    R68	0x00440000
    R67	0x00430006
    R66	0x00420000
    R65	0x00414808
    R64	0x0040A181
    R63	0x003F0000
    R62	0x003E0006
    R61	0x003D0000
    R60	0x003C0028
    R59	0x003B8008
    R58	0x003A502C
    R57	0x00390000
    R56	0x00380006
    R55	0x0037001E
    R54	0x00363400
    R53	0x00350069
    R52	0x00345000
    R51	0x003340C0
    R50	0x003207C0
    R49	0x00310013
    R48	0x003023C7
    R47	0x002F0380
    R46	0x002E0000
    R45	0x002D4F80
    R44	0x002C0318
    R43	0x002B0051
    R42	0x002A0002
    R41	0x00290000
    R40	0x00280000
    R39	0x00270000
    R38	0x00260000
    R37	0x00250000
    R36	0x00240000
    R35	0x00230028
    R34	0x00220000
    R33	0x00210000
    R32	0x00200000
    R31	0x001F0000
    R30	0x001E0030
    R29	0x001D0000
    R28	0x001C0000
    R27	0x001B0004
    R26	0x001A0000
    R25	0x00190400
    R24	0x0018091C
    R23	0x00170406
    R22	0x001600A2
    R21	0x00150513
    R20	0x00140000
    R19	0x00130000
    R18	0x00120000
    R17	0x001126C4
    R16	0x0010921F
    R15	0x000FA037
    R14	0x000E0000
    R13	0x000D0000
    R12	0x000C0000
    R11	0x000B0000
    R10	0x000A1CA1
    R9	0x00091CA1
    R8	0x00080001
    R7	0x00070C0D
    R6	0x00060FAC
    R5	0x00050008
    R4	0x00040000
    R3	0x00030000
    R2	0x00020000
    R1	0x00017652
    R0	0x00002000
    
    R85	0x00550000
    R84	0x00540000
    R83	0x00530FFC
    R82	0x00520600
    R81	0x00510004
    R80	0x00500000
    R79	0x004F0008
    R78	0x004E1000
    R77	0x004D0000
    R76	0x004C0008
    R75	0x004B0008
    R74	0x004AA181
    R73	0x00492000
    R72	0x00480006
    R71	0x00470000
    R70	0x00460008
    R69	0x0045A181
    R68	0x00442000
    R67	0x00430006
    R66	0x00420000
    R65	0x00410008
    R64	0x0040A181
    R63	0x003F2000
    R62	0x003E0006
    R61	0x003D0000
    R60	0x003C0008
    R59	0x003B0008
    R58	0x003A502C
    R57	0x00394000
    R56	0x00380006
    R55	0x0037001E
    R54	0x00363400
    R53	0x00350069
    R52	0x00345000
    R51	0x003340C0
    R50	0x003201C0
    R49	0x00310013
    R48	0x00301A14
    R47	0x002F0A00
    R46	0x002E0000
    R45	0x002D4F80
    R44	0x002C0318
    R43	0x002B0051
    R42	0x002A0002
    R41	0x00290000
    R40	0x00280000
    R39	0x00270000
    R38	0x00260000
    R37	0x00250000
    R36	0x00240000
    R35	0x00230028
    R34	0x00220000
    R33	0x00210000
    R32	0x00200000
    R31	0x001F0000
    R30	0x001E0030
    R29	0x001D0000
    R28	0x001C0000
    R27	0x001B0005
    R26	0x001A0000
    R25	0x00190400
    R24	0x00180718
    R23	0x00170002
    R22	0x001600A2
    R21	0x00150583
    R20	0x00140000
    R19	0x00130000
    R18	0x00120000
    R17	0x001126C4
    R16	0x0010921F
    R15	0x000FA037
    R14	0x000E0000
    R13	0x000D0000
    R12	0x000C0000
    R11	0x000B0000
    R10	0x000A0000
    R9	0x00095BF3
    R8	0x00080001
    R7	0x00070610
    R6	0x000619CA
    R5	0x00050008
    R4	0x00040000
    R3	0x00030000
    R2	0x00020000
    R1	0x00012310
    R0	0x00001000
    
    R85	0x00550000
    R84	0x00540000
    R83	0x0053FF00
    R82	0x005201C0
    R81	0x00510004
    R80	0x00500000
    R79	0x004F0008
    R78	0x004E0000
    R77	0x004D0002
    R76	0x004C0008
    R75	0x004B8008
    R74	0x004AA181
    R73	0x00490000
    R72	0x00480006
    R71	0x00470400
    R70	0x00460808
    R69	0x0045A181
    R68	0x00440000
    R67	0x00430006
    R66	0x00420000
    R65	0x00414808
    R64	0x0040A181
    R63	0x003F0000
    R62	0x003E0006
    R61	0x003D0000
    R60	0x003C0028
    R59	0x003B8008
    R58	0x003A502C
    R57	0x00390000
    R56	0x00380006
    R55	0x0037001E
    R54	0x00363400
    R53	0x00350069
    R52	0x00345000
    R51	0x003340C0
    R50	0x003207C0
    R49	0x00310013
    R48	0x003023C7
    R47	0x002F0380
    R46	0x002E0000
    R45	0x002D4F80
    R44	0x002C0318
    R43	0x002B0051
    R42	0x002A0002
    R41	0x00290000
    R40	0x00280000
    R39	0x00270000
    R38	0x00260000
    R37	0x00250000
    R36	0x00240000
    R35	0x00230028
    R34	0x00220000
    R33	0x00210000
    R32	0x00200000
    R31	0x001F0000
    R30	0x001E0030
    R29	0x001D0000
    R28	0x001C0000
    R27	0x001B0004
    R26	0x001A0000
    R25	0x00190400
    R24	0x0018091C
    R23	0x00170406
    R22	0x001600A2
    R21	0x00150513
    R20	0x00140000
    R19	0x00130000
    R18	0x00120000
    R17	0x001126C4
    R16	0x0010921F
    R15	0x000FA037
    R14	0x000E0000
    R13	0x000D0000
    R12	0x000C0000
    R11	0x000B0000
    R10	0x000A1CA1
    R9	0x00091CA1
    R8	0x00080001
    R7	0x00070C0D
    R6	0x00060F6C
    R5	0x00050008
    R4	0x00040000
    R3	0x00030000
    R2	0x00020000
    R1	0x00017652
    R0	0x00002000
    

    Thanks.

    Jack

  • Jack,

    If you are not having success with the EEPROM programming page in the GUI, for EEPROM programming please try using the User Controls page with the steps below after powering on the device and writing all registers:

    Additionally, what version of TICS Pro are you using?

    Thanks,

    Kadeem

  • Kadeem,

    I have tried to follow the flow to test it on our programmer before, but it doesn't work. That is why i use TICS Pro to test.

    There is the version of TICS Pro.

    May i know how to set GPIO0 and GPIO4 during EEPROM programming? now the both pinst keep floating.

    Is it posssible the EEPROM is protected?

    Thanks,

    Jack 

  • Jack,

    GPIO1 and 4 can be left floating during EEPROM programming - this is not an issue.

    There is an unlock field, EE_LOCK, which has to be set to 0x5 prior to programming - this is in the procedure from the screenshot above.

    Did you have success with using the User Controls page with the instructions above within TICS Pro to program the EEPROM? Is the device being found by the GUI (USB Communications > Interface > Scan Bus)

    Thanks,

    Kadeem

  • Hi Kadeem,

    I didn't use User Controls page to program the EEPROM before. Do you mean this page?

    Jack

  • Jack,

    Yes, this is correct. Please try following the outlined procedure on this page, and let us know if you encounter issues.

    Thanks,

    Kadeem

  • Hi Kadeem,

    Update the status.

    I purchased new IC samples and the new one is able to be programmed correctly via TICS Pro with socket board.

    It means the programming issue is occurred by customer's IC samples.

    There is the marking from customer's IC sample, and i just interested why it is unprogrammed? is it possible it is specific part for this customer.

    Customer told me they never program this part and I guess it is programmed by TI factory, and it is unable to be programmed.

    left is purchased by me and right are customer's provided. Please help to confirm it.

    Thanks.

    Jack

  • More questions.

    May i know any specific device ID for CDCE6214? it is better a specific device ID is recognized to avoid mixed part by CDCE6214TWRGETQ1 and CDCE6214RGER.

  • Jack,

    There is not a device ID for these parts. 

    The two original parts are from a different lot than the new part. These are not for a custom configuration from the factory, just the default CDCE6214 that the customer would reprogram correct? I can check with our test team to see if they have seen a similar issue for other devices from this lot. Expect a response from them after the US holiday, on 11/27/23.

    Thanks,

    Kadeem

  • Hi Kadeem,

    Thanks for reply.

    More questions.

    CDCE6214 has two pages. May I know how to turn to page 0/1 to read the content from page 0/1?

    This MPN is no device ID, is it any specific register(fixed value) is used to be recognized for CDCE6214?

    Jack

  • Jackm

    R3[9] is the bit that sets the page between 0 or 1 for EEPROM programming. For loading the specific page, set the HW_SW_CTRL pin to GND for Page 0 or VDD for Page 1 before powering up the device.

    The register values are the same between the CDCE6214 and the CDCE6214-Q1.
    Thanks,
    Kadeem

  • Kadeem,

    The page 0 and page 1 is based the HW_SW_CTRL. Okay! I will confrim it today and update to you.

    BTW, how is the I2C_A0 in R0[15] ? is it follow the HW_SW_CTRL to set? What is behavior of CDCE6214 if I2C_A0 is 1 and HW_SW_CTRL is low?

    Thank you.

    Jack

  • Jack,

    I2C_A0 is a configurable bit. If I2C_A0 is '1' and the HW_SW_CTRL pin is Low, then the I2C address of the device is 0x68.

    Thanks,

    Kadeem

  • Hi Kaddem,

    I'm based on the R3[9] to set  HW_SW_CTRL pin and power cycling, and the our algo has been programmed successfully.

    In addition, i found the EEPROM can't be written if it has been programmed many times.

    I check the EEPROM programming cycling. s it only 10 times each word?

    Jack.

  • Jack,

    The entire EEPROM of a given page is programmed at once when performing the EEPROM program. At a minimum, TI guarantees that the EEPROM can be programmed ten times.

    Thanks,

    Kadeem

  • Hi Kadeem,

    CDCE6214 has been released by our programming tool, and i test two new IC and different setting.

    I have know why some ICs are not written into EEPROM because the EEPROM is only programmed about 10times and i don't know how many times was used.

    May i know which register is record remain size of EEPROM from IC? and it is helpful to know whether the IC is able to be programmed.

    Now, we just know the status from R7 bit5 to know whether the IC is able to be written.

    Please advise. Thank you.

    Jack 

  • Jack,

    The CDCE6214 does not have a register for keeping the program count. This feature exists in the LMK03318/LMK03328 devices.

    Thanks,
    Kadeem

  • Kadeem,

    Okay! Thanks for your reply.

    Jack