Tải bản đầy đủ (.pdf) (31 trang)

Tài liệu Lý thuyết I2C ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (836.14 KB, 31 trang )

I. Lời mở đầu
I2C, viết tắt của từ tiếng Anh "Inter-Intergrated Circuit", là một loại bus
nối tiếp được phát triển bởi hãng sản xuất linh kiện điện tử Philips. Ban đầu,
loại bus này chỉ được dùng trong các linh kiện điện tử của Philip. Sau đó, do
tính ưu việt và đơn giản của nó, I²C đã được chuẩn hóa và được dùng rộng rãi
trong các mô đun truyền thông nối tiếp của vi mạch tích hợp ngày nay.
1. Phiên bản 1.0 – 1992.
Đây là phiên bản ra đời năm 1992, bao gồm những đặc điểm kỹ thuật
sau:
 Phần mềm bỏ sót phần lập trình của đòa chỉ Slave. Sự thật về
chi tiết này thì phức tạp hơn và không được sử dụng.
 Kiểu tốc độ chậm ( low – speed ) được bỏ qua.
 Kiểu nhanh ( fast ) được thêm vào. Nó cho phép tăng tốc độ
bit lên đến 400 kbit/s. Thiết bò sử dụng kiểu này có thể tương
thích với kiểu tốc độ thấp hơn, có thể sử dụng trong hệ thống
bus I2C từ 0 – 100 kbit/s.
 Đòa chỉ 10-bit được thêm vào. Cho phép 1024 nút dòa chỉ.
2. Phiên bản 2.0 – 1998.
Bus I2C trở thành chuẩn thực tế, lúc này đã thực hiện trên hơn 1000 Ics
và hơn 50 công ty đăng ký. Tuy nhiên nhiều ứng dụng ngày nay yêu cầu tốc
độ cao hơn và nguồn cung cấp nhỏ xuống. Những phiên bản mới của I2C bus
cần phải chú ý đến những yêu cầu kỹ thuật này, phiên bản này có những thay
đổi như sau:
 Kiểu tốc độ cao (high-speed hay HS) được thêm vào. Cho
phép tăng tốc độ bit lên đến 3.4Mbit/s . Thiết bò hỗ trợ kiểu
HS cũng mang tính kế thừa, tức là có thể hoạt động ở tốc độ
bit từ 0 – 3.4Mbit/s.
 Ngõ ra và trễ của thiết bò với nguồn cung cấp 2V được điều
chỉnh cho phù hợp yêu cầu về nhiễu và duy trì sự tương thích
với thiết bò có nguồn cung cấp cao hơn.
 Yêu cầu 0.6V tại 6mA của ngõ ra thiết bò với kiểu nhanh được


bỏ qua.
 Mức điện áp ngõ ra cố đònh cho thiết bò mới được thay thế
bằng mức điện áp của Bus.
 Thông tin ứng dụng cho bộ dòch hai chiều được thêm vào.
3. Phiên bản 2.1 – 2000.
Phiên bản 2.1 có những thay đổi nhỏ sau đây:
 Sau “START condition” lặp lại trong kiểu HS, nó có thể kéo
dài thêm SCLH tín hi
ệu xung nhịp(clock signal) .
II. Ích lợi cho người thiết kế I2C BUS và Sản xuất.
Trong việc thiết kế điện tử, viễn thông và điện tử công nghiệp thường có
nhiều sự tương tự giữa các thiết kế dường như không liên quan.Ví dụ như, hầu
như mỗi hệ thống bao gồm :
 Trong vài hệ thống điều khiển thông minh, thông thường vi
điều khiển đơn chip.
 Các thiết bò như LCD , cổng I/O, RAM, EEPROM hoặc
