WEBVTT 00:00:00.000 --> 00:00:00.500 align:middle line:90% 00:00:00.500 --> 00:00:03.970 align:middle line:84% This video will focus on what the I2C designer tool is, 00:00:03.970 --> 00:00:07.350 align:middle line:84% and how it can help users design an I2C bus. 00:00:07.350 --> 00:00:10.530 align:middle line:84% For users who are new to designing an I2C bus, 00:00:10.530 --> 00:00:12.840 align:middle line:84% this tool provides many system checks, 00:00:12.840 --> 00:00:16.350 align:middle line:84% which can help avoid potential problems and save time. 00:00:16.350 --> 00:00:18.960 align:middle line:84% For more experienced users in I2C, 00:00:18.960 --> 00:00:21.240 align:middle line:84% this tool can still be helpful in providing 00:00:21.240 --> 00:00:24.480 align:middle line:84% assistance in PCB bus capacity and estimation 00:00:24.480 --> 00:00:26.910 align:middle line:84% and quick pull-up resistor calculation. 00:00:26.910 --> 00:00:29.730 align:middle line:84% The I2C designer tool is an online tool 00:00:29.730 --> 00:00:33.390 align:middle line:84% created to help the user resolve potential I2C challenges, 00:00:33.390 --> 00:00:37.950 align:middle line:84% such as address conflicts, VCC conflicts, bus capacitance 00:00:37.950 --> 00:00:42.390 align:middle line:84% limits, part selection, pull-up resistor calculations, speed 00:00:42.390 --> 00:00:46.260 align:middle line:84% conflicts, buffer placement with respect to VCC, 00:00:46.260 --> 00:00:50.460 align:middle line:84% and buffer placement with regard to the static voltage offset. 00:00:50.460 --> 00:00:53.790 align:middle line:84% The first design challenge is to ensure the I2C bus does not 00:00:53.790 --> 00:00:57.750 align:middle line:84% experience address conflicts, as the I2C standard states 00:00:57.750 --> 00:01:00.420 align:middle line:84% slave addresses must be unique in order 00:01:00.420 --> 00:01:03.960 align:middle line:84% to prevent data corruption during retransactions. 00:01:03.960 --> 00:01:07.650 align:middle line:84% The I2C designer tool will look for any address conflicts 00:01:07.650 --> 00:01:10.830 align:middle line:84% and present workarounds in the case of address conflicts 00:01:10.830 --> 00:01:14.930 align:middle line:84% with the use of an I2C switch or mox. 00:01:14.930 --> 00:01:18.660 align:middle line:84% VCC conflicts can result in damage to devices which cannot 00:01:18.660 --> 00:01:21.630 align:middle line:84% withstand the higher biasing voltage. 00:01:21.630 --> 00:01:24.390 align:middle line:84% The I2C designer tool will suggest solutions 00:01:24.390 --> 00:01:27.270 align:middle line:84% to resolve this using either an I2C level 00:01:27.270 --> 00:01:30.810 align:middle line:84% shifter or an I2C switch with the level translation 00:01:30.810 --> 00:01:33.230 align:middle line:90% capability. 00:01:33.230 --> 00:01:35.030 align:middle line:84% Bus capacitance is a common issue 00:01:35.030 --> 00:01:38.960 align:middle line:84% with largely loaded I2C buses, where the I2C spec 00:01:38.960 --> 00:01:40.910 align:middle line:84% states the bus capacitance must be 00:01:40.910 --> 00:01:44.360 align:middle line:84% less than 400 pico farads or less for standard mode 00:01:44.360 --> 00:01:45.350 align:middle line:90% and fast mode. 00:01:45.350 --> 00:01:48.020 align:middle line:84% The I2C designer tool has a built in capacitance 00:01:48.020 --> 00:01:51.710 align:middle line:84% estimated feature, which is based on PCP parasitics. 00:01:51.710 --> 00:01:54.980 align:middle line:84% When the capacitance value surpasses the 400 pico farad 00:01:54.980 --> 00:01:58.220 align:middle line:84% limit, the tool will suggests I2C buffers, the segment, 00:01:58.220 --> 00:02:00.725 align:middle line:84% the capacitance, to comply with I2C standard. 00:02:00.725 --> 00:02:05.990 align:middle line:90% 00:02:05.990 --> 00:02:09.620 align:middle line:84% One of the most commonly asked questions on the E2E forums 00:02:09.620 --> 00:02:13.760 align:middle line:84% is, what pull-up resistor to use for a given I2C bus? 00:02:13.760 --> 00:02:16.310 align:middle line:84% The I2C designer tool provides the maximum 00:02:16.310 --> 00:02:18.110 align:middle line:84% and minimum pull-up resistor values 00:02:18.110 --> 00:02:21.320 align:middle line:84% for each segment for the I2C bus based 00:02:21.320 --> 00:02:25.640 align:middle line:84% on the estimated bus capacitance and the maximum I2C frequency. 00:02:25.640 --> 00:02:31.730 align:middle line:90% 00:02:31.730 --> 00:02:34.330 align:middle line:84% To avoid signal integrity concerns, 00:02:34.330 --> 00:02:36.710 align:middle line:84% I2C slaves, which operate at different speeds, 00:02:36.710 --> 00:02:39.770 align:middle line:84% should not co-exist on the same I2C bus. 00:02:39.770 --> 00:02:42.080 align:middle line:84% The I2C designer tool will take this 00:02:42.080 --> 00:02:44.180 align:middle line:84% into consideration and separate slaves 00:02:44.180 --> 00:02:47.000 align:middle line:84% of different maximum operating speeds using 00:02:47.000 --> 00:02:51.320 align:middle line:84% an I2C switch or an I2C repeater with a disable feature. 00:02:51.320 --> 00:03:02.250 align:middle line:90% 00:03:02.250 --> 00:03:05.190 align:middle line:84% When an I2C potential conflict is present, 00:03:05.190 --> 00:03:08.160 align:middle line:84% the I2C designer tool will provide potential solutions 00:03:08.160 --> 00:03:10.830 align:middle line:84% the user can select from to resolve the issue. 00:03:10.830 --> 00:03:21.470 align:middle line:90% 00:03:21.470 --> 00:03:23.930 align:middle line:84% Some I2C buffers have strict rules 00:03:23.930 --> 00:03:26.930 align:middle line:84% on how they can be interfaced with other buffers. 00:03:26.930 --> 00:03:30.500 align:middle line:84% The I2C designer tool will ensure any static voltage 00:03:30.500 --> 00:03:33.500 align:middle line:84% offset buffers are not connected to each other 00:03:33.500 --> 00:03:35.300 align:middle line:84% on their static voltage offset sides. 00:03:35.300 --> 00:03:44.230 align:middle line:90% 00:03:44.230 --> 00:03:48.400 align:middle line:84% The I2C designer tool currently does have some limitations. 00:03:48.400 --> 00:03:50.590 align:middle line:84% It does not support multiple masters. 00:03:50.590 --> 00:03:53.620 align:middle line:84% The slave devices do not include devices outside 00:03:53.620 --> 00:03:57.100 align:middle line:84% of the interface portfolio, such as temperature sensors, motor 00:03:57.100 --> 00:03:59.470 align:middle line:84% drives, accelerometers, et cetera. 00:03:59.470 --> 00:04:01.870 align:middle line:84% The tool does not support checks for any off board 00:04:01.870 --> 00:04:03.460 align:middle line:90% communication. 00:04:03.460 --> 00:04:05.860 align:middle line:84% Lastly, the tool does not take power supply 00:04:05.860 --> 00:04:08.470 align:middle line:90% sequencing into consideration. 00:04:08.470 --> 00:04:11.140 align:middle line:84% The I2C designer tool allows for bus designs 00:04:11.140 --> 00:04:13.360 align:middle line:84% to be quickly generated and common problems 00:04:13.360 --> 00:04:14.950 align:middle line:90% to be automatically addressed. 00:04:14.950 --> 00:04:18.279 align:middle line:84% Built-in bus capacitance estimates and pull-up resistor 00:04:18.279 --> 00:04:20.890 align:middle line:84% value checkers makes this a useful tool 00:04:20.890 --> 00:04:23.350 align:middle line:84% for both experienced I2C designers 00:04:23.350 --> 00:04:25.580 align:middle line:90% and those new to the protocol. 00:04:25.580 --> 00:04:29.440 align:middle line:84% So try our free I2C designer tool on ti.com 00:04:29.440 --> 00:04:32.670 align:middle line:90% to help simplify your I2C tree.