1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo bài tập lớn THIẾT kế LUẬN lý HDL SPI GIAO DIỆN NGOẠI VI nối TIẾP

18 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 2,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chuẩn SPI được phát triển bởi Motorola vào những năm 1980 Đây là một loại giao thức kiểu Master – Slave cung cấp một giao diện chi phí thấp giữa vi điều khiển và các thiết bị ngoại vi củ

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

_

HDL NHÓM 3

CÁN BỘ GIẢNG DẠY: NGUYỄN XUÂN QUANG

LỚP: L03

THÀNH PHỐ HỒ CHÍ MINH 2022

Trang 2

ĐẠI HỌC QUỐC GIA TP.HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

_

BÁO CÁO BÀI TẬP LỚN THIẾT KẾ

LUẬN LÝ HDL NHÓM 3 “ SPI-GIAO DIỆN NGOẠI VI NỐI TIẾP”

CÁN BỘ GIẢNG DẠY: NGUYỄN XUÂN QUANG

LỚP: L03

THÀNH PHỐ HỒ CHÍ MINH 2022

Trang 3

Tên lớp: L03

Nhóm: 3

Thành viên nhóm:

Nhận xét của giáo viên:

Ngày 04 tháng 05 năm 2022 Giáo viên chấm điểm

Trang 4

Mục Lục

1 Cơ sở lý thuyết và ứng dụng 5

2 Giới thiệu SPI 5

3 Các thành phần quan trọng trong SPI 6

4 Cách thức hoạt động 9

5 Cách thức hoạt động 11

6 Ứng dụng SPI 12

7 Ưu và nhược điểm của SPI 12

8.Code SPI 13

9.Tài liệu tham khảo 18

Trang 5

1 Cơ sở lý thuyết và ứng dụng:

Giao tiếp giữa các thiết bị điện tử như giao tiếp giữa người với người

Cả hai đều phải nói chung 1 ngôn ngữ Trong điện tử, những ngôn ngữ này được gọi là những ngôn ngữ giao thức

Có 3 loại ngôn ngữ: SPI, I2C, UART

3 loại ngôn ngữ này đều chậm hơn những giao thức như USB, ethernet, Wifi nhưng chúng đơn giản hơn nhiều và sử dụng ít phần cứng và tài nguyên hệ thống hơn

Các thiết bị điện tử giao tiếp với nhau bằng cách gửi bit data bằng dây kết nối giữa các thiết bị Một bit như là một lá thư, ngoại trừ thay vì 26

từ trong bảng chữ cái thì thay vào đó chỉ là số nhị phân 0 và 1

Trong một hệ thống thực thi tại 5V, bit số 0 được giao tiếp tại xung 0V,

và bit số 1 được giao tiếp tại xung 5V

Các bit có thể được truyền song song (cùng một lúc) hoặc nối tiếp(tuần tự)

2 Giới thiệu SPI:

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 vào những năm 1980

Đây là một loại giao thức kiểu Master – Slave cung cấp một giao diện chi phí thấp giữa vi điều khiển và các thiết bị ngoại vi của nó, được sử dụng trong các thiết bị khác nhau Ví dụ: module thẻ SD, module đầu đọc thẻ RFID và bộ phát/ thu không dây 2,4Hz

Master là thiết bị điều khiển (thường là vi điều khiển), còn slave (thường

là cảm biến, màn hình hoặc chip nhớ) nhận lệnh từ master

Trang 6

Đâ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

Cấu hình đơn giản nhất của SPI là hệ thống 1 slave, một master duy nhất, một master có thể điều khiển nhiều hơn 1 slave

Trên thực tế, số lượng Slave bị giới hạn bởi điện dung tải của hệ thống,

mà làm giảm khả năng của Master thay đổi chính xác giữa 2 cấp điện thế

Đôi khi SPI còn được gọi là chuẩn giao tiếp 4 dây (Four-wire)

3 Các thành phần quan trọng trong SPI:

- Tín hiệu đồng hồ:

Phải được cung cấp bởi Master và Slave (hoặc tất cả các Slave trong trường hợp thiết lập nhiều Slave)

Có hai loại cơ chế kích hoạt trên tín hiệu đồng hồ được sử dụng để báo cho bên nhận biết về dữ liệu: kích hoạt cạnh và kích hoạt mức

Kích hoạt cạnh thường được sử dụng nhất, có hai loại: cạnh lên và cạnh xuống Tùy thuộc vào cách bộ thu được cấu hình, lên trên phát hiện các cạnh, bộ thu sẽ tìm kiếm dữ liệu trên bus dữ liệu từ bit tiếp theo

- Cực của xung giữ nhịp (CPOL):

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 theo xung giữ nhịp

Trang 7

Dữ liệu có thể được truyền đi ở cạnh lên của SCK (CPHA = 0) hoặc cạnh xuống (CPHA =1)

- Các chế độ hoạt động:

Sự kết hợp của SPOL và CPHA làm nên 4 chế dộ hoạt động của SPI 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à làm sao cho có sự tương thích giữa Master và Slave

Mode 0:

Mode 0 xảy ra khi Clock Polarity và Clock Phase là 0 (CPOL = 0 và CPHA = 0) Trong Mode 0, truyền dữ liệu xảy ra trong khi cạnh lên của xung đồng hồ

Mode 1:

Mode 1 xảy ra khi Clock Polarity là 0 và Clock Phase là 1 (CPOL = 0 và CPHA = 1) Trong mode 1, việc truyền dữ liệu xảy ra trong khi cạnh xuống của xung đồng hồ

Mode 2:

