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.

DAC37J84

Other Parts Discussed in Thread: DAC37J84EVM, DAC38J84, LMK04828, DAC37J82, DAC37J84, DAC38J82, DAC39J82, DAC39J84

Hello,

I have a DAC37J84EVM in a system.  Since I know the required register values, is there a way I can "hard-code" it so that it comes up configured on power up and I do not need to use the DAC-GUI please?  

Thanks,

John Reyland

  • Hi John,

    Let me look into this and get back to you.

    -Kang
  • John,

    Please refer to the following page for our generic FTDI SPI utility:

    This is basically a Labview based DLL that you may use to interface with your program of choice to read/write the SPI of the DAC38J84 EVM

    The pattern file for the LMK04828 of the DAC38J84 EVM is as follow:

    Write																																																			
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	1	0
    1	0	0	0	0	0	0	0	A12	A12	A11	A11	A10	A10	A9	A9	A8	A8	A7	A7	A6	A6	A5	A5	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0	0
    2	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    3	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    4	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1
    5	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    7	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    																																																			
    Read																																																			
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	1	0
    1	0	1	1	0	0	0	0	A12	A12	A11	A11	A10	A10	A9	A9	A8	A8	A7	A7	A6	A6	A5	A5	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    2	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    3	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    4	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1
    5	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0	0
    7	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1
    

    DAC Reset

    Write
    0	0	0	1	0	1	0	1	0	1	0
    1	0	D0	D0	D0	D0	D0	D0	D0	D0	0
    2	0	0	0	0	0	0	0	0	0	0
    3	1	0	0	0	0	0	0	0	0	1
    4	1	0	0	0	0	0	0	0	0	1
    5	0	0	0	0	0	0	0	0	0	0
    6	0	0	0	0	0	0	0	0	0	0
    7	1	1	1	1	1	1	1	1	1	1
    
    Read																																																			
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0
    1	0	1	1	A6	A6	A5	A5	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    2	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    3	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    4	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    5	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	D15	D15	D14	D14	D13	D13	D12	D12	D11	D11	D10	D10	D9	D9	D8	D8	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0	0
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    7	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1
    

    DAC3xJ8x SPI interface pattern file

    Write																																																			
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0
    1	0	0	0	A6	A6	A5	A5	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	D15	D15	D14	D14	D13	D13	D12	D12	D11	D11	D10	D10	D9	D9	D8	D8	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0	0
    2	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    3	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
    4	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    5	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    7	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    																																																			
    Read																																																			
    0	0	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	0
    1	0	1	1	A6	A6	A5	A5	A4	A4	A3	A3	A2	A2	A1	A1	A0	A0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    2	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    3	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1
    4	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1
    5	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	D15	D15	D14	D14	D13	D13	D12	D12	D11	D11	D10	D10	D9	D9	D8	D8	D7	D7	D6	D6	D5	D5	D4	D4	D3	D3	D2	D2	D1	D1	D0	D0	0	0
    6	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0
    7	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1
    

    The USB port name will depend on the EVM that you have:

    DAC37J82 EVM = "DAC37J82 B"

    DAC37J84 EVM = "DAC37J84 B"

    DAC38J82 EVM = "DAC38J82 B"

    DAC38J84 EVM = "DAC38J84 B"

    DAC39J82 EVM = "DAC39J82 B"

    DAC39J84 EVM = "DAC39J84 B"

    The letter B indicate that port B of the FTDI 2232H chip, which is where all the SPI lines are originally connected.

    You may also custom program your own CPLD firmware to program the entire EVM upon boot-up

  • Hi Kang,

    Seems like some customers have used the Labview program you pointed me to with some success.

    Has anyone you know of actually reprogramed the Altera CPLD on the DAC3Xj84EVM successfully?  

    Are you allowed to send me the Quartus project files for the CPLD?   Seeing if I can reprogram it without any changes would be a good starting point.

    Thanks very much,

    John Reyland

  • John,

    Sorry, I am not aware of any feedback from other customers when they reprogrammed the CPLD. Perhaps you can leave some feedback on this forum so other people may refer to this.

    Please refer to the link below for the Altera Quartus file. Please accept the file "as is" and understand that we cannot provide further support on the CPLD firmware development.

    DAC38J84 EVM CPLD File.zip

    In case your programming went wrong, you can always revert back to the original firmware:

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/73/DAC38J84_5F00_CPLD_5F00_Firmware.pof

    -Kang

  • Hi Kang, Thanks very much. I will let you know how this works out. John Reyland
  • The original FW did not work for 4-way SPI read from the LMK to FMC for me. I made the changes in the patch below and now it is working for me.

    --- DAC38J84_CPLD_org.v 2016-10-14 15:56:09.345787529 +0200
    +++ DAC38J84_CPLD.v 2016-10-14 15:55:59.841651409 +0200
    @@ -170,14 +170,14 @@
    // Control routing of LMK and DAC SDO to FTDI or FMC
    reg SDO_ROUTE;
    always @ (*) begin
    - if(!FTDI_SEN_LMK && FTDI_SEN_DAC) begin
    - SDO_ROUTE <= LMK_SDO;
    - end else begin
    - SDO_ROUTE <= DAC_SDO;
    - end
    + if(!SEN_LMK_ROUTE && SEN_DAC_ROUTE) begin
    + SDO_ROUTE <= LMK_SDO;
    + end else begin
    + SDO_ROUTE <= DAC_SDO;
    + end
    end

    assign FTDI_SDO = (!FMC_OR_FTDI_SELECTOR) ? SDO_ROUTE : 1'bz;
    assign FMC_SDO = (FMC_OR_FTDI_SELECTOR) ? SDO_ROUTE : 1'bz;

    -endmodule
    \ No newline at end of file
    +endmodule