1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu giao diện SPI

35 233 1

Đ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 35
Dung lượng 1,36 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 giao tiếp SPI ng y ng được sử dụng r ng rã rong lĩnh v đ ện tử, đặc biệt là trong giao tiếp rao đổi dữ liệu với các thiết bị ngoại vi..  Có thể mô tả tóm tắt các tín hiệu của giao

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN



C T N

Lập trình nhúng cơ bản

Tìm hiểu giao diện SPI

Giảng v ên hướng dẫn: T.S Phạm Văn H

Sinh v ên h h ện h m

Tăng Quang hả Nguyễn Tuấn Anh

H

Trang 2

MỤC LỤC

LỜI ÓI ẦU 6

PHẦN 1: MỞ ẦU 7

1 Tên đ tài 7

2 Lý do chọn đ tài 7

3 Mục tiêu nghiên cứu 7

4 Bố cụ đ tài 7

PHẦN 2: NỘI DUNG 8

CHƯƠ G I GIỚI THIỆU GIAO DIỆN SPI 8

1.1 Giới thiệu 8

1.2 Chuẩn truy n thông SPI 8

1.2.1 Cấu trúc SPI 8

1.2.2 SPI truy n hông như hế nào? 10

1.2.3 SPI là giao thứ đồng b 11

1.2.4 SPI là giao thứ rao đổi dữ liệu 12

1.3 Các kiểu kết nối SPI 14

1.3.1 Kết nố đ ểm – đ ểm ( point-to-point ) 14

1.3.2 Kết nối Multi-slave 15

1.3.3 Kết nối Multi-master 16

CHƯƠ G II GIAO DIỆ SPI TRÊ VI IỀU KHIỂN STM32F4 VỚI LÕI ARM CORTEX-M4 19

1.1 Tổng quan v ARM và Cortex-M 19

1.2 Tổng quan v b vi xử lý Cortex-M4 22

1.3 Lõi Cortex-M4 (CPU Cortex) 22

1.4 SPI trên STM32 24

1.5 Th ế lập SPI rên STM3 25

CHƯƠ G III HẬ XÉT VỀ GIAO DIỆ SPI 33

3.1 Những ưu đ ểm của SPI 33

3.2 Những nhượ đ ểm của SPI 33

ẾT LUẬ 34

Trang 3

TÀI LIỆU THAM KHẢO 35

Trang 4

DANH MỤC HÌNH

Hình 1: Giao diện SPI 9

Hình 2: Truyền dữ liệu SPI 10

Hình 3: Giản đồ timing của giao tiếp SPI theo Motorola 11

Hình 4: Giản đồ thời gian của SPI ở Mode 0 13

Hình 5: Giản đồ thời gian của SPI ở Mode 1 13

Hình 6: Giản đồ thời gian của SPI ở Mode 2 14

Hình 7: Giản đồ thời gian của SPI ở Mode 3 14

Hình 8: Kết nối point-to-point, một master nối với một slave 15

Hình 9: Kết nối nhiều slave song song 16

Hình 11: Kết nối hai master song song đến một slave 17

Hình 12: Kết nối hai master với nhau 18

Hình 13: Vi mạch tích hợp của một vi điều khiển 20

Hình 14: Các sản phẩm trong dòng vi xử lý Cortex 21

Hình 15: Các thế hệ dòng vi xử lý Cortex-M 21

Hình 16: Kiến trúc bộ vi xử lý ARM Cortex-M4 22

Hình 17: Lõi ARM7TDMI của Cortex-M4 23

Hình 18: Kiến trúc đường ống của ARM Cortex-M4 23

Hình 19: Sơ đồ khối SPI 24

Hình 20: Kết nối giữa SPI và MMC/SD card 25

Trang 5

DANH MỤC BẢNG

Bảng 1: Các tín hiệu của giao diện SPI 10 Bảng 2: Các chế độ truyền thông trong giao thức SPI 13 Bảng 3: Danh sách các kiến trúc và lõi vi xử lý mà ARM đã thiết kế 19

