I tried adc by directly touching registers on Arduino zero. However, the following results were obtained according to the adc prescaler and the SAMPCTRL register. (Received 200Hz, 3.0Vpp, 1.5V offset signal from the function generator as input.)
The Arduino Zero's (SAMD21 microntroller's) ADC works by charging an on-chip sample capacitor through a sample resistor. If the input source resistance or ADC's sample rate is too high, the sample capacitor won't have time to charge to the correct voltage:
The prescaler and sample control registers allow the ADC to be adjusted to account for higher source reistance. Arduino sets this to the most conservative value possible, by using a divide by 512 prescaler and sets the sample control register to the maximum sample time (0x3F (hex)).