Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
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
Nội dung
B I HC CÔNG NGHIP HÀ NI KHOA CÔNG NGH THÔNG TIN Lp trình nhúng n Tìm hiu giao din SPI Ging dn: T.S Ph Si Nguyn Tun Anh 2 MC LC LU 6 PHN 1: M U 7 1. tài 7 2. Lý do ch tài 7 3. Mc tiêu nghiên cu 7 4. B c tài 7 PHN 2: NI DUNG 8 I THIU GIAO DIN SPI 8 1.1. Gii thiu 8 1.2. Chun truyn thông SPI 8 1.2.1. Cu trúc SPI 8 1.2.2. SPI truy nào? 10 1.2.3. SPI là giao thng b 11 1.2.4. SPI là giao thi d liu 12 1.3. Các kiu kt ni SPI 14 1.3.1. Kt nm m ( point-to-point ) 14 1.3.2. Kt ni Multi-slave 15 1.3.3. Kt ni Multi-master 16 U KHIN STM32F4 VI LÕI ARM CORTEX-M4 19 1.1. Tng quan v ARM và Cortex-M 19 1.2. Tng 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 25 33 3.1. Nhm ca SPI 33 3.2. Nhm ca SPI 33 34 3 TÀI LIU THAM KHO 35 4 DANH MC 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 5 DANH MC BNG 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 6 LI NÓI U ngày càng trong ngành công . này. 7 PHN 1: M U 1. tài Tìm hiểu giao diện SPI 2. Lý do ch tài Ngày nay, khoa hc k thut phát tri thng thit b n t, mn t n t k thut s i sâu sc toàn b hot ng sn xut ci. K thun t s dn các k thu t trong cuc cách mng k thut và công ngh. Song song vi s phát trin thn kì ca cuc cách mng khoa hc công ngh, k thut s n dn có mt trong hu ht tt c các thit b t dân dn thit b công nghic bic thông tin liên lc, phát thanh truy u khin t ng Nó gii quyt khi ng công vic ln, gic ca các mn t ng thi chúng có nhi chính xác cao. Có th nói rng k thut s i là cuc cách mng trong ngành k thun t. Th k 21 chng kin s phát trin vi t chóng mt ca khoa hc công nght trên tt c c ca cuc sng vì vy trong mc bit là th h tr, sinh viên ngành k thut cn phi hiu rõ và nm bc các kin thc v công ngh k thut s chúng em quynh ch u giao di bài tp ln. 3. Mc tiêu nghiên cu - u tìm hiu v nghiên cu khoa hc. - Hic chun ni tip truyn thông. - Nc kin thc v chun giao tip SPI. - m ca giao tip SPI. 4. B c tài Ni dung chính c tài gm b i thiu giao din SPI ng dng giao diu khin AVR n xét v giao din SPI 8 PHN 2: NI DUNG I THIU GIAO DIN SPI 1.1. Gii thiu SPI (Serial Peripheral Interface Giao din Ngoi vi Ni tip) là mt chung b ni ti truyn d liu ch song công toàn phn (full- duplex), do công ty Motorola thit k nhm bo s liên hp gia các vi u khin và thit b ngoi vi mn. u truyn thông Master- u phi quá trình truyu khin bi Master vì th truyn thông ch xy ra gia Master và Slave. SPI cung cp mt giao din ni ti n gia vi x lý và thit b ngoi vi. Ging vi các Bus ni tic USB. Chun giao tic s dng rn tc bit là trong giao tii d liu vi các thit b ngoi vi. Giao dic s dng tích hp trong mt s loi thit b Các b chuyi (ADC và DAC) Các loi b nh (EEPROM và FLASH) Các loi IC thi gian thc Các loi cm bin (nhi, áp sut ) Và mt s loi thit b trn tín hiu analog, LCD, Graphic LCD 1.2. Chun truyn thông SPI 1.2.1. Cấu trúc SPI Giao dic thc hin thông qua Bus 4 dây MISO, MOSI, SCK và c gi là giao din 4 dây. a. MISO Master Input/ Slave Output truyn d liu ra kh t cu hình là Slave và nhn d lit cu hình là Master. MISO ca Master và các c ni trc tip vi nhau. b. MOSI Master Output/ Slave Input 9 truyn d liu ra kh t cu hình là Master và nhn d lit cu hình là Slave. MISO ca Master và các Slaves c ni trc tip vi nhau. c. SCK Serial Clock Xung gi nhp cho giao tip SPI, vì SPI là chun truyng b nên cn mng gi nhp, mi nhp trên chân SCK báo 1 bit d lin ho tn ti ca chân SCK giúp quá trình truyn ít b li và vì th tc truyn ca SPI có th t hiu qu cao. Xung nhp ch c to ra bi chip Master. d. SS Slave Select ng chn Slave cn giao ting SS s mc cao khi không làm vic. N ng SS ca mt Sng mc thp thì vic giao tip s xy ra gia Master và Ch có mng SS trên m có nhiu khin trên Master tùy thuc vào thit k ci dùng. Hình 1: Giao diện SPI 10 Có th mô t tóm tt các tín hiu ca giao din SPI bng bng sau: Tên tín hiu Chiu Mô t SCK u ra u vào ng b truyn/nhn d liu c cung cp bi Master SS u ra u vào Tín hiu kt ni vi Slave. Master kích hot tín hiu này nu mun truyn/nhn d liu vi Slave. Master: MOSI Slave: SDO hoc SO u ra u ra d liu ni tip - Vi Master tín hiu có tên Master Out Slave In - Vi Slave tín hiu có tên Slave Data Out Master: MISO Slave: SDI hoc SI u vào u vào d liu ni tip - Vi Master tín hiu có tên Master In Slave Out - Vi Slave tín hiu 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? Mô t quá trình truyn mt gói d liu thc hin bi module SPI trong AVR, bên trái là chip Master và bên phi là Slave. Hình 2: Truyền dữ liệu SPI [...]... năng hấp 1.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 I C để 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ố đ u khiển SPI có khả năng hạ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ố đ cao nằm trên APB2, khối SPI tố đ thấp... chuẩn giao tiếp SPI Cấu trúc, các chứ năng v hoạ đ ng của 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 í h ưu, nhượ đ ểm của giao tiếp SPI Vận dụng kiến thứ đồ họa ơ sở được học ở rường, kết hợp với những tài liệu tham khảo trên mạng và s hướng dẫn tận tình của thầy giáo TS Phạm Văn Hà nh m húng em đã ho n h nh b ập được giao Với tầm hiểu biết... thấp khi truy n dữ liệu: 12 SPI Mode CPOL CPHS 0 0 0 1 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ố 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: 13 Mô tả: Xung... 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ụ... đượ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 14 Hình 8: Kết nối point-to-point,... active sang idle 1.2.3 SPI là giao thức đồng bộ Module SPI cho phép giao tiếp nối tiếp đồng b kép giữa vi xử lý với thiết bị ngoại vi: - Tín hiệu SC được cung cấp bởi Master nhằm tạo xung đồng b cho phép dữ liệu được truy n đ hoặ kh đọc dữ liệu nhận được 11 - 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... liệu Khố CRC đ u có thể hỗ trợ kiểm ra CRC8 v CRC 6 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 1.5 Thiết lập S trên STM32 ầu ên á module SPI được khởi tạo bằng cách xá định m t kiểu biến “HardwareSPI” được sử dụng để đ u khiển cách cổng SPI ể l m đượ đ u này hãy bổ sung dãy mã sau: Song song vớ đ , xá định m t biến toàn cục với... 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ó... đệm rỗng o Rx vùng đệm khác rỗng Tiếp đ a module SPI đã được khởi tạo rong á ode v đ ũng l m phương pháp ếp cận của các thanh ghi cấu hình Bây giờ ta chỉ việc cấu hình module được sử dụng với b đ u khiển ethernet ENC28J60 29 Trong ENC28J60 thông số kỹ thuậ đượ đ cập rằng nó có m t giao diện SPI với tố đ clock lên tới 20MHz vì thế với khởi tạo giá trị SPI_ 18MHz có thể cung cấp hiệu suất tố đa Tham số... I2C1_SMBAI SCK -> D13 -> Pin 21 = PA5 - SPI1 _SCK / ADC12_IN5 MISO -> D12 -> Pin 22 = PA6 - SPI1 _MISO / ADC12_IN6 / TIM3_CH1 MOSI -> D11 -> Pin 23 = PA7 - SPI1 _MOSI / ADC12_IN7 / TIM3_CH2 Vấn đ ở đây l hư v ện Maple SPI yêu cầu (và sử dung) pin D10 giống như h p họn Chúng ta có thể kiểm ra đ u này bằng á h đọc các giá trị sử dụng á phương pháp như hế này "nssPin ()" : Vì Ol mex n y đã đặt m t jumper . THIU GIAO DIN SPI 8 1.1. Gii thiu 8 1.2. Chun truyn thông SPI 8 1.2.1. Cu trúc SPI 8 1.2.2. SPI truy nào? 10 1.2.3. SPI là giao thng b 11 1.2.4. SPI là giao. 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. Sơ đồ khối SPI 24 Hình 20: Kết nối giữa SPI và MMC/SD card 25 5 DANH MC BNG 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