Tìm tài liệu

Thiet ke core I2C

Thiết kế core I2C

Upload bởi: dinhdaica2002

Mã tài liệu: 255303

Số trang: 85

Định dạng: rar

Dung lượng file: 3,768 Kb

Chuyên mục: Kỹ thuật điện - điện tử

Info

Đề tài: Thiết kế core I2C

MỤC LỤC

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 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ế 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 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 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 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 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 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 22

Bảng 2.2 Thiết lập giá trị đường SCL bằng các bit S21,S20 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 24

Bảng 2.4 Thanh ghi điều khiển/trạng thái S1 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ý 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

DANH MỤC CÁC HÌNH VẼ

Hình 2.1 BUS I2C và các thiết bị ngoại vi 11

Hình 2.2 Kết nối thiết bị vào bus I2C ở chế độ chuẩn (Standard mode) và chế độ nhanh (Fast mode) 12

Hình 2.3 Truyền nhận dữ liệu giữa chủ/tớ 13

Hình 2.4 Điều kiện START và STOP của bus I2C 14

Hình 2.5 Quá trình truyền 1 bit dữ liệu 15

Hình 2.6 Dữ liệu truyền trên bus I2C 16

Hình 2.7 Bit ACK, Not-ACK trên bus I2C 16

Hình 2.8 Cấu trúc byte dữ liệu đầu tiên 17

Hình 2.9 Quá trình truyền dữ liệu 17

Hình 2.10 Ghi dữ liệu từ chủ đến tớ 18

Hình 2.11 Đọc dữ liệu từ thiết bị tớ 19

Hình 2.12 Quá trình phối hợp đọc/ghi dữ liệu 19

Hình 2.13 Hình dạng và sơ đồ chân bộ điều khiển bus I2C PCF8584 20

Hình 2.14 Sơ đồ khối PCF8584 21

Hình 2.15 Thanh ghi đồng hồ S2 23

Hình 2.16 Thanh ghi dịch/đệm (shift register/read buffer) dữ liệu S0 25

Hình 2.17 Giản đồ định thì chế độ chủ truyền 29

Hình 2.18 Giản đồ định thì chế độ chủ nhận 30

Hình 2.19 Giản đồ định thì chế độ tớ truyền 30

Hình 2.20 Giản đồ định thì chế độ tớ nhận 30

Hình 2.21 Định thì RESET (tw4>=30tclk) 31

Hình 2.22 Chu kì STROBE (tw5=8tclk) 31

Hình 2.23 Chọn lựa chế độ giao tiếp: (1) Giao tiếp với họ MOTOROLA;(2) giao tiếp với họ INTEL 32

Hình 2.24 Sơ đồ giao tiếp với vi điều khiển 8051/8048 33

Hình 2.25 Sơ đồ giao tiếp với vi điều khiển 68000 33

Hình 3.1 Sơ đồ chân I2C core 35

Hình 3.2 Sơ đồ khối I2C IP Core 36

Hình 3.3 Bộ giải mã các thanh ghi 41

Hình 3.4 Sơ đồ chân khối cpu_interface 42

Hình 3.5 Ghi dữ liệu vào thanh ghi 45

Hình 3.6 Đọc dữ liệu từ thanh ghi 45

Hình 3.7 Sơ đồ chân khối control 46

Hình 3.8 Sơ đồ máy trạng thái khối control 50

Hình 3.9 Sơ đồ chân khối i2c_interface 52

Hình 3.10 Sơ đồ máy trạng thái của khối i2c_interface 54

Hình 3.11 Mạch phát hiện điều kiện Start/Stop trên bus I2C 56

Hình 3.12 Mạch tạo tín hiệu nội i2c_busy_ox 56

Hình 3.13 Mạch đồng bộ scl_s và sdai với clock hệ thống 57

Hình 3.14 Mạch lấy dữ liệu tại cạnh lên của xung scli 58

Hình 3.16 Quá trình đọc data và ghi ACK ra I2C bus 58

Hình 3.17 Quá trình trì hoãn xung sclovà khi bus lỗi 59

Hình 3.18 Timing của một số tín hiệu khác 59

Hình 3.19 Sơ đồ chân khối compare 60

Hình 3.20 Timing compare địa chỉ 61

Hình 3.21 Sơ đồ chân khối clock_generator 62

Hình 3.22 Sơ đồ chân khối interrupt 64

Hình 3.23 Mạch tạo cờ ngắt 65

Hình 3.24 Chủ phát Start + địa chỉ + truyền dữ liệu + phát Stop 65