Trang 6

LỜI NÓI ĐẦU

H ện nay, á v xử lý hay v đ u kh ển đang đượ sử dụng r ng rã rong nh u lĩnh v như đ u kh ển, đ ng h a, đo đạ , ruy n hông So vớ á phương pháp

đ u kh ển, đo đạ ruy n hống ( ơ khí, đ ện ử ương ) hì sử dụng v xử lý

á ưu đ ểm như nhỏ gọn, í ốn năng lượng, hờ g an đáp ứng nhanh, hể lập rình đượ

Cùng vớ đ g ao d ện SPI ngày càng đượ sử dụng r ng rã trong ngành công ngh ệp ơ đ ện ử hận hứ đượ ầm quan rọng ủa g ao d ện SPI rong v ệ ứng dụng v o lập rình v đ u kh ển l ơ sở để húng em họn đ b ập lớn “Tìm

h ểu g ao d ện SPI”

Dướ s hướng dẫn, hỉ bảo nh ệ ình ủa hầy Phạm Văn H ùng vớ s ố gắng

nỗ l ủa á h nh v ên rong nh m húng em đã ho n h nh đ đúng hờ g an

ho phép Tuy nh ên do hờ g an hạn hế, ũng như vớ ầm h ểu b ế hạn nên húng em không ránh khỏ sa s Vì vậy húng em rấ mong nhận đượ nh u ý k ến đánh g á, g p ý ủa hầy g áo v á bạn để húng em hể ho n h ện hêm đ này

Chúng em x n hân h nh ảm ơn!

Trang 7

PHẦN 1: MỞ ĐẦU

1 Tên đề tài

Tìm hiểu giao diện SPI

2 Lý do chọn đề tài

Ngày nay, khoa học kỹ thuật phát triển như vũ bão Hệ thống thiết bị đ ện

tử, mạ h đ ện tử, đ ện tử kỹ thuật số đã l m hay đổi sâu sắc toàn b hoạt

đ ng sản xuất của on người Kỹ thuậ đ ện tử số đã v đang hay hế dần các

kỹ thuậ ương v òn đ ng va rò hen hốt trong cu c cách mạng kỹ thuật

và công nghệ Song song với s phát triển thần kì của cu c cách mạng khoa học – công nghệ, kỹ thuật số đã dần dần có mặt trong hầu hết tất cả các thiết

bị từ dân dụng đến thiết bị công nghiệp đặc biệ l rong lĩnh v c thông tin liên lạc, phát thanh truy n hình, đ u khiển t đ ng Nó giải quyết khối lượng công việc lớn, giảm kí h hước của các mạ h đ ện tử đồng thời chúng

có nhi u ính năng v đ chính xác cao Có thể nói rằng kỹ thuật số ra đời là

cu c cách mạng trong ngành kỹ thuậ đ ện tử

Thế kỷ 21 chứng kiến s phát triển với tố đ chóng mặt của khoa học công nghệ, n đ ng va rò hen hốt trên tất cả á lĩnh v c của cu c sống vì vậy trong mỗ húng a, đặc biệt là thế hệ trẻ, sinh viên ngành kỹ thuật cần phải hiểu rõ và nắm bắ được các kiến thức v công nghệ kỹ thuật số Do đ chúng em quyế định chọn đ “Tìm h ểu giao diện SPI” l m đ bài tập lớn

3 Mục tiêu nghiên cứu

- S nh v ên bướ đầu tìm hiểu v nghiên cứu khoa học

- Hiểu được chuẩn nối tiếp truy n thông

- Nắm được kiến thức v chuẩn giao tiếp SPI

- Phân í h đượ ưu, đượ đ ểm của giao tiếp SPI

4 Bố cục đề tài