Trang 8

Mode 2 xảy ra khi Clock Polarity là 1 và Clock Phase là 0 (CPOL = 1 và CPHA = 0) Trong mode 2, truyền dữ liệu xảy ra trong khi cạnh lên của xung đồng hồ

Mode 3:

Mode 3 xảy ra khi Clock Polarity là 1 và Clock Phase là 1 (CPOL = 1 và CPHA = 1) Trong mode 3, truyền dữ liệu xảy ra trong khi cạnh lên của xung đồng hồ

Do 2 gói dữ liệu trên 2 chip này được gửi qua lại đồng thời sau 8 chu kì đồng hồ nên quá trình truyền dữ liệu này gọi là song công toàn phần (full - duplex)

- Các tín hiệu trong SPI:

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,

thường được gửi với bit ít quan trọng nhất trước

 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

kéo đường SS của một Slave nào đó xuống đường mức thấp thì sẽ xảy ra việc giao tiếp với Slave đó

bằng cách nối chuỗi hoặc nối song song, ở một thời điểm xác định chỉ có 1 Slave được hoạt động

Trang 9

4 Cách thức hoạt động:

Bắt đầu hoạt động: Master quyết định Slave nào để gửi dữ liệu bằng cách kéo chân SS xuống thấp kích hoạt clock ở cả Master và Slave Trước đó, tất cả các Slave có chân SS đều có mức cao

Mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits

Master tạo tín hiệu đồng hồ SCLK và được cung cấp đầu vào đồng hồ của Slave Xung này có chức năng giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ nhịp

Mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK thì 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 Slave được truyển qua Master trên đường MISO

Trang 10

Sự tồn tại của xung SCK giúp quá trình truyền ít bị lỗi và làm cho tốc độ truyền rất cao

Tóm tắt:

Master tạo ra tín hiệu xung nhịp (SCLK)

Master chuyển chân SS/CS sang mức thấp để kích hoạt Slave

Master gửi dữ liệu từng bit tới một Slave theo đường MOSI để Slave đọc

Slave sẽ phản hồi cho Master bằng đường MISO (nếu cần) để Master đọc

5 Phần cứng SPI:

Hãy xem xét một Master và một Slave đơn được kết nối bằng bus SPI Hình ảnh sau đây cho thấy các yêu cầu hệ thống tối thiểu cho cả hai thiết bị

Trang 11

Từ hình ảnh trên cho thấy thiết bị Master bao gồm một thanh ghi dịch (Shift Register), một mạch chốt dữ liệu (Latch) và một bộ tạo xung nhịp (Clock Generator)

Thiết bị Slave bao gồm phần cứng tương tự Cả hai thanh ghi dịch được kết nối để tạo thành một vòng

Thiết bị Master bắt đầu việc trao đổi dữ liệu bằng cách truyền đi một Byte vào thanh ghi dịch của nó, sau đó Byte dữ liệu sẽ được đưa sang Slave theo đường tín hiệu MOSI, Slave sẽ truyền dữ liệu nằm trong thanh ghi dịch của chính nó ngược trở về Master thông qua đường tín hiệu MISO Bằng cách này, dữ liệu của hai thanh ghi sẽ được trao đổi với nhau Việc đọc và ghi dữ liệu vào Slave diễn ra cùng một lúc nên tốc

độ trao đổi dữ liệu diễn ra rất nhanh Do đó, giao thức SPI là một giao thức rất có hiệu quả

Bởi vì với mỗi chu kỳ đồng hồ, một bit dữ liệu được truyền theo từng hướng tức là từ Master đến Slave và từ Slave đến Master Vì vậy, đối với một byte dữ liệu được truyền từ mỗi thiết bị, nó sẽ mất 8 chu kỳ đồng hồ

Trang 12

6 Ứng dụng của SPI

Giao thức SPI được tích hợp trong một số loại thiết bị như:

LCD, video game controller,…

Điều làm cho SPI trở nên phổ biến trong các giao thức truyền thông đồng bộ nối tiếp khác là nó cung cấp tốc độ truyền dữ liệu bảo mật cao, không bị gián đoạn với phần cứng khá đơn giản, giống như thanh ghi dịch với chi phí tương đối thấp

7 Ưu và nhược điểm của SPI

Ưu điểm:

Không có bit bắt đầu và dừng, vì vậy dữ liệu có thể được truyền liên tục

mà không bị gián đoạn

Không có hệ thống định địa chỉ slave phức tạp như I2C

Tốc độ truyền dữ liệu cao hơn I2C (nhanh gần gấp đôi)

Các đường MISO và MOSI riêng biệt, vì vậy dữ liệu có thể được gửi và nhận cùng một lúc

Nhược điểm:

Sử dụng bốn dây (I2C và UART sử dụng hai)

Không xác nhận dữ liệu đã được nhận thành công (I2C có điều này) Không có hình thức kiểm tra lỗi như bit chẵn lẻ trong UART

Chỉ cho phép một master duy nhất

Trang 13

8 Code SPI:

Trang 14

Schematic

Trang 15

Waveform

Trang 16

Console

Trang 17

Console

Trang 18

9 Tài liệu tham khảo:

Chuẩn giao tiếp SPI và cách kết nối - Blog Chia Sẻ Kiến Thức Và Đam Mê Điện Tử (dammedientu.vn) Basics of the SPI Communication Protocol (circuitbasics.com)

SPI Working with Verilog Code (shashisuman.com)

Chuẩn giao tiếp SPI – Trung Kien's Blog (wordpress.com)

Ngày đăng: 01/11/2022, 05:15

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w