chuyển đổi dữ liệu.
Khai thác sự giống nhau này thì có lợi cho cả người thiết kế hệ thống và
sản xuất thiết bò, cũng như để tối ưu hiệu quả phần cứng và đơn giản mạch
thiết kế. Philips phát triển Bus 2 dây đơn giản 2 chiều điều khiển nhiều IC. Bus
này gọi là Inter IC hay I
2
C-bus. Tất cả thiết bò tương thích I
2
C-bus kết hợp chặt
chẽ giao tiếp trên chip mà nó cho phép chúng thông tin trực tiếp với mỗi giao
tiếp khác theo I
2
C-bus. Khái niệm thiết kế này giải quyết nhiều vấn đề giao
tiếp gặp phải khi thiết kế mạch điều khiển số.

Sau đây là một số chi tiết của I
2
C-bus:
 Chỉ yêu cầu 2 dây bus : một đường xung nhòp đồng hồ ( SCL: a
serial data line) và một đường dữ liệu ( SDA: a serial data
line)
 Mỗi thiết bò kết nối đến Bus có đòa chỉ mềm bằng đòa chỉ duy
nhất và mối liên hệ đơn giản chủ/tớ (Master/Slave) tồn tại .
Masters có thể hoạt động bộ phát chủ (Master-Transmitters)
hoặc bộ thu chủ(Master-Receivers).
 Trong Bus đa chủ ( multi-master bus) bao gồm phát hiện ra
xung đột và sự phân xử để tránh sai lệch dữ liệu nếu hai hay
nhiều Masters đồng thời khởi động truyền dữ liệu cùng một
lúc.
 Dữ liệu nối tiếp, 8-bit đònh hướng, 2 chiều có thể truyền ở:
- Standard (Chuẩn) 100 kb/s .
- Fast (Nhanh) 400 kb/s .
- Fast mode plus (Nhanh hơn) 1 Mb/s .
- High speed mode (Tốc độ cao) 3.4 Mb/s .
 Bộ lọc loại bỏ gai nhiễu trên dây Bus để giữ dữ liệu nguyên
gốc.
 Số lượng IC có thể kết nối chung Bus bò giới hạn bởi điện dung
tối đa của Bus là 400pF.
1 Lợi ích cho người thiết kế.
Một số chi tiết của I
2
C-bus mà đặc biệt cuốn hút người dùng:
 Khối hàm trong biểu đồ khối phù hợp với các IC trong thực tế;
thiết kế thực hiện nhanh hơn từ sơ đồ khối đến lược đồ.
 Không cần phải thiết kế giao diện Bus bởi vì giao tiếp Bus đã

tích hợp sẵn trên trên chip.
 Nghi thức truyền dữ liệu và đòa chỉ tích hợp cho phép hệ thống
để phần mềm đònh nghóa hoàn toàn.
 Các IC cùng loại thường được sử dụng nhiều ứng dụng khác
nhau.
 Thời gian thiết kế được rút ngắn bởi vì người thiết kế nhanh
chóng thân thiện với việc thường xuyên sử dụng các khối hàm
đại diện cho I
2
C-bus tương thích IC.
 Các IC có thể được thêm vào hoặc gỡ ra mà không ảnh hưởng
đến các phần tử khác trên Bus.
 Sự kiểm tra và chỉnh lỗi thì đơn giản. Sự trục trặc nhanh chóng
được chỉ ra.
 Thời gian phát triển phần mềm có thể được rút ngắn nhờ các
thư viện mà trong đó có các mô đun phần mềm có thể dùng lại
được.
Thêm vào những thuận lợi này, các CMOS IC có tích hợp I2C bus có độ
tương thích cao, cung cấp cho người thiết kế những đặc điểm kỹ thuật đặc trưng
như thiết bò di động...
Tất cả bao gồm:
 Năng lương tiêu thụ rất thấp.
 Chống nhiễu tốt.
 Tầm điện áp nguồn cung cấp rộng.
 Hoạt động với khoảng nhiệt độ lớn.
2. Lợi ích trong sản suất
I2C-Bus tương thích với IC không những trợ giúp thiết kế, mà còn cung
cấp nhiều lợi ích to lớn cho việc sản suất thiết bò bởi vì:
 I2C-Bus với thiết kế đơn giản chỉ cần 2 dây tối thiểu hóa đa
