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.

ADS1247: problem with signal clock

Part Number: ADS1247
Other Parts Discussed in Thread: DAC8560

Hi.

I connect my ADS1247 with atxmega128a1u but when I check my clock signal through an oscilloscope, nothing will appear. I'm pretty sure nothing is wrong with my SPI config because I checked it by RFID module with a 4MHz clock signal and everything was ok. Also, other signals such as /CS and DOUT looks fine on the oscilloscope, but clock signal has just a pulse after the reset and then it goes low.

I really appreciate it if you can help me.

Regards.

  • Mil,


    I'm not sure I understand. Are you looking at the master clock signal (typically 4.096MHz)? Or are you talking about the SPI clock? Both would come from outside the device. If you are using the ADS1247's internal clock, this is activated when the CLK pin is tied to DGND, and is not observable.

    If you want to check that the device is running, use an oscilloscope to observe the DOUT/DRDY line. If the device is converting, you will see a small periodic pulse at coincident with the data rate.


    Joseph Wu
  • Hi Joseph, thanks for your prompt reply.

    I'm talking about SPI clock signal. When I check the clock and /DRDY signals nothing will appear but DOUT/DRDY signal has pulses on the oscilloscope and it seems fine. My actual problem is that why I can't see the clock signal pulsing when I connect it to my micro? In another word, I should see the clock signal pulsing on the oscilloscope whereas I can see clock signal pulsing when I use another module like RFID on that port. I would say the clock pin on ADC was damaged but it has one pulse at the first.

  • Mil,


    Because the SCLK originates from the ATmega128, I would start with that. The ADS1247 SCLK pin is only an input and shouldn't be able to shut off the SCLK or make it go away. The only possible problem that I can think of would be a bad solder joint that occasionally connects SCLK to ground.

    If you continue to have problems, can you please post a scope shot of the SCLK (whatever you're able to get out), DIN, DOUT and /CS? It might help to see these lines and how they might be corrupted.


    Joseph Wu
  • Mil,


    There is one other thing to check. Make sure that your START pin is tied high. If the START pin is left floating, it may cause the device to unexpectedly turn on and off. This would cause some intermittent operation.


    Joseph Wu
  • Hi Joesph,

    Here are my scope shots for my signals:

    DOUT/DRDY

    DOUT/DRDY

    DIN

    DIN

    /CS

    /CS

    SCLK

    SCLK

    I changed the scope time to 50ms just for the SCLK signal in order to show better. and about the START pin, as you said, it was always tied high and that didn't make any problem.

    Regards.

  • Mil,


    It's a bit hard to see because of the limited resolution and the large time scale, but it does look like the device might responding. It might be best to change the time scale to show only 1 or 2 data outputs to be sure. Are you running the device at 50 SPS data rate? Also, can you provide a schematic?

    I'm not sure, but the fourth scope shot doesn't look like SCLK. It looks like what you would measure at /DRDY (pin 17). Can you please check your wiring just to make sure the connections are correct and you're measuring the SCLK at the proper pin?


    Joseph Wu
  • Mil,


    I wanted to see if you were able to get a solution to your problem. I think this error may be due to a limited resolution on your oscilloscope or due to a misplaced connection reading from the scope.

    If you have solved this problem then we can close out this post. If you haven't then please post back with comments so that we can continue debugging your circuit. Regardless, if I don't hear back from you I'll close out the thread soon. If you get locked out of this thread, just start a new thread and we can continue.


    Joseph Wu
  • Hi Joseph,

    I'm sorry for my delay in response, I was busy and thank you for your patient.

    Your statement is true, my resolution was not accurate, actually, everything was fine and after detecting my problem, I found that the reason I couldn't get an answer from my registers, it was the NOP instruction.

    I mean, after this code:

    SPI_transmit(0x40);
    SPI_transmit(0x03);
    SPI_transmit(0x01);
    SPI_transmit(0x00);
    SPI_transmit(0x03);
    SPI_transmit(0x42);

    I wanted to read my registers:

    SPI_transmit(0x20);
    SPI_transmit(0x03);

    but when I put "SPI_transmit(0xFF);" before "SPI_receive();" I got 0x000000 but when I removed "SPI_transmit(0xFF);" everything was fine. Now, I can read my registers accurately.

    Now, I have the same problem with my ADC reading. When I put "SPI_transmit(0xFF);" I got 0x000000 but when I removed it, I got 0x7FFFFF. Could you help me with that? I can't read from my ADC.

    Regards.

  • Mil,


    I'm glad you were able to read the registers.

    When it comes to the data of 7FFFFFh, it's possible that you're receiving the correct data, but have something wrong or unexpected in the setup. Note that 7FFFFFh is the output for a positive full scale. It's possible that the ADC is measuring something that is full-scale or over-ranging the inputs.

    There are several things that can are likely to cause this read:

    1. The inputs are floating. This would likely pull apart the ADC inputs to get a very large reading

    2. The reference is shorted. If the reference is set to 0, then any input or even offset would be seen as an over-ranged input.

    3. The gain calibration register (FSR) is incorrectly set. If the FSR is incorrectly set, you might over-range the input faster than you may expect. If the offset register (OCR) is also incorrectly set, I'm sure you could do the same thing.

    4. The PGA is set to a larger gain than expected. If you have the gain set too high, a small input could give you an over-ranged value.

    I would verify all register settings to make sure you're making the correct measurements. In particular, check the input multiplexer settings and the PGA gain. Then I would measure the input voltage and reference values with a multimeter to make the voltages are what you expect. If you still have problems, repost back with register settings and the voltages so that we can review them.


    Joseph Wu

  • Hi,

    Thanks for your pieces of advice, they helped me a lot!

    I want to verify the measurement by giving the input to ADC. Is it possible to do this without any analog input connected to ADC? If the answer is yes, how can I do this? I'm not familiar with the concept, so I really appreciate it if you help me. Now, I can read back the registers correctly but my input is float, so I get 7FFFFFh.

    Regards,

    Milad

  • Milad,


    There are a few simple measurements that you can do without having a voltage source on the input.

    First, if you have a few resistors, you can make a resistor divider from the supply that you can measure.

    Second, you can measure elements from the system monitor. In the MUX1 register for the ADS1247, there are several options in the system monitor set by the MUXCAL bits. A setting of 011 sets the inputs to a temperature sensor which is about 118mV at 25C and has a drift of 405uV/C. A setting of 110 measures the analog supply, and will measure (AVDD-AVSS)/4. Finally a setting of 111 measures the digital supply and will measure (DVDD-DGND)/4. If I remember correctly, both supply monitors have some error, and the accuracy may be somewhere near 5%.

    I've used the temperature sensor to test the devices many times. You can also vary the input by placing a finger on the device to warm it up a few degrees. When running these tests make sure that the internal reference is enabled.


    Joseph Wu
  • Hi,
    Thanks for your reply. That's really helped me.

    Now, I connect DAC8560 through a jumper to AIN0 pin of ADS1247 and generates 0-2.5V with the resolution of 100mV.

    ADC Configuration:
    SPI_transmit(0x40);
    SPI_transmit(0x03);
    SPI_transmit(0x00);
    SPI_transmit(0x01); //Bias voltage is applied to AIN0
    SPI_transmit(0x30); //internal reference is always on, Normal operation
    SPI_transmit(0x40); //gain = 16, SPS = 5

    I've got some measurements, but I can't verify them. Could you help me with these numbers?
    71 F0 EBh, 66 82 BDh, 71 28 A1h, 5F 13 21h, 76 A9 95h, 6A C2 96h, 6A 62 13h, 69 25 EFh, 5C 13 68h, 5F 57 E0h, ...
    But when I want to measure single-point voltage, the output value will be 7F FFFFh.

    Regards,
    Milad
  • Milad,


    Just looking over your SPI communications, I don't think it's measuring what you want it to.

    The bytes you send are:
    40 WREG starting at register 00
    03 Write 4 bytes
    00 BCS off, Set input mux to AIN0 and AIN0
    01 Set VBIAS to AIN0
    30 Internal reference always on, internal reference always selected
    40 PGA=16, Data rate=5SPS

    The main problem is that both AINP and AINN are connected to AIN0 (as commanded by the first byte) and and both are then also connected to VBIAS which is now connected to AIN0 (as set up in the second byte). With both inputs connected to each other, you should be getting some sort of offset measurement. If you want to make a measurement of AIN0 and AIN1, you would put in 01 instead of 00 for the third byte.

    Instead it looks like you're getting some large numbers. Did you change the calibration coefficients in OFC or the FSC? Did you run a calibration command? To start, I would leave those settings alone and not run a calibration.

    Also, how are you reading the data? Do you run the device in continuous conversion mode, and then just clock in SCLKs or do you do an RDATA command? If the you use the latter, I would first run an SDATAC command and then issue the RDATA when you want to read the device. By issuing the SDATAC, you can prevent a read of the data from being interrupted by the completion of a new conversion.

    Were you able to do the other reads (and get correct data) from the ADC that I had suggested in my previous post?


    Joseph Wu
  • Hi,

    Thanks for your thorough response!

    For your last question, I should say that I couldn't get any correct reads, I just got 7F FFFFh.

    For your second question, I'm not setting any calibration settings right now.

    Your first question: the reason I set the third byte to 0x00 (I knew that wasn't right) was that when I set it to 0x01 I got 7F FFFFh. Actually, I thought because I had just AIN0, so there is no need to set AIN1.

    And for your third questions, I use RDATA mode for reading and of course, before RDATA command, I issue SDATAC command just like the pseudocode suggests in the datasheet. Plus, I don't use any interrupt in my code, but the main problem in my code is that waiting for DRDY pin to transition low doesn't operate correctly, because when I check it on the scope, DRDY would go to a low transition about every 15sec but conversions operate repeatedly. In other words, I expect the following line operates every 15sec, but it doesn't.

    while (gpio_pin_is_high(DRDY_pin));//DRDY pin is active low

    my code has been attached to prevent any confusion.

    int main(void)
    {
    	//Enable the device by setting the START pin high;	
    	gpio_set_pin_high(RESETpin);
    		
    	// Set CS to the device low, to select the device
    	gpio_set_pin_low(CSpin);
    	_delay_ms(10);
    		
    	// Setting START Pin High, Enables the Device (like WAKEUP Command), to begin a conversion
    	gpio_set_pin_high(STARTpin);
    	_delay_ms(10);		
    		
    	// Send the RESET command (06h) to make sure the device is properly reset after power up;
    	SPI_transmit(0x06);
    	_delay_ms(6);
    		
    	// Send SDATAC command (16h) to prevent the new data from interrupting data or register transactions;
    	SPI_transmit(0x16);
    	_delay_ms(10);
    	
    	//Write the respective register configuration with the WREG command (40h, 03h, 01h, 00h, 03h and 42h);
    	SPI_transmit(0x40);
    	SPI_transmit(0x03);
    	SPI_transmit(0x01);
    	SPI_transmit(0x01);			//Bias voltage is applied to AIN0
    	SPI_transmit(0x30);			//internal reference is always on, internal reference selected, Normal operation (default)
    	SPI_transmit(0x40);			//gain=16, SPS=5
    	_delay_ms(1);
    		
    	//Send the SYNC command (04h) to start the ADC conversion;
    	SPI_transmit(0x04);
    	_delay_us(2);
    		
    	// Clear CS to high (resets the serial interface);
    	gpio_set_pin_high(CSpin);		
    
    	int Voltage = 0;
    	int interval = 2621;//generating 100mV from 0-2.5 in DAC8560
    	while(1)
    	{
    		DAC_Voltage_Generator(Voltage);
    		
    		//Wait for DRDY to transition low;
    		while (gpio_pin_is_high(DRDYpin));
    	
    		//Take CS low;
    		gpio_set_pin_low(CSpin);
    		_delay_us(5);
    	
    		//Send the RDATA command (12h);
    		SPI_transmit(0x12);
    		//_delay_ms(1); // added by me
    			
    		//Send 24 SCLKs to read out conversion data on DOUT/DRDY;
    		ADC_Output = SPI_receive();
    		ADC_Output = SPI_receive();
    		ADC_Output = SPI_receive();
    		
    		_delay_ms(2);
    	
    		//Clear CS to high;
    		gpio_set_pin_high(ADC_Ext_CS);
    		
    		_delay_ms(10);
    		Voltage = Voltage + interval;
    	}
    }

    Regards,

    Milad

  • Milad,


    If you weren't able to make any correct measurements, I would check the reference voltage. Make sure that it comes up to 2.048V and that it is stable. I would measure it back with a multimeter. Also make sure that the proper reference input is selected. If your reference somehow ends up as 0V, or is some really small voltage, any input may make the ADC give a full scale reading.

    Just in case, I would also read back the OFC and FSC just in case something went wrong.

    Also, you mentioned that you had the ADC inputs set to AIN0. I want to make sure you understand that the ADS1247 ADC is fully differential. This means that you select a positive input (AINP) and a negative input (AINN). The ADC output data is a measurement of AINP-AINN. Note that if AINN is higher than AINP, then the measurement is negative and the ADC output code is represented in two's complement notation. When making measurements, make sure you select a negative and positive input for the ADC.

    If you're making a series of single-ended measurements, you would select maybe AIN3 as AINN, and make measurements of AINP with AIN0, AIN1, and AIN2. Note that with your bipolar supplies, you can tie AIN3 to ground. This will keep the input measurement within the input range of the PGA. I have your schematic from one of your previous posts but it doesn't show your measurement connections. Out of curiosity, what are AIN0 to AIN3 connected to?

    I won't have a chance to look over your code until tomorrow, so I'll get back to you on that later.


    Joseph Wu
  • Hi Joseph,

    I checked the Vrefout and Vrefcom which both of them are 2.5V and they were stable. And about the proper reference input, if I understand your saying, I set the REFSELT[1:0] bits to 10 as it says internal reference selected.
    Furthermore, I checked OFC and FSC registers which are 000000h and 800D40h, respectively when PGA = 16.

    As I mentioned before, I connected DOUT pin of DAC8560 to AIN0 pin of ADS1247 and the rest of AINs (AIN1, AIN2, AIN3) are not connected to anything. As I infer from your statement, I can't measure the DAC values when I have just one AIN, right?

    Regards,
    Milad
  • Milad,


    First, the FSC register should be a value near 400000h, not 800000h. A large value of 800000h may double the output value that you get out of the ADC.

    For the measurement, you need to have a connection to one of the other analog input pins. The ADS1247 is a fully differential ADC, so the measurement will be the difference between the positive analog input and the negative analog input. By floating the negative input, the input voltage isn't going to be set and you won't get any usable measurements.

    I believe that you're using bipolar supplies. Attach AIN1 to ground, connect AIN0 to the DAC, select the AIN1 as the AINN and AIN0 as the AINP and make a few measurements.


    Joseph Wu
  • Hi Joseph,

    I will put into action your suggestions, meanwhile, could you verify my code so I just focus on my design? Because I'm not experienced with electrical issues, so I need to be sure of my code, then I'll get help from a person who knows these matters.

    Regards,

    Milad

  • Milad,


    I had looked at your code earlier. I should work as is, but the only thing that I would change is the order of initializing the device. I would set START high first, then bring /CS low to communicate with the device (and then sending the RESET as the first command).

    Beyond that, I don't see any other issues - it's a rather short segment of code. I will say however, that I don't do a lot of coding, so I'm probably not the best to review it.


    Joseph Wu
  • Hi Joseph,
    I think I found my problem. I checked my reference voltage (Vrefout and Vrefcom pins) with multimeter and oscilloscope, and got voltage around 0V with oscillation which as you said earlier it must be 2.048V and stable. I use 22uF capacitance between Vrefout and Vrefcom. What can be wrong with my design?

    Regards,
    Milad
  • Milad,


    It is possible that the reference is unstable. The VREFCOM must be connected to an AC ground through a resistance of less than 10Ω. This connection is required for the stability of the reference. If the impedance is higher than 10Ω, you may connect a capacitor of at least 0.1uF between VREFCOM and an AC ground node.

    On your schematic, you show connections to several resistors (S3J4, S3J1, S3J2). I would make S3J2 a 0Ω resistor so that VREFCOM is set to ground and then remove the other resistors.


    Joseph Wu
  • Hi Joseph,

    Thanks a million for all your help! That was the reason I couldn't get measurements.

    Now I can get measurements through DAC with the resolution of 1mV, But OFC registers are not set and I just use the SELFOCAL command with 3500ms delay. I get 20 roughly nonsense outputs like 0x7Fxxxxh and then turn to 0mV, 1mV, ..., 127mV and 128mV which is the full-scale range (PGA = 16). My question is how can I remove the first outputs?

    Regards,

    Milad

  • Milad,


    I'm glad that you were able to get the reference to work. I hadn't noticed the VREFCOM connection until I reviewed all the previous posts.

    However, I'm not sure I understand what you're seeing. Are you getting bad data for the first 20 outputs after waiting to settle, and then running a calibration? I think I need a more detailed explanation of the effect that you're seeing, with more timing information.

    If it just takes extra time to get good data. It may be the reference settling. You do have a 22uF capacitor, which may take extra time to start up. However, this should only require an extra 2ms or so. If you have extra filtering on the input that's not shown on the schematic, then you may also have some similar settling time.

    It would help for you to post the bad (and the good data that you get). I'd want the raw data coming out of the ADC, not converted to any other units that you're measuring.


    Joseph Wu
  • Hi Joseph,
    I attached my output file from ADC which shows the raw data.
    The only command I added to the code was the SELFOCAL command with the Daley of 3500ms. Plus, the OFC registers are 0.
    Sorry for the confusion!

    F0 75 9E
    F0 7C 6A
    F0 83 D5
    F0 84 F2
    F1 0C F3
    F2 0D 53
    F3 0B 0D
    F4 12 80
    F5 0F CF
    F6 0E 2C
    F7 09 C8
    F8 09 DE
    F9 03 8F
    FA 06 66
    FB 00 43
    FB F6 87
    FC F3 E1
    FD EE 8E
    FE F6 03
    FF EE EA
    00 ED 0C
    01 E1 E1
    02 E7 3E
    03 E3 78
    04 E2 69
    05 DF 38
    06 D8 FD
    07 D8 5B
    08 D5 FD
    09 D4 FC
    0A CD AA
    0B C7 2B
    0C C7 55
    0D C8 8F
    0E C9 8A
    0F C1 1E
    10 C1 08
    11 AE 5B
    12 B9 97
    13 A4 FD
    14 B3 84
    15 B1 00
    16 AF 9C
    17 AA 90
    18 A3 9F
    19 A2 03
    1A A3 2F
    1B 9A F6
    1C 98 A6
    1D 93 B4
    1E 93 73
    1F 8E 05
    20 8A 90
    21 87 97
    22 86 87
    23 72 DF
    24 7A 20
    25 78 8D
    26 78 F9
    27 6B 76
    28 6C E9
    29 6B 6E
    2A 68 EB
    2B 63 F8
    2C 5B FB
    2D 56 06
    2E 55 9F
    2F 51 75
    30 57 F0
    31 4F D0
    32 4B FA
    33 49 D9
    34 50 C4
    35 48 B2
    36 47 94
    37 3E 98
    38 33 E8
    39 39 F8
    3A 2B 3A
    3B 35 3E
    3C 31 BF
    3D 2B 40
    3E 2C CF
    3F 24 E2
    40 21 38
    41 1D 3C
    41 FD C0
    43 19 B5
    44 18 0B
    44 F0 09
    46 10 C7
    46 EE C3
    48 0D C4
    48 E6 DA
    4A 04 10
    4A FB D0
    4B FA FC
    4C FB 70
    4D D5 8F
    4E D1 21
    4F EE 71
    50 DB 8B
    51 C7 47
    52 C3 06
    53 E0 D6
    54 B6 59
    55 DB A8
    56 AF 79
    57 B8 96
    58 B3 CC
    59 D3 75
    5A A5 E0
    5B CA BB
    5C C8 56
    5D 99 AB
    5E 95 DA
    5F 8C 0A
    60 91 54
    61 B3 0F
    62 85 45
    63 86 C9
    64 82 1C
    65 82 90
    66 A0 36
    67 76 3D
    68 76 2D
    69 71 61
    6A 70 79
    6D 19 7F
    71 19 60
    74 81 34
    74 B3 10
    76 BC 75
    77 6E 30
    76 EE 45
    77 8B 59
    7B 46 31
    

    Regards,
    Milad

  • Milad,

    I don't know what that is. I've converted your file to show the measurement:

    This doesn't look like some exponential time constant capacitive charging from an RC filter. It may be some sort current charging a capacitor similar to an integrator, but I don't know how you have your circuit set up. Also, this measurement spans most of the positive full scale. If you let this run further, does it eventually rail out?

    What are you measuring and what value are you expecting to get? Do you have a schematic? What is the amount of time over which this data is taken?

    Joseph Wu

  • Hi Joseph,

    Actually, there was a problem with my code which I found it. After that, to ensure myself, I set the ADC to ambient temperature and got the 119mV out of it. Now, I measure it with the DAC through PGA=16, SPS=5 and set the offset registers which I should get the 0-128mV, but after some nonsense measurements like 5, then it goes 0, 1, ..., 126mV. I mean some data has been missed. Is it ok or should I do something about it?

    Regards,

    Milad

  • Milad,


    In my previous post, I misunderstood what you had explained.

    I'm still not sure what error you are seeing, but it does look like there is some delay from the start of the readings to when the DAC starts to move the input voltage up. I'm not sure if this is will be a problem for you. At this point, it does look like a real delay, and not just some nonsense data.

    If you have newer data that shows more of an error, or some nonsense values that are read. You can post it back to this thread and we can discuss it.


    Joseph Wu
  • Hi Joseph,

    This attachment file shows the raw data with PGA=2 and SPS=160 through a DAC(0-1024mV).

    I've got so many measurements like this which after a few seconds, everything looks fine, so I think it works well, doesn't it?

    00 40 C9
    FF F0 92
    FF EF 2D
    FF EF 8D
    FF F2 36
    00 00 D2
    00 1F DB
    00 40 50
    00 60 2C
    00 80 6A
    00 9F 2D
    00 C0 48
    00 DF 19
    00 FF FC
    01 1E D2
    01 3D B6
    01 5C C2
    01 7E AF
    01 9E B5
    01 BE 45
    01 DD 0A
    01 FD 82
    02 1B 87
    02 3E 14
    02 5C 51
    02 7B 6C
    02 9B 4D
    02 BA FC
    02 DB AB
    02 FA 66
    03 19 71
    03 3A 25
    03 59 6A
    03 7A CC
    03 98 9B
    03 BA 76
    03 D9 F7
    03 F8 80
    04 19 25
    04 38 62
    04 57 94
    04 78 F4
    04 96 A2
    04 B8 55
    04 D7 F7
    04 F7 2A
    05 15 BE
    05 34 25
    05 55 99
    05 74 1C
    05 95 32
    05 B4 78
    05 D3 DF
    05 F4 B3
    06 14 06
    06 34 42
    06 52 03
    06 71 2F
    06 92 C1
    06 B2 62
    06 D2 61
    06 F2 D7
    07 12 1C
    07 33 C0
    07 52 4F
    07 71 B4
    07 91 F1
    07 B1 45
    07 CE 61
    07 EE 7A
    08 0E 0B
    08 2F DB
    08 4F 22
    08 6E 4B
    08 8D 54
    08 AE 40
    08 CE 09
    08 ED 4A
    09 0B E4
    09 2E 0D
    09 4E 23
    09 6D 8C
    09 8C 21
    09 AC C6
    09 CC A0
    09 EB 62
    0A 0A DE
    0A 2B 64
    0A 4B AC
    0A 6A 36
    0A 8A 5D
    0A AA 99
    0A CA 89
    0A EA 5C
    0B 09 8D
    0B 29 18
    0B 48 52
    0B 68 11
    0B 89 68
    0B A9 21
    0B C6 C3
    0B E7 B0
    0C 06 FF
    0C 26 B3
    0C 47 B0
    0C 66 8C
    0C 85 EE
    0C A5 B8
    0C C4 68
    0C E5 33
    0D 05 92
    0D 24 B0
    0D 44 99
    0D 64 D3
    0D 83 67
    0D A4 1F
    0D C3 0C
    0D E3 19
    0E 03 69
    0E 22 90
    0E 41 A8
    0E 61 C5
    0E 81 B4
    0E A1 B3
    0E C1 D0
    0E E1 CB
    0F 01 63
    0F 20 53
    0F 40 37
    0F 5F C2
    0F 7E CC
    0F A0 95
    0F BF D8
    0F E0 24
    0F FE AD
    10 1D F9
    10 3D 6A
    10 5C 0C
    10 7D 4B
    10 9D 99
    10 BB FB
    10 DC C4
    10 FC 22
    11 1C 65
    11 3C 9B
    11 5A 2E
    11 7B 10
    11 98 68
    11 BA BC
    11 DA 20
    11 FA 7A
    12 1A 2E
    12 3A F8
    12 5A 54
    12 79 1C
    12 99 69
    12 B7 9D
    12 DA 06
    12 F8 86
    13 18 F2
    13 36 CC
    13 57 61
    13 77 12
    13 96 C3
    13 B6 2A
    13 D7 9D
    13 F6 5F
    14 16 A2
    14 35 B3
    14 54 8F
    14 75 0A
    14 95 83
    14 B4 CA
    14 D3 A1
    14 F4 D2
    15 13 F9
    15 34 65
    15 54 FF
    15 73 45
    15 94 1D
    15 B2 59
    15 D3 8B
    15 F1 3D
    16 12 3C
    16 31 98
    16 51 D3
    16 71 7B
    16 90 6F
    16 B0 40
    16 D0 42
    16 F0 47
    17 0F 69
    17 2F 31
    17 4E 83
    17 6E A5
    17 8D 75
    17 AD D5
    17 CE 3A
    17 ED E7
    18 0D C9
    18 2D 0D
    18 4C 61
    18 6C 10
    18 8B C4
    18 AB BA
    18 CB C6
    18 EB 17
    19 0A 64
    19 2A 7D
    19 4B 43
    19 6A AF
    19 8A B0
    19 A9 9E
    19 C9 B8
    19 E7 FD
    1A 09 2C
    1A 28 BD
    1A 48 01
    1A 68 60
    1A 87 D1
    1A A8 01
    1A C8 06
    1A E6 E8
    1B 06 1D
    1B 24 C2
    1B 45 42
    1B 64 0C
    1B 84 19
    1B A4 90
    1B C4 C7
    1B E4 51
    1C 04 44
    1C 22 99
    1C 43 62
    1C 63 7E
    1C 81 D9
    1C A2 66
    1C C2 19
    1C E2 AC
    1D 02 49
    1D 20 1F
    1D 40 2E
    1D 5E F6
    1D 7E F7
    1D A0 6A
    1D BE A7
    1D DF 28
    1D FF 74
    1E 1F 03
    1E 3D CF
    1E 5E C2
    1E 7E DE
    1E 9E 88
    1E BE 51
    1E DC 04
    1E FD 19
    1F 1D 17
    1F 3C 75
    1F 5B AD
    1F 7A 90
    1F 9C 75
    1F BB 31
    1F DA F3
    1F F9 F4
    20 19 58
    20 39 95
    20 59 F8
    20 79 C6
    20 9A 47
    20 B8 D8
    20 D9 B3
    20 F7 CC
    21 17 53
    21 36 D8
    21 57 B1
    21 76 85
    21 96 F4
    21 B5 65
    21 D5 79
    21 F6 18
    22 17 0F
    22 36 08
    22 54 A5
    22 75 33
    22 94 C5
    22 B3 FF
    22 D4 71
    22 F4 55
    23 13 5C
    23 34 A7
    23 54 E8
    23 73 BF
    23 93 41
    23 B2 05
    23 D2 63
    23 F1 6F
    24 11 06
    24 2F 76
    24 51 5C
    24 70 E6
    24 8F 9A
    24 B0 C4
    24 CE D5
    24 EE DE
    25 0D A1
    25 2F 18
    25 4E 66
    25 6E B1
    25 8D B3
    25 AD D5
    25 CE B7
    25 ED 56
    26 0C 80
    26 2C 11
    26 4B 1D
    26 6B C2
    26 8A FF
    26 AB 8E
    26 CB 7D
    26 EA 5B
    27 0A 58
    27 29 39
    27 48 EA
    27 68 E2
    27 88 77
    27 A8 2D
    27 C8 66
    27 E7 B2
    28 08 C7
    28 28 5B
    28 48 9C
    28 65 C4
    28 86 74
    28 A4 5C
    28 C5 E2
    28 E6 86
    29 03 E9
    29 24 3C
    29 42 C6
    29 64 96
    29 84 25
    29 A3 90
    29 C3 39
    29 E3 06
    2A 02 6F
    2A 22 C2
    2A 42 80
    2A 62 52
    2A 81 9C
    2A A2 4F
    2A C2 26
    2A E2 55
    2B 00 CD
    2B 20 DF
    2B 3F D6
    2B 60 03
    2B 7F D7
    2B A0 15
    2B C0 9C
    2B DF B0
    2B FE 1B
    2C 1D AC
    2C 3E 3D
    2C 5D 5A
    2C 7C E3
    2C 9C 15
    2C BA D4
    2C DB 72
    2C FC 1F
    2D 1D 1B
    2D 3B 8D
    2D 5B 24
    2D 7A 81
    2D 9A 9C
    2D B9 80
    2D D9 93
    2D F9 7E
    2E 17 ED
    2E 38 21
    2E 58 1D
    2E 77 FC
    2E 98 16
    2E B7 A6
    2E D7 73
    2E F6 FD
    2F 16 D6
    2F 36 AF
    2F 56 D8
    2F 77 1B
    2F 95 DF
    2F B5 90
    2F D4 6C
    2F F4 2A
    30 12 09
    30 34 BE
    30 54 8E
    30 73 86
    30 93 81
    30 B2 63
    30 D2 D0
    30 F2 21
    31 12 12
    31 31 CE
    31 52 5C
    31 70 B9
    31 91 0F
    31 B1 DC
    31 D0 79
    31 F1 02
    32 0F A1
    32 2E C6
    32 4F FE
    32 6F E1
    32 8E BA
    32 AE 35
    32 CF 0C
    32 ED 63
    33 0D B0
    33 2D 36
    33 4C 4B
    33 6C 01
    33 8B 8C
    33 AB 89
    33 CB E5
    33 EA 97
    34 0A C1
    34 2A 5F
    34 48 D2
    34 69 1D
    34 88 FD
    34 A7 A2
    34 C9 36
    34 E8 92
    35 08 C3
    35 27 B0
    35 46 BD
    35 66 F7
    35 87 A3
    35 A5 A1
    35 C7 D9
    35 E5 AE
    36 06 76
    36 25 4D
    36 46 16
    36 65 15
    36 86 38
    36 A5 83
    36 C4 CA
    36 E4 95
    37 04 D5
    37 24 33
    37 43 94
    37 63 91
    37 83 6F
    37 A2 0B
    37 C3 A7
    37 E2 C4
    38 01 89
    38 23 34
    38 41 34
    38 60 82
    38 80 34
    38 A0 A1
    38 C0 42
    38 DF B7
    39 00 CB
    39 1F FC
    39 40 03
    39 5E 2D
    39 7F 2F
    39 9F 3F
    39 BF 6C
    39 DD F2
    39 FD 26
    3A 1D B1
    3A 3E 07
    3A 5C 41
    3A 7D 5D
    3A 9D A6
    3A BA B8
    3A DB 0B
    3A FB FF
    3B 1C 5A
    3B 3A B6
    3B 5A 2D
    3B 7B 35
    3B 9A A8
    3B BA DC
    3B DB 15
    3B FA 2F
    3C 18 76
    3C 39 54
    3C 59 0C
    3C 78 97
    3C 97 76
    3C B7 AD
    3C D6 CA
    3C F7 EC
    3D 17 21
    3D 36 33
    3D 56 40
    3D 75 EC
    3D 96 71
    3D B5 D4
    3D D7 D1
    3D F6 A7
    3E 16 0C
    3E 34 FB
    3E 53 2C
    3E 73 6D
    3E 93 37
    3E B3 85
    3E D3 2D
    3E F3 D5
    3F 12 B7
    3F 31 E8
    3F 51 FA
    3F 71 51
    3F 90 1F
    3F B0 D7
    3F D0 3F
    3F F0 6E
    40 10 7F
    40 30 21
    40 4F D6
    40 6E DB
    40 8E E1
    40 AE 84
    40 CE 56
    40 EE 4B
    41 0E B3
    41 2C D8
    41 4D ED
    41 6E 66
    41 8D 65
    41 AC C3
    41 CC 82
    41 EC 53
    42 0B 7B
    42 2B BC
    42 4C 78
    42 6B 88
    42 8B C6
    42 AC 44
    42 CA BB
    42 EB 16
    43 0B 74
    43 29 AB
    43 4A 5D
    43 69 EA
    43 89 1D
    43 A8 5B
    43 C8 5B
    43 E7 45
    44 09 2E
    44 28 72
    44 47 43
    44 67 CC
    44 86 6E
    44 A5 AA
    44 C7 05
    44 E7 35
    45 06 78
    45 25 C6
    45 45 6D
    45 65 17
    45 85 69
    45 A5 3C
    45 C4 B2
    45 E4 3D
    46 04 1F
    46 23 AA
    46 43 2C
    46 63 6D
    46 82 13
    46 A2 0D
    46 C2 7C
    46 E0 D7
    47 00 C7
    47 1E B7
    47 40 C2
    47 5F 8A
    47 81 9D
    47 A0 F9
    47 BF F6
    47 DE A7
    48 00 02
    48 1F 3B
    48 3E 80
    48 5E B8
    48 7D FD
    48 9E A2
    48 BE C9
    48 DC C0
    48 FE AD
    49 1C 2C
    49 3C 30
    49 5B 12
    49 7A 5B
    49 9B 1A
    49 BB 3A
    49 DA 89
    49 FA F3
    4A 1A EF
    4A 3A FD
    4A 5A 72
    4A 79 55
    4A 99 C8
    4A B8 F9
    4A D7 1B
    4A F8 6F
    4B 18 B8
    4B 38 45
    4B 57 89
    4B 77 D8
    4B 96 38
    4B B6 53
    4B D5 3C
    4B F5 94
    4C 15 9C
    4C 35 57
    4C 55 36
    4C 73 56
    4C 94 68
    4C B2 AC
    4C D3 8A
    4C F3 D2
    4D 12 8C
    4D 33 31
    4D 51 CC
    4D 72 EC
    4D 92 99
    4D B1 6F
    4D D1 91
    4D F2 99
    4E 11 11
    4E 31 5A
    4E 50 D5
    4E 70 BB
    4E 8F 8C
    4E B0 F2
    4E CF 60
    4E EE 49
    4F 0E D8
    4F 2E D9
    4F 4E 9F
    4F 6E F1
    4F 8D 30
    4F AC C1
    4F CD 2B
    4F EC C0
    50 0C D0
    50 2D 3A
    50 4A F5
    50 6B 3F
    50 89 E0
    50 A9 E5
    50 CA DE
    50 EA 88
    51 08 E1
    51 28 FD
    51 4A 74
    51 69 56
    51 88 9A
    51 A8 C6
    51 C6 EA
    51 E8 4E
    52 06 EE
    52 26 CA
    52 46 8D
    52 66 9A
    52 86 A0
    52 A4 88
    52 C5 75
    52 E4 74
    53 05 18
    53 25 26
    53 44 D6
    53 63 DC
    53 83 29
    53 A3 67
    53 C2 57
    53 E2 8C
    54 02 49
    54 23 A3
    54 42 7A
    54 62 AF
    54 81 69
    54 A0 B7
    54 BF EB
    54 E1 94
    54 FF E1
    55 1F 53
    55 3E D5
    55 5E 68
    55 7C D7
    55 9E 5D
    55 BC 6E
    55 DE 75
    55 FE 0D
    56 1E 45
    56 3D BB
    56 5C FB
    56 7B 98
    56 9C 60
    56 BB FA
    56 DB 12
    56 FA E3
    57 1B CA
    57 3B 0E
    57 5B 7E
    57 7A 95
    57 9A 01
    57 BB 03
    57 D9 3F
    57 FA 8D
    58 19 90
    58 38 7D
    58 58 BC
    58 78 E8
    58 98 96
    58 B8 4B
    58 D7 09
    58 F7 2A
    59 18 02
    59 36 F1
    59 55 FF
    59 77 0B
    59 96 43
    59 B5 A6
    59 D5 A5
    59 F5 5F
    5A 15 1F
    5A 35 1D
    5A 53 B8
    5A 73 77
    5A 92 42
    5A B2 CA
    5A D1 C5
    5A F3 49
    5B 12 9B
    5B 32 BB
    5B 50 D9
    5B 71 C5
    5B 91 07
    5B B0 EE
    5B D0 37
    5B F0 46
    5C 0F FE
    5C 2F 90
    5C 4F 3E
    5C 6F 9F
    5C 8E CC
    5C AE CF
    5C CE 93
    5C EE 08
    5D 0D C5
    5D 2D 76
    5D 4D 85
    5D 6D 14
    5D 8D 17
    5D AB AC
    5D CC 65
    5D EC CE
    5E 0B 56
    5E 2A E2
    5E 4B 1C
    5E 6A CB
    5E 89 E4
    5E AA 8C
    5E C9 CF
    5E EA 12
    5F 09 56
    5F 29 2A
    5F 48 3E
    5F 67 63
    5F 86 C6
    5F A5 F5
    5F C6 F8
    5F E7 BD
    60 06 DA
    60 26 C5
    60 46 E9
    60 65 79
    60 86 84
    60 A5 28
    60 C4 AC
    60 E4 68
    61 02 DC
    61 24 7F
    61 43 27
    61 63 F8
    61 82 87
    61 A1 E8
    61 C2 0B
    61 E2 EF
    62 01 C4
    62 21 91
    62 41 13
    62 60 65
    62 82 1D
    62 A2 21
    62 C1 22
    62 E0 3D
    62 FF 04
    63 1F A5
    63 3F 25
    63 61 EB
    63 7F 33
    63 9E C4
    63 BD 40
    63 DE 1D
    63 FD DE
    64 1E 6D
    64 3D EF
    64 5C 7C
    64 7D 8E
    64 9C F7
    64 BD 63
    64 DC 6B
    64 FD 39
    65 1B 61
    65 3C C6
    65 5B 19
    65 7C 79
    65 9A 9B
    65 BA 98
    65 DB 4C
    65 F8 B2
    66 1A 1F
    66 39 2A
    66 59 32
    66 79 90
    66 98 4A
    66 B6 D8
    66 D7 3B
    66 F7 EF
    67 16 A2
    67 36 DD
    67 56 48
    67 76 DC
    67 96 A1
    67 B7 34
    67 D5 9D
    67 F5 93
    68 15 15
    68 35 C3
    68 53 FB
    68 74 A3
    68 93 95
    68 B3 C8
    68 D4 3F
    68 F2 1F
    69 10 ED
    69 31 EF
    69 51 BD
    69 72 86
    69 91 43
    69 B0 57
    69 D1 71
    69 F0 A6
    6A 11 6F
    6A 31 AA
    6A 4F 16
    6A 6F CD
    6A 8D F9
    6A AE C7
    6A CE 7A
    6A ED 2B
    6B 0E F5
    6B 2D 8E
    6B 4D 31
    6B 6B BF
    6B 8B DC
    6B AB 92
    6B CC D2
    6B EB EB
    6C 0D 21
    6C 2A 39
    6C 4B 2F
    6C 6A 35
    6C 8A BC
    6C AA 00
    6C C9 D2
    6C E8 E2
    6D 0A 45
    6D 28 A1
    6D 49 2F
    6D 69 01
    6D 87 F1
    6D A8 FC
    6D C6 CC
    6D E7 F7
    6E 06 1C
    6E 25 35
    6E 47 23
    6E 64 90
    6E 85 FD
    6E A4 77
    6E C5 55
    6E E5 82
    6F 05 55
    6F 24 6F
    6F 43 D3
    6F 64 37
    6F 82 7B
    6F A2 97
    6F C2 F9
    6F E1 83
    70 03 40
    70 22 EB
    70 42 67
    70 61 46
    70 81 6C
    70 9F 99
    70 BF F8
    70 E0 76
    70 FF 91
    71 1F C8
    71 3F BE
    71 5F 01
    71 7F E8
    71 9F 5A
    71 C0 2B
    71 DE 00
    71 FE 4C
    72 1D C2
    72 3C B7
    72 5D 96
    72 7C F9
    72 9C 04
    72 BC C1
    72 DB 94
    72 FB B3
    73 1A D3
    73 3A 92
    73 5A 6B
    73 7B 93
    73 9A 29
    73 B9 9D
    73 D9 B1
    73 F9 D6
    74 19 5D
    74 37 A3
    74 58 5B
    74 77 FF
    74 96 DD
    74 B6 8A
    74 D6 7F
    74 F7 13
    75 15 56
    75 36 1B
    75 55 A6
    75 74 5F
    75 95 21
    75 B5 80
    75 D4 62
    75 F4 E1
    76 14 FE
    76 33 BB
    76 54 79
    76 72 94
    76 93 C0
    76 B2 EA
    76 D3 56
    76 F2 EB
    77 13 B8
    77 30 F4
    77 50 C0
    77 71 76
    77 91 50
    77 AF D6
    77 CF A9
    77 EF 9F
    78 0E 3C
    78 30 24
    78 4F 22
    78 6E C7
    78 8F 0E
    78 AF 1D
    78 CF 41
    78 EE 30
    79 0E 14
    79 2C 53
    79 4D C1
    79 6C 91
    79 8D F5
    79 AC D7
    79 CB 95
    79 EC 4A
    7A 0B 66
    7A 2A 32
    7A 4A 78
    7A 6A C3
    7A 8A 15
    7A AA 11
    7A CB 1E
    7A E9 99
    7B 09 26
    7B 28 C3
    7B 47 CC
    7B 69 02
    7B 88 33
    7B A7 E7
    7B C9 40
    7B E6 3C
    7C 06 0E
    7C 26 8D
    7C 45 94
    7C 64 FB
    7C 84 7C
    7C A4 40
    7C C5 22
    7C E5 30
    7D 03 D2
    7D 23 61
    7D 44 03
    7D 63 4E
    7D 84 16
    7D A3 BA
    7D C2 81
    7D E1 A8
    7E 01 D4
    7E 22 A4
    7E 42 3D
    7E 61 73
    7E 80 74
    7E A1 1A
    7E C0 7C
    7E E0 25
    7E FF 4A
    7F 1E E7
    7F 3F 29
    7F 5F 6C
    7F 7E A1
    7F 9F 19
    7F BF 09
    7F DD A4
    7F FE 22
    7F FF FF

    Regards,

    Milad

  • Milad,

    I think it looks ok. If you're just ramping up the signal with the DAC, then it appears that you're going from near 0 to a full scale:

    If you're still concerned with the measurements, you should set a constant input voltage, and then measure it back with a precision multimeter. If you take several measurements spaced from 0 to full scale, you can see the gain and non-linearity error from the ADC. You'll want to use something like an Agilent 3458A where the non-linearity error is likely 0.1ppm for multimeter range (as your standard). A handheld multimeter is probably not good enough for precision measurements.

    At this point, it looks like you're making correct measurements. I'll close this post for now. As always you can post back with more questions if you have any.

    Joseph Wu