 When there are many I2C devices in a system, there can be a need to include bus buffers or multiplexers to split large bus segments into smaller ones.This can be necessary to keep the capacitance of a bus segment below the allowable value or to allow multiple devices with the same address to be separated by a multiplexer.Many types of multiplexers and buffers exist and all must take into account the fact that I2C lines are specified to be bidirectional.