1. Trang chủ
  2. » Tất cả

(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C

66 1 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 66
Dung lượng 4,04 MB

Nội dung

(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C(Đề tài NCKH) Thiết kế và thi công bộ truyền nhận theo giao thức I2C

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG BÁO CÁO NGHIÊN CỨU KHOA HỌC THIẾT KẾ VÀ THI CÔNG BỘ TRUYỀN NHẬN THEO GIAO THỨC I2C NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG Sinh Viên: Dương Minh Trí MSSV: 17141247 Nguyễn Hồng Kỳ Anh MSSV: 17141043 Trần Minh Trí MSSV: 17141054 Nguyễn Chí Phúc MSSV: 17141038 Nguyễn Đinh Cao Tú MSSV: 17141157 TP HỒ CHÍ MINH – 06/2021 LỜI CẢM ƠN Đầu tiên chúng tơi xin gửi lời cảm ơn đến tồn thể thầy cô giảng dạy Khoa Đào tạo Chất lượng Cao cung cấp kiến thức hỗ trợ để thực đề tài Nghiên cứu khoa học Đặc biệt, xin gửi lời cảm ơn chân thành đến thầy Đỗ Duy Tân người hướng dẫn trực tiếp, hỗ trợ giúp đỡ nhiều suốt trình thực Đồng thời xin gửi lời cảm ơn đến Bộ mơn Máy Tính-Viễn Thông, Ban Giám hiệu Trường Đại học Sư Phạm Kỹ Thuật tạo điều kiện cho tham gia thực đề tài Nghiên cứu khoa học Thông qua đó, chúng tơi có hội để tìm hiểu thêm kiến thức chuyên ngành bổ sung thêm nhiều kiến thức chưa biết ôn tập kiến thức học thông qua việc thực đề tài Nghiên cứu khoa học Ngồi ra, chúng tơi xin cảm ơn đến bạn sinh viên Trường Đại học Sư phạm Kỹ Thuật Thành phố Hồ Chí Minh hỗ trợ, giúp đỡ chúng tơi suốt q trình thực đề tài Nghiên cứu khoa học Một lần chúng tơi xin chân thành cảm ơn! Nhóm sinh viên thực đề tài TÓM TẮT Ngày nay, với phát triển khơng ngừng dịng vi điều khiển, thiết bị ngoại vi, chuẩn giao tiếp phát triển ngày đa dạng, chuẩn truyền đại có tốc độ truyền lớn tỉ lệ lỗi thấp mà hệ thống số phức tạp phát triển Tuy nhiên kèm với gia tăng tốc độ ưu điểm hiệu suất độ phức tạp chuẩn truyền công suất tiêu hao lần truyền liệu Vì khơng phải hệ thống đại sử dụng chuẩn truyền này, với hệ thống số hay vài phần hệ thống yêu cầu khắt khe mặt công suất hay không cần tối ưu hiệu suất truyền liệu, chuẩn truyền liệu cũ UART, SPI, I2C sử dụng rộng rãi Dựa chuẩn truyền liệu, module số thiết kế tối ưu sẵn Một hệ thống số bao gồm đơn vị xử lý trung tâm hoạt động tốc độ cao module số sử dụng chuẩn truyền tốc độ thấp, để tối ưu hiệu suất ln có đơn vị đảm nhiệm việc điều khiển truyền nhận liệu I2C tên viết tắt từ tiếng anh “Inter-Integrated Circuit” chuẩn truyền có ưu điểm đơn giản, tiêu hao công suất thấp phần cứng phổ biến, chuẩn truyền I2C sử dụng phổ biến thiết bị , hệ thống số Dựa đặc tính chuẩn truyền I2C, đề tài tập trung vào việc thiết kế module I2C, module đóng vai trị truyền nhận liệu từ kênh truyền theo giao thức I2C Module thiết kế cấu hình hoạt động chế độ Master Slave, hỗ trợ mức tốc độ hoạt động 100 kbps, 400 kbps, Mbps 3.4 Mbps Ngoài ra, để hỗ trợ giao tiếp vi xử lý, thiết kế tích hợp APB Slave để giao tiếp thông qua giao tiếp APB giao tiếp AMBA MỤC LỤC DANH MỤC HÌNH Trang DANH MỤC BẢNG CÁC TỪ VIẾT TẮT CHƯƠNG TỔNG QUAN…………………………………………………………… …1 1.1 TÌNH HÌNH NGHIÊN CỨU……………………………………………… … 1.2 MỤC TIÊU ĐỀ TÀI…………………………………………………………… …1 1.3 GIỚI HẠN ĐỀ TÀI………………………………………………………… .…1 1.4 BỐ CỤC ĐỀ TÀI……………………………………………………………… …1 CHƯƠNG CƠ SỞ LÝ THUYẾT…………………………………………………….… 2.1 CHUẨN TRUYỀN I2C……………………………………………………….… 2.1.1 Giới thiệu………………………………………………………………… …3 2.1.2 Đặc điểm truyền nhận theo giao thức I2C …………………………………… 2.2 APB BUS……………………………………………………………………… 2.2.1 Giới thiệu……………………………………………………………… .….7 2.2.2 Những đặc trưng AMBA APB………………………………….…8 2.3 RTL DESIGN SỬ DỤNG VERILOG………………………………………… 10 2.3.1 Các phân lớp trừu tượng mạch tích hợp số……………………… …10 2.3.2 Ngôn ngữ mô tả phần cứng……………………………………………………11 2.3.3 Mạch tổ hợp mạch tuần tự………………………………………………….11 2.3.4 Mơ hình trạng thái hữu hạn……………………………………………………13 2.3.5 Mơ hình trạng thái hữu hạn với đường truyền liệu……………… ………14 CHƯƠNG MƠ HÌNH HỆ THỐNG…………………………………………….…… 16 3.1 SƠ ĐỒ CHÂN HỆ THỐNG…………………………………………………… 16 3.2 SƠ ĐỒ KHỐI TOÀN HỆ THỐNG…………………………………………….…16 CHƯƠNG THIẾT KẾ CHI TIẾT………………………………………………….… 19 4.1 MODULE APB INTERFACE………………………………………………… 19 4.1.1 Register file……………………………………………………………… 20 4.1.2 Mạch logic thực đọc ghi liệu………………………………….… 23 4.1.3 Khối điều khiển ngắt………………………………………………… … 25 4.2 MODULE CLOCK DIVIDER………………………………………….…….….26 4.3 RX FIFO TX FIFO ………………………………………………….….… …27 4.3.1 Khối TX FIFO………………………………………………………….… 28 4.3.2 Khối RX FIFO………………………………………………………….… 30 4.4 MODULE I2C INTERFACE………………………………………… ….… …32 4.4.1 Máy trạng thái hữu hạn……………………………………………… 34 4.4.2 Mạch phát điều kiện Start/Stop……………………………….… ….35 4.4.3 Mạch định hướng truyền liệu……………………………… ……… 36 4.4.4 Mạch truyền nhận liệu………………………………………….…….… 36 4.4.5 Mạch xác định ACK……………………………………………….… … 39 CHƯƠNG KẾT QUẢ VÀ ĐÁNH GIÁ……………………………………….…….….40 5.1 TÓM TẮT NỘI DỤNG………………………………………………… … …40 5.2 MƠ PHỎNG HOẠT ĐỘNG TỪNG KHỐI………………… ………….…… 40 5.2.1 Mơ hoạt động khối APB Interface………………………….……… 40 5.2.2 Clock Divider……………………………………………………… …… 41 5.2.3 TX FIFO – RX FIFO…………………………………………….…….… 41 5.2.4 I2C Interface……………………………………………………….…….…43 5.3 MƠ PHỎNG HOẠT ĐỘNG TỒN THIẾT KẾ……………………… 44 5.3.1 Mơ hình kiểm tra thiết kế…………………………………………………….44 5.3.2 APB Master………………………………………………………………….45 5.3.3 Mơ hoạt động tồn thiết kế……………………………… ……… …47 5.4 ĐÁNH GIÁ HOẠT ĐỘNG THIẾT KẾ………………………………… ………52 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN…………………… ……… …54 6.1 KẾT LUẬN……….…………………………………………………….…… …54 6.2 HƯỚNG PHÁT TRIỂN…… …………………………………………… ……54 TÀI LIỆU THAM KHẢO Hình 2.1: Sơ đồ giao tiếp thiết bị theo chuẩn I2C Hình 2.2: Định dạng khung liệu theo chuẩn I2C Hình 2.3: Điều kiện START Hình 2.4: Điều kiện STOP Hình 2.5: Định dạng liệu chế độ Master truyền Hình 2.6: Định dạng liệu chế độ Master nhận Hình 2.7: Minh họa kết nối APB bus Hình 2.8: Minh họa hệ thống sử dụng AMBA bus module I2C Hình 2.9: Giản đồ trạng thái APB bus Hình 2.10: Giản đồ thời gian trình ghi liệu Hình 2.11: Giản đồ thời gian trình đọc liệu Hình 2.12: Mơ hình mạch đồng Hình 2.13: Mơ hình hệ thống đồng với tín hiệu cho phép Hình 2.14: Mơ hình trạng thái hữu hạn Hình 2.15: Giản đồ trạng thái đơn giản Hình 2.16: Mơ hình trạng thái hữu hạn với đường truyền liệu Hình 3.1: Sơ đồ khối tổng quát module I2C Hình 3.2: Sơ đồ khối tồn hệ thống Hình 4.1: Sơ đồ khối APB Interface Hình 4.2: Mạch thực đọc ghi liệu theo giao tiếp APB Hình 4.3: Sơ đồ chi tiết mạch đọc/ghi ghi Hình 4.4: Gán giá trị tín hiệu ngõ với ghi cấu hình Hình 4.5: Mạch tạo tín hiệu ngắt Hình 4.6: Sơ đồ khối Clock Divider Hình 4.7: Sơ đồ chi tiết khối chia xung Hình 4.8: Sơ đồ mạch tạo tín hiệu Clock enable / Clock disable Hình 4.9: Bộ đệm FIFO Hình 4.10: Sơ đồ khối TX FIFO Hình 4.11: Mảng nhớ lưu liệu khối TX FIFO Hình 4.12: Mạch logic trỏ ghi TX FIFO Hình 4.13: Mạch logic trỏ đọc TX FIFO Hình 4.14: Mạch logic mơ tả trạng thái TX FIFO Hình 4.15: Sơ đồ khối RX FIFO Hình 4.16: Mảng nhớ lưu liệu RX FIFO Hình 4.17: Mạch logic trỏ ghi RX FIFO Hình 4.18: Mạch logic trỏ đọc RX FIFO Hình 4.19: Mạch mơ tả trạng thái RX FIFO Hình 4.20: Mạch báo tràn liệu RX FIFO Hình 4.21: Sơ đồ khối I2C Interface Hình 4.22: Máy trạng thái Master Hình 4.23: Máy trạng thái Slave Hình 4.24: Mạch phát đếm sườn lên/xuống SCL Hình 4.25: Mạch phát điều kiện start/stop Hình 4.26: Mạch xác định hướng truyền liệu slave master Hình 4.27: Thanh ghi dịch truyền Hình 4.28: Thanh ghi dịch nhận Hình 4.29: Các tín hiệu cho phép dịch Hình 4.30: Tín hiệu ghi liệu vào RX FIFO đọc liệu từ TX FIFO Hình 4.31: Mạch xác định phản hồi xung ACK Hình 5.1: Dạng sóng hoạt động APB Bus Hình 5.2: Dạng sóng hoạt động khối clock divider tốc độ 100kbps Hình 5.3: Dạng sóng hoạt động cho khối Clock Divider tốc độ 3,4Mbps Hình 5.4: Quá trình ghi liệu vào nhớ đệm TX FIFO Hình 5.5: Quá trình đọc liệu từ nhớ đệm TX FIFO Hình 5.6: Dạng sóng khối RX FIFO trình nhận liệu Hình 5.7: Dạng sóng mơ I2C master truyền liệu Hình 5.8: Mơ hình mơ module I2C Hình 5.9: Sơ đồ khối APB Master Hình 5.10: Mạch tạo tín hiệu cho phép hướng truyền data_in Hình 5.11: Mạch xác định hướng truyền liệu data_in Hình 5.12: Giản đồ trạng thái khối APB Master Hình 5.13: Dạng sóng mơ tả trạng thái WRITE APB Master Hình 5.14: Dạng sóng mơ tả trạng thái READ APB Master Hình 5.15: Dạng sóng mơ đường liệu SDA, clock SCL tín hiệu nội Master truyền Hình 5.16: Dạng sóng mơ đường liệu SDA, clock SCL tín hiệu nội Slave nhận Hình 5.17: Dạng sóng mơ đường liệu SDA, clock SCL tín hiệu nội Master nhận Hình 5.18: Dạng sóng mơ đường liệu SDA, clock SCL tín hiệu nội Slave truyền DANH MỤC BẢNG Bảng 3.1: Mô tả chức chân module I2C Bảng 4.1: Mô tả chức chân khối APB Interface Bảng 4.2: Bảng mô tả ghi Bảng 4.3: Bảng mô tả chi tiết ghi cấu hình Bảng 4.4: Mô tả chức chân khối I2C Interface CÁC TỪ VIẾT TẮT AHB APB ARM ASB DSP FIFO Advanced High-performance Bus Advanced Microcontroller Bus Architecture Advanced Peripheral Bus Advanced RISC Machines Advanced System Bus Digital Signal Processing First In First Out FPGA Field Programmable Gate Array FSM FSMD GPS IC PLL RAM ROM RTL Finite State Machine Finite State Machine With Data Path Global Positioning System Integrated Circuit Institute of Electrical and Electronics Engineers Internet Of Thing Intellectual Property Logic Element Mean Time Between Synchronization Failure Phase Lock Loop Random Access Memory Read Only Memory Register transfer level SIM Subscriber Identity Module SOC I2C System On Chip Inter-Integrated Circuit AMBA IEEE IOT IP LE MTBF Hình 5.4: Quá trình ghi liệu vào nhớ đệm Tx FIFO Kết mơ Hình 5.4 lấy từ khối TX FIFO Master truyền byte liệu Bắt đầu q trình truyền nhận nhận, khối nhận tín hiệu apb_ctx để xóa liệu giao tiếp trước (các liệu chưa truyền) TX FIFO để đảm bảo truyền nhận liệu mong muốn xác Tiếp đó, đường liệu apb_data liệu đọc từ ghi 0x2C truyền ghi vào khối tín hiệu apb_txff_wr tích cực Tín hiệu txff_empty để báo cho khối I2C Interface liệu TX FIFO, chưa ghi liệu tín hiệu mức cao kéo xuống mức thấp apb_txff_wr cho phép ghi liệu vào nhớ đệm Tín hiệu txff_txnf trạng thái mức cao chưa sử dụng hết ghi lưu liệu khối này, điều giúp APB Interface thể tiếp tục ghi liệu truyền cho giao tiếp Hình 5.5: Quá trình đọc liệu từ nhớ đệm TX FIFO Sau đệm TX FIFO có liệu, khối I2C Interface đọc liệu liệu từ nhớ đệm để truyền liệu Tín hiệu i_txff_rd tích cực để đọc liệu từ TX FIFO Khi liệu TX FIFO đọc hết, tín hiệu txff_empty kéo lên mức cao để báo khơng cịn liệu nhớ đệm TX FIFO 42 Hình 5.6: Dạng sóng khối RX FIFO trình nhận liệu Đối với RX FIFO, khối có hoạt động tương đối giống TX FIFO Tín hiệu apb_crx để xóa báo xóa liệu từ giao tiếp trước cho nhớ đệm Tín hiệu ghi vào khối thông qua đường liệu rxff_din tín hiệu i_rxff_wr tích cực Đồng thời liệu đọc từ khối đường liệu rxff_data tín hiệu apb_rxff_rd tích cực Mơ lấy từ RX FIFO Slave trình nhận liệu từ Master 5.2.4 I2C Interface Khối I2C Interface đóng vai trị quan trọng thiết kế, khối thực trình truyền nhận liệu từ ngoại vi theo giao thức I2C Dưới dạng sóng mơ hoạt động khối cấu hình Master gửi liệu Hình 5.7: Dạng sóng mơ I2C master truyền liệu 43 Khi bắt đầu q trình truyền nhận, tín hiệu i_clock_en từ I2C Interface tích cực, cho phép khối Clock Divider tạo xung cho giao tiếp thông qua đường tín hiệu i_clock, xung đồng làm tín hiệu xung đồng SCL Khi kết thúc trình giao tiếp, tín hiệu i_clock_stop kết thúc q trình tạo xung clock Clock Divider, tín hiệu SCL trở mức cao Các liệu từ TX FIFO đọc khối I2C Interface mức tích cạnh lên tín hiệu i_txff_wr liệu truyền bit đường tín hiệu SDA Thơng qua mơ thấy liệu truyền Master tương ứng với liệu đọc từ TX FIFO 0x06, 0x07 0x09 Sau truyền hết liệu TX FIFO, việc truyền nhận I2C thực hiện, đường tín hiệu SDA trạng thái khơng xác định “X” Các tín hiệu khác apb_ms dùng để cấu hình cho hoạt động khối đóng vai trị Master tích cực, tín hiệu apb_sp bắt đầu kết thúc giao tiếp, tín hiệu tadd để cấp địa Slave mà Master giao tiếp Các tín hiệu rxff_ov, txff_empty, i_rx_busy, i_tx_busy để báo trạng hoạt động nhớ đệm FIFO cho I2C Interface thực ghi độc liệu từ khối 5.3 MÔ PHỎNG HOẠT ĐỘNG TỒN THIẾT KẾ 5.3.1 Mơ hình kiểm tra thiết kế: Để kiểm tra lúc hoạt động chức giao tiếp thiết kế, mơ hình kiểm tra xây dựng cách kết nối thiết kế lại với thiết kế có cấu hình khác thực truyền nhận liệu hai khối Ngồi ra, mơ hình sửa dụng thêm khối APB Master để thực đọc ghi liệu cấu hình cho thiết kế Trong bus hệ thống bus kiến trúc AMBA APB, việc thực đọc ghi liệu lực chọn giao tiếp với APB Slave APB Bridge điều khiển, APB Master mơ hình kiểm tra thực chức tương tự Hình 5.8: Mơ hình mơ module I2C 44 5.3.2 APB Master: Khối APB Master cấp xung pclk prst_n tương tự thiết kế để hoạt động đồng khối Các tín hiệu data_in, data_sel, data_wr, apb_we, apb_re ngõ vào điều khiển trình đọc ghi cho khối Các tín hiệu prdata, padrr, pwrite, pwdata, penable psel giao tiếp APB truyền nhận liệu khối thiết kế APB Master Hình 5.9: Sơ đồ khối APB Master Trong tín hiệu data_sel data_wr lựa chọn việc liệu đưa từ ngõ vào data_in ghi vào ghi liệu pwdata hay đường địa paddr (Hình 5.9) Tín hiệu data_wr_edge tín hiệu phát cạnh xung data_wr để việc đọc ghi thực cạnh sườn lên xung clock Các tín hiệu paddr_sel pwdata_sel tín hiệu nội khối APB Master cho phép hướng liệu data_in (Hình 5.10) Hình 5.10: Mạch tạo tín hiệu cho phép hướng truyền data_in Hình 5.11: Mạch xác định hướng truyền liệu data_in Khi tín hiệu paddr_sel pwdata_sel_được tích cực, đường liệu data_in lái tùy thuộc vào cho phép, ngõ cịn lại trì liệu đến có tín hiệu cho phép Đối với đường liệu data_out, ngõ lái theo tín hiệu prdata apb_re tích cực, đồng thời kéo tín hiệu pwrite xuống mức thấp 45 Để thực việc đọc ghi liệu giao tiếp APB, APB Master thiết kế đơn giản bao gồm trạng thái hoạt động: IDLE, READ WRITE Giản đồ miêu tả trạng thái hoạt động APB Master Hình 5.11 Trong đó, apb_re_edge apb_we_edge tín hiệu phát cạnh xung lên tín hiệu cho phép đọc ghi apb_re apb_we Hình 5.12: Giản đồ trạng thái khối APB Master Cụ thể, APB Master có trạng thái hoạt độgn sau: + Trạng thái IDLE: APB Master trạng thái rỗi, khơng thực q trình đọc ghi Đây trạng thái trung gian lần chuyển đổi trạng thái khối + Trạng thái READ: Khi bắt sườn xuống apb_re khối chuyển sang trạng thái READ Trong trạng thái tín hiệu psel, penable bật lên tín hiệu pwrite giữ mức cho phép đọc liệu từ APB interface + Trạng thái WRITE: Khi bắt sườn xuống apb_we từ trạng thái IDLE khối chuyển sang thái WRITE Trong trạng thái này, ba tín hiệu psel, penable, pwrite bật lên cho phép ghi liệu vào APB interface Hình 5.13: Dạng sóng mơ tả trạng thái WRITE APB Master 46 Quá trình thực ghi liệu từ APB Master đến APB Slave thể Hình 5.12 Đầu tiên, để bắt đầu q trình ghi liệu, đường tín hiệu địa padrr đường tín hiệu liệu pwdata APB Bus cần có giá trị xác định Vì vậy, tín hiệu data_sel data_wr thay đổi (tham khảo Hình 5.9 Hình 5.10) để lái tín hiệu data_in cho đường địa padrr đường liệu pwdata Sau đó, tín hiệu apb_we tích cực để bắt đầu trình ghi liệu cho APB Slave, đồng thời ngõ penable, psel pwrite tích cực mức cao Hình 5.14: Dạng sóng mô tả trạng thái READ APB Master Ở kết mơ Hình 5.13 q trình đọc liệu từ APB Slave APB Master Bắt đầu trình đọc, tín hiệu data_sel đưa mức thấp data_wr tích cực mức cao, data_in cung cấp địa ghi cần đọc liệu từ APB Slave (tham khảo Hình 5.9) Khi tín hiệu apb_we tích cực mức cao, tín hiệu enable psel đồng thời tích cực, tín hiệu pwrite mức thấp để thực trình đọc liệu Dữ liệu đọc từ APB Slave ngõ vào prdata lấy cho đường liệu data_out 5.3.3 Mơ hoạt động tồn thiết kế Sau thiết kế hồn tất, đồng thời, mơ hình kiểm tra thiết kế xây dựng, việc kiểm tra thiết kế toàn hệ thống cần thực để đảm bảo thiết kế đạt yêu cầu đề ra, đồng thời đáp ứng với lý thuyết nghiên cứu Để việc thực kiểm tra bao quát nhiều cấu hình đề ra, đồng thời đánh giá hoạt động chế độ truyền khác nhau, nhóm sinh viên thực kiểm tra thiết với bao gồm Test case chính: Master truyền – Slave nhận với tốc độ truyền nhận 100 Kbps, Master nhận – Slave truyền với tốc độ truyền nhận 3,4 Mpbs Cấu hình chi tiết Test case mô tả chi tiết Bảng 5.1 47 Bảng 5.1: Bảng tóm tắt cấu hình cho Test case Cấu hình ghi Test case Master Slave + CTR (111): cấu hình + CTR (011): cấu hình Master, xóa FIFO truyền, Slave, xóa FIFO truyền, nhận nhận + ADDR (1010101): + TADDR (1010101): địa địa Slave slave cần giao tiếp + IF (111): cho phép + IF (111): cho phép ngắt ngắt Truyền, Nhận, Overrun Truyền, Nhận, Overrun Hình + CSEL (00): cấu hình tốc độ + SE: cho phép giao 5.14, tiếp I2C giao tiếp 100kbps 5.15 + COM (010): Phát tín hiệu Start, Master truyền Slave nhận Kết thúc giao tiếp cấu hình COM (000) + SE: cho phép giao tiếp I2C + DATA: 8’h06 -> 8’h09 + CTR (111): cấu hình + CTR (011): cấu hình Master, xóa FIFO truyền, Slave, xóa FIFO truyền, nhận nhận + TADDR (1010101): địa + ADDR (1010101): slave cần giao tiếp địa Slave + IF (111): cho phép ngắt + IF (111): cho phép Hình Truyền, Nhận, Overrun ngắt Truyền, Nhận, 5.16, + CSEL (11): cấu hình tốc độ Overrun 5.17 giao tiếp 3,4Mbps + SE: cho phép giao + COM (011): Phát tín hiệu tiếp I2C Start, Master nhận Slave + DATA: 8’7f -> 8’h82 truyền Kết thúc giao tiếp cấu hình COM (001) + SE: cho phép giao tiếp I2C 48 Mô tả Master Test case cấu hình thiết bị truyền, có nhiệm vụ gửi liệu 8’h06 ->8’h09 Slave cấu hình thiết bị nhận có địa cấu hình 1010101 Master giao tiếp với Slave theo giao thức I2C tốc độ 100kbps Master Testcase cấu hình thiết bị nhận liệu Slave cấu hình thiết bị truyền, có nhiệm vụ gửi liệu 8’7f -> 8’h82 Slave có địa 1010101 Master Slave giao giao thức I2C với tốc đọ truyền nhận 3,4Mbps 5.3.3.1 Master truyền – Slave nhận Với cấu hình Test case nêu Bảng 5.1, kết mô hoạt động Master Slave thể Hình 5.14, Hình 5.15 Hình 5.15: Dạng sóng mơ đường liệu SDA, clock SCL tín hiệu nội Master truyền Trong bus I2C, Master đóng vai trị điều khiển q trình giao tiếp định đọc ghi Master Slave Đồng thời, Master thiết bị tạo xung đồng hai thiết bị giao tiếp Phân tích kết mô giúp hiểu rõ hoạt động thiết kế cấu hình Master truyền liệu Khi giao tiếp I2C khởi tạo, xung clock tạo từ khối Clock Divider Master với tín hiệu cho phép i_clock_en, kết thúc tín hiệu i_clock_stop hồn thành việc truyền nhận liệu Master chế độ truyền với liệu phát txff_data 8’h06, 8’h07, 8’h08, 8’h09 Các liệu đọc TX FIFO mức tích cực mức cao cửa tín hiệu i_txff_rd, cho phép đọc liệu từ khối Tương ứng trỏ đọc TX FIFO tăng lên để trỏ đến liệu xác Đối với hoạt động máy trạng thái FSM I2C Interface, FSM trạng thái IDLE, sau tín hiệu Start SDA (khi SDA kéo xuống mức thấp), FSM chuyển sang thái FIRSTBYTE gửi byte địa (7 bit) bit W/R=0 để xác định Slave mà Master muốn giao tiếp hướng truyền liệu Tiếp theo FSM chuyển đến trạng thái TRANSMIT nhận bit xác nhận địa ACK (SDA=0) từ Slave để phát byte liệu Các tín hiệu m_fsm_idle, m_fsm_first_byte, m_transmit ứng với trạng thái IDLE, FIRSTBYTE TRANSMIT FSM Bit hiz mơ mang ý nghĩa đường tín hiệu mức trở kháng cao, bit one tích cực đường tín mức cao kéo xuống mức thấp bit zero tích cực 49 Các bit hiz, zero, one để quy định mức đường liệu SDA Bit zero one bật lên đoạn thời gian đầu cuối trình truyền để tạo điều kiện Start Stop Khi truyền byte liệu, bit tắt để đường tín hiệu SDA thay đổi theo liệu Master Ở xung clock thứ sau thực gửi byte liệu đầu tiên, bit hiz bật lên mức cao, thả đường truyền cho Slave trả tín hiệu ACK Hình 5.16: Dạng sóng mơ đường liệu SDA, clock SCL tín hiệu nội Slave nhận Slave bus I2C có khả thực chức đọc ghi liệu cho Master, nhiên hoạt động giao tiếp thiết bị phụ thuộc vào tín hiệu điều khiển từ Master Phân tích kết phần thiết kế cấu hình Slave nhận liệu Khi byte địa gửi, địa mà Master gửi xác với địa mà Slave cấu hình, Slave trả tín hiệu ACK đồng thời bit s_rigth_add bật lên trình truyền nhận bắt đầu Sau byte địa để kiểm tra Slave mà Master muốn giao tiếp, liệu đọc ghi vào nhớ đệm RX FIFO, bit rx_busy tích cực để báo có liệu khối Khi nhận liệu trỏ ghi RX FIFO tăng tương ứng để ghi liệu nhớ đệm Các liệu nhận ghi vào RX FIFO tương ứng 8’h06, 8’h07, 8’h08 8’h09 Máy trạng thái FSM Slave ban đầu trạng thái chờ IDLE, sau phát tín hiệu Start đường truyền chuyển sang trạng thái FIRSTBYTE để so sánh địa Sau kiểm tra địa với địa máy chuyển sang trạng thái RECEIVE để nhận liệu đến phát bit Stop Sau cuối byte truyền, nhận đủ byte liệu từ Master, tín hiệu ack_return Slave bật để kéo đường SDA xuống 0, tương ứng bit s_hiz tắt để bật tín hiệu zero Trong q trình truyền, s_hiz tích cực để thả đường SDA cho Master truyền liệu 50 5.3.3.2 Master nhận – Slave truyền Với cấu hình Test case nêu Bảng 5.1, kết mô hoạt động Master Slave thể Hình 5.16 Hình 5.17 Hình 5.17: Dạng sóng mơ đường liệu SDA, clock SCL tín hiệu nội Master nhận Phần phân tích kết mơ hoạt động thiết kế cấu hình Master nhận liệu Khi Master trạng thái RECEIVE, ban đầu phát byte địa nên bit i_tx_busy tích cực, sau nhận liệu từ Slave nên tín hiệu i_rx_busy bật lên Cứ sau lần nhận đủ bit byte liệu bit tín hiệu i_rxff_wr tích cực để ghi vào nhớ đệm RX FIFO, lúc trỏ ghi rxff_wptr tăng lên để ghi liệu vào địa khối Dữ liệu nhận từ Slave đến Master thấy thơng qua đường liệu rx_din ngõ vào nhớ đệm RX FIFO, liệu nhận tương ứng 8’h7f, 8’h80, 8’h81 8’h82 Cuối byte liệu nhận, Master lúc trả tín hiệu ACK (SDA=0) để xác nhận với Slave, bit zero tích cực để tạo tín hiệu ACK đường liệu SDA Hoạt động máy trạng thái FSM Master chế độ nhận liệu thực thi trạng thái tương tự trên, từ trạng thái IDLE sang M_FIRSTBYTE đến RECEIVE Để kiểm soát đường truyền, bit hiz, one zero phải tích cực cách thống Trong trình tạo điều kiện Start Stop bit one zero bật Trong trình truyền liệu diễn bit hiz bật, thả đường liệu SDA cho liệu truyền từ Slave 51 Hình 5.18: Dạng sóng mơ đường liệu SDA, clock SCL tín hiệu nội Slave truyền Mơ hoạt động thiết kế cấu hình Slave truyền liệu trình bày phần Sau phát bit Start, Slave chuyển trạng thái từ IDLE sang FIRSTBYTE để kiểm tra địa Khi byte dầu tiên với địa cấu hình Slave, tín hiệu s_right_add tích cực xác nhận hướng truyền từ Slave qua Master (bit R/W =1), FSM Slave chuyển đến trạng thái TRANSMIT Dữ liệu truyền từ Slave 8’h7f, 8’h80, 8’h81 8’h82 Tín hiệu i_txff_rd tích để đọc liệu từ nhớ đệm TX FIFO, sau truyền byte dữa liệu thơng qua SDA Trong q trình truyền bit liệu, hiz kéo xuống mức thấp để SDA thực việc truyền liệu Tại xung clock thứ SCL, bit hiz bật để chờ tín hiệu xác nhận ACK từ Master 5.4 ĐÁNH GIÁ HOẠT ĐỘNG THIẾT KẾ Thông qua việc thực mơ phỏng, kiểm tra, phân tích hoạt động khối riêng lẻ tồn thiết kế, đánh giá kết thiết kế sau: + Khối APB Interface đảm bảo việc đọc ghi liệu từ Tệp ghi cấu hình cho thiết kế, đồng thời hoạt động với lý thuyết nghiên cứu giao tiếp AMBA APB + Khối TX FIFO RX FIFO đáp ứng yêu cầu lưu trữ liệu trước truyền nhận thiết kế với ngoại vi, thiết kế với vi xử lý Các trỏ đọc ghi thay đổi giá tương ứng để lưu lấy giá trị liệu khối chức 52 + Khối tạo xung Clock Divider đảm bảo tạo xung đồng SCL bắt đầu giao tiếp đồng thời kết thúc xung đồng giao tiếp hoàn tất Đồng thời khối đảm bảo việc tạo xung nhiều tần số hoạt động khác + Khối I2C Interface thực giao chuẩn truyền thông I2C Tín hiệu lái đường liệu SDA xác với lý thuyết chuẩn truyền thơng Đồng thời thay đổi trạng thái hoạt động với yêu cầu thiết kế đặt + Các khối chức kết nối thành thiết kế hoàn chỉnh đảm bảo hoạt động chức + Các liệu truyền tương ứng với liệu nhận hai hướng truyền từ Master từ Slave Do đảm bảo thiết kế hoạt động chế độ truyền khác đảm bảo mặt chức + Thiết kế hoạt động xác việc truyền nhận liệu cấu hình Master Slave Vì vậy, thiết kế đảm bảo yêu cầu mà nhóm sinh viên đề ban đầu 53 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau thực đề tài Nghiên cứu khoa học “Thiết kế thi công truyền nhận theo giao thức I2C” với hướng dẫn thầy TS Đỗ Duy Tân, nhóm thiết kế kiểm tra hoạt động thông qua phương pháp mô để đảm báo thiết kế hoạt động xác Sau kiểm tra so sánh kết mô với lý thuyết, thiết kế hoạt động với yêu cầu ban đầu mà nhóm để đảm bảo thực với nhiều cấu hình khác Trong đó, khối APB Interface đảm bảo việc truyền nhận liệu từ phía module I2C với vi điều khiển, khối nhớ đệm FIFO đảm bảo việc lưu trữ liệu trước truyền sau nhận giao tiếp I2C, I2C Interface đảm bảo hoạt động theo cấu hình truyền nhận liệu mong muốn Tuy nhiên, thiết kế dừng lại mức mô đơn giản mà chưa bao hàm mức kiểm tra phức tạp nhằm đảm bảo hoạt động thiết kế xác tuyệt đối Đồng thời, thiết kế chưa thực thi phần cứng thực tế FPGA, SOC,… để kiểm tra tài nguyên sử dụng thực tế hay hoạt động thực tế module I2C 6.2 HƯỚNG PHÁT TRIỂN Đề tài “Thiết kế truyền nhận theo giao thức I2C” phát triển để hồn thiện phát triển thành soft IP hoàn chỉnh để ứng dụng hệ thống SOC sử dụng vi xử lý ARM, hay IC sử dụng chuẩn bus hệ thống AMBA Đề tài tổng hợp phần cứng FPGA nhằm đảm bảo hoạt động thực tế thiết kế Ngoài ra, bus I2C bao gồm nhiều Master Slave, lúc việc có nhiều Master điều khiển trình giao tiếp bus gây xung đột mặt tín hiệu Vì vậy, đề tài phát triển thêm tính phân xử cho thiết kế giao tiếp I2C để kết nối nhiều Master, Slave bus I2C để tối ưu hoá việc truyền nhận 54 TÀI LIỆU THAM KHẢO [1] Phạm Thái Ngọc, Hồ Ngọc Bảo “Thiết Kế Bộ Giao Tiếp Multichannel UART Sử Dụng FPGA” Trường Đại học Sư phạm Kỹ thuật TP HCM, 6/2020 [2] AMBA™ Specification (Rev 2.0), https://developer.arm.com/docs/ihi0011/a/amba-specification-rev-20 [3] Pong P.Chu “RTL Hardware Design using VHDL” A JOHN WILEY & SONS, INC, 2006 [4] Stephen Brown and Zvonko Vranesic “Fundamentals of Digital Logic with Verilog Design (third edition)” McGraw Hill, 2014 [5] Joseph Cavanagh “Digital Design and Verilog HDL Fundametals” T&F India, 2008 [6] I2C bus specification and user manual, Rev 6, 2014 https://www.nxp.com/docs/en/user-guide/UM10204.pdf [7] Introduction to I2C Bus http://www.semiconductors.philips.com/i2c [8] I2C interface tutorial http://www.lammertbies.nl/comm/info/I2C-bus.html [9] AMBA Specification, ARM Ltd, 13th May 1999 https://student.cs.uwaterloo.ca/~cs452/docs/amba-spec.pdf [10] AMBA™ APB Protocol v1.092 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0024b/index.html 55 ... TÀI Đề tài Thi? ??t kế giao tiếp truyền nhận theo giao thức I2C thực hiện, kiểm tra hoàn thi? ??n mức độ mô phỏng, đảm bảo thi? ??t kế hoạt động theo giao thức Vì giới hạn mặt thời gian, thi? ??t kế tương... thống số Dựa đặc tính chuẩn truyền I2C, đề tài tập trung vào việc thi? ??t kế module I2C, module đóng vai trị truyền nhận liệu từ kênh truyền theo giao thức I2C Module thi? ??t kế cấu hình hoạt động chế... tổng qt thi? ??t kế truyền nhận theo giao tiếp I2C thể hình 3.1 Thi? ??t kế xây dựng với khả giao tiếp với vi xử lý thông qua giao tiếp AMBA APB nhằm cấu hình cho hoạt động thi? ??t kế, thực truyền nhận

Ngày đăng: 15/01/2023, 21:50

w