liên kết cho nên IC sẽ có ít chân hơn và không có quá nhiều

đường mạch in. Kết quả là bảng mạch in sẽ nhỏ hơn và rẻ hơn.
 Phương thức nào tích hợp toàn bộ I2C-Bus loại bỏ yêu cầu về
giải mã đòa chỉ và các liên kết logic (glue logic) khác.
 Đa chủ ( multi Master) là khả năng của I2C-Bus cho phép
nhanh chóng kiểm tra và sắp xếp đònh tuyến với thiết bò người
dùng theo kết nối cục bộ đến một đường chung.
 I2C-Bus có sẵn sự tương thích với với IC trong SO(small
outline), VSO(very small outline) rất tốt.
Đó chỉ là một số lợi ích. Thêm vào đó, IC có tích hợp I2C-Bus làm tăng
sự linh động thiết kế hệ thống bằng cách nhiều thiết bò khác nhau và có cấu
trúc đơn giản và dễ dàng nâng cấp để cập nhật. Trong trường hợp này, một
thiết bò thuộc họ nào có thể phát triển lên từ thiết kế cơ bản của họ đó. Nâng
cấp cho thiết bò mới hoặc tăng cường chức năng cho thiết bò mẫu (ví dụ như mở
rộng bộ nhớ, điều khiển từ xa ... v.v) có thể làm đơn giản bằng cách tách IC
tương thích trên Bus ra.
III. Giới thiệu đặc điểm kỹ thuật của I2C-Bus.
Về ứng dụng điều khiển số đònh hướng 8-bit, như là những ứng
dụng yêu cầu vi điều khiển, tiêu chuẩn thiết kế có thể được thiết lập:
 Hệ thống hoàn chỉnh thường bao gồm một vi điều khiển và
thiết bò ngoại vi khác như là bộ nhớ và mở rộng I/O.
 Chi phí kết nối với nhiều thiết bò mà không cần hệ thống phải
được tối thiểu.
 Một hệ thống mà thực hiện hàm điều khiển thì không yêu cầu
truyền dữ liệu tốc độ cao.
 Toàn bộ hiệu quả phụ thuộc vào thiết bò dược chọn và cấu
trúc tự nhiên của Bus đa liên kết.
Để sản suất được một hệ thống đạt được các tiêu chuẩn này, một cấu
trúc nối tiếp được yêu cầu. Dù các Bus nối tiếp không có khả năng về lưu
lượng của các Bus song song, nhưng nó yêu cầu ít dây nối hơn và chân kết nối
IC hơn. Tuy nhiên, Bus không chỉ đơn thần là dây đa liên kết, mà nó biểu hiện