N i dung chính của đ tài gồm ba hương

 Chương I G ới thiệu giao diện SPI

 Chương II Ứng dụng giao diện SPI rên v đ u khiển AVR

 Chương III hận xét v giao diện SPI

Trang 8

đ u khi n và thiết bị ngoại vi m á h đơn g ản

ây l k ểu truy n thông Master-Slave, rong đ h p Mas er đ u phối quá trình truy n hông v á h p Slaves đượ đ u khiển bởi Master vì thế truy n thông chỉ xảy ra giữa Master và Slave

SPI cung cấp m t giao diện nối tiếp đơn g ản giữa vi xử lý và thiết bị ngoại vi Giống với các Bus nối tiếp khá như I C, CA hoặc USB Chuẩn giao tiếp SPI ng y ng được sử dụng r ng rã rong lĩnh v đ ện tử, đặc biệt

là trong giao tiếp rao đổi dữ liệu với các thiết bị ngoại vi

Giao diện SPI được sử dụng tích hợp trong m t số loại thiết bị như

 Các b chuyển đổi (ADC và DAC)

 Các loại b nhớ (EEPROM và FLASH)

 Các loại IC thời gian th c

 Các loại cảm biến (nhiệ đ , áp suất )

 Và m t số loại thiết bị khá như b tr n tín hiệu analog, LCD, Graphic LCD

1.2 Chuẩn truyền thông SPI

1.2.1 Cấu trúc SPI

Giao diện SPI được th c hiện thông qua Bus 4 dây MISO, MOSI, SCK và

SS nên đô kh SPI òn được gọi là “giao diện 4 dây”

a MISO – Master Input/ Slave Output

Chân MISO dùng để truy n dữ liệu ra khỏ SPI kh đặt cấu hình là Slave và nhận dữ liệu kh đặt cấu hình là Master MISO của Master và các Slaves được nối tr c tiếp với nhau

b MOSI – Master Output/ Slave Input

Trang 9

Chân MOSI dùng để truy n dữ liệu ra khỏ SPI kh đặt cấu hình là Master và nhận dữ liệu kh đặt cấu hình là Slave MISO của Master và các Slaves được nối tr c tiếp với nhau

c SCK – Serial Clock

Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truy n hông đồng b nên cần m đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặ đ S tồn tại của chân SCK giúp quá trình truy n ít bị lỗi và vì thế tốc

đ truy n của SPI có thể đạt hiệu quả cao

Xung nhịp chỉ được tạo ra bởi chip Master

d SS – Slave Select

SS l đường chọn Slave cần giao tiếp, rên á h p Slave đường SS sẽ

ở mức cao khi không làm việc Nếu h p Mas er kéo đường SS của m t Slave n o đ xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đ

Chỉ có m đường SS trên mỗ Slave nhưng hể có nhi u đường đ u khiển trên Master tùy thu c vào thiết kế của người dùng

Hình 1: Giao diện SPI

Trang 10

 Có thể mô tả tóm tắt các tín hiệu của giao diện SPI bằng bảng sau:

Tên tín hiệu Chiều Mô tả

Slave đầu vào Clo k đồng b truy n/nhận dữ liệu luôn được cung cấp bởi Master

Slave đầu vào

Tín hiệu kết nối với Slave Master kích hoạt tín hiệu này nếu muốn truy n/nhận dữ liệu với Slave

Master: MOSI

Slave: SDO hoặc SO ầu ra

ầu ra dữ liệu nối tiếp

- Với Master tín hiệu có tên Master Out Slave In

- Với Slave tín hiệu có tên Slave Data Out

Master: MISO

Slave: SDI hoặc SI ầu vào

ầu vào dữ liệu nối tiếp

- Với Master tín hiệu có tên Master

In Slave Out

- Với Slave tín hiệu có tên Slave Data In

Bảng 1: Các tín hiệu của giao diện SPI

1.2.2 SPI truyền thông như thế nào?

Trang 11

Giản đồ định thời giao tiếp SPI – Motorola