Hình 3.25 Tớ nhận điều kiện Start + địa chỉ + nhận dữ liệu + điều kiện Stop 66

Hình 3.26 Chủ phát Start + địa chỉ + nhận dữ liệu + phát Stop 66

Hình 3.27 Tớ nhận điều kiện Start + địa chỉ + phát dữ liệu +điều kiện Stop 67

Hình 3.28 Chủ phát Start + địa chỉ + truyền dữ liệu + Stop + Start 67

Hình 3.29 Chủ tiếp tục phát địa chỉ + truyền dữ liệu và lệnh Stop 68

Hình 3.30 Tớ nhận điều kiện Start + địa chỉ + nhận dữ liệu + điều kiện Stop + Start 68

Hình 3.31 Tớ nhận tiếp địa chỉ + nhận dữ liệu + điều kiện Stop 68

Hình 3.32 Chủ phát Start + địa chỉ + truyền dữ liệu + Stop + Start + địa chỉ + nhận dữ liệu 69

Hình 3.33 Tớ nhận điều kiện Start + địa chỉ + nhận dữ liệu + điều kiện Stop + điều kiện Start + địa chỉ + truyền dữ liệu 69

Hình 3.34 Chủ phát Start + địa chỉ + nhận dữ liệu + Stop + Start + địa chỉ + truyền dữ liệu 70

Hình 3.35 Tớ nhận điều kiện Start + địa chỉ + truyền dữ liệu + điều kiện Stop + điều kiện Start + địa chỉ + nhận dữ liệu 71

Hình 3.36 Chủ phát Start + địa chỉ + nhận dữ liệu + Stop +Start + địa chỉ + nhận dữ liệu 71

Hình 3.37 Tớ nhận điều kiện Start + byte địa chỉ + truyền dữ liệu + điều kiện Stop + điều kiện Start + địa chỉ+ truyền dữ liệu 72

Hình 3.38 Chủ phát Start + địa chỉ + truyền dữ liệu + Restart + địa chỉ + truyền dữ liệu 72

Hình 3.39 Chủ phát Restart + nhận dữ liệu 73

Hình 3.40 Tớ nhận điều kiện Start + địa chỉ + nhận dữ liệu + Restart + địa chỉ + nhận dữ liệu 73

Hình 3.41 Tớ nhận điều kiện Restart + địa chỉ + truyền dữ liệu 74

Hình 3.42 Bus lỗi khi phát hiện điều kiện Start sai vị trí 74

Hình 3.43 Bus lỗi khi phát hiện điều kiện Stop sai vị trí 75

DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt Từ đầy đủ

IC Integrated Circuit

I2C-BUS Inter IC bus

SDA Serial Data Line

SCL Serial Clock Line

VHDL VHSIC (Very High Speed Integrated Circuits) Hardware Language Design

IEEE Institute of Electronics and Electrical Engineers

FPGA Field-programmable Gate Array

ACK Acknoledgement

LỜI NÓI ĐẦU

Kể từ khi được phát triển bới hãng điện tử Phillips vào đầu những năm 1980, chuẩn giao tiếp I2C đã trở thành một chuẩn giao tiếp quốc tế, được công nhận ở hơn 50 quốc gia trên thế giới.Bus I2C hiện nay được rất nhiều các hãng điện tử nổi tiếng tích hợp vào trong các sản phẩm của hãng như vi xứ lý, vi điều khiển Do đó khả năng ứng dụng của bus I2C trong thiết kế vi mạch và các hệ thống số là rất rộng lớn.Tuy tốc độ giao tiếp không cao bằng nhiều chuẩn giao tiếp ra đời sau này, nhưng nhờ sự đơn giản về phần cứng, bus I2C vẫn là một sự lựa chọn phổ biến cho các hệ thống điều khiển sử dụng vi xử lý hay vi điều khiển.

Xuất phát từ các yêu cầu thực tế và khả năng ứng dụng rộng rãi của bus I2C, nhóm chúng em quyết định chọn việc nghiên cứu và thiết kế lõi IP mềm của I2C Core với mục tiêu đề ra và đã đạt được là Core có thể điều khiển các chế độ hoạt động chủ yếu theo chuẩn giao tiếp I2C như:

o Chủ truyền (Master Transceiver)

o Chủ nhận (Master Receiver)

o Tớ truyền (Slave Transceiver)

o Tớ truyền (Slave Receiver)

Đồng thời Core có thể giao tiếp ở tốc độ tiêu chuẩn (100kb/s) và tốc độ nhanh (400kb/s).

Khả năng ứng dụng thực tế của đề tài này là có thể tích hợp I2C Core này vào các vi xử lý hay vi điều khiển do trung tâm ICDREC thiết kế.