tất cả đònh dạng và thủ tục về giao tiếp về giao tiếp bên trong hệ thống.
Thiết bò giao tiếp với các thiết bò khác trên Bus nối tiếp phải mang một
số phương thức mà tránh được tất cả hỗn loạn có thể xảy ra, mất dữ liệu và tắc
nghẽn thông tin. Thiết bò tốc độ cao phải có khả giao tiếp với thiết bò có tốc độ
thấp. Một hệ phải không phụ thuộc vào thiết bò kết nối với nó, mặt khác sự
điều chỉnh và cải tiến là không khả thi. Một thủ tục đưa ra để quyết dònh là
thiết bò sẽ ở trong sự diều khiển của Bus khi đó. Và, nếu các thiết bò khác nhau
với tốc độ xung nhòp khác nhau được kết nối đến Bus, xung nhòp nguồn của Bus
phải được đònh nghóa. Tất cả tiêu chuẩn này điều được bao hàm trong I2C-Bus.
IV. Khái niệm về I2C-Bus
I2C-Bus cung cấp bất cứ cách nào chế tạo IC( NMOS, CMOS, bipolar).
Gồm có 2 dây, dữ liệu nối tiếp( SDA: serial data) và xung nhòp nối tiếp (SCL:
serial clock), mang thông tin giữa thiết bò và Bus nối với thiết bò đó.
Mỗi thiết bò được đònh nghóa bằng một đòa chỉ duy nhất ( dù thiết bò là vi điều
khiển, điều khiển LCD, bộ nhớ hay giao tiếp bàn phím) và có thể sử dụng như
bộ thu hoặc bộ phát, phụ thuộc vào chức năng của thiết bò. Hiển nhiên điều
khiển LCD chỉ có thể là bộ thu, trong khi đó bộ nhớ có thể thu và phát dữ liệu.
thêm vào bộ thu hoặc bộ phát, thiết bò có thể được xem như làbộ chủ(Master)
hoặcbộ tớ (Slave) khi thực hiện truyền dữ liệu. Xem bảng 1. Bộ chủ là thiết bò
khởi đầu truyền dữ liệu trên Bus và khởi tạo tín hiệu xung nhòp để cho phép
truyền. Tại thời điểm này, bất cứ thiết bò nào được đònh đòa chỉ được coi như bộ
tớ.
I2C Bus là Bus đa chủ. Điều này có nghóa là nhiều hơn một thiết bò có
khả năng điều khiển Bus mà có thể được kết nối với nó. Vì bộ chủ thường là vi
điều khiển, chúng ta hãy xét đến trường hợp dữ liệu truyền giữa hai vi điều
khiển kết nối với I2C Bus. (Xem hình 2)
Hình 2: Ví dụ sử dụng I2C có 2 vi diều khiển kết nối.
Thuật ngữ Mô tả
Bộ phát Thiết bò truyền dữ liệu đến Bus.
Bộ thu Thiết bò nhận dữ liệu từ Bus.

Bộ chủ Thiết bò khởi động truyền, khởi tạo xung
nhòp và kết thúc truyền ..
Bộ tớ thiết bò được đònh đòa chỉ bởi Bộ chủ .
Đa chủ Hơn một bộ chủ cố gắng để điều khiển
Bus tại một thời điểm mà không sai lạc
thông điệp.
Sự phân xử Thủ tục đảm bảo rằng, nếu có hơn một
bộ chủ cùng một lúc cố gắng điều khiển
Bus, chỉ có một được cho phép làm vậy
và và thông điệp thì không sai .
Đồng bộ Thủ tục đồng bộ tín hiệu xung nhòp của
hai hay nhiều thiết bò.
Bảng 1 : Đònh nghóa các thuât ngữ của I2C Bus
Điểm nổi bật là mối quan hệ chủ-tớ và thu-phát được thiết lập trên I2C
Bus. Chú ý rằng những mối quan hệ trên là không cố đònh, nhưng chỉ phụ thuộc
vào hướng truyền dữ liệu tại thời điểm đó. Sự truyền dữ liệu được tiến hành
như sau:
1, Giả thiết vi điều khiển A muốn truyền thông tin cho vi điều khiển B:
 Vi điều khiển A(chủ), vi điều khiển B (tớ)được đònh đòa chỉ .
 Vi điều khiển A(bộ phát chủ) truyền dữ liệu cho vi điều khiển
B(bộ thu tớ).
 Vi điều khiển A kết thúc truyền.
2, Nếu vi điều khiển A muốn nhận thông tin từ vi điều khiển B:
 Vi điều khiển A(chủ), vi điều khiển B được đònh đòa chỉ(tớ).
 Vi điều khiển A(bộ thu chủ) nhận dữ liệu từ vi điều khiển B
(bộ phát tớ).
 Vi điều khiển A kết thúc truyền.
Khả năng kết nối nhiều hơn một vi điều khiển với I2C Bus có nghóa là
nhiều hơn một master có thể khởi động truyền dữ liệu tại cùng một thời điểm.
Để tránh sự hỗn độn sinh ra từ sự việc này, người đã phát phiển một thủ tục gọi