Khi Master muốn truy n/nhận dữ liệu, nó kéo tín hiệu chọn chip SS xuống mức thấp Sau đ , Mas er ung ấp Clo k đồng b việc truy n/nhận dữ liệu rên đường SCK

Vị trí lấy mẫu dữ liệu và dịch dữ liệu theo xung SCK phụ thu c vào hai thông số cấu hình đượ quy định bởi chuẩn SPI là pha của Clock (CPHS – Clock Phase) và c c của Clock (CPOL – Clock Polarity)

Hình 3: Giản đồ timing của giao tiếp SPI theo Motorola

C c của Clock quyế định trạng thái rảnh (idle) của tín hiệu SCK Nếu CPOL = 0 thì mức logic khi idle của SCK là mức 0 Nếu CPOL = 1 thì ngược lại

D a vào pha của Clock chúng ta sẽ biết lấy đ ểm mẫu ở đâu

 Nếu pha Clock bằng 0 thì dữ liệu được lấy mẫu khi SCK chuyển từ

trạng thái idle sang active, có thể là cạnh lên hoặc cạnh xuống tùy vào giá

trị CPOL

 Nếu pha Clock bằng 1 thì dữ liệu được lấy mẫu khi SCK chuyển từ

trạng thái active sang idle

Trang 12

- Khi tín hiệu SC được phát ra thì tín hiệu này có thể hay đổ nhưng không làm hỏng dữ liệu Lí do là trong giao thức SPI, tố đ của dữ liệu truy n đ sẽ hay đổi theo s hay đổi của SC u này rất có lợi nếu như

vi xử lý bị cấp xung đồng hồ không chính xác (VD: b dao đ ng RC)

1.2.4 SPI là giao thức trao đổi dữ liệu

Dữ liệu lú n o ũng được truy n qua lại giữa các thiết bị SPI Thật ra, không có khái niệm thiết bị phát hay thiết bị nhận trong giao thức SPI mà mỗi thiết bị đường dữ liệu, m đường dữ liệu vào và m đường dữ liệu ra

Dữ liệu truy n đ đượ đ u khiển bởi xung SCK từ Master

h được truy n đ , dữ liệu vào cần phả đượ đọc ngay nếu không sẽ bị

mấ đ v kh đ , g ao hức SPI có thể sẽ ngưng hoạ đ ng ể tránh tình trạng

n y, lú n o a ũng phả đọc dữ liệu v ngay sau khi truy n đ ho dù dữ liệu

đ không h c s cần thiết

Thường thì m t tín hiệu chọn Slave sẽ á đ ng mức thấp để chỉ ra Slave

n o được truy cập Tín hiệu này phả được sử dụng khi có nhi u hơn m t Slave trong cùng hệ thống v hường không sử dụng đến khi trong mạch chỉ

có m t Slave Tuy nhiên, theo nguyên tắc thì ta nên sử dụng tín hiệu này trong

cả ha rường hợp trên

Tín hiệu SS sẽ chỉ ra Slave nào mà Master muốn bắ đầu m t quá trình rao đổi dữ liệu bằng giao thức SPI giữa thiết bị Slave đ và chính nó Nếu tín hiệu rên đường SS là 0 thì chứng tỏ giao thứ SPI đang hoạ đ ng gược lại

là mức 1 thì giao thức SPI sẽ không hoạ đ ng

M đặ đ ểm khá quan trọng của tín hiệu SS là nó có tác dụng l m ăng ường khả năng m ễn nhiễm cho hệ thống Lí do là SS sẽ Rese Slave để nó

có thể nhận Byte dữ liệu tiếp theo

SPI có 4 mode hoạ đ ng, phụ thu c vào c c tính và pha của xung đồng

hồ Trong rường hợp c c âm của xung đồng hồ, tín hiệu SCK sẽ ở mức thấp trong quá trình nghỉ và chuyển sang mức cao trong quá trình truy n dữ liệu gược lạ , đối vớ rường hợp c dương ủa xung đồng hồ, tín hiệu SCK ở mức cao trong quá trình nghỉ và chuyển sang mức thấp khi truy n dữ liệu:

