Title Image

Blog Logo

Bài 19. Chuẩn giao tiếp SPI

🌱 Bài 19. Chuẩn giao tiếp SPI

    👉 Tổng quan về chuẩn giao tiếp SPI

    SPI - Viết tắt của Serial Peripheral Interface, là một chuẩn truyền thông nối tiếp, đồng bộ, khác với UART là một chuẩn nối tiếp không đồng bộ. Đồng bộ ở đây có nghĩa là dữ liệu truyền nhận sẽ được đồng bộ theo xung clock (cụ thể 1 chu kỳ xung clock sẽ cho phép truyền/nhận 1 bit dữ liệu).

    SPI hoạt động theo cơ chế Master - Slave, và có thể có nhiều Slave trên đường bus giao tiếp.

    ➤ Sơ đồ chân

  • MOSI - Master Out - Slave In, là chân truyền dữ liệu của Master và nhận dữ liệu của Slave.
  • MISO - Master In - Slave Out, là chân nhận dữ liệu của Master và truyền dữ liệu của Slave.
  • SCLK - Chân cấp xung Clock từ Master.
  • SS/CS - Chân chọn chip, hoạt động tích cực thấp. 

    👉 Cơ chế hoạt động

    Phần cứng SPI bao gồm một bộ thanh ghi dịch 8 - bits để chưa dữ liệu cần truyền / nhận; bên cấu hình chế độ Master còn có một bộ Clock Generator để cấp xung Clock đồng bộ.

   
    Mỗi chu kỳ xung clock mà Master cấp cho Slave, một bit dữ liệu sẽ được đẩy đi trên thanh ghi dịch. 


    Nhìn trong hình khi một bit được truyền trên chân MOSI thì một bit từ Slave cũng có thể được trả ngược lại trên chân MISO. Vì vậy, SPI có thể hoạt động ở chế độ Full-duplex. 

    👉 Các chế độ hoạt động

    Giao thức SPI cho phép truyền đi một bit dữ liệu mỗi chu kỳ xung clock, vì vậy, các chế độ hoạt động của SPI phụ thuộc và sự thay đổi của xung clock. Ta có 2 khái niệm:
  • CPOL - Clock Polarity: Xác định trạng thái CLK ở trạng thái nghỉ (Idle).
  • CPHA - Clock Phase: Xác định sường xung Rising/Falling để truyền data.

    Với sự thay đổi CPOL / CPHA thì sẽ có 4 chế độ hoạt động tương ứng. 

    👉 Các ứng dụng của SPI

    Giao thức SPI được tích hợp trong một số loại thiết bị:
  • Các bộ chuyển đổi (ADC và DAC)
  • Các loại bộ nhớ (SD Card , MMC , EEPROM , Flash)
  • Các loại IC thời gian thực
  • Các loại cảm biến (nhiệt độ, áp suất…)
  • Và một số loại khác như: bộ trộn tín hiệu, LCD, Graphic LCD, video game controller,…
>>>= Follow ngay =<<<

💚 Kênh Youtube Lập trình - Điện tử 💚

Để nhận được những bài học miễn phí mới nhất nhé 😊


Xem Bài 18                                   Xem Bài 20

Đăng nhận xét

0 Nhận xét