là sự phân xử (Arbitration). Thủ tục này dựa trên kết nối And nối dây đến
đường SCL.
Việc khởi tạo tín hiệu xung nhòp trên I2C Bus luôn luôn là nhiệm vụ của
các thiết bò chủ (master devices); mỗi bộ chủ khởi tạo tín hiệu xung nhòp của
chính nó khi đang truyền dữ liệu trên Bus. Tín hiệu xung nhòp trên I2C Bus từ
bộ chủ chỉ có thể được hiệu chỉnh khi nó được kéo dài bởi thiết bò tớ có tốc độ
chậm mà giữ đường SCL, hoặc bởi bộ chủ khác khi sự phân xử xảy ra.
V. Tính chất chung I2C Bus
Cả SDA và SCL đều là đường dây 2 chiều, được kết nối với nguồn
dương theo nguồn dòng hoặc diện trở kéo lên. (Xem hình 3). Khi Bus rảnh , cả
hai đường dây đều ở mức cao. Tần ngõ ra của thiết bò kết nối với I2C Bus phải
có cực máng mở hay cực thu mở để thực hiện hàm And nối dây. Dữ liệu trên
I2C Bus có thể được truyền đạt được tốc độ 100 kbit/s ở chế độ chuẩn (stardard
mode), tốc độ 400 kbit/s ở chế độ nhanh(fast mode), tốc độ 3.4 Mbit/s ở chế độ
tốc độ cao (high-speed mode). Số lượng thiết bò kết nối với I2C Bus là duy nhất
phụ thuộc vào điện dung của Bus giới hạn ở 400pF.
Hình 3: Tính chất I2C Bus
VI. Sự truyền bit.
Bởi vì nhiều thiết bò kỹ thuật đa dạng khác nhau ( CMOS, NMOS,
bipolar) có thể kết nối với I2C Bus mức logic “0” hoặc “1” thì không cố đònh
và phụ thuộc vào sự liên hợp mức logic của VDD. Một xung nhòp khởi tạo cho
mỗi bit dữ liệu được truyền.
1. Sự hợp lệ dữ liệu.
Dữ liệu trên đường SDA phải ổn đònh suốt khoảng thời gian ở mức cao
của xung nhòp. Trạng thái của SDA chỉ có thể thay đổi khi tín hiệu xung nhòp
trên đường SCL xuống mức thấp.(Xem hình 4)
Hình 4 : sự truyền bit trên I2C Bus.
2. Điều kiện KHỞI ĐỘNG và điều kiện DỪNG( START (S) và
STOP(P) conditions) .
Trong thủ tục của I2C Bus, những trạng thái duy nhất phát sinh dược

đònh nghóa là điều kiện KHỞI ĐỘNG và điều kiện DỪNG ( START (S) và
STOP(P) conditions).
Hình 5 : Điều kiện KHỞI ĐỘNG và điều kiện DỪNG.
Điều kiện KHỞI ĐỘNG(S) : là sự chuyển đổi trạng thái từ mức CAO
xuống mức THẤP trên SDA trong khi đó SCL ở mức CAO.
Điều kiện DỪNG (P) : là sự chuyển đổi trạng thái từ mức THẤP xuống
mức CAO trên SDA trong khi đó SCL ở mức CAO.
Điều kiện KHỞI ĐỘNG và điều kiện DỪNG thì luôn luôn được khởi
động bởi bộ chủ. Bus coi như là bận sau điều kiện KHỞI ĐỘNG. Bus sẽ trở lại
rảnh sau điều kiện DỪNG.
Bus ở trạng thái bận nếu KHỞI ĐỘNG lặp lại ( Sr : repeated START)
được kích khởi thay vì điều kiện DỪNG. Về điểm này, điều kiện KHỞI
ĐỘNG(S) và KHỞI ĐỘNG lặp lại (Sr) thì đònh nghóa giống nhau ( Xem hình
10) . Do đó, ở phần còn lại , ta sẽ gọi tắt
S đại diện cho cả Điều kiện KHỞI
ĐỘNG và KHỞI ĐỘNG lặp lại. Và
P đại diện cho điều kiện DỪNG.
Thiết bò kết nối với Bus phát hiện ra
S và P thì dễ dàng nếu chúng kết
hợp chặt chẽ giao diện phần cứng cần thiết. Tuy nhiên, vi điều khiển mà không
có giao diện như vậy phải lấy mẫu SDA ít nhất 2 lần trên 1 chu kỳ xung nhòp
để nhận biết được sự truyền.
VII. Truyền dữ liệu.
1. Đònh dạng byte.
Mỗi byte trên SDA phải dài 8-bits. Số lượng byte có thể truyền trong
truyền dữ liệu là không giới hạn. M
ỗi byte phải được kèm theo một bit xác nhận
( ACK). D
ữ liệu truyền bit có trọng số lớn nhất(MSB) trước ( Xem Hình 6). Nếu
bộ tớ không thể truyền hoặc nhận byte dữ liệu khác cho đến khi nó thực hiện