Sau đây là bố cục các nội dung được trình bày trong khóa luận:

- Chương 1: Cung cấp các kiến thức cơ bản về ngôn ngữ Verilog , phần mềm Quartus II và chương trình mô phỏng ModelSim.

- Chương 2: Giới thiệu về chuẩn giao tiếp I2C ở các phần cơ bản như cấu trúc phần cứng,cách kết nối giữa các phần tử trên bus,cách thực hiện giao tiếp truyền nhận dữ liệu giữa các phần tử,định dạng khung dữ liệu.Tiếp theo là đôi nét cơ bản về bộ điều khiển bus I2C PCF8584 do hãng Phillips chế tạo.Thiết kế của I2C Core trình bày trong luận văn này là dựa theo hình mẫu của PCF8584 với một số chỉnh sửa nhằm tạo sự đơn giản và thuận tiện cho việc thiết kế.

- Chương 3: Là phần mô tả đặc tính chi tiết của từng module (bộ phận) trong I2C Core.Mỗi module đều được miêu tả chi tiết ở các chân vào (input)/ra (output), cách hoạt động và kết nối với các module khác để tạo nên một I2C Core hoàn chỉnh.Ngoài ra các sơ đồ khối,sơ đồ máy trạng thái,giản đồ định thì của các module cũng được trình bày nhằm giúp người đọc có thể dễ dàng tham khảo.

- Chương 4: Tổng kết kết quả đạt được,những ưu điểm và hạn chế của đề tài cũng như hướng phát triển của đề tài trong tương lai

Phần bên dưới chỉ hiển thị một số trang ngẫu nhiên trong tài liệu. Bạn tải về để xem được bản đầy đủ

  • Thiết kế core I2C
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Đang tải dữ liệu ...
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C
  • Thiết kế core I2C

GỢI Ý

Những tài liệu gần giống với tài liệu bạn đang xem

Thiết kế lưới điện

Upload: hoa151183

📎 Số trang: 146
👁 Lượt xem: 519
Lượt tải: 16

Thiết kế loa

Upload: emthemkem11091

📎 Số trang: 111
👁 Lượt xem: 386
Lượt tải: 16

Thiết kế chiếu sáng

Upload: hqhoanghung

📎 Số trang: 100
👁 Lượt xem: 473
Lượt tải: 18

Thiết kế lưới điện

Upload: nguyenha1111

📎 Số trang: 58
👁 Lượt xem: 570
Lượt tải: 18

Thiết kế máy điện

Upload: hellboy284

📎 Số trang: 52
👁 Lượt xem: 583
Lượt tải: 17

Thiết kế lưới điện

Upload: mecghius

📎 Số trang: 42
👁 Lượt xem: 424
Lượt tải: 16

Thiết kế biến tần

Upload: from_usa168

📎 Số trang: 42
👁 Lượt xem: 510
Lượt tải: 17

Thiết kế mạch logic

Upload: thuyvan12341234

📎 Số trang: 40
👁 Lượt xem: 668
Lượt tải: 17

Thiết kế mạch in

Upload: ghostdancer2588

📎 Số trang: 39
👁 Lượt xem: 528
Lượt tải: 16

Thiết kế mạch in 1

Upload: trungkien6881

📎 Số trang: 39
👁 Lượt xem: 515
Lượt tải: 16

Thiết kế hộp số

Upload: anh_dieu_8x

📎 Số trang: 33
👁 Lượt xem: 532
Lượt tải: 18

Thiết kế cấp điện

Upload: phubeo_u

📎 Số trang: 31
👁 Lượt xem: 303
Lượt tải: 17

QUAN TÂM

Những tài liệu bạn đã xem

Thiết kế core I2C

Upload: dinhdaica2002

📎 Số trang: 85
👁 Lượt xem: 623
Lượt tải: 20

CHUYÊN MỤC

Kỹ thuật - Công nghệ Kỹ thuật điện - điện tử
Thiết kế core I2C Đề tài: Thiết kế core I2C MỤC LỤC 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 1 zip Đăng bởi
5 stars - 255303 reviews
Thông tin tài liệu 85 trang Đăng bởi: dinhdaica2002 - 13/05/2024 Ngôn ngữ: Việt nam, English
5 stars - "Tài liệu tốt" by , Written on 13/05/2024 Tôi thấy tài liệu này rất chất lượng, đã giúp ích cho tôi rất nhiều. Chia sẻ thông tin với tôi nếu bạn quan tâm đến tài liệu: Thiết kế core I2C