+ Post New Thread
Results 1 to 2 of 2
  1. #1
    Full Member level 3
    Points: 1,566, Level: 9

    Join Date
    Aug 2013
    Posts
    171
    Helped
    0 / 0
    Points
    1,566
    Level
    9

    Temperature and Voltage Monitoring using XADC

    Hi,
    I just want to use XADC for Temperature and Voltage Monitoring purpose and not for any A/D conversion purpose in Kintex.

    I found an example design as per
    https://www.xilinx.com/support/docum...eries_XADC.pdf
    Code:
    and here are the ports:
    module ug480 (
    input DCLK, // Clock input for DRP
    input RESET,
    input [3:0] VAUXP, VAUXN, // Auxiliary analog channel inputs
    input VP, VN,// Dedicated and Hardwired Analog Input Pair
    
    output reg [15:0] MEASURED_TEMP, MEASURED_VCCINT, 
    output reg [15:0] MEASURED_VCCAUX, MEASURED_VCCBRAM,
    output reg [15:0] MEASURED_AUX0, MEASURED_AUX1, 
    output reg [15:0] MEASURED_AUX2, MEASURED_AUX3,
    output wire [7:0] ALM,
    output wire [4:0] CHANNEL, 
    output wire OT,
    output wire EOC,
    output wire EOS
    );
     
    and instantiation:
     
    XADC #(// Initializing the XADC Control Registers
    .INIT_40(16'h9000),// averaging of 16 selected for external channels
    .INIT_41(16'h2ef0),// Continuous Seq Mode, Disable unused ALMs, Enable calibration
    .INIT_42(16'h0400),// Set DCLK divides
    .INIT_48(16'h4701),// CHSEL1 - enable Temp VCCINT, VCCAUX, VCCBRAM, and calibration
    .INIT_49(16'h000f),// CHSEL2 - enable aux analog channels 0 - 3
    .INIT_4A(16'h0000),// SEQAVG1 disabled
    .INIT_4B(16'h0000),// SEQAVG2 disabled
    .INIT_4C(16'h0000),// SEQINMODE0 
    .INIT_4D(16'h0000),// SEQINMODE1
    .INIT_4E(16'h0000),// SEQACQ0
    .INIT_4F(16'h0000),// SEQACQ1
    .INIT_50(16'hb5ed),// Temp upper alarm trigger 85°C
    .INIT_51(16'h5999),// Vccint upper alarm limit 1.05V
    .INIT_52(16'hA147),// Vccaux upper alarm limit 1.89V
    .INIT_53(16'hdddd),// OT upper alarm limit 125°C - see Thermal Management
    .INIT_54(16'ha93a),// Temp lower alarm reset 60°C
    .INIT_55(16'h5111),// Vccint lower alarm limit 0.95V
    .INIT_56(16'h91Eb),// Vccaux lower alarm limit 1.71V
    .INIT_57(16'hae4e),// OT lower alarm reset 70°C - see Thermal Management
    .INIT_58(16'h5999),// VCCBRAM upper alarm limit 1.05V
    .SIM_MONITOR_FILE("design.txt")// Analog Stimulus file for simulation
    )
    XADC_INST (// Connect up instance IO. See UG480 for port descriptions
    .CONVST (1'b0),// not used
    .CONVSTCLK (1'b0), // not used
    .DADDR (daddr),
    .DCLK (dclk_bufg),
    .DEN (den_reg[0]),
    .DI (di_drp),
    .DWE (dwe_reg[0]),
    .RESET (RESET),
    .VAUXN (vauxn_active ),
    .VAUXP (vauxp_active ),
    .ALM (ALM),
    .BUSY (busy),
    .CHANNEL(CHANNEL),
    .DO (do_drp),
    .DRDY (drdy),
    .EOC (eoc),
    .EOS (eos),
    .JTAGBUSY (),// not used
    .JTAGLOCKED (),// not used
    .JTAGMODIFIED (),// not used
    .OT (OT),
    .MUXADDR (),// not used
    .VP (VP),
    .VN (VN)
    );
    As per my understanding MEASURED_TEMP and MEASURED_VCCINT give temperature and voltage respectively.
    But didn't understand what should I give input to VAUXP, VAUXN VP, VN input ports? These input ports are only used when using it as A/D conversion purpose or?
    Last edited by KlausST; 13th June 2017 at 15:09. Reason: Added code tags

    •   Alt13th June 2017, 14:29

      advertising

        
       

  2. #2
    Super Moderator
    Points: 27,795, Level: 40
    ads-ee's Avatar
    Join Date
    Sep 2013
    Location
    USA
    Posts
    6,351
    Helped
    1538 / 1538
    Points
    27,795
    Level
    40

    Re: Temperature and Voltage Monitoring using XADC

    Connect them to ground on the board if not used (if you are building a board). You can also disable scanning those conversion outputs as I recall. There is a setting (forgot what it's called) that controls which ADC outputs are provided. You can find it in the documentation.


    1 members found this post helpful.

--[[ ]]--