một số hành động khác, ví dụ như phục vụ cho việc ngắt nội bộ, nó có thể giữ
SCL ở mức THẤP để ép bộ tớ vào trạng thái chờ.Sự truyền dữ liệu sau đó sẽ
tiếp tục khi bộ tớ sẵn sàng cho byte dữ liệu khác và giải phóng SCL.
Hình 6: Truyền dữ liệu trên I2C Bus
Trong một số trường hợp, I2C Bus cho phép đònh dạng khác đònh dạng
của I2C Bus( ví dụ của CBUS). Một thông điệp mà bắt đầu với một đòa chỉ như
vậy có thể kết thúc bằng cách phát ra
P , thậm chí trong suốt quá trình truyền
một byte. Trong trường hợp này, không có ACK.
2. Sự xác nhận (acknowledge : ACK).
Truyền dữ liệu với ACK là bắt buộc. ACK có liên quan tới xung nhòp
được phát ra bởi bộ chủ. Bộ phát sẽ để cho SDA ở mức CAO trong suốt xung
nhòp của ACK.
Bộ phải kéo SDA xuống trong suốt xung nhòp của ACK để duy trì mức
THẤP trong suốt quá trình ở mức cao của xung nhòp này.(Xem hình 7). Tất
nhiên, sự thiết lập và thời gian giữ cũng dược đưa vào để tính toán.
Hình 7 : ACK trên I2C Bus
Thông thường, một bộ thu mà đã được đònh đòa chỉ thì bắt buộc phải khởi
tạo một bit ACK sau mỗi byte mà nó nhận được, trừ phi thông điệp đó bắt đầu
bằng đòa chỉ CBUS.
Khi bộ tớ không xác nhận đòa chỉ tớ ( ví dụ như: nó không nhận hoặc thu
bởi vì nó thực hiện một số chức năng trong thời gian thực), SDA phải rời khỏi
mức CAO bởi vì bộ tớ. Bộ chủ sau đó có thể khởi tạo hoặc là
P để hủy bỏ sự
truyền, hoặc
Sr để bắt đầu truyền dữ liệu mới.
Nếu bộ thu chủ xác nhận đòa chỉ tớ, nhưng sau đó sự truyền không
thể nhận thêm byte dữ liệu nào nữa, bộ chủ phải một lần nữa hủy bỏ sự truyền.
Điều này chứng tỏ rằng bộ tớ không khởi tạo ACK theo byte đầu tiên. Bộ tớ
đưa SDA ra khỏi mức CAO và bộ chủ khởi tạo

