Use of A/D converter

I'm doing a project and wish to use A/D converter for the input signal from my force sensor. But I got no idea how to choose a suitable ADC specially how to give clock for the ADC from arduino? output from arduino?

This is the ADC I found, and the force sensor I using: https://www.distrelec.com/ishopWebFront/search/luceneSearch.do?dispatch=find&keywordPhrase=663098 http://dshop.ch/osc/product_info.php?cPath=23_37&products_id=109375

Regards

Why do you want to use that converter? It has lower resolution and is about the same speed as the built-in one.

For my understanding, with the analog read in, the arduino need more processing time for the signal, but with the digital signal input will allow my arduino to run faster?

Not sure what you're saying there. It is true that the existing analogRead has a busy-wait, but as I pointed out in your other thread, this is easily reduced or eliminated. You can even interrupt on the end-of-conversion condition if you wish. The converter itself does not consume processor resources.

As for my system require fast feedback from the sensors so I can't afford to have such long busy-wait state. In this case I would like to try if the arduino only work with digital input allow me to have the immediate feedback from the sensors.

I can’t afford to have such long busy-wait state.

So get rid of it.

analogRead, 1.0

int analogRead(uint8_t pin)
{
	uint8_t low, high;

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
	if (pin >= 54) pin -= 54; // allow for channel or pin numbers
#elif defined(__AVR_ATmega32U4__)
	if (pin >= 18) pin -= 18; // allow for channel or pin numbers
#else
	if (pin >= 14) pin -= 14; // allow for channel or pin numbers
#endif
	
#if defined(__AVR_ATmega32U4__)
	pin = analogPinToChannel(pin);
	ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
#elif defined(ADCSRB) && defined(MUX5)
	// the MUX5 bit of ADCSRB selects whether we're reading from channels
	// 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
	ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
#endif
  
	// set the analog reference (high two bits of ADMUX) and select the
	// channel (low 4 bits).  this also sets ADLAR (left-adjust result)
	// to 0 (the default).
#if defined(ADMUX)
	ADMUX = (analog_reference << 6) | (pin & 0x07);
#endif

	// without a delay, we seem to read from the wrong channel
	//delay(1);

#if defined(ADCSRA) && defined(ADCL)
	// start the conversion
	sbi(ADCSRA, ADSC);

	// ADSC is cleared when the conversion finishes
	while (bit_is_set(ADCSRA, ADSC));

	// we have to read ADCL first; doing so locks both ADCL
	// and ADCH until ADCH is read.  reading ADCL second would
	// cause the results of each conversion to be discarded,
	// as ADCL and ADCH would be locked when it completed.
	low  = ADCL;
	high = ADCH;
#else
	// we dont have an ADC, return 0
	low  = 0;
	high = 0;
#endif

	// combine the two bytes
	return (high << 8) | low;
}

Just split this into two - the setup and start conversion in one routine, and the wait and read.
Do useful work between calling them.

hong89: my system require fast feedback from the sensors

What are you trying to minimise - the latency in getting the value, or the wasted processing time if your sketch waits while the conversion occurs?

PeterH: What are you trying to minimise - the latency in getting the value, or the wasted processing time if your sketch waits while the conversion occurs?

I would like to minimise the latency in getting the value.

Would it make sense to merge this with your other thread on the subject? I don't understand why you can't follow the advice I've already given.