Post Go back to editing

Distorted o/p in EXC_OUT Signal from EVAL-AD2S1210SDZ

I am trying to use EVAL-AD2S1210SDZ to read the angle of a resolver. But when I checked the o/p Excitation signal in CRO, I am not getting a sine signal . I am getting a clamped distorted signal.

I am using the op-amp AD8397 with 0.866 gain. 

Can someone please help me to understand why not getting the exact signal at output.

  • Hi,

    The issue on the excitation waveform resolved.

    I measured across resolver initially. Later got correct waveform by putting a high resistance.

    Now I want to know What is the maximum exciation voltage we can generate using this Board. We have a resolver which needs 4.25 Vrms exciation.

    I am using AD8397 ( LK14 to LK17 in position B) .Can you please let me know What is the maximum output voltage I can get using these configuration and How I can achieve it?

  • tpsamuel,

    If your resolver requires 4.25VRMS (differential) then that is about 6Vp (12Vpp).   The RDC swings between 7.2Vpp to 8.0Vpp differentially, natively which means you would need about 1.5x gain so the 15.4K option should be sufficient for your needs (LK10, LK12, LK14, LK16 = B),   As you are using the AD8397 path if you need a bit more gain you can always use OPTION A on LK10 and LK12 and R10 and R30 to increase the gain but you'll need to be mindful of the output limit with regards to headroom and footroom for the amplifier which roughly is 0.5V on either side with respect to the rail at 100 ohm load.  The issue is that you only have 2.5V of offset through that path.  You may be better off going through the AD8662 path to ensure distortion free operation.   The principle would be the same in that if you measured the peak output from each of EXC/EXCB you could calculate the correct gain and implement in the AD8662 stage.


  • We have verified the differential output between EXC abd EXC/ and its coming between 7.8 to 7.9 Vpp.

    So that section is working fine. But after that we connected jumpers LK10 to LK14 to position B and selected AD8397 and when we checked the output by connecting load resistance, we are not getting the voltage expected (multiplied by 1.54) . We are getting very less value. Do you know the reason for that or am i doing anything wrong.

    Can you please provide any detail document on this board as I am having only User Guide

  • We have verified the differential output between EXC abd EXC/ and its coming between 7.8 to 7.9 Vpp.

    Have you verified that the EXC and EXC/ signals are balanced and anti-phase?   I saw the post you made with regards to a difference in the outputs from U4-A (but for some reason it is not in line here). 

    The reason I ask is that I don't know how to explain the issue with the circuit other than potential damage to that amplifiers output stage perhaps caused by an overload in your initial testing.  What was the original load condition and could you have caused the amplifier to have gone into a short circuit current condition?

    Again,  you might try using the other path to see if you get a better result.


  • Yeah I have verified the EXC and EXC/ signals.Initially didn't get EXC/ o/p. But it was probe issue.

    I will detail my requirement.

    We have to measure the angle of a resolver which needs 4.25Vrms excitation. But currently we don't have that. We have another one which needs less voltage excitation. We were able to measure the angle of that resolver using these EVAL board and EVAL-SDP-CB1Z Board.

    Now we want to make sure this will work for the other resolver which needs 4.25 Vrms excitation before purachasing it. So we want to know whether our Eval board is capable of providing that excitation. So we started analyzing the circuit and we want to check the excitation signal can provide enough voltage or not.


  • If you have this module can you share us the picture of expected excitation waveform and voltage

  • Unfortunately I don't have the equipment or evaluation kit with me as I'm working remotely at the moment.   You can however reproduce the expected behavior using a simulator like LTSPICE or PSPICE as their is a model for the AD8397 on the web page.


  • Hi,

    This issue is resolved.

    Currently we are using EVAL-SDP-CB1Z Board for controlling our evaluation board. But we dont want to use it. We want to control it without the controller board. For that we tracked the signals which are required to control AD2S1210.

    But couldnt able to find how to set the excitation frequency. We know that we have to write in the register for setting it. but how to access it without using controller board

  • tpsamuel,

    If i understand your query correctly you are asking if you can write to the register using another controller and remove the SDP control board.  Is that correct?  If so can you tell me which interface protocol you want to use (SPI/Parallel) and I can give you more specific directions.

    In short however you can use connectors J3 and J4 to access most of he signals you need for the communication and then wire in whatever processor interface you desire.   

    If that is not the answer you were looking for then unfortunately there is no way to manually set the excitation frequency using pin selection.   This functionality is available on the AD2S1205 but that device is fixed at 12-bit resolution.


  • Hi,

    I want to use another controller like Arduino board instead of SDP control board using SPI interface.

    Can you provide more details for that.

  • tpsamuel,

    First you'll need to change LK9 to position B to select the serial interface.

    Next connect the following jumpers as follows to configure the interface for access through connector J4.

    LK1:  Position C   (Gives Software Control to SAMPLEb on J4, Connect to I/O on Arduino Board)

    LK2:  Position B:  Tie CS to ground to permanently enable AD2S1210 interface for this board.

    • OR Leave at Position C   (Gives Software Control to CS on J4, Connect to I/O on Arduino Board) if you want to connect multiple instances to the same IO port.

    LK3:  Position B   Tie RD to VDRIVE.

    LK4:  Position C   (Gives Software Control to A0 on J4, Connect to I/O on Arduino Board)

    LK5:  Position C   (Gives Software Control to A1 on J4, Connect to I/O on Arduino Board)

    Configure LK6, LK7 to the desired RESOLUTION.... You will need to match this setting when programming the part in configuration mode.

    Then connect arduino board as follows to the AD2S1210 EVB.

    J4-1 (SAMPLE):   GPIO for controlling sample 

    J4-2 (CS) If Connected GPIO for Controlling enable

    J4-3:   NO Connect

    J4-4 (WR/FSYNC):  Chip Select of SPI interface

    J4-5, J4-7 - Ground

    J4-6 - VDRIVE or Arduino VCC.

    J4-8 (SDO):  Connect to MISO of SPI Interface of Arduino Controller.

    J4-9 (SDI):    Connect to MOSI of SPI Interface of Arduino Controller.

    J4-10(SCLK):  Connect of SCLK of SPI Interface of Arduino

    J4-11(A1) Connect to GPIO for controlling mode of operation

    J4-12(A0) Connect to GPIO for controlling mode of operation

    I would also construct your code to use SPI MODE 3.

    Hope that get's you started.