Trang 13

SPI Mode CPOL CPHS

Mô tả Xung dương, dữ liệu được chố rước khi dịch

Giản đồ thời gian:

Hình 4: Giản đồ thời gian của SPI ở Mode 0

 SPI Mode 1:

Mô tả Xung dương, dữ liệu được dị h đ rước khi chốt

Giản đồ thời gian

Hình 5: Giản đồ thời gian của SPI ở Mode 1

 SPI Mode 2:

Trang 14

Mô tả: Xung âm, dữ liệu được chốt lạ rước khi dịch

Giản đồ thời gian

Hình 6: Giản đồ thời gian của SPI ở Mode 2

 SPI Mode 3:

Mô tả: Xung âm, dữ liệu bị dị h đ rước khi chốt lại

Giản đồ thời gian

Hình 7: Giản đồ thời gian của SPI ở Mode 3

1.3 Các kiểu kết nối SPI

1.3.1 Kết nối điểm – điểm ( point-to-point )

ây l k ểu kết nố ơ bản nhất của giao thức SPI là m t master kết nối với

m t slave

Trang 15

Hình 8: Kết nối point-to-point, một master nối với một slave

Cả Mas er v Slave đ u có thanh ghi dịch nối tiếp (thanh ghi dữ liệu 8 bits) ở bên trong Thiết bị Master bắ đầu việ rao đổi dữ liệu bằng cách truy n đ m t bit vào thanh ghi dịch của n , sau đ bit dữ liệu sẽ đượ đưa sang Slave heo đường tín hiệu MOSI (SDI), Slave sẽ truy n dữ liệu nằm trong thanh ghi dịch của hính n ngược trở v Mas er hông qua đường tín hiệu MISO (SDO) Bằng cách này, dữ liệu của hai thanh ghi sẽ đượ rao đổi với nhau Việ đọc và ghi dữ liệu vào Slave diễn ra cùng m t lúc nên tố đ rao đổi dữ liệu diễn ra rấ nhanh Do đ , g ao hức SPI là m t giao thức rất có hiệu quả

Trong kiểu kết nối này, chỉ có thiết bị Master mới có thể đ u khiển (phát ra) xung SCK Dữ liệu sẽ không được truy n đ nếu như Mas er không ung cấp xung SCK và tất cả các thiết bị Slave đ u đượ đ u khiển bởi xung nhịp phát ra từ Mas er rong kh đ , Slave lại không có khả năng phá xung

Trang 16

Hình 9: Kết nối nhiều slave song song

Kết nối nối tiếp hay kết nối Daisy-Chained

Trong kết nối này, chân SS và SCK của master nố song song đến tất cả các slave Chân SDO của slave rước nố đến SDI của slave sau Chân MOSI của master nố đến SDI của slave đầu tiên trong chuỗi và MISO được nố đến SDO của slave cuối cùng trong chuỗi

Việc truy n dữ liệu từ mas er đến các slave và dữ liệu master nhận từ slave cuố ùng được minh họa với các slave như sau:

Hình 10: Kết nối nối tiếp (Daisy-Chained)

Trang 17

Với cách kết nối này, phần cứng ngoại vi phải hỗ trợ thêm các tín hiệu

đ u khiển khác để ránh xung đ t khi hai master cùng truy xuấ đến slave Ví

dụ m t trong các cách hỗ trợ multi-mas er như rong hình sau

Hình 11: Kết nối hai master song song đến một slave

Giải pháp ở đây l ngo á ín h ệu SPI hông hường, phần cứng của hai master SPI hỗ trợ thêm tín hiệu SS_I để master này biế mas er k a đang chọn slave hay không ồng thời tín hiệu SS nố đến slave được mắc qua m t cổng X OR để nếu hai master cùng chọn thì tín hiệu SS của slave vẫn không tích c c Bên cạnh đ , rong mạch trên, ngoài txd (chính là tín hiệu MOSI) thì đường SC ũng phải Hi-Z khi master không chọn slave