P hoặc Sr.
Nếu bộ thu chủ gặp rắc rối với sự truyền, nó phải phát tín hiệu kết thúc
dữ liệu đến bộ phát tớ bằng cách không khởi tạo ACK trên byte cuối cùng
Bộ phát tớ phải giải thoát SDA và cho phép bộ chủ khởi tạo P hoặc Sr.
VIII. Sự phân xử và sự khởi tạo xung nhòp.
1. Sự đồng bộ
Tất cả các bộ chủ khởi tạo xung nhòp của chúng trên SCL để chuyển
thông điệp trên I2C Bus. Dữ liệu chỉ hợp lệ trong suốt khoảng thời gian xung
nhòp ở mức CAO. Xung nhòp được đònh nghóa về việc này thì cần thiết cho thủ
tục phân xử theo từng bit xảy ra.
Đồng bộ xung nhòp được thực hiện bằng cách sử dụng And nối dây của
giao diện I2C đến SCL. Điều này có nghóa là sự chuyển tiếp từ mức CAO
xuống mức THẤP trên SCL gây ra cho thiết bò liên quan bắt đầu giai đoạn ở
mức THẤP ( LOW period) xung nhòp của một thiết bò sẽ xuống mức THẤP, nó
sẽ giữ trạng thái này cho đến khi đạt được trạng thái CAO.( Xem hình 8). Tuy
nhiên , sự chuyển tiếp từ mức THẤP xuống mức CAO của xung nhòp này có
thể không thay đổi trạng thái của SCL nếu xung nhòp của thiết bò khác vẫn ở
trong giai đoạn ở mức THẤP của nó. SCL sẽ được giữ ở mức THẤP bởi thiế bò
mà có giai đoạn ở mức THẤP của nó dài nhất. Những thiết bò với giai đoạn ở
mức THẤP của nó ngắn hơn trạng thái chờ ở mức CAO trong suốt thời gian
này.
Hình 8 : Đồng bộ xung nhòp trong thủ tục phân sử.
Khi tất cả các thiết bò liên quan không ở giai đoạn ở mức THẤP của
chúng, SCL sẽ được giải phóng và lên mức CAO. Không có sự khác biệt giữa
xung nhòp của thiết bò . Và tất cả các thiết bò sẽ khởi động đến giai đoạn ở mức
CAO của chúng. Nếu thiết bò đầu tiên hoàn thành giai đoạn ở mức CAO của
chúng và lại kéo SCL xuống THẤP.
Trong trường hợp này, xung nhòp của SCL mà được đồng bộ được khởi
động với giai đoạn ở mức THẤP của nó quyết đònh bởi thiết bò có giai đoạn ở
mức THẤP dài nhất, giai đoạn ở mức CAO của nó quyết đònh bởi thiết bò có

giai đoạn ở mức CAO ngắn nhất.
2. Sự phân xử( Arbitration).
Bộ chủ chỉ có thể bắt đầu sự truyền nếu Bus rảnh. Hai hay nhiều bộ chủ
có thể phát động
S trong khoảng thời gian duy trì nhỏ nhất ( the minimum hold
time : t
HD,STA
). của S mà kết quả trong đònh nghóa S đến Bus.
Sự phân xử xảy ra trên SDA, trong khi đó SCL ở mức cao , trong trường
hợp như vậy bộ chủ mà truyền đi mức CAO, trong khi đó một bộ chủ khác
truyền mức THẤP sẽ ngắt ngõ ra dữ liệu của nó bởi vì mức logic trên Bus
không tương thích với mức logic của chính nó.
Sự phân xử có thể tiếp tục cho nhiều bit. Giai đoạn đầu tiên là so sánh
các bit đòa chỉ. Nếu các bộ chủ mà cùng cố gắng để đònh chỉ cho cùng một thiết
bò, sự phân xử sẽ tiếp tục so sánh các bit dữ liệu nếu chúng là bộ phát chủ hoặc
bit ACK nếu chúng là bộ thu chủ. Bởi vì thông tin về đòa chỉ và dữ liệu trên
I2C Bus bởi bộ chủ thắng trong sự phân xử, không có thông tin bò mất trong
suốt quá trình phân xử.
Bộ chủ mà thua trong sự phân xử có thể phát động xung nhòp cho đến
khi kết thúc byte mà nó thua trong sự phân xử.

×