Tim hieu giao dien spi

26 1.8K 9
Tim hieu giao dien spi

Đ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

Luận văn đồ án môn học lập trình nhúng, nhằm giúp cho các bạn sinh viên tìm hiểu về môn Nhúng, giúp các bạn vượt qua môn học 1 cách dễ dàng, tài liệu bao gồm 2 phần, trong đó phần 2 gồm 3 chương chính, phần 1 giới thiệu về đề tài, phần 2 là những nội dung chính mà bạn cần quan tâm

v TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN: LẬP TRÌNH NHÚNG Đề tài: Tìm hiểu giao diện SPI GV hướng dẫn: TS Phạm Văn Hà Lớp: CĐ-ĐH Khoa Học Máy Tính 1_K10 Nhóm : Thân Quang Định Lê Trần Thế Trung Trần Trung Dũng Hà Nội, 2016 LỜI NÓI ĐẦU Hiện nay, vi xử lý hay vi điều khiển sử dụng rộng rãi nhiều lĩnh vực như: điều khiển, tự động hóa, đo đạc, truyền thông… So với phương pháp điều khiển, đo đạc truyền thống (cơ khí, điện tử tương tự…) sử dụng vi xử lý có ưu điểm như: nhỏ gọn, tốn lượng, thời gian đáp ứng nhanh, lập trình được… Cùng với giao diện SPI ngày sử dụng rộng rãi ngành công nghiệp điện tử Nhận thức tầm quan trọng giao diện SPI việc ứng dụng vào lập trình vi điều khiển sở để chúng em chọn đề tài tập lớn “Tìm hiểu giao diện SPI” Dưới hướng dẫn, bảo nhiệt tình thầy Phan Văn Hà với cố gắng nỗ lực thành viên nhóm chúng em hoàn thành đề tài thời gian cho phép Tuy nhiên thời gian hạn chế, tầm hiểu biết có hạn nên chúng em không tránh khỏi sai sót Vì chúng em mong nhận nhiều ý kiến đánh giá, đóng góp thầy giáo bạn để chúng em hoàn thiện thêm đề tài Chúng em xin chân thành cảm ơn! Tìm hiểu giao diện SPI Page MỤC LỤC v LỜI NÓI ĐẦU MỤC LỤC PHẦN 1: MỞ ĐẦU 1.Lý chọn đề tài 2.Mục tiêu nghiên cứu 3.Bố cục đề tài PHẦN 2: NỘI DUNG CHƯƠNG I: GIỚI THIỆU GIAO DIỆN SPI 1.1 Giới thiệu 1.2 Chuẩn truyền thông SPI .6 1.2.1 Cấu trúc SPI 1.2.2 SPI truyền thông nào? .8 1.2.3 SPI giao thức đồng 10 1.2.4 SPI giao thức trao đổi liệu 10 1.3 Các kiểu kết nối SPI 13 1.3.1 Kết nối điểm – điểm (point-point) 13 1.3.2 Kết nối Multi-slave 14 1.3.4 Kết nối Multi-master 15 CHƯƠNG II: GIAO DIỆN SPI TRÊN VI ĐIỀU KHIỂN STM32F4 VỚI LÕI ARM CORTEX-M4 17 2.1 Tổng quan ARM Cortex-M .17 2.2 Tổng quan vi xử lý Cortex-M4 20 2.3 Lõi Cortex-M4 (CPU Cortex) .20 2.4 SPI STM32 22 CHƯƠNG III: NHẬN XÉT VỀ GIAO DIỆN SPI 24 3.1 Những ưu điểm SPI 24 3.2 Những nhược điểm SPI .24 KẾT LUẬN 25 TÀI LIỆU THAM KHẢO .26 Tìm hiểu giao diện SPI Page DANH MỤC HÌNH Hình Giao diện SPI Hình Truyền liệu SPI Hình Giản đồ timing giao tiếp SPI theo Motorola .9 Hình Giản đồ thời gian SPI Mode .11 Hình Giản đồ thời gian Mode 12 Hình Giản đồ thời gian SPI Mode 12 Hình Giản đồ thời gian SPI Mode 13 Hình Kết nối point-to-point, master nối với slave 13 Hình Kết nối nhiều slave song song .14 Hình 10 Kết nối nối tiếp .15 Hình 11 Kết nối hai master song song đến slave 15 Hình 12 Kết nối hai master với 16 Hình 13 Vi mạch tích hợp vi điều khiển 18 Hình 14 Các sản phẩm dòng vi xử lý Cortex .19 Hình 15 Các hệ dòng vi xử lý Cortex-M .19 Hình 16 Kiến trúc vi xử lý ARM Cortex-M4 20 Hình 17 Lõi ARM7TDMI Cortex-M4 21 Hình 18 Kiến trúc đường ống ARM Cortex-M4 21 Hình 19 Sơ đồ khối SPI .22 Hình 20 Kết nối SPI MMC/SD card .23 Tìm hiểu giao diện SPI Page PHẦN 1: MỞ ĐẦU Lý chọn đề tài Ngày nay, khoa học kỹ thuật phát triển vũ bão Hệ thống thiết bị điện tử, mạch điện tử, điện tử kỹ thuật số làm thay đổi sâu sắc toàn hoạt động sản xuất người Kỹ thuật điện tử số thay dần kỹ thuật tương tự đóng vai trò then chốt cách mạng kỹ thuật công nghệ Song song với phát triển thần kì cách mạng khoa học - công nghệ, kỹ thuật số có mặt hầu hết tất thiết bị từ dân dụng đến thiết bị công nghiệp đặc biệt lĩnh vực thông tin liên lạc, phát truyền hình, điều khiển tự động… Nó giải khối lượng công việc lớn, giảm kích thước mạch điện tử đồng thời chúng có nhiều tính độ xác cao Có thể nói kỹ thuật số đời cách mạng ngành kỹ thuật điện tử Thế kỷ XXI chứng kiến phát triển với tốc độ chóng mặt khoa học công nghệ, đóng vai trò then chốt tất lĩnh vực sống chúng ta, đặc biệt hệ trẻ, sinh viên ngành kỹ thuật cần phải hiểu rõ nắm bắt kiến thức công nghệ kỹ thuật số Do chúng em định chọn đề tài “Tìm hiểu giao diện SPI” để làm tập lớn Mục tiêu nghiên cứu - Sinh viên bước đầu tìm hiểu nghiên cứu khoa học - Hiểu chuẩn nối tiếp truyền thông - Nắm kiến thức chuẩn giao tiếp SPI - Phân tích ưu, nhược điểm giao tiếp SPI Bố cục đề tài Nội dung đề tài gồm ba chương:  Chương I: Giới thiệu giao diện SPI  Chương II: Ứng dụng giao diện SPI vi điều khiển AVR  Chương III: Nhận xét giao diện SPI Tìm hiểu giao diện SPI Page PHẦN 2: NỘI DUNG CHƯƠNG I: GIỚI THIỆU GIAO DIỆN SPI 1.1 Giới thiệu SPI (Serial Peripheral Interface – Giao diện ngoại vi nối tiếp) chuẩn đồng nối tiếp để truyền liệu chế độ song công toàn phần (full-duplex), công ty Motorola thiết kế nhằm đảm bảo liên hợp vi điều khiển thiết bị ngoại vi cách đơn giản Đây kiểu truyền thông Master-Slave, có chíp Master điều phối trình truyền thông chip Slaves điều khiển Master truyền thông xảy Master Slave SPI cung cấp giao diện nối tiếp đơn giản vi xử lý thiết bị ngoại vi Giống với Bus nối tiếp khác như: I2C, CAN USB Chuẩn giao tiếp SPI ngày sử dụng rộng rãi lĩnh vực điện tử, đặc biệt giao tiếp trao đổi liệu với thiết bị ngoại vi Giao diện SPI sử dụng tích hợp số loại thiết bị sau: - Các chuyển đổi (ADC DAC) - Các loại nhớ (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à số loại thiết bị khác nhau: 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 thực thông qua Bus dây MISO, MOSI, SCK SS nên SPI gọi “giao tiếp dây” a MISO - Master Input/Slave Output Chân MISO dùng để truyền liệu khỏi SPI đặt cấu hình Slave nhận liệu đặt cấu hình Master MISO Master Slave nối trực tiếp với b MOSI - Master Output/Slave Input Tìm hiểu giao diện SPI Page Chân MOSI dùng để truyền liệu khỏi SPI đặt cấu hình Master nhận liệu đặt cấu hình Slave MISO Master Slave nối trực tiếp với c SCK – Serial Clock Xung giữ nhịp cho giao tiếp SPI, SPI chuẩn truyền thông đồng nên cần đường giữ nhịp, nhịp chân SCK bá bit liệu đến Sự tồn chân SCK giúp trình truyền bị lỗi tốc độ truyền SPI đạt hiệu cao Xung nhịp tạo chip Master d SS – Slave Select SS đường chọn Slave cần giao tiếp, chíp Slave đường SS mức cao không làm việc Nếu chíp Master khéo đường SS Slave xuống mức thấp việc giao tiếp xảy Master Slave Chỉ có đường SS Slave có nhiều đường điều khiển Master tùy thuộc vào thiết kế người dùng Hình Giao diện SPI Tìm hiểu giao diện SPI Page • Có thể mô tả tóm tắt tín hiệu giao diện SPI bảng sau: Tên tín hiệu SCK Chiều Mô tả Master: đầu Clock đồng truyền/nhận liệu cung cấp Master Slave: đầu vào Master: đầu SS Slave: đầu vào Tín hiệu kết nối với Slave, Master kích hoạt tín hiệu muốn truyền/nhận liệu Slave Đầu liệu nối tiếp Master: MOSI Đầu Slave: SDO SO + 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 Đầu vào liệu nối tiếp Master: MISO Slave:SDI SI Đầu + 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 Các tín hiệu giao diện SPI 1.2.2 SPI truyền thông nào? • Mô tả chế Hình mô tả trình truyền gói liệu thực module SPI AVR, bên trái chip Master bên phải Slave Tìm hiểu giao diện SPI Page Hình Truyền liệu SPI • Giản đồ định thời giao tiếp SPI – Motorola Khi Master muốn truyền/nhận liệu, kéo tín hiệu chọn chip SS xuống mức thấp Sau đó, Master cung cấp Clock đồng việc truyền/nhận liệu đường SCK Vị trí lấy mẫu liệu dịch liệu theo xung SCK phụ thuộc vào hai thông số cấu hình quy định chuẩn SPI pha Clock (CPHS – Clock Phase) cực Clock (CPOL – Clock Polarity) Hình Giản đồ timing giao tiếp SPI theo Motorola Cực Clock định trạng thái rảnh (idle) tín hiệu SCK Nếu CPOL = mức logic idle SCK mức Nếu CPOL = ngược lại Dựa vào pha Clock biết lấy điểm mẫu đâu: + Nếu pha Clock liệu lấy mẫu SCK chuyển từ trạng thái idle sang active, cạnh lên cạnh xuống tùy vào giá trị CPO Tìm hiểu giao diện SPI Page + Nếu pha Clock liệu lấy mẫu SCK chuyển từ trạng thái active sang idle 1.2.3 SPI giao thức đồng Module SPI cho phép giao tiếp nối tiếp đồng kép vi xử lý với thiết bị ngoại vi: - Tín hiệu SCK cung cấp Master nhằm tạo xung đồng cho phép liệu truyền đọc liệu nhận - Khi tín hiệu SCK phát tín hiệu thay đổi không làm hỏng liệu Lí giao thức SPI, tốc độ liệu truyền thay đổi theo thay đổi SCK Điều có lợi vi xử lý bị cấp xung đồng hồ không xác (VD: dao động RC) 1.2.4 SPI giao thức trao đổi liệu Dữ liệu lúc truyền qua lại thiết bị SPI Thật ra, khái niệm thiết bị phát hay thiết bị nhận giao thức SPI mà thiết bị có đường liệu, đường liệu vào đường liệu Dữ liệu truyền điều khiển xung SCK từ Master Khi truyền liệu đi, liệu vào cần phải đọc không bị đó, giao thức SPI ngưng hoạt động Để tránh tình trạng này, lúc ta phải đọc liệu sau truyền cho dù liệu không thực cần thiết Thường tín hiệu chọn Slave tác động mức thấp để Slave truy cập Tín hiệu phải sử dụng có nhiều Slave hệ thống thường không sử dụng đến mạch có Slave Tuy nhiên, theo nguyên tắc ta nên sử dụng tín hiệu hai trường hợp Tín hiệu SS Slave mà Master muốn bắt đầu trình trao đổi liệu giao thức SPI thiết bị Slave Nếu tín hiệu đường SS chứng tỏ giao thức SPI hoạt động Ngược lại mức giao thức SPI không hoạt động Một đặc điểm quan trọng tín hiệu SS có tác dụng làm tăng cường khả miễn nhiễm cho hệ thống Lí SS Reset Slave để nhận Byte liệu Tìm hiểu giao diện SPI Page 10 Hình Giản đồ thời gian Mode + SPI Mode2: Mô tả: Xung âm, liệu chốt lại trước dịch Giản đồ thời gian: Hình Giản đồ thời gian SPI Mode + SPI Mode 3: Mô tả: Xung âm, liệu bị dịch trước chốt lại Giản đồ thời gian: Tìm hiểu giao diện SPI Page 12 Hình Giản đồ thời gian SPI Mode 1.3 Các kiểu kết nối SPI 1.3.1 Kết nối điểm – điểm (point-point) Đây kiểu kết nối giao thức SPI master kết nối với slave Hình Kết nối point-to-point, master nối với slave Cả Master Slave có ghi dịch nối tiếp (thanh ghi liệu bits) bên Thiết bị Master bắt đầu việc trao đổi liệu cách truyền bit vào ghi dịch nó, sau bit liệu đưa sang Slave theo đường tín hiệu MOSI (SDI), Slave truyền liệu nằm ghi dịch ngược trở Master thông qua đường tí hiệu MISO (SDO) Bằng cách này, liệu hai ghi trao đổi với Việc đọc ghi liệu vào Slave diễn lúc nên tốc độ trao đổi liệu diễn nhanh Do đó, giao thức SPI giao thức có hiệu Trong kiểu kết nối này, có thiết bị Master điều khiển (phát ra) xung SCK Dữ liệu không truyền Master không cung cấp xung SCK tất thiết bị Slave điều khiển xung nhịp phát từ Master, Slave lại khả phát xung Tìm hiểu giao diện SPI Page 13 1.3.2 Kết nối Multi-slave • Kết nối nhiều slave độc lập (Independent slaves) hay kết nối song song: Trong cách kết nối này, tín hiệu SCK SDO từ Master cung cấp đến Slave Đường tín hiệu SDO Slave nối chung lại với truyền Master Lúc này, Master lựa chọn Slave để trao đổi liệu thông qua chân SS riêng lẻ Hình 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 SCK Master nối song song đến tất Slave Chân SDO Slave trước nối đến SDI Slave sau Chân MOSI Master nối đến SDI Slave chuỗi MISO nối đến SDO Slave cuối chuỗi Việc truyền liệu từ Master đến Slave liệu Master nhận từ Slave cuối minh họa với Slave sau: Tìm hiểu giao diện SPI Page 14 Hình 10 Kết nối nối tiếp 1.3.4 Kết nối Multi-master Kết nối nhiều Master độc lập (Independent master hay Multi-master) Đối với kiểu kết nối có nhiều cách kết nối nhiều vấn đề • Kết nối nhiều master song song đến slave Với cách kết nối này, phần cứng ngoại vi phải hỗ trợ thêm tín hiệu điều khiển khác để tránh xung đột hai master truy xuất đến slave Ví dụ cách hỗ trợ multi-master hình sau: Hình 11 Kết nối hai master song song đến slave Giải pháp tín hiệu SPI thông thường, phần cứng hai master SPI hỗ trợ thêm tín hiệu SS_IN để master biết master có chọn slave hay không Đồng thời tín hiệu SS nối đến slave mắc qua cổng XNOR đểu hai master chọn tín hiệu SS slave Tìm hiểu giao diện SPI Page 15 không tích cực Bên cạnh đó, mạch trên, txd (chính tín hiệu MOSI) đường SCK phải Hi-Z master không chọn slave • Kết nối master với Đây dạng khác multi-master Trong hai master nối trực tiếp với giao tiếp qua đường Hình 12 Kết nối hai master với Tìm hiểu giao diện SPI Page 16 CHƯƠNG II: GIAO DIỆN SPI TRÊN VI ĐIỀU KHIỂN STM32F4 VỚI LÕI ARM CORTEX-M4 2.1 Tổng quan ARM Cortex-M Kiến trúc ARM tập hợp thị thiết lập kiến trúc (ISA) vi xử lý máy tính 32-bit kiểu RISC, phát triển công ty ARM Holdings STT Architecture Bit width ARM1 32/26 ARM1 ARM2 32/26 ARM2, ARM3 ARM3 32/26 ARM6, ARM7 ARM4 32/26 ARM8 ARM4T 32 ARM7TDMI, ARM9TDMI ARM5 32 ARM7EJ, ARM9E, ARM10E ARM6 32 ARM11 ARM6-M 32 ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1 Microcontroller ARM7-M 32 ARM Cortex-M3 Microcontroller 10 ARM7E-M 32 ARM Cortex-M4, Cortex-M7 11 ARM7-R 32 ARM Cortex-R4, ARM Real time Cortex-R5, ARM Cortex-R7 12 ARM7-A 32 ARM Cortex-A5, ARM Application Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM CortexA15, ARM Cortex-A17 13 ARM8-R 32 ARM Cortex-A53, Cortex-A57 14 ARM8-R 32 No announcements yet Tìm hiểu giao diện SPI Page 17 Cores designed by ARM Holdings Cortex profile ARM Microcontroller ARM Application Real time Bảng Danh sách kiến trúc lõi vi xử lý mà ARM thiết kế Vi xử lý (Processor) linh kiện điện tử chế tạo từ tranzito thu nhỏ tích hợp lên vi mạch với số thiết bị giao tiếp CPU vi xử lý Vi điều khiển (Microcontroller) vi mạch tích hợp bao gồm vi xử lý kết hợp thiết bị ngoại vi (RAM, Timer, cổng I/O, chuyển đổi,…) Vi điều khiển hoạt động với vài vi mạch hỗ trợ bên Hình 13 Vi mạch tích hợp vi điều khiển Cortex hệ lõi vi xử lý thuộc kiến trúc ARM, thiết kế theo kiến trúc Harvard Nó lõi hoàn chỉnh bao gồm vi xử lý Cortex hệ thống thiết bị ngoại vi thiết kế theo giải pháp SoC Cortex có nhiều bus, cho phép truy cập liệu không thằng hàng, hỗ trợ đặt xóa bit bên hai vùng Mbyte nhớ mà không cần xử lý luận lý (Boolean processor) Cortex gồm dòng: - ARM Cortex-A: vi xử lý dành cho hệ điều hành ứng dụng người dùng phức hợp Cortex-A hỗ trợ tập lệnh ARM, Thumb Thumb-2 Cortex-A cải tiến ARM11 Tìm hiểu giao diện SPI Page 18 - ARM Cortex-R: vi xứ lý dành cho hệ thống đòi hỏi tính thời gian thực (Real Time Control) Cortex-R hỗ trợ tập lệnh ARM, Thumb Thumb-2 Cortex-R cải tiến ARM9 - ARM Cortex-M: xử lý tối ưu dành cho ứng dụng vi điều khiển (Microcontroller) với chi phí thấp mà đạt hiệu xuất cao Dòng hỗ trợ tập lệnh Thumb-2 Cortex-M cải tiến ARM7 Hình 14 Các sản phẩm dòng vi xử lý Cortex Dòng Cortex-M từ giới thiệu cho đời hệ vi xử lý kế thừa kiến trúc ARMv6-M ARMv7-M (xem hình) Hình 15 Các hệ dòng vi xử lý Cortex-M Tìm hiểu giao diện SPI Page 19 2.2 Tổng quan vi xử lý Cortex-M4 Bộ vi xử lý ARM Cortex-M4 hệ vi xử lý thứ dòng Cortex-M dựa kiến trúc ARMv7-M, giới thiều vào năm 2010 Nó mở rộng thêm tập lệnh kiến trúc Cortex-M4 gồm lõi CPU 32-bit, ghi 32-bit, đường dẫn liệu nội 32-bit giao diện bus 32-bit, số thành phần khác Ngoài ra, CortexM4 hỗ trợ số hoạt động liên quan đến liệu 64-bit Hình 16 Kiến trúc vi xử lý ARM Cortex-M4 2.3 Lõi Cortex-M4 (CPU Cortex) Lõi Cortex-M4 CPU RISC 32-bit thiết kế dựa kiến trúc Harvard (đặc trưng tách biệt vùng nhớ chứa liệu chương trình) Nó phiên đơn giản hóa từ mô hình lập trình ARM7/9 có tập lệnh phong phú tối ưu hơn, hỗ trợ tốt cho phép toán số nguyên, khả thao tác với bit đáp ứng thời gian thực tốt Tìm hiểu giao diện SPI Page 20 Hình 17 Lõi ARM7TDMI Cortex-M4 CPU Cortex-M4 có cấu trúc đường ống đoạn (three-stage pipeline) Với kiến trúc thời gian rỗi chu kỳ hạn chế tối đa nên hiệu xuất tổng thể cải thiện rõ rệt Hình 18 Kiến trúc đường ống ARM Cortex-M4 Bình thường Cortex-M4 thực thi hầu hết lệnh chu trình đơn, với cấu trúc pipeline Cortex-M4 có thêm khả dự đoán rẽ nhánh nên lệnh thực thi nhanh Tức với lệnh thường A thực thi bên lệnh B khác giải mã lệnh C khác Tìm hiểu giao diện SPI Page 21 lấy nhớ Còn lệnh rẽ nhánh (if…else chẳng hạn), lệnh điều kiện giải mã tầng decode xử lý nạp lệnh dự định rẽ nhánh else, lênh rẽ nhánh thực thi, xử lý phân tích xem đâu lệnh Nếu lệnh rẽ nhánh chọn thực thi (vì tầng decode), không vi xử lý thực tiếp lệnh (đã lấy tầng fetch) Lõi Cortex-M4 hỗ trợ tập lệnh Thumb-2 So với kiến trúc tập lệnh ARM Thumb Thumb-2 tối ưu hiệu suất kích thước mã, bao gồm phận phần cứng, nhân chu trình đơn thao tác bit lĩnh vực Ngoài ra, Cortex-M4 tích hợp chế độ ngủ (sleep mode) tùy chọn khả trì trạng thái (optional state rêtntion capabilities) cho phép đạt hiệu suất cao với mức tiêu thụ điện thấp 2.4 SPI STM32 STM32 hỗ trợ loại giao tiếp ngoại vi khác STM32 có giao diện SPI I2C để giao tiếp với mạch tích hợp khác Hỗ trợ giao tiếp CAN cho module, USB cho giao tiếp với mạch tích hợp khác, STM cung cấp khối điều khiển SPI có khả chạy chế độ song công (full duplex) với tốc độ truyền liệu lên tới 18MHz Khối SPI tốc độ cao nằm APB2, khối SPI tốc độ thấp nằm APB1 Mỗi khối SPI có hệ thống ghi cấu hình độc lập, liệu truyền dạng 8-bit 16-bit, thứ tự hỗ trợ MSB hay LSB Chúng ta cấu hình khối SPI đóng vai trò master hay slave Hình 19 Sơ đồ khối SPI Tìm hiểu giao diện SPI Page 22 Để hỗ trợ truyền liệu tốc độ cao, khối SPI có kênh DMA dành cho gửi nhận liệu Thêm vào khối CRC dành cho truyền nhận liệu Khối CRC hỗ trợ kiểm tra CRC8 CRC16 Các đặc tính cần thiết sử dụng SPI để giao tiếp với MMC/SD card Hình 20 Kết nối SPI MMC/SD card Tìm hiểu giao diện SPI Page 23 CHƯƠNG III: NHẬN XÉT VỀ GIAO DIỆN SPI 3.1 Những ưu điểm SPI - Truyền thông song công - Không giới hạn 8-bit word trường hợp truyền bit - Lượng liệu đưa vào cao giao thức I2C - Giao tiếp phần cứng đơn giản - Tùy ý lựa chọn size thông tin nội dùng mục đích - Yêu cầu nguồn tiêu chuẩn thấp I2C mạch cồng kềnh - Không có điều chỉnh hay chế độ truyền thất bại liên quan - Slave sử dụng Clock master không cần độ xác dao động (oscillator) - Không cần thiết truyền nhận - Nhiều dây tín hiệu bus thiết bị (CS), tất dây khác chia sẻ 3.2 Những nhược điểm SPI - Không ấn định địa chỉ, tín hiệu chip select yêu cầu bus chia sẻ - Yêu cầu nhiều dây IC I2C - Không có chế độ nhận biết slave - Không có luồng điều khiển phần cứng - Các bus multi-master bất tiện, thường sử dụng giới hạn slave đơn - Không có tiêu chuẩn thức, phê duyệt phù hợp - Chỉ làm việc khoảng cách ngắn so với Rs232, Rs485 hay CAN Tìm hiểu giao diện SPI Page 24 KẾT LUẬN Qua việc hoàn thành tập lớn giúp nhóm chúng em hiểu rõ thêm về:  Cấu trúc, chức hoạt động giao tiếp SPI  Thế chuẩn giao tiếp SPI  Ứng dụng giao tiếp SPI để giải vấn đề mắc phải lập trình nhúng  Phân tích ưu, nhược điểm giao tiếp SPI Vận dụng kiến thức đồ họa sở học trường, kết hợp với tài liệu tham khảo mạng hướng dẫn tận tình thầy giáo TS Phạm Văn Hà nhóm chúng em hoàn thành tập lớn giao Với tầm hiểu biết hạn chế nên trình hoàn thiện không tránh khỏi thiếu sót nên nhóm chúng em mong nhận dẫn bổ sung góp ý cảm thông sâu sắc thầy để tập lớn chúng em hoàn thiện Chúng em xin chân thành cảm ơn! Hà Nội, ngày 31 tháng 05 năm 2016 Tìm hiểu giao diện SPI Page 25 TÀI LIỆU THAM KHẢO Giáo trình Lập trình nhúng – TS Phạm Văn Hà Tài liệu tổng hợp Internet:  http://vi.wikipedia.org/  http://codientu.org/  http://vn-zoom.com/  http://icviet.vn  http://dientuvietnam.net Tìm hiểu giao diện SPI Page 26 [...]... thấp 2.4 SPI trên STM32 STM32 hỗ trợ 5 loại giao tiếp ngoại vi khác nhau STM32 có giao diện SPI và I2C để giao tiếp với các mạch tích hợp khác Hỗ trợ giao tiếp CAN cho các module, USB cho giao tiếp với các mạch tích hợp khác, STM cung cấp 2 khối điều khiển SPI có khả năng chạy ở chế độ song công (full duplex) với tốc độ truyền dữ liệu lên tới 18MHz Khối SPI tốc độ cao nằm trên APB2, khối SPI tốc độ... và CRC16 Các đặc tính này rất cần thiết khi sử dụng SPI để giao tiếp với MMC/SD card Hình 20 Kết nối giữa SPI và MMC/SD card Tìm hiểu giao diện SPI Page 23 CHƯƠNG III: NHẬN XÉT VỀ GIAO DIỆN SPI 3.1 Những ưu điểm của SPI - Truyền thông song công - Không giới hạn ở 8-bit word trong trường hợp truyền bit - Lượng dữ liệu đưa vào cao hơn giao thức I2C - Giao tiếp phần cứng đơn giản - Tùy ý lựa chọn size... hơn so với Rs232, Rs485 hay CAN Tìm hiểu giao diện SPI Page 24 KẾT LUẬN Qua việc hoàn thành bài tập lớn này đã giúp nhóm chúng em hiểu rõ thêm về:  Cấu trúc, các chức năng và hoạt động của giao tiếp SPI  Thế nào là chuẩn giao tiếp SPI  Ứng dụng giao tiếp SPI để giải quyết các vấn đề mắc phải trong lập trình nhúng  Phân tích ưu, nhược điểm của giao tiếp SPI Vận dụng kiến thức đồ họa cơ sở được họ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ịch đi trước khi chốt lại Giản đồ thời gian: Tìm hiểu giao diện SPI Page 12 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-point) Đây là kiểu kết nối cơ bản nhất của giao thức SPI là một master kết nối với một slave Hình 8 Kết nối point-to-point,... 0 1 2 1 0 3 1 1 Bảng 2 Các chế độ truyền thông trong giao thức SPI + SPI Mode 0: Mô tả: Xung dương, dữ liệu được chốt trước khi dịch Giản đồ thời gian: Hình 4 Giản đồ thời gian SPI ở Mode 0 + SPI Mode 1: Mô tả: Xung dương, dữ liệu được dịch đi trước khi chốt Giản đồ thời gian: Tìm hiểu giao diện SPI Page 11 Hình 5 Giản đồ thời gian ở Mode 1 + SPI Mode2: Mô tả: Xung âm, dữ liệu được chốt lại trước... trên APB2, khối SPI tốc độ thấp nằm trên APB1 Mỗi khối SPI có hệ thống thanh ghi cấu hình độc lập, dữ liệu truyền có thể dưới dạng 8-bit hoặc 16-bit, thứ tự hỗ trợ MSB hay LSB Chúng ta có thể cấu hình mỗi khối SPI đóng vai trò master hay slave Hình 19 Sơ đồ khối SPI Tìm hiểu giao diện SPI Page 22 Để hỗ trợ truyền dữ liệu tốc độ cao, mỗi khối SPI có 2 kênh DMA dành cho gửi và nhận dữ liệu Thêm vào... diễn ra rất nhanh Do đó, giao thứ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ể điều khiển (phát ra) xung SCK Dữ liệu sẽ không được truyền đi nếu như Master không cung cấp xung SCK và tất cả các thiết bị Slave đều được điều khiển bởi xung nhịp phát ra từ Master, trong khi đó Slave lại không có khả năng phát xung Tìm hiểu giao diện SPI Page 13 1.3.2 Kết... phải Hi-Z khi master không chọn slave • Kết nối master với nhau Đây là một dạng khác của multi-master Trong đó hai master nối trực tiếp với nhau giao tiếp qua 5 đường Hình 12 Kết nối hai master với nhau Tìm hiểu giao diện SPI Page 16 CHƯƠNG II: GIAO DIỆN SPI TRÊN VI ĐIỀU KHIỂN STM32F4 VỚI LÕI ARM CORTEX-M4 2.1 Tổng quan về ARM và Cortex-M Kiến trúc ARM là tập hợp các chỉ thị thiết lập kiến trúc (ISA)... master song song đến một slave Giải pháp ở đây là ngoài các tín hiệu SPI thông thường, phần cứng của hai master SPI hỗ trợ thêm tín hiệu SS_IN để master này biết master kia có chọn slave hay không Đồng thời tín hiệu SS nối đến slave được mắc qua một cổng XNOR đểu nếu hai master cùng chọn thì tín hiệu SS của slave vẫn Tìm hiểu giao diện SPI Page 15 không tích cực Bên cạnh đó, trong mạch trên, ngoài txd... ARM Cortex-R4, ARM Real time Cortex-R5, ARM Cortex-R7 12 ARM7-A 32 ARM Cortex-A5, ARM Application Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM CortexA15, ARM Cortex-A17 13 ARM8-R 32 ARM Cortex-A53, Cortex-A57 14 ARM8-R 32 No announcements yet Tìm hiểu giao diện SPI Page 17 Cores designed by ARM Holdings Cortex profile ARM Microcontroller ARM Application Real time Bảng 3 Danh sách các ... hiểu giao diện SPI Page DANH MỤC HÌNH Hình Giao diện SPI Hình Truyền liệu SPI Hình Giản đồ timing giao tiếp SPI theo Motorola .9 Hình Giản đồ thời gian SPI. .. điểm giao tiếp SPI Bố cục đề tài Nội dung đề tài gồm ba chương:  Chương I: Giới thiệu giao diện SPI  Chương II: Ứng dụng giao diện SPI vi điều khiển AVR  Chương III: Nhận xét giao diện SPI. .. tính cần thiết sử dụng SPI để giao tiếp với MMC/SD card Hình 20 Kết nối SPI MMC/SD card Tìm hiểu giao diện SPI Page 23 CHƯƠNG III: NHẬN XÉT VỀ GIAO DIỆN SPI 3.1 Những ưu điểm SPI - Truyền thông

Ngày đăng: 13/12/2016, 14:47

Từ khóa liên quan

Mục lục

  • v

  • LỜI NÓI ĐẦU

  • MỤC LỤC

  • PHẦN 1: MỞ ĐẦU

    • 1. Lý do chọn đề tài

    • 2. Mục tiêu nghiên cứu

    • 3. Bố cục đề tài

    • PHẦN 2: NỘI DUNG

    • CHƯƠNG I: GIỚI THIỆU GIAO DIỆN SPI

      • 1.1 Giới thiệu

      • 1.2 Chuẩn truyền thông SPI

        • 1.2.1 Cấu trúc SPI

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

        • 1.2.3 SPI là giao thức đồng bộ

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

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

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

          • 1.3.2 Kết nối Multi-slave

          • 1.3.4 Kết nối Multi-master

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

            • 2.1 Tổng quan về ARM và Cortex-M

            • 2.2 Tổng quan về bộ vi xử lý Cortex-M4

            • 2.3 Lõi Cortex-M4 (CPU Cortex)

            • 2.4 SPI trên STM32

            • CHƯƠNG III: NHẬN XÉT VỀ GIAO DIỆN SPI

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

Tài liệu cùng người dùng

Tài liệu liên quan