Kết nối hai master với nhau

ây l m t dạng khác của multi-mas er Trong đ ha mas er nối tr c tiếp với nhau, giao tiếp qua 5 đường

Trang 18

Hình 12: Kết nối hai master với nhau

Trang 19

CHƯƠNG : GIAO DIỆN SPI TRÊN V Đ ỀU KHIỂN

STM32F4 V I LÕI ARM CORTEX-M4

1.1 Tổng quan về ARM và Cortex-M

Kiến trúc ARM là m t tập hợp các chỉ thị thiết lập kiến trúc (ISA) vi xử

lý máy tính 32-bit kiểu RISC, được phát triển bởi công ty ARM Holdings

STT Architecture Bit

width

Cores designed by ARM

Holdings Cortex profile

Microcontroller

Cortex-R5, ARM Cortex-R7 Real time

ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15, ARM Cortex-A17

Application

Bảng 3: Danh sách các kiến trúc và lõi vi xử lý mà ARM đã thiết

kế

Ngày đăng: 31/07/2015, 08:38

HÌNH ẢNH LIÊN QUAN

Hình 1: Giao diện SPI - Tìm hiểu giao diện SPI
Hình 1 Giao diện SPI (Trang 9)
Hình 5: Giản đồ thời gian của SPI ở Mode 1 - Tìm hiểu giao diện SPI
Hình 5 Giản đồ thời gian của SPI ở Mode 1 (Trang 13)
Hình 9: Kết nối nhiều slave song song - Tìm hiểu giao diện SPI
Hình 9 Kết nối nhiều slave song song (Trang 16)
Hình 10: Kết nối nối tiếp (Daisy-Chained)  1.3.3. Kết nối Multi-master - Tìm hiểu giao diện SPI
Hình 10 Kết nối nối tiếp (Daisy-Chained) 1.3.3. Kết nối Multi-master (Trang 16)
Hình 11: Kết nối hai master song song đến một slave - Tìm hiểu giao diện SPI
Hình 11 Kết nối hai master song song đến một slave (Trang 17)
Hình 13: Vi mạch tích hợp của một vi điều khiển - Tìm hiểu giao diện SPI
Hình 13 Vi mạch tích hợp của một vi điều khiển (Trang 20)
Hình 14: Các sản phẩm trong dòng vi xử lý Cortex - Tìm hiểu giao diện SPI
Hình 14 Các sản phẩm trong dòng vi xử lý Cortex (Trang 21)
Hình 15: Các thế hệ dòng vi xử lý Cortex-M - Tìm hiểu giao diện SPI
Hình 15 Các thế hệ dòng vi xử lý Cortex-M (Trang 21)
Hình 16: Kiến trúc bộ vi xử lý ARM Cortex-M4 - Tìm hiểu giao diện SPI
Hình 16 Kiến trúc bộ vi xử lý ARM Cortex-M4 (Trang 22)
Hình 17: Lõi ARM7TDMI của Cortex-M4 - Tìm hiểu giao diện SPI
Hình 17 Lõi ARM7TDMI của Cortex-M4 (Trang 23)
Hình 18: Kiến trúc đường ống của ARM Cortex-M4 - Tìm hiểu giao diện SPI
Hình 18 Kiến trúc đường ống của ARM Cortex-M4 (Trang 23)
Hình 19: Sơ đồ khối SPI - Tìm hiểu giao diện SPI
Hình 19 Sơ đồ khối SPI (Trang 24)
Hình 20: Kết nối giữa SPI và MMC/SD card - Tìm hiểu giao diện SPI
Hình 20 Kết nối giữa SPI và MMC/SD card (Trang 25)

TỪ KHÓA LIÊN QUAN

w