Xây dựng hệ thống soc có sử dụng IP SPI để giao tiếp nội tiếp báo cáo đề tài đồ án THỰC HÀNH SOC CHUYÊN NGÀNH máy TÍNH hệ THỐNG NHÚNG

13 1 0
Xây dựng hệ thống soc có sử dụng IP SPI để giao tiếp nội tiếp báo cáo đề tài đồ án THỰC HÀNH SOC CHUYÊN NGÀNH máy TÍNH   hệ THỐNG NHÚNG

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOAJIỌC Tự NHIÊN KHOA ĐIỆN TỬ - VIỄN THƠNG BỘ MƠN MÁY TÍNH - HỆ THỐNG NHÚNG ũũũmũũũ NHĨM 01 Đề tài: Xây dựng hệ thống SoC có sử dụng IP SPI để giao tiếp nội tiếp BÁO CÁO ĐỀ TÀI ĐỒ ÁN THựC HÀNH SOC CHUYÊN NGÀNH MÁY TÍNH - HỆ THỐNG NHÚNG GIẢNG VIÊN Thầy Trần Tuấn Kiệt TP Hồ Chí Minh, tháng năm 2022 TĨM TẮT ĐỀ TÀI Đề tài nhóm tập trung vào việc thực hệ thống SoC có giao tiếp nội tiếp qua chuẩn SPI Sau trình thực hiện, nhóm hồn thành số tiêu chí đề lúc thiết kế, bao gồm: + Hiểu khái quát kiến thức thiết kế hệ thống SoC + Mơtiếp giao SPI.được q trình truyền nhận liệu thông qua chuẩn CÁC THÀNH VIÊN TRONG NHÓM STT Họ tên MSSV Nguyễn Huy Thành 1720221 Phan Tuấn An 18200051 Lê Bá Phước Long 1620128 Đồng Phạm Khánh Linh 1720135 Nguyễn Thành Long 1820165 Phạm Đình Quốc Vũ 1820289 MỤC LỤC 3 DANH SÁCH HÌNH Serial Peripheral Interface-SPI 1.1 Giới thiệu SPI - Serial Peripheral Interface - hay gọi giao diện ngoại vi nối tiếp, phát triển hãng Motorola Chuẩn đồng nối truyền liệu chế độ full - duplex (hay gọi "song cơng tồn phần" Nghĩa thời điểm xảy đồng thời trình truyền nhận Là giao tiếp đồng bộ, trình đồng với xung clock sinh thiết bị Master ► Không cần phải lo lắng tốc độ truyền liệu SPI thường sử dụng giao tiếp với nhớ EEPROM, RTC (Đồng hồ thời gian thực), IC âm thanh, loại cảm biến nhiệt độ áp suất, thẻ nhớ MMC thẻ SD chí vi điều khiển khác 10 11 Hình 1.1 Mơ hình SPI 1.2 Cấu tạo 12 Sử dụng đường giao tiếp nên gọi chuẩn truyền thông “ dây” đường : • SCK (Serial Clock): Thiết bị Master tạo xung tín hiệu SCK cung cấp cho Slave Xung có chức giữ nhịp cho giao tiếp SPI Mỗi nhịp chân SCK báo bit liệu đến ^ Quá trình bị lỗi tốc độ truyền cao • MISO (Master Input Slave Output): Tín hiệu tạo thiết bị Slave nhận thiết bị Master Đường MISO phải kết nối thiết bị Master Slave • MOSI (Master Output Slave Input): Tín hiệu tạo thiết bị Master nhận thiết bị Slave Đường MOSI phải kết nối thiết bị Master Slave • SS (Slave Select): Chọn thiết bị Slave cụ thể để giao tiếp Để chọn Slave giao tiếp thiết bị Master chủ động kéo đường SS tương ứng xuống mức (Low) Chân đơi cịn gọi CS (Chip Select) Chân SS vi điều khiển (Master) người dùng tạo cách cấu hình chân GPIO chế độ Output Master Processor Slave MOSI MOSI MIS O MISO SCK SCK ss or cs ss or cs Hình 1.2 Các chân kết nối SPI 13 Peripheral 1.3 Khung truyền SPI 14 Mỗi chip Master hay Slave có ghi liệu bits 15 Quá trình truyền nhận Master Slave xảy đồng thời sau chu kỳ đồng hồ, byte liệu truyền theo hướng 16 Quá trình trao đổi liệu bắt đầu Master tạo xung clock từ tạo xung nhịp (Clock Generator) kéo đường SS Slave mà truyền liệu xuống mức Low 17 Cứ xung clock, Master gửi bit từ ghi dịch (Shift Register) đến ghi dịch Slave thông qua đường MOSI Đồng thời Slave gửi lại bit đến cho Master qua đường MISO.Như sau chu kỳ clock hồn tất việc truyền nhận byte liệu 18 Dữ liệu ghi trao đổi với nên tốc độ trao đổi diễn nhanh hiệu 19 Lưu ý: Trong giao tiếp SPI, có Master nhiều Slave lúc Ở trạng thái nghỉ, chân SS Slave mức 1, muốn giao tiếp với Slave ta việc kéo chân SS Slave xuống mức 20 22 1.4 • 21 Hình 1.3 Quá trình truyền liệu Chế độ hoạt động SPI có chế độ hoạt động phụ thuộc vào cực xung giữ (Clock • • cs OR ss Polarity - CPOL) pha (Phase - CPHA) CPOL dùng để trạng thái chân SCK trạng thái nghỉ Chân SCK giữ mức cao CPOL=1 mức thấp CPOL=0 CPHA dùng liệu lấy mẫu theo xung Dữ liệu lấy cạnh lên SCK CPHA=0 cạnh xuống CPHA=1 23 MODEO (CPŨL=O&CPHA=0) MODE1 (CPOL=0&CPHA^1) MODE2 (CPOL=1&CPHA=0) MODE3 (CPỮL=1&CPHA=1) DATA 24 Hình 1.4 Chế độ hoạt động SPI • Mode (mặc định) - xung nhịp đồng hồ mức thấp (CPOL = 0) liệu lấy mẫu chuyển từ thấp sang cao (cạnh lên) (CPHA = 0) • Mode - xung nhịp đồng hồ mức thấp (CPOL = 0) liệu lấy mẫu chuyển từ cao sang thấp (cạnh xuống) (CPHA = 1) • Mode - xung nhịp đồng hồ mức cao (CPOL = 1) liệu lấy mẫu chuyển từ cao sang thấp (cạnh lên) (CPHA = 0) • Mode - xung nhịp đồng hồ mức cao (CPOL = 1) liệu lấy mẫu chuyển từ thấp sang cao (cạnh xuông) (CPHA = 1) 25 Lưu ý: Khi giao tiếp SPI vi điều khiển thiết bị ngoại vi khác IC, cảm biến bên bắt buộc hoạt động Mode, không liệu truyền nhận bị đọc sai 2 Thực 2.1 Thiết kế hệ thống System Contents - ri- n Clock Export End IRQ Tags Opcode Name clk Avalon Memory Mapped Master Avalon Memory Mapped Master instnjction_maste r Interrupt Receiver irq debug_reset_request Reset Oưtput debug_mem_slave Avalon Memory Mapped slave ciistom_instnjction_m,Cưstom Instriiction Master On-Chip Memory (RAM or ROM) , Intel,, B onchip memorvỉ Glock Input Avalon Memory Mapped slave ResetInput 7TAG UART Intel FPGAIP Olock Input ^esetInput Avalon Memory Mapped slave tnterriipt Sender 5PI (3 Wire Serial) Intel FPGA IP Avalon Memory Mapped slave tnterriipt Sender londuit 5PI (3 Wire Serial) Intel FPGA IP dock Input lesetInput londuit Memory Mapped Avalon 26 27 dickto exf dodc [dki [dk] IRC ũ Double click to ex [dk] dock [dkl] [dkl] IRC 31 0xũ0ũl_08ũ0 ũx0001_ũfff 0xoaoo_80ũa 0x0000_ffff 0x00811848 0x0001_104f OXŨOŨ1_1Ũ2Ũ 0x0001_103f 0x0001_1000 0x0001_10ic dock [dk] Doubíe-i [dk] dock [dk] [dk] Double click to ex dodc [dk] Hình 2.5 Hệ thống phần cứng 28 Trong giao diện Platform Designer thêm SPI(3 Wire Serial) Intel FPGA IP 29 30 31 32 SOC_SPI.V 3? ôô (T :i Đ tí* 10 w 2« z “ĩ module SOC_SPI □ ( input CLOCK_50, input [0:0] KEÝ 6L 33 10 34 12 13 35 System Nios_system Ẹ ( clk_clk (CLOCK_50), reset_reset_n (KEỸ[O]) li L endmodule 14 36 Hình 2.6 File top-level 37 Thêm file Top-level cho project 2.2 38 Thiết kế mô 2.2.1 Nios II Softwave Build Tools for Eclipse 39 Ịx| 1=1 hello_worid_small.c 23 40 A 80 @81 ilĩnclud^^ar^ty^es^h^ I?I 82 ne Ịude ’’ 11 e r a ay a pn^sp i_^r e g h ’’ ?, 83 ^incrgde^alcer^ayalon^^pi,;!!" ? 84 j| ĩ n □ lude^ " ỵ 31 emỊ.h " 85 #include 86 #ĩnclude // usleep 870 int main (void) { 88 printf("Entered Main\n"); 89 alt_u8 send_M; alt_u8 send_S; alt_u8 rcvd_S; alt_u8 rcvd_M; alt_u8 count; 90 count = 0; 91 whĩle(l){ 92 send_M = OxAA; 93 send_S = 0x55; 94 95 IOWR_ALTERA_AVALON_SPI_CONTROL(SPI_MASTER_BASE, 0x00í; 96 IOWR_ALTERA_AVALON_SPI_CONTROL(SPISLAVEBASE, 0x00); 97 98 IOWR_ALTERA_AVALON_SPI_TXDATA(SPI_SLAVE_BASE, send_S): 99 IOWR_ALTERA_AVALON_SPI_TXDATA(SPI_MASTER_BASE f send_M); 100 46 101 usleep(75); 102 103 104 105 106 107 109 110 111 112 113 £ 2® * "Smaỉỉ Hello Horld" exaiuple [] 41 42 43 44 45 □ rcvd_s = IORD_ALTERA_AVALON_SPI_RXDATA(SPI_SLAVE_BASE); rcvd_M = IORD_ALTERA_AVALON_SPI_RXDATA(SPI_MASTER_BASE); // Print results prĩntf("raastei sent = %i\t31ạye recv’d = send_Mr rcvd_S); prĩntf("slave sent = %i\tmaster recv'd = %i\n"r send_S, rcvd_M); 108 count ++; usleep(1000000); ) return 0; ỉ 114 47 2.2.2 49 Hình 2.7 Code C chạy mô Mô NIOS II MODELSIM 48 50 Hình 2.4 Mơ dạng sóng slave modelsim 51 Tài liệu tham khảo [1] https://github.com/janschiefer/verilog_spi [2] https://deviot.vn/blog/giao-tiep-spi.74706311 ...TĨM TẮT ĐỀ TÀI Đề tài nhóm tập trung vào việc thực hệ thống SoC có giao tiếp nội tiếp qua chuẩn SPI Sau trình thực hiện, nhóm hồn thành số tiêu chí đề lúc thiết kế, bao gồm:... thời điểm xảy đồng thời trình truyền nhận Là giao tiếp đồng bộ, trình đồng với xung clock sinh thiết bị Master ► Không cần phải lo lắng tốc độ truyền liệu SPI thường sử dụng giao tiếp với nhớ... dodc [dk] Hình 2.5 Hệ thống phần cứng 28 Trong giao diện Platform Designer thêm SPI( 3 Wire Serial) Intel FPGA IP 29 30 31 32 SOC_ SPI. V 3? ôô (T :i Đ tí* 10 w 2« z “ĩ module SOC_ SPI □ ( input CLOCK_50,

Ngày đăng: 30/03/2022, 12:26

Mục lục

    1.4. Chế độ hoạt động

    2.1. Thiết kế hệ thống

    2.2. Thiết kế mô phỏng

    38. 2.2.1. Nios II Softwave Build Tools for Eclipse

    2.2.2. Mô phỏng trên NIOS II MODELSIM

    51. Tài liệu tham khảo

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

Tài liệu liên quan