Tải bản đầy đủ (.pptx) (17 trang)

PowerPoint template

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 (829.91 KB, 17 trang )

Chào mừng cơ và các bạn đến với buổi
thuyết trình của nhóm 2


Đề tài: Tìm hiểu về các chuẩn giao tiếp
SPI/I2C

Sinh viên thực hiện:
Chu Minh Đạo
Đào Văn Nghĩa
Trần Ngọc Khiêm


1. Khái niệm



I2C ( Inter – Integrated Circuit) là một giao thức giao tiếp nối
tiếp đồng bộ được phát triển bởi Philips Semiconductors,
sử dụng để truyền nhận dữ liệu giữa các IC với nhau chỉ sử
dụng hai đường truyền tín hiệu.



Các bit dữ liệu sẽ được truyền từng bit một theo các khoảng
thời gian đều đặn được thiết lập bởi một tín hiệu đồng hồ.



Bus I2C thường được sử dụng để giao tiếp ngoại vi cho rất
nhiều loại IC khác nhau như các loại vi điều khiển, cảm biến,


EEPROM, … .


2. Cấu tạo





I2C sử dụng 2 đường truyền tín hiệu:
SCL - Serial Clock Line : Tạo xung nhịp đồng hồ do Master phát đi.
SDA - Serial Data Line : Đường truyền nhận dữ liệu.
Hai bus I2C (SDA, SCL) đều hoạt động như các bộ lái cực máng hở
(open drain). Vì vậy, một điện trở kéo lên (khoảng 1 kΩ - 4,7 kΩ) được
sử dụng cho mỗi đường bus, giữ cho chúng ở mức cao để tránh xảy ra
hiện tượng ngắn mạch.

4


3. Khung truyền I2C



Dữ liệu được truyền giữa thiết bị Master và các thiết bị Slave thông qua một đường dữ liệu SDA duy nhất, thơng qua
các chuỗi có cấu trúc gồm các số 0 và 1 (bit).



Mỗi chuỗi số 0 và 1 được gọi là giao dịch (transaction) và dữ liệu trong mỗi giao dịch có cấu trúc như hình vẽ.


5


3. Khung truyền I2C


Khối bit địa chỉ : Q trình truyền nhận sẽ diễn ra với rất nhiều thiết bị, IC với nhau. Do đó để phân biệt các thiết bị
này, chúng sẽ được gắn 1 địa chỉ vật lý 7 bit cố định.



Bit Read/Write: Bit này dùng để xác định quá trình là truyền hay nhận dữ liệu từ thiết bị Master. Nếu Master gửi dữ
liệu đi thì bit này bằng ‘0’, nhận dữ liệu khi bit này bằng ‘1’.



Bit ACK/NACK: Viết tắt của Acknowledged/Not Acknowledged. Dùng để so sánh bit địa chỉ vật lý của thiết bị so với địa
chỉ được gửi tới. Nếu trùng thì Slave đặt bằng ‘0’, nếu khơng trùng thì mặc định bằng ‘1’.



Khối bit dữ liệu: Gồm 8 bit và được thiết lập bởi bên gửi. Sau khi các bit này được gửi đi, lập tức 1 bit ACK/NACK được
gửi ngay theo sau để xác nhận rằng thiết bị nhận đã nhận được dữ liệu thành cơng hay chưa. Nếu nhận thành cơng thì
bit ACK/NACK được set bằng ‘0’ và ngược lại.

6


4. Q trình truyền nhận dữ liệu



Bắt đầu: Thiết bị Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường SDA, SCL từ mức 1
xuống 0.




Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới Slave muốn giao tiếp cùng với bit Read/Write.
Slave so sánh địa chỉ vật lý với địa chỉ vừa được gửi tới. Nếu trùng khớp, Slave sẽ kéo đường SDA xuống
0 và set bit ACK/NACK bằng ‘0’. Nếu không trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng ‘1’.



Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu. Nếu Master gửi đến Slave thì bit Read/Write ở mức
0. Nếu nhận thì bit này ở mức 1.



Nếu dữ liệu đã được truyền đi thành công, bit ACK/NACK được set thành mức 0 để báo hiệu cho Master
tiếp tục.



Sau khi tất cả dữ liệu đã được gửi đến Slave thành cơng, Master sẽ phát 1 tín hiệu Stop để báo cho các
Slave biết quá trình truyền đã kết thúc bằng cách chuyển lần lượt SCL, SDA từ mức 0 lên mức 1.

7



5. Các chế độ hoạt động của I2C


Dựa vào tốc độ ta chia làm hai loại:

o

Chế độ chuẩn (standard mode) hoạt động
ở tốc độ 100 Kbit/s.

o

Chế độ tốc độ thấp (low-speed mode) hoạt
động ở tốc độ 10 Kbit/s.



Chia theo quan hệ chủ tớ:

o
o
o

Một Master một Slave.
Một Master nhiều Slave.
Nhiều Master nhiều Slave.

8



II. Giao Tiếp SPI
1. Khái niệm



SPI (Serial Peripheral Interface) là giao diện ngoại vi
nối tiếp, được phát triển bởi hãng Motorola.



Chuẩn đồng bộ nối truyền dữ liệu ở chế độ full duplex (song cơng tồn phần). Tại 1 thời điểm có thể
xảy ra đồng thời q trình truyền và nhận.



Là giao tiếp đồng bộ.



