Post Go back to editing

I used ADuCM363 and ADG1606 together, but an error occurred.

Hello.
We are using your development board ADuCM363 and LFCSP type ADG1606 together.

We use it as follows and ask a question.

1.GPIO1 1.4~1.7 ports are controlling ADG1606 Logic Control Input.

2. A temperature sensor is connected to the ADG1606 Ouput.

3. ADC Conversion data is being received from AIN0-AIN3. I am using SINGLE mode.
(I want to get temperature sensor data connected to ADG1606 through ADC.)

4.GPIO0 0.4~0.7 port connected to ADG1606 Enable port.

5. ADG1606 VDD and GND are connected to ADucm363 DVDD and DGND.

6. From other people's questions, I knew that I had to switch to IDLE mode when changing the ADC channel.

7. I am also downloading and using an Excel file that calculates the ADC conversion rate.

8. Through your example code, SF 125, AF 0 Notch2 0, Ravg2 0, Chop 0 are set and used.

Delay code was used in consideration of delay when changing ADC setting time and channel.

Is there anything wrong here??

<Question>

1. When connecting 4 ADG1606s to AduCM363, are there insufficient voltage and current values??

2. I connected the ADG1606 Enable signal to the ADuCM363 GPIO0 port (0.4 ~ 0.7), can I control it? I tried putting in the code to put the low and high signals, but I confirmed that the ADG1606 continues to work.

3. It was successful in receiving temperature data while changing the channel to AIN0-2. However, while receiving data by changing AIN3, ADC1ERR bit in ADC1STA becomes 1, so it does not receive data and cannot get out of infinite loop.

I know that reading ADC1STA by referring to your datasheet will automatically become 0.

However, nevertheless, it cannot escape from the infinite loop.

ADC1ERR and ADC1RDY of ADC1STA are set to 1 at the same time, and an error persisting picture is attached.

We look forward to hearing from you.
Please answer me.
Watch out for corona.
Thank you.



title edit
[edited by: Yoonsung at 6:40 PM (GMT -4) on 9 Sep 2020]
Parents
  • Hi,

     1) You don't have to manually switch the ADC to idle state after each conversion.

    In single conversion mode:

    After each conversion, ADC sets RDY bit and automatically switches to idle state.

    2) ADC1ERR occurs due to overrange or underrange errors in ADC inputs.

    Depending on the Gain value set for PGA, allowed input range at AINx changes. Kindly check if AINx inputs are within allowed range.

    Gain Allowed AINx input voltage range in Unipolar mode Allowed AINx input voltage range in Bipolar mode
    1 0 to 1.2V 0 to ±1.2V
    2 0 to 0.5V 0 to ±0.5V
    4 0 to 0.34V 0 to ±0.34V
    8 0 to 0.125V 0 to ±0.125V
    16 0 to 0.0625V 0 to ±0.0625V
    32 0 to 0.03125V 0 to ±0.03125V
    64 0 to 0.015625V 0 to ±0.015625V
    128 0 to 0.0078125V 0 to ±0.0078125V

    3) The RDY bit in ADC1STA is Cleared to 0 only after reading ADC1DAT.

    4) Are you setting

    GP0OCE &=0x6F,

    GP0OEN = 0x90, and

    putting GPIO output data in GP0OUT.

    Regards,

    Akila

Reply
  • Hi,

     1) You don't have to manually switch the ADC to idle state after each conversion.

    In single conversion mode:

    After each conversion, ADC sets RDY bit and automatically switches to idle state.

    2) ADC1ERR occurs due to overrange or underrange errors in ADC inputs.

    Depending on the Gain value set for PGA, allowed input range at AINx changes. Kindly check if AINx inputs are within allowed range.

    Gain Allowed AINx input voltage range in Unipolar mode Allowed AINx input voltage range in Bipolar mode
    1 0 to 1.2V 0 to ±1.2V
    2 0 to 0.5V 0 to ±0.5V
    4 0 to 0.34V 0 to ±0.34V
    8 0 to 0.125V 0 to ±0.125V
    16 0 to 0.0625V 0 to ±0.0625V
    32 0 to 0.03125V 0 to ±0.03125V
    64 0 to 0.015625V 0 to ±0.015625V
    128 0 to 0.0078125V 0 to ±0.0078125V

    3) The RDY bit in ADC1STA is Cleared to 0 only after reading ADC1DAT.

    4) Are you setting

    GP0OCE &=0x6F,

    GP0OEN = 0x90, and

    putting GPIO output data in GP0OUT.

    Regards,

    Akila

Children
No Data