Reply Children
  • tpsamuel,

    What your are asking for is outside the scope of the support model for this forum.  However I can in general tell you the steps you'll need to consider based on my experience with Arduino in the past.  Please be sure to Verify you have enough I/O and resources on the NANO to do everything you need before making your purchase.

    1)  Include SPI.H header file

    2)  Define your pin connections using pinMode function.

    3) Use the Arduino SPI commands to construct write and read access functions for configuration and normal mode access.  I would recommend creating a variable called mySpiSettings of type SPISettings to pass to this function so you don't have to repeat it each time.   With regard to this please use SPI_MODE1 as I believe I misspoke in my previous recommendation. 

    4) Setup a Timer to generate an interrupt at the rate you wish to execute normal mode position/velocity reads.

    5) Setup your Main loop to do the following.

    A) configure the AD2S1210 to your desired configuration.

    B) Enable the timer and repeat for desired number of samples/forever

    If (interrupt) 


     Read Measurement(s)




    do nothing



  • Thanks Sean.

    Can you provide the details for parallel interface also. Just want to understand that also.

    Also is it possible to use EVAL Board as standalone?

    In standalone mode, frequency will be 10kHz?

  • tpsamuel,

    For the parallel interface make the following changes to what I mentioned above.

    LK9 - No change.   Leave at position A for Parallel Mode.

    LK3 - Move to Position C and drive RD with a GPIO from the Nano board

    Move all connections for DATA I/O to J3.

    J3-1 -> DB0

    J3-16 -> DB15

    All bit assignments for the databus (DB) are in ascending numerical order.

    If you run short on I/O remember that you can access position and velocity measurements through configuration mode so you could use just DB0-> DB7 to get started.


  • Hi 

    Can you elaborate on the last portion. how to use DB0 to DB7 for measuring position as in the datasheet it is mentioned as below

    0x80 D15 to D8 Read only
    0x81 D7 to D0 Read only

  • tpsamuel,

    The register map simply tells you which bits of the position/velocity register you are accessing when addressing register 0x80 or 0x81.   If 0x80 you are effectively outputing POSITION[15:8] to DB7-> DB0; likewise addressing 0x81 you get POSITION[7:0] output on DB7-> D0.


  • Okay. So we need to set A0 and A1 as high for configuration mode and read the address 0x80 and 0x81 using that. No need to use Sample signal. Right?

  • Okay. So we need to set A0 and A1 as high for configuration mode and read the address 0x80 and 0x81 using that. No need to use Sample signal. Right?

  • tpsamuel,

    No you'll need to strobe sample to pull the data from the loop output into the output register so you can access the data from the serial interface. 


  • I did everything as you mentioned.

    We are able to set the frequency at 3KHz and control the EVAL Board using Arduino. But while reading angle from the register the angle is not correct. Angle changing with resolver. But value is wrong and its not stable. 

    Can you let me know what might have gone wrong.

  • tpsamuel,

    Can you please describe in greater detail specifically how large the error is and how it changes as you rotate the resolver?  Also could you please indicate how you are measuring the reference position?

    Also if you could provide inside regarding the following that would be beneficial as well.

    1) Are you getting any FAULT indications?

    2) Can you please indicate what the input differential magnitudes are going into the RDC?

    3) Have you confirmed that the resolver is correctly wired to the inputs?

    Also for furture reference as this is a new issue it would be appreciated if you opened a new question.  This allows other users to more easily benefit from the content shared in the thread.