SPI thường được sử dụng giao tiếp với bộ nhớ
EEPROM, RTC, các loại cảm biến, thẻ nhớ ,…


2. Cấu tạo



Sử dụng 4 đường giao tiếp hay cịn gọi là chuẩn truyền thông “4 dây”.
SCK (Serial Clock): Thiết bị Master tạo xung tín hiệu SCK và cung cấp cho
Slave. Xung này có chức năng giữ nhịp cho giao tiếp SPI.




MISO (Master Input Slave Output): Tín hiệu tạo bởi thiết bị Slave và nhận
bởi thiết bị Master. Đường MISO phải được kết nối giữa thiết bị Master và
Slave.



MOSI (Master Output Slave Input): Tín hiệu tạo bởi thiết bị Master và
nhận bởi thiết bị Slave. Đường MOSI phải được kết nối giữa thiết bị Master và
Slave.



SS (Slave Select) hay CS (Chip Select): Chọn thiết bị Slave cụ thể để giao
tiếp.

10


3. Khung truyền SPI



Mỗi chip Master hay Slave đều có một thanh ghi dữ liệu 8 bits.
Quá trình truyền nhận giữa Master và Slave xảy ra đồng thời sau 8 chu kỳ đồng hồ,
một byte dữ liệu được truyền theo cả 2 hướng.




Q trình trao đổi dữ liệu bắt đầu khi Master tạo 1 xung clock từ bộ tạo xung nhịp
(Clock Generator) và kéo đường SS của Slave mà nó truyền dữ liệu xuống mức Low.



Cứ 1 xung Clock, Master sẽ gửi đi 1 bit từ thanh ghi dịch của nó đến thanh ghi dịch
của Slave thơng qua đường MOSI. Đồng thời Slave cũng gửi lại 1 bit đến cho Master
qua đường MISO.Như vậy sau 8 chu kỳ Clock thì hồn tất việc truyền và nhận 1 byte
dữ liệu.



Dữ liệu của 2 thanh ghi được trao đổi với nhau nên tốc độ trao đổi diễn ra nhanh và
hiệu quả.

11


4. Chế độ hoạt động


SPI có 4 chế độ hoạt động phụ thuộc vào cực của xung giữa (Clock Polarity –
CPOL) và pha (Phase - CPHA).







CPOL dùng để chỉ trạng thái của chân SCK ở trạng thái nghỉ.
Chân SCK giữ ở mức cao khi CPOL=1 hoặc mức thấp khi CPOL=0.
CPHA dùng để chỉ cách mà dữ liệu được lấy mẫu theo xung.
Dữ liệu sẽ được lấy ở cạnh lên của SCK khi CPHA=0 hoặc cạnh xuống khi
CPHA=1.

12


4. Chế độ hoạt động


Mode 0 (mặc định): Xung nhịp của đồng hồ ở mức thấp (CPOL = 0) và dữ liệu
được lấy mẫu khi chuyển từ thấp sang cao (cạnh lên) (CPHA = 0).



Mode 1: Xung nhịp của đồng hồ ở mức thấp (CPOL = 0) và dữ liệu được lấy
mẫu khi chuyển từ cao sang thấp (cạnh xuống) (CPHA = 1).



Mode 2: Xung nhịp của đồng hồ ở mức cao (CPOL = 1) và dữ liệu được lấy
mẫu khi chuyển từ cao sang thấp (cạnh lên) (CPHA = 0).



Mode 3: Xung nhịp của đồng hồ ở mức cao (CPOL = 1) và dữ liệu được lấy
mẫu khi chuyển từ thấp sang cao (cạnh xuông) (CPHA = 1).


13


5. Các sơ đồ kết nối giao tiếp SPI



Một thiết bị Master và một thiết bị Slave.
Một thiết bị Master và nhiều thiết bị Slave (chế độ độc lập
– Independent).



Một thiết bị Master và nhiều thiết bị Slave ( chế độ dây
chuyền - Daisy).


III. So sánh SPI/I2C
I2C

SPI

Cho phép hoạt động nhiều master nhiều slave, điều này có

Cho phép hoạt động nhiều slave nhưng chỉ có duy nhất một

nghĩa là có nhiều hơn một master và slave trên một đường Bus

master, có nghĩa là chỉ có duy nhất một master trên một đường
Bus


Hỗ trợ truyền bán song công

Hỗ trợ truyền song công

Truyền data theo xung clock

Không truyền data theo xung clock

Sử dụng 2 dây: SCL, SDA

Sử dụng 4 dây: MISO, MOSI, SCL, SS/CS

Truyền nối tiếp 2 chiều tốc độ lên đến 3.4 Mbit/s(High-

Tốc độ truyền có thể lên đến 24Mbit/s

speed mode). Truyền đơn hướng tốc độ lên đến 5Mbit/s.

Dòng tiêu thụ điện nhiều hơn (~2ma)

Dịng tiêu thụ ít hơn(~1ma)

Ít nhiễu hơn spi

Nhiều hơn i2c
15


III. So sánh SPI/I2C


Dòng tiêu thụ điện nhiều hơn (~2ma)

Dòng tiêu thụ ít hơn(~1ma)

Ít nhiễu hơn spi

Nhiều hơn i2c

Chi phí rẻ hơn

Chi phí cao hơn

Có dùng điện trở kéo lên

Khơng yêu cầu điện trở kéo lên

16


THANKS FOR LISTENING



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×