Đề tài Thiết kế core I2C
MỤC LỤC i DANH MỤC CÁC BẢNG BIỂU iii DANH MỤC CÁC HÌNH VẼ iii DANH MỤC CÁC TỪ VIẾT TẮT iii LỜI NÓI ĐẦU vi CHƯƠNG 1: NGÔN NGỮ VERILOG VÀ PHẦN MỀM THIẾT KẾ, MÔ PHỎNG 1 1.1 Giới thiệu sơ lược về ngôn ngữ lập trình Verilog [4] 1 1.1.1 Mô tả 1 1.1.2 Tại sao sử dụng Verilog ? 1 1.1.3 Một số qui ước thiết kế [1] 2 1.1.3.1 Cấu trúc chương trình: 3 1.1.3.2 Các kiểu dữ liệu và vùng nhớ: 3 1.1.3.3 Toán tử 4 1.1.3.4 Các cấu trúc điều khiển 6 1.1.3.5 Điều khiển theo sự kiện 7 1.1.3.6 Sự kết hợp giữa nhiều module 8 1.2 Phần mềm thiết kế vi mạch Quartus II [4] 9 1.2.1 Giới thiệu về phần mềm Quartus II 9 1.2.2 Chức năng của phần mềm Quartus II 9 1.2.2.1 Design Entry (Thiết kế ban đầu) 9 1.2.2.2 Tổng hợp (Synthesis) 10 1.2.2.3 Nối dây và định vị các phần tử-Fitting (Placement and Routing) 10 1.2.2.5 Programing and Configuration 10 1.3. Phần mền mô phỏng Modelsim Altera [4] 10 CHƯƠNG 2: CHUẨN GIAO TIẾP I2C VÀ BỘ ĐIỀU KHIỂN BUS I2C PCF8584 11 2.1 Chuẩn giao tiếp I2C [3] 11 2.1.1 Giới thiệu chung về chuẩn giao tiếp I2C 11 2.1.2 Đặc điểm giao tiếp I2C 11 2.1.2.1 Điều kiện START và STOP (START and STOP conditions) 14 2.1.2.2 Định dạng dữ liệu truyền 15 2.1.2.3 Định dạng địa chỉ thiết bị 16 2.1.2.4 Truyền dữ liệu trên bus I2C, chế độ Master - Slave 17 2.1.2.5 Chế độ Multi‐Master 19 2.2 Bộ điều khiển bus I2C PCF8584 20 2.2.1 Đặc điểm [2] 20 2.2.2 Sơ đồ và chức năng các chân 22 2.2.3 Miêu tả các thanh ghi [2] 23 2.2.3.1 Thanh ghi địa chỉ nội S0’ 23 2.2.3.2 Thanh ghi đồng hồ S2 23 2.2.3.3 Thanh ghi vector ngắt S3 24 2.2.3.4 Thanh ghi dịch/đệm (shift register/read buffer) dữ liệu S0 25 2.2.4 Truy cập các thanh ghi 28 2.2.5 Giản đồ định thì ở các chế độ hoạt động 29 2.2.6 RESET và STROBE: 31 2.2.7 Cách chọn chế độ giao tiếp 31 2.2.8 Sơ đồ giao tiếp với các vi điều khiển/vi xử lý 33 CHƯƠNG 3: THIẾT KẾ VÀ MÔ PHỎNG LÕI IP CORE MỀM ĐIỀU KHIỂN BUS I2C 34 3.1 Giới thiệu tính năng 34 3.2 Sơ đồ chân 35 3.3 Sơ đồ khối 36 3.3.1 Mô tả chức năng và mục đích các khối 37 3.3.2 Mô tả các thanh ghi 37 3.4 Thiết kế và phân tích các khối 39 3.4.1 Khối cpu_interface 39 3.4.1.1 Tính năng 39 3.4.1.2 Sơ đồ chân 42 3.4.1.3 Mô tả chân 43 3.4.1.4 Giản đồ định thời 45 3.4.2 Khối control 46 3.4.2.1 Tính năng 46 3.4.2.2 Sơ đồ chân 46 3.4.2.3 Mô tả chân 47 3.4.2.4 Quá trình hoạt động : 48 3.4.2.5 Lưu đồ hoạt động của từng trạng thái: 51 3.4.3 Khối i2c_interface 51 3.4.3.1 Tính năng: 51 3.4.3.2 Mô tả chân 52 3.4.3.3 Các trạng thái hoạt động của khối: 54 3.4.3.4 Mô tả hoạt động từng trạng thái: 54 3.4.3.5 Các loại mạch được sử dụng trong khối i2c_interface 56 3.4.3.6 Giản đồ timing hoạt động của khối: 58 3.4.4. Khối compare 60 3.4.4.1 Mô tả chân 60 3.4.4.2 Hoạt động chi tiết của khối compare 61 3.4.5. Khối clock_generator 62 3.4.5.1 Mô tả chân 62 3.4.5.2 Tính năng 63 3.4.6. Khối interrupt 64 3.4.6.1 Mô tả chân 64 3.4.6.2 Mục đích 65 3.4.6.3 Thực hiện 65 3.5 Kết quả mô phỏng 65 3.5.1 Chủ truyền – Tớ nhận (Master Transmitter – Slave Receiver) 65 3.5.2 Chủ nhận – Tớ truyền (Master Receiver - Slave Transmitter) 66 3.5.3 Tiếp tục trao đổi dữ liệu sau khi phát lệnh Stop: 67 3.5.3 Restart khi đang trao đổi dữ liệu: 72 3.5.4 Bus lỗi: 74 CHƯƠNG 4: KẾT LUẬN CHUNG VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 76 4.1 Nhận xét chung 76 4.1.1 Những kết quả đạt được 76 4.1.2 Những giới hạn tồn tại 76 4.2 Hướng phát triển 77 TÀI LIỆU THAM KHẢO 77 DANH MỤC CÁC BẢNG BIỂU Bảng 2.1 Sơ đồ và chức năng chân PCF8584 [2] 22 Bảng 2.2 Thiết lập giá trị đường SCL bằng các bit S21,S20 [2] 24 Bảng 2.3 Giá trị các bit S24, S23, S22 tương ứng với giá trị tần số đồng hồ ở chân CLK [2] 24 Bảng 2.4 Thanh ghi điều khiển/trạng thái S1 [2] 26 Bảng 2.5 Giá trị bit STA-STO 27 Bảng 2.6 Cách truy cập các thanh ghi của PCF8584 29 Bảng 2.7 Các tín hiệu tự động cài đặt bởi PCF8584 khi giao tiếp với vi điều khiển / vi xử lý [2] 32 Bảng 3.1 Sơ đồ chân I2C Core 35 Bảng 3.2 Các thanh ghi 37 Bảng 3.3 Chức năng các bit của thanh ghi S1 control (S1c) 37 Bảng 3.4 Chức năng các bit của thanh ghi S1 status (S1s) 38 Bảng 3.5 Thanh ghi data_buffer (S0d) 39 Bảng 3.6 Mô tả chân khối cpu_interface 43 Bảng 3.7 Giải mã địa chỉ các thanh ghi 44 Bảng 3.8 Mô tả chân khối control 47 Bảng 3.9 Mô tả chân khối i2c_interface 52 Bảng 3.10 Bảng lựa chọn giữa gen_clko và scli 578 Bảng 3.11 Mô tả chân khối compare 601 Bảng 3.12 Mô tả chân khối clock_generetor 623 Bảng 3.13 Bảng chia tần số đường SCL 63 Bảng 3.14 Bảng chia tần số clock hoạt động của Core 634 Bảng 3.15 Mô tả chân khối interrupt 645
Các file đính kèm theo tài liệu này:
- Luan van tot nghiep_Thi_t k_ 1(cu).doc