How to make faster i2c in arduino

i am using ads7828 adc. when i put millis() and observed it take 1ms delay in reading. How can i make faster.

my sample code:
// .ino file

entry_tim = millis();
read_value = adc.read(0, SD);
exit_tim = millis();
time_ = exit_tim - entry_tim;
Serial.println(time_);

// ads7828 library

unsigned int ADS7828::read(unsigned char channel, bool mode)
{
unsigned long reading = 0;

Wire.beginTransmission(ads_address);
Wire.write(0x84);
Wire.endTransmission();

Wire.requestFrom(ads_address, 2); // Request 2 bytes from the ADC

if(2 <= Wire.available())
{

reading = Wire.read(); // receive high byte
reading = reading << 8; // shift high byte to be high 8 bits
reading |= Wire.read(); // receive low byte into lower 8 bits

}

return reading;// return the full 12 bits reading from the ADC channel

}
Is it possible to reduce time by changing anything inside wire.requestfrom , wire.read functions

If

Wire.write(0x84);

starts the A to D conversion then the speed of the I2C has nothing to do with it.

A link to the datasheet for the the part you are using would have been helpful.

Mark

Hi holmes,

Thanks for reply

here the link for datasheet of ads7828

In page no 11 command bytes discussed. If i decide to choose ad converter off , i think i cant get the updated value, so i chosen, internal reference off and ad converter ON

is that possible to get regular update while keeping ad converter off??

For a normal Arduino, you can set the I2C bus faster with:

  Wire.begin();
  Wire.setClock( 400000L);

Check if the chip works at higher speeds with - Arduino/sketches/MultiSpeedI2CScanner at master · RobTillaart/Arduino · GitHub

discussion see - MultiSpeed I2C Scanner - 50,100,200,400 KHz. - Libraries - Arduino Forum