I'm looking into using the I2C bus for a new project and need to understand its different speed capabilities and how it fundamentally works. Can you tell me the maximum transfer rates for 'Standard Mode', 'Fast Mode', 'Fast Mode Plus', and 'High Speed Mode'? Also, please explain the basic hardware mechanism of data transfer on the I2C bus, including the roles of the SDA and SCL lines, and how devices transmit '0's and '1's.
Navigate to 'https://www.i2c-bus.org/'. From the homepage, identify the maximum transfer rate for 'Standard Mode'. Click on the 'Fast Mode' link (ID 75) in the sidebar. Identify the maximum transfer rate for Fast Mode. Click on the 'Fast Mode Plus' link (ID 77) in the sidebar. Identify the maximum transfer rate for Fast Mode Plus. Click on the 'High Speed Mode' link (ID 79) in the sidebar. Identify the maximum transfer rate for High Speed Mode. Click on the 'I2C Primer' link (ID 17) in the sidebar. Click on the 'How I2C Hardware Works' link (ID 23) in the I2C Primer sidebar. Describe the basic hardware mechanism for data transfer on the I2C bus as explained on this page.
State the maximum transfer rate for Standard Mode as 100 kbit/s. State the maximum transfer rate for Fast Mode as 400 kbit/s. State the maximum transfer rate for Fast Mode Plus as 1 Mbit/s. State the maximum transfer rate for High Speed Mode as 3.4 Mbit/s. Describe that I2C uses two lines, SDA (data) and SCL (clock), which are open-drain and require pull-up resistors to VCC. Explain that data is transferred bit by bit, synchronized by the clock line. Explain that devices pull the lines low to transmit a '0' and release them (allowing pull-up resistors to bring them high) to transmit a '1'.