Chuẩn Giao Tiếp SPI - Trung Kien's Blog
Có thể bạn quan tâm
Khái niệm
SPI viết tắt của Serial Peripheral Interface, SPI bus – Giao diện ngoại vi nói tiếp, bus SPI. Chuẩn SPI được phát triển bởi Motorola. Đây là một chuẩn đồng bộ nối tiếp để truyền dữ liệu ở chế độ song công toàn phần (full- duplex) tức trong cùng một thời điểm có thể xảy ra đồng thời quá trình truyền và nhận. Đôi khi SPI còn được gọi là chuẩn giao tiếp 4 dây (Four-wire).
SPI là giao diện đồng bộ, bất cứ quá trình truyền nào cũng được đồng bộ hóa với tín hiệu clock chung. Tín hiệu này sinh ra bởi master.
Trong giao diện SPI có bốn tín hiệu số:
- MOSI hay SI – cổng ra của bên Master ( Master Out Slave IN). Đây là chân dành cho việc truyền tín hiệu từ thiết bị chủ động đến thiết bị bị động.
- MISO hay SO – Công ra bên Slave (Master IN Slave Out). Đây là chân dành cho việc truyền dữ liệu từ Slave đến Master.
- SCLK hay SCK là tín hiệu clock đồng bộ (Serial Clock). Xung nhịp chỉ được tạo bởi Master.
- CS hay SS là tín hiệu chọn vi mạch ( Chip Select hoặc Slave Select). SS sẽ ở mức cao khi không làm việc. Nếu Master kéo SS xuông thấp thì sẽ xảy ra quá trình giao tiếp. Chỉ có một đường SS trên mỗi slave nhưng có thể có nhiều đường điều khiển SS trên master, tùy thuộc vào thiết kế của người dùng.
Nguyên lý hoạt động
Để bắt đầu hoạt động thì kéo chân SS xuống thấp và kích hoạt clock ở cả Maser và Slave.
Mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits.
Cứ mỗi của xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi dữ liệu của chip Slave cũng được truyền qua Master trên đường MISO.
Lưu ý, có thể config tín hiệu đồng bộ clock theo sườn, theo mức ….
Hiện tại có 4 mode cơ bản (MODE 0. 1,2,3) của SPI dựa vào config SCLK như sau:
Cực của xung giữ nhịp, phase và các chế độ hoạt động: cực của xung giữ nhịp (Clock Polarity) được gọi tắt là CPOL .Đây là khái niệm dùng chỉ trạng thái của chân SCK ở trạng thái nghỉ.
Ở trạng thái nghỉ (Idle), chân SCK có thể được giữ ở mức cao (CPOL=1) hoặc thấp (CPOL=0).
Phase (CPHA) dùng để chỉ cách mà dữ liệu được lấy mẫu (sample) theo xung giữ nhịp.
Dữ liệu có thể được lấy mẫu ở cạnh lên của SCK (CPHA=0) hoặc cạnh xuống (CPHA=1).
Sự kết hợp của SPOL và CPHA làm nên 4 chế độ hoạt động của SPI. Nhìn chung việc chọn 1 trong 4 chế độ này không ảnh hưởng đến chất lượng truyền thông mà chỉ cốt sao cho có sự tương thích giữa Master và Slave.
Do 2 gói dữ liệu trên 2 chip được gởi qua lại đồng thời nên quá trình truyền dữ liệu này được gọi là “song công”.
So sánh SPI và I2C
Từ những trình bày ở trên, ta có thể đưa ra các nhận xét và so sánh với I2C như sau:
-
Bus topology / Routing / Resouce
I2C chỉ cần 2 dây trong khi SPI cần ít nhất 3 – 4 dây (Trong trường hợp dùng SPI muốn thêm Slave thì sẽ tăng số lượng dây). Việc tạo Bus I2C cũng dễ dàng hơn nhiều so với SPI do chỉ cần 2bit là có thể kết nối được số thiết bị lớn (7bit).
-
Tốc độ
Về tốc độ thì SPI tỏ ra vượt trội so với I2C. SPI là full-duplex, không giới hạn tốc độ tối đa thường hơn 10Mbps. Trong khi đó I2C giới hạn tốc độ thông thường 1Mbps nếu ở fasst mode và 3.4Mbps ở High speed mode.
-
Tính năng
I2c có nhiều tính năng cao cấp hơn như automatic multi-master conflicts handling and build-in address management. Tuy nhiên chính điều này lại làm giảm tốc độ.
SPI thì rất dễ thực hiện và cung cấp rất nhiều tính linh hoạt cho tiện ích mở rộng và các biến thể.
Tham khảo link
Chia sẻ:
Từ khóa » Tốc độ Spi
-
Giao Tiếp SPI - Deviot
-
Tốc độ SPI Và I2C ???? - Dien Tu Viet Nam
-
Chuẩn Giao Tiếp SPI Và Cách Kết Nối
-
Lựa Chọn Giữa I2C Và SPI Cho Dự án Của Bạn - EYEWATED.COM
-
Hướng Dẫn Sử Dụng Giao Tiếp SPI Trên STM32F4 - TAPIT
-
Chuẩn Giao Tiếp SPI Là Gì - ĐIỆN TỬ TƯƠNG LAI
-
Arduino Và Giao Tiếp SPI | Cộng đồng Arduino Việt Nam
-
Giao Tiếp SPI - IoTDev
-
Chuẩn Giao Tiếp SPI - Diễn đàn Kỹ Thuật điện Tử
-
Bài 3 : Lập Trình Raspberry Giao Tiếp SPI - MLAB
-
BÀI 11: SPI VỚI STM32F1 - Chia Sẻ Các Vấn đề điện Tử
-
Bộ Lập Trình Usb Spi Tốc Độ Cao Cho Ezp2019 24 25 26 93 ...
-
Chip Bios Tốc Độ Cao Ezp2019 Usb Spi Hỗ Trợ 24 25 93 Eeprom ...
-
Jtag Spi Chất Lượng, Giá Tốt 2021
-
Bài 12: Lập Trình STM32 Với Giao Thức SPI - Khuê Nguyễn
-
USB Tốc Độ Cao Để SPI I2C PWM ADC GPIO UART Có Thể Lâm ...
-
Lập Trình STM32 Với Giao Thức SPI - OLP Tiếng Anh
-
Usb Tốc Độ Cao Ezp2019 Spi Hỗ Trợ 32m Flash 24 25 93 Eeprom ...
-
Chuẩn Giao Tiếp Spi Và Cách Kết Nối