1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu thiết kế các lõi ip điều khiển giao tiếp bus i2c

270 536 2

Đ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 270
Dung lượng 5,85 MB

Nội dung

Với mục tiêu trên, ICDREC đã thiết kế thành công 2 lõi IP I2C_controller: + Lõi IP chuyển đổi giao tiếp từ APB sang I2C dạng lõi IP mềm và lõi IP cứng + Lõi IP I2C tương thích 8584 của N

Trang 1

I

TÓM TẮT NỘI DUNG NGHIÊN CỨU

I2C là một chuẩn giao tiếp nối tiếp có kết nối phần cứng khá đơn giản( chỉ gồm 2 đường tín hiệu SDA ( Serial Data) và SCL (Serial Clock)), và tốc độ trao đổi dữ liệu liệu lớn lên đến cả Mbps Đây là chuẩn được tích hợp trong hầu hết các dòng vi xử lí phổ biến hiện nay Vì vậy, với đề tài thiết kế lõi IP I2C_controller sẽ bổ sung thêm IP trên thị trường IP thế giới đồng thời sẽ xây dựng một tập hợp thư viện lõi IP cho Việt Nam Hướng đến hoàn thiện dòng vi xử lý 8-bit và 32-bit của Việt Nam do ICDREC thiết kế Đồng thời với những sản phẩm này với các tính năng tương tự với những sản phẩm thương mại hiện có trên thế giới, ICDREC sẽ đưa lên sàn giao dịch IP cụ thể là ChipEstimate và Design and Reuse

Qua đề tài này, ICDREC tiếp tục nâng cao chất lượng đội ngũ nghiên cứu và thiết kế vi mạch để từ đó có thể tiến đến việc nâng cao khả năng nghiên cứu và thiết kế hướng đến rút ngắn khoảng cách công nghệ với thế giới

Với mục tiêu trên, ICDREC đã thiết kế thành công 2 lõi IP I2C_controller:

+ Lõi IP chuyển đổi giao tiếp từ APB sang I2C (dạng lõi IP mềm và lõi IP cứng) + Lõi IP I2C tương thích 8584 của NXP Đây là bộ điều khiển giao tiếp truyền nối tiếp theo chuẩn giao tiếp bus I2C nhưng có thể đồng bộ với chuẩn giao tiếp song song của Intel và Motorola

Tuy nhiên, để hoàn thiện lõi IP này chúng ta cần phải thêm các tính năng tự xử lý các

“lệnh” cơ bản để giảm bớt hoạt động cho vi xử lý khi kết nối đến bộ điều khiển Cần cấu hình cho IP có thể hỗ trợ những chế độ như: chỉ hỗ trợ chế độ slave, chỉ hỗ trợ chế

độ master, hoặc hỗ trợ cả hai tương ứng với nhu cầu của hệ thống SoC hay vi xử lí giúp giảm tài nguyên cũng như tăng tần số hoạt động của hệ thống SoC Cần phát triển thêm những tín hiệu bắt tay với DMA (Direct Memory Access) để ứng dụng những hệ thống giao tiếp nhanh

Trang 2

II

SUMMARY OF RESEARCH CONTENT

I²C (Inter-Integrated Circuit) perform peer-to-peer serial communication invented by Philips It uses only two bidirectional open-drain lines, Serial Data Line (SDA) and Serial Clock (SCL) So the I2C_controller IP core is designed will provide for IP market And its will build a set of IP core libraries to Vietnam It will become peripheral to the 8 bit and 32 bit processor which was designed by ICDREC

With the above objectives, ICDREC has successfully designed two IP cores I2C controller:

+ IP I2C controller compliant APB bus (include soft IP cores and hard IP cores) + IP I2C controller compliant 8584 of NXP

However, to complete the IP core, we configurate these IP can support the regimes such as: supporting only slave mode, only support master mode, or support both correspond the SoC It will reduce resources and increased operating frequency of the SoC We need to develop further the handshake signals with DMA controller (Direct Memory Access) to applications faster communication systems

Trang 3

III

MỤC LỤC

TÓM TẮT NỘI DUNG NGHIÊN CỨU I SUMMARY OF RESEARCH CONTENT II MỤC LỤC III Mục lục hình vẽ XIII Mục lục bảng XVIII

CHƯƠNG 1 MỞ ĐẦU 1

1.1 Thông tin về đề tài 1

1.1.1 Tên đề tài/Dự án 1

1.1.2 Tổ chức chủ trì thực hiện đề tài/dự án 1

1.1.3 Chủ nhiệm đề tài/dự án 1

1.1.4 Thời gian thực hiện 1

1.1.5 Tổng kinh phí đề tài: 1

1.2 Mục tiêu đề tài 1

1.3 Nội dung nghiên cứu 2

1.4 Tiến độ thực hiện và hoàn thành công việc: 2

CHƯƠNG 2 TỔNG QUAN TÀI LIỆU 5

2.1 Phương pháp nghiên cứu, cách tiếp cận vấn đề: 5

2.1.1 Đối với lõi IP chuyển đổi từ APB sang I2C : 5

2.1.2 Đối với lõi IP giao tiếp bus I2C tương thích với 8584: 5

2.1.3 Quy Trình Thực Hiện Đề Tài: 6

2.2 Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài: 7

2.2.1 Tình hình nghiên cứu ngoài nước: 7

2.2.2 Tình hình nghiên cứu ngoài nước: 8

2.2.2.1 Sơ lược về bức tranh nền công nghiệp bán dẫn trong nước: 8

Trang 4

IV

2.2.2.2 Một số đề tài liên quan: 9

2.3 Tính cấp thiết của đề tài: 10

2.3.1 Quan điểm công nghệ 10

2.3.2 Quan điểm thương mại: 10

2.4 Ý nghĩa và tính mới về khoa học và thực tiễn: 12

CHƯƠNG 3 NGHIÊN CứU VÀ THIếT Kế LÕI IP MềM CHUYểN ĐổI Từ APB SANG I2C: 13

3.1 Giới thiệu: 13

3.1.1 Mô tả tính năng của IP: 13

3.1.2 Sơ đồ chân: 14

3.1.3 Sơ đồ khối: 15

3.2 Phân tích các khối: 16

3.2.1 APB_interface 16

3.2.1.1 Tính năng: 16

3.2.1.2 Sơ đồ chân: 24

3.2.1.3 Mô tả chân: 25

3.2.1.4 Giản đồ định thời: 28

3.2.2 Khối Control unit: 29

3.2.2.1 Tính năng: 29

3.2.2.2 Sơ đồ chân: 29

3.2.2.3 Mô tả chân: 30

3.2.2.4 Mô tả tính năng: 32

3.2.3 FIFO: 34

3.2.3.1 Tính năng: 34

3.2.3.2 Sơ đồ khối: 35

3.2.4 I2C_Interface: 36

3.2.4.1 Tính Năng: 36

Trang 5

V

3.2.4.2 Sơ đồ chân: 36

3.2.4.3 Mô tả chân: 37

3.2.4.4 Sơ đồ các mạch logic: 39

3.2.4.5 Giản đồ timing hoạt động của khối: 42

3.2.5 Khối Compare: 45

3.2.5.1 Sơ đồ chân khối compare: 45

3.2.5.2 Bảng mô tả chân khối compare: 46

3.2.5.3 Hoạt động chi tiết của khối compare: 46

3.2.5.4 Sơ đồ khối chi tiết của khối compare: 48

3.2.6 Clock_gen: 49

3.2.6.1 Sơ đồ chân: 49

3.2.6.1.1 Mô tả chân: 49

3.2.6.2 Tính năng: 50

3.2.7 Khối Interrupt: 50

3.2.7.1 Sơ đồ chân: 50

3.2.7.2 Mô tả chân: 51

3.2.7.3 Tính năng: 51

3.2.8 Mô hình mạch and_wire: 52

3.3 Kết quả tổng hợp trên Quartus: 53

3.4 KẾT QUẢ MÔ PHỎNG: 54

3.4.1 Mô phỏng chế độ master: 54

3.4.1.1 Chế độ master (bus data 8 bit): 54

3.4.1.2 Chế độ master (bus data 16 bit): 57

3.4.1.3 Chế độ master (bus data 32 bit): 60

3.4.2 Mô phỏng chế độ slave: 62

3.4.2.1 Chế độ slave (bus data 32 bit): 62

3.4.2.2 Chế độ slave (bus data 16 bit): 66

Trang 6

VI

3.4.2.3 Chế độ slave (bus data 8 bit): 72

3.5 KẾT QUẢ KIỂM TRA TRÊN FPGA: 82

3.5.1 Mô hình kiểm tra lõi IP I2C controller: 82

3.5.2 Kết quả kiểm tra: 83

3.6 So sánh những thông số của IP I2C controller chuyển đổi APB sang I2C với IP tương ứng hiện có trên thị trường: 87

3.6.1 So sánh với lõi IP I2C-APB-0100 cảu ARASAN: 87

3.6.2 So sánh với lõi IP T-CS-PE-0007-100_FIFO: 88

3.6.3 So sánh với lõi DI2CM của hãng Digital Core Design: 88

3.7 Chứng nhận OCP: 90

3.7.1 Giới thiệu chuẩn OCP: 90

3.7.1.1 Hệ thống bus OCP 90

3.7.1.2 Giao diện lõi IP – I2C Controller 92

3.7.1.3 Làm OCP wrapper cho lõi IP I2C controller gắn vào hệ thống OCP 93 3.7.2 Giấy chứng nhận OCP-IP: 97

CHƯƠNG 4 NGHIÊN CứU VÀ THIếT Kế LÕI IP CứNG (ASIC) CHUYểN ĐổI GIAO TIếP Từ APB SANG I2C: 98

4.1 TỔNG HỢP THIẾT KẾ 98

4.1.1 Quy trình tổng hợp thiết kế i2c_APB_controller 98

4.1.2 Tổng hợp thiết kế i2c_APB_controller 99

4.1.3 Ngõ vào tổng hợp 100

4.1.4 Ngõ ra tổng hợp 101

4.1.5 Kết quả tổng hợp 101

4.1.6 Các file script dùng để tổng hợp thiết kế 106

4.1.7 PLACE & ROUTE 106

4.1.8 Quy trình Place & Route 106

Trang 7

VII

4.1.8.1 Giới thiệu chung 106

4.1.8.2 Lưu đồ Place and Route cho ip i2c_APB_controller 107

4.1.8.3 Place&Route cho ip i2c_APB_controller gồm các bước sau 107

4.1.9 Quá trình thực hiện các bước và kết quả đạt được 108

4.1.9.1 Design and Timing Setup 108

4.1.9.2 Floorplanning 111

4.1.9.3 Placement 113

4.1.9.4 Clock Tree Synthesis 115

4.1.9.5 Routing 117

4.1.9.6 Design for manufacturing 119

4.1.9.7 Tổng kết 121

4.1.9.8 File report sau khi Place & Route 122

4.1.9.9 Các File kết quả đạt được 122

4.2 KIỂM TRA VẬT LÝ I2C_APB_CONTROLLER 123

4.2.1 Giới thiệu về cộng cụ kiểm tra vật lý Hercules 123

4.2.2 Kiểm tra DRC – Design Rule Check 124

4.2.2.1 Mục đích 124

4.2.2.2 Lưu đồ kiểm tra DRC 124

4.2.2.3 Dữ liệu vào: 124

4.2.2.4 Kết quả kiểm tra DRC 126

4.2.3 Kiểm tra LVS – Layout versus Schematic 127

4.2.3.1 Mục đích 127

4.2.3.2 Lưu đồ kiểm tra LVS 128

4.2.3.3 Dữ liệu vào: 129

4.2.3.4 Thực hiện kiểm tra LVS 130

4.2.3.5 Kết quả kiểm tra LVS 131

4.3 PHÂN TÍCH ĐỊNH THỜI 132

Trang 8

VIII

4.3.1 Kiểm tra định thời – giai đoạn pre-layout 132

4.3.1.1 Quy trình kiểm tra 132

4.3.1.2 KIỂM TRA ĐỊNH THỜI CỦA THIẾT KẾ 133

4.3.1.3 Kết quả kiểm tra 134

4.3.1.4 KẾT LUẬN 137

4.3.2 Kiểm tra định thời – giai đoạn post-layout 137

4.3.2.1 Quy trình kiểm tra 137

4.3.2.2 Kiểm tra định thời của thiết kế 138

4.3.2.3 Kết quả kiểm tra 139

4.3.2.4 Kết luận 142

CHƯƠNG 5 NGHIÊN CứU VÀ THIếT Kế LÕI IP GIAO TIếP BUS I2C TƯƠNG THÍCH VớI 8584: 143

5.1 Giới thiệu: 143

5.1.1 Mô tả tính năng của IP: 143

5.1.2 SƠ ĐỒ CHÂN: 144

5.1.3 SƠ ĐỒ KHỐI 146

5.2 PHÂN TÍCH CÁC KHỐI: 147

5.2.1 Khối cpu_interface: 147

5.2.1.1 Tính năng: 147

5.2.1.2 Sơ đồ chân: 149

5.2.1.3 Mô tả các thanh ghi: 152

5.2.1.4 Giản đồ định thời: 158

5.2.2 Khối Control: 160

5.2.2.1 Tính năng: 160

5.2.2.2 Sơ đồ chân: 160

5.2.2.3 Máy trạng thái: 163

5.2.3 I2C_Interface: 166

Trang 9

IX

5.2.3.1 Tính Năng: 166

5.2.3.2 Sơ đồ chân: 166

5.2.3.3 Chi tiết thiết kế: 168

5.2.4 Khối Compare: 173

5.2.4.1 Chức năng: 173

5.2.4.2 Sơ đồ chân khối compare: 175

5.2.4.3 Sơ đồ khối chi tiết của khối compare: 177

5.2.5 Clock_generator: 177

5.2.5.1 Tính năng: 177

5.2.5.2 Sơ đồ chân: 178

5.2.5.3 Sơ đồ khối chi tiết của clock_gen: 179

5.2.6 Khối Interrupt: 180

5.2.6.1 Tính năng: 180

5.2.6.2 Sơ đồ chân: 180

5.2.6.3 Thực hiện: 181

5.3 Kết quả tổng hợp trên Quartus: 182

5.4 KẾT QUẢ MÔ PHỎNG: 183

5.4.1 Mô phỏng chế độ master: 183

5.4.2 Mô phỏng chế độ slave: 187

5.5 KẾT QUẢ KIỂM TRA TRÊN FPGA: 192

5.5.1 Mô hình kiểm tra lõi IP I2C controller: 192

5.5.2 Kết quả kiểm tra: 193

5.6 So sánh những thông số của IP I2C controller tương thích với 8584 với IP tương ứng hiện có trên thị trường: 194

5.6.1 So sánh với lõi IP VCM8010 của hãng Macrocad: 194

5.6.2 So sánh với lõi IP VCM8015 của hãng Macrocad: 195

5.7 Chứng nhận OCP: 196

Trang 10

X

5.7.1 Giới thiệu chuẩn OCP: 196

5.7.1.1 Giao diện lõi IP – I2C Controller: 196

5.7.1.2 Làm OCP wrapper cho lõi IP I2C controller gắn vào hệ thống OCP 197 5.7.2 Giấy chứng nhận OCP-IP: 202

CHƯƠNG 6 NGHIÊN CứU VÀ THIếT Kế LÕI IP CứNG CủA BUS I2C TƯƠNG THÍCH 8584 CủA NXP I2C: 203

6.1 TỔNG HỢP THIẾT KẾ 203

6.1.1 Quy trình tổng hợp thiết kế i2c_APB_controller 203

6.1.2 Tổng hợp thiết kế i2c_APB_controller 204

6.1.3 Ngõ vào tổng hợp 205

6.1.4 Ngõ ra tổng hợp 206

6.1.5 Kết quả tổng hợp 206

6.1.6 Các file script dùng để tổng hợp thiết kế 211

6.2 PLACE & ROUTE 211

6.2.1 Quy trình Place & Route 211

6.2.1.1 Giới thiệu chung 211

6.2.1.2 Lưu đồ Place and Route cho ip i2c_APB_controller 212

6.2.1.3 Place&Route cho ip i2c_APB_controller gồm các bước sau 212

6.2.2 Quá trình thực hiện các bước và kết quả đạt được 214

6.2.2.1 Design and Timing Setup 214

6.2.2.2 Floorplanning 216

6.2.2.3 Placement 219

6.2.2.4 Clock Tree Synthesis 221

6.2.2.5 Routing 223

6.2.2.6 Design for manufacturing 225

6.2.2.7 Tổng kết 227

Trang 11

XI

6.2.2.8 File report sau khi Place & Route 227

6.2.2.9 Các File kết quả đạt được 227

6.3 KIỂM TRA VẬT LÝ I2C_APB_CONTROLLER 228

6.3.1 Giới thiệu về cộng cụ kiểm tra vật lý Hercules 228

6.3.2 Kiểm tra DRC – Design Rule Check 229

6.3.2.1 Mục đích 229

6.3.2.2 Lưu đồ kiểm tra DRC 229

6.3.2.3 Dữ liệu vào: 230

6.3.2.4 Thực hiện kiểm tra DRC 231

6.3.2.5 Kết quả kiểm tra DRC 232

6.3.3 Kiểm tra LVS – Layout versus Schematic 232

6.3.3.1 Mục đích 232

6.3.3.2 Lưu đồ kiểm tra LVS 233

6.3.3.3 Dữ liệu vào: 234

6.3.3.4 Thực hiện kiểm tra LVS 236

6.3.3.5 Kết quả kiểm tra LVS 237

6.4 PHÂN TÍCH ĐỊNH THỜI 238

6.4.1 Kiểm tra định thời – giai đoạn pre-layout 238

6.4.1.1 Quy trình kiểm tra 238

6.4.1.2 Kiểm tra định thời thiết kế: 239

6.4.1.3 Kết quả kiểm tra 240

6.4.1.4 Kết luận: 243

6.4.2 Kiểm tra định thời – giai đoạn post-layout 243

6.4.2.1 Quy trình kiểm tra 243

6.4.2.2 Kiểm tra định thời của thiết kế 244

6.4.2.3 Kết quả kiểm tra 245

6.4.2.4 Kết luận 247

Trang 12

XII

CHƯƠNG 7 KẾT QUẢ 248

7.1 Yêu cầu của đề tài 248

7.2 Kết quả đạt được: 248

7.2.1 Lõi IP chuyển đổi giao tiếp từ APB sang I2C: 248

7.2.2 Lõi IP của Bus I2C tương thích 8584 của NXP I2C: 249

7.2.3 Sản phẩm của đề tại gồm: 250

CHƯƠNG 8 KẾT LUẬN VÀ ĐỀ NGHỊ 251

8.1 Ý nghĩa 251

8.2 Hướng phát triển của đề tài 251

CHƯƠNG 9 PHỤ LỤC 252

Trang 13

XIII

Mục lục hình vẽ

Hình 3.1.1 Sơ đồ chân I2C core 14

Hình 3.1.2 Sơ đồ khối APB_I2C_Controller 15

Hình 3.1.3 Tổ chức thanh ghi 17

Hình 3.1.4 Cách truy xuất thanh ghi 19

Hình 3.1.5 Thanh ghi Control 19

Hình 3.1.6 Thanh ghi Status 21

Hình 3.1.7 Thanh ghi địa chỉ 22

Hình 3.1.8 Sơ đồ chân khối apb_interface 24

Hình 3.1.9 Chu kì ghi dữ liệu vào thanh ghi 28

Hình 3.1.10 Chu kì đọc dữ liệu vào thanh ghi 28

Hình 3.1.11 Sơ đồ chân khối control 29

Hình 3.1.12 Máy trạng thái 33

Hình 3.1.13 Sơ đồ khối FIFO 35

Hình 3.1.14 Sơ đồ chân khối I2C_Interface 36

Hình 3.1.15 Khối điều khiển thanh ghi dịch 41

Hình 3.1.16 Mạch điều khiển SDAO 41

Hình 3.1.17 Mạch điều khiên phát xung SCL 42

Hình 3.1.18 Timing các tín hiệu cơ bản 43

Hình 3.1.19 Phân xử bus 43

Hình 3.1.20 Đồng bộ xung SCL 44

Hình 3.1.21 Quá trình đọc data từ bus I2C 44

Hình 3.1.22 Sơ đồ chân khối compare 45

Hình 3.1.23 Giản đồ so sánh địa chỉ 7 bit 47

Hình 3.1.24 So sánh địa chỉ 10 bit 48

Hình 3.1.25 Sơ đồ chân khối gclkgen 49

Hình 3.1.26 Sơ đồ chân khối interrupt 50

Trang 14

XIV

Hình 3.1.27 Mạch tạo cờ ngắt 52

Hình 3.1.28 Mạch and_wire 52

Hình 3.1.29 Mô hình kit kiểm tra lõi IP I2C 82

Hình 3.1.30 Hệ thống SoC với wrapped bus và OCP-compliant IPs 90

Hình 3.1.31 Sơ đồ chân wrapper OCP 92

Hình 3.2.1 Mô tả quy trình tổng hợp mức ASIC 98

Hình 3.2.2 Lưu đồ tổng hợp thiết kế i2c_APB_controller 99

Hình 3.2.3 Tổng quan thiết kế 102

Hình 3.2.4 Diện tích thiết kế 102

Hình 3.2.5 Report định thời 103

Hình 3.2.6 Kiểm tra capacitance 103

Hình 3.2.7 Kiểm tra transition 104

Hình 3.2.8 Flip Flop 105

Hình 3.2.9 Kết quả tổng hợp i2c_APB_controller 105

Hình 3.2.10 Cấu trúc các khối bên trong i2c_APB_controller sau khi tổng hợp 106

Hình 3.2.11 Lưu đồ Place and Route cho i2c_APB_controller 107

Hình 3.2.12 Lưu đồ thực hiện timing and design setup 109

Hình 3.2.13 Kết quả kiểm tra design 110

Hình 3.2.14 Mô tả các yếu tố tạo ra thư viện thiết kế cho i2c_APB_controller 110

Hình 3.8.15 Cell i2c_APB_controller đầu tiên sau các thiết lập ban đầu 111

Hình 3.8.16 Lưu đồ thực hiện floorplaning cho i2c_APB_controller 111

Hình 3.2.17 IP i2c_APB_controller sau bước floorplanning 112

Hình 3.2.18 Lưu đồ thực hiện Placement các cell 113

Hình 3.2.19 Phân tích Congestion sau khi placement 114

Hình 3.2.20 Lưu đồ thực hiện tổng hợp cây clock và tối ưu 115

Hình 3.2.21 Cây clock trước khi tổng hợp 116

Hình 3.2.22 Cây clock đã được tổng hợp 116

Hình 3.2.23 Lưu đồ thực hiện Routing 117

Trang 15

XV

Hình 3.2.24 Lưu đồ thực hiện Routing 118

Hình 3.2.25 Cell i2c_APB_controller sau khi thực hiện xong bước Route 119

Hình 3.2.26 IP i2c_APB_controller sau khi thực hiện tối ưu post_route 119

Hình 3.2.27 Lưu đồ thực hiện thiết kế để chế tạo chip 120

Hình 3.2.28 IP i2c_APB_controller_dfm sau khi đã thực hiện các bước DFM 121

Hình 3.2.29 Bảng tổng kết các thông số thiết kế lõi i2c_APB_controller 121

Hình 3.2.30 Kiểm tra DRC lõi IP i2c_APB_controller 126

Hình 3.2.31 Kết quả kiểm tra lõi IP i2c_APB_controller 127

Hình 3.2.32 Kiểm tra LVS cho lõi IP i2c_APB_controller 131

Hình 3.2.33 Kết quả kiểm tra LVS lõi IP i2c_APB_controller 131

Hình 3.2.34 Lưu đồ thực hiện kiểm tra 133

Hình 3.2.35 Lưu đồ thực hiện kiểm tra 138

Hình 5.1.1 Sơ đồ chân I2C core 144

Hình 3.3.2 Sơ đồ khối I2C_Controller 146

Hình 3.3.3 Sơ đồ chân khối cpu_interface 149

Hình 3.3.4 Đọc dữ liệu từ thanh ghi(Motorola mode) 158

Hình 3.3.5 Đọc dữ liệu từ thanh ghi(Intel mode) 158

Hình 3.3.6 Ghi dữ liệu vào thanh ghi(Motorola mode) 159

Hình 3.3.7 Ghi dữ liệu vào thanh ghi(Intel mode) 159

Hình 5.2.8 Sơ đồ chân khối control 160

Hình 3.3.9 Máy trạng thái 164

Hình 3.3.10 Sơ đồ chân khối I2C_Interface 166

Hình 3.3.11 Mạch phát hiện bus lỗi 170

Hình 3.3.12 Mạch phát hiện bus mất điều phối 170

Hình 3.3.13 Mạch điều khiển tín hiệu sda_en 171

Hình 3.3.14 Mạch điều khiển tín hiệu scl_en 171

Hình 3.3.15 Sơ đồ chân khối compare 175

Hình 3.3.16 Mạch tạo tín hiệu compare 177

Trang 16

XVI

Hình 3.3.17 Sơ đồ chân khối gclkgen 178

Hình 3.3.18 Sơ đồ khối chi tiết của clock_gen 179

Hình 3.3.19 Sơ đồ chân khối interrupt 180

Hình 3.3.20 Mạch tạo cờ ngắt 181

Hình 3.3.21 Master ghi data ra bus I2C 186

Hình 3.3.22 Master đọc data từ bus I2C 186

Hình 3.3.23 Slave nhận data từ master gởi tới 190

Hình 3.3.24 Slave ghi data tới master 190

Hình 3.3.25 Mô hình kit kiểm tra lõi IP I2C 192

Hình 3.3.26 Sơ đồ chân wrapper I2C 196

Hình 3.4.1 Mô tả quy trình tổng hợp mức ASIC 203

Hình 3.4.2 Lưu đồ tổng hợp thiết kế i2c_8584 204

Hình 3.4.3 Tổng quan thiết kế 207

Hình 3.4.4 Diện tích thiết kế 207

Hình 3.4.5 Report định thời 208

Hình 3.4.6 Kiểm tra capacitance 208

Hình 3.4.7 Kiểm tra transition 209

Hình 3.4.8 Flip Flop 210

Hình 3.4.9 Kết quả tổng hợp i2c_8584 210

Hình 3.4.10 Cấu trúc các khối bên trong i2c_8584 sau khi tổng hợp 211

Hình 3.4.11 Lưu đồ Place and Route cho i2c_8584 212

Hình 3.4.12 Lưu đồ thực hiện timing and design setup 214

Hình 3.4.13 Kết quả kiểm tra design 215

Hình 3.4.14 Cell i2c_8584 đầu tiên sau các thiết lập ban đầu 216

Hình 3.4.15 Lưu đồ thực hiện floorplaning cho i2c_8584 216

Hình 3.4.16 IP i2c_8584sau bước floorplanning 218

Hình 3.4.17 Lưu đồ thực hiện Placement các cell 219

Hình 3.4.18 Phân tích Congestion sau khi placement 220

Trang 17

XVII

Hình 3.4.19 Lưu đồ thực hiện tổng hợp cây clock và tối ưu 221

Hình 3.4.20 Cây clock trước khi tổng hợp 222

Hình 3.4.21 Cây clock đã được tổng hợp 222

Hình 3.4.22 Lưu đồ thực hiện Routing 223

Hình 3.4.23 Cell i2c_APB_controller sau khi thực hiện xong bước Route 224

Hình 3.4.24 IP i2c_APB_controller sau khi thực hiện tối ưu post_route 224

Hình 3.4.25 Lưu đồ thực hiện thiết kế để chế tạo chip 225

Hình 3.4.26 IP i2c_8584_dfm sau khi đã thực hiện các bước DFM 226

Hình 3.4.27 Bảng tổng kết các thông số thiết kế lõi i2c_8584 227

Hình 3.4.28 Kiểm tra DRC lõi IP i2c_8584 231

Hình 3.4.29 Kết quả kiểm tra lõi IP i2c_8584 232

Hình 3.4.30 Kiểm tra LVS cho lõi IP i2c_8584 236

Hình 3.4.31 Kết quả kiểm tra LVS lõi IP i2c_8584 237

Hình 3.4.32 Lưu đồ thực hiện kiểm tra 239

Hình 3.4.33 Lưu đồ thực hiện kiểm tra 244

Trang 18

XVIII

Mục lục bảng

Bảng 3.1.1 Mô tả chức năng chân 14

Bảng 3.1.2 Mô tả thanh ghi 18

Bảng 3.1.3 Thanh ghi control 20

Bảng 3.1.4 Thanh ghi status 21

Bảng 3.1.5 Thanh ghi địa chỉ 22

Bảng 3.1.6 Chức năng chân khối APB_interface 25

Bảng 3.1.7 Chức năng chân khối control 30

Bảng 3.1.8 Chức năng chân khối I2C_Interface 37

Bảng 3.1.9 Mô tả chân wrapper IP I2C controller 92

Bảng 5.1.1 Mô tả chức năng chân 144

Bảng 3.3.2 Chức năng các tín hiệu khối cpu_interface 150

Bảng 3.3.3 Mô tả chức năng chân khối control 161

Bảng 3.3.4 Chức năng chân của khối i2c_interface 167

Bảng 3.3.5 Mô tả chân khối compare 176

Trang 19

Trung tâm Nghiên cứu và Đào tạo Thiết kế Vi mạch (ICDREC)

– Đại học Quốc Gia TP Hồ Chí Minh

Trang 20

Nâng cao năng lực của đội ngũ thiết kế phục vụ nghiên cứu, đào tạo.

1.3 Nội dung nghiên cứu

- Nghiên cứu và thiết kế lõi IP mềm FPGA chuyển đổi giao tiếp từ APB sang I2C (Dạng lõi IP mềm )

- Thực hiện viết code RTL theo chuẩn I2C –Rev 2.1 theo các chức năng:

+ Lõi kết hợp cả chế độ Master và Slave

- Kiểm tra hoạt động bằng phần mềm DC của Synopsys , mô phỏng và kiểm tra trên các kit FPGA của Altera

- Thiết kế kit và viết chương trình để test lõi IP giao tiếp với device I2C

- Sau khi sản phẩm được thiết kế ở dạng IP mềm trên FPGA thì sẽ được chuyển thành dạng IP cứng là ASIC

1.4 Tiến độ thực hiện và hoàn thành công việc:

 Tiến độ thực hiện sản phẩm đề tài

TT

Các nội dung, công

việc chủ yếu cần được

thực hiện

(các mốc đánh giá

chủ yếu)

Sản phẩm phải đạt

Thời gian

(bắt đầu, kết

thúc)

Người,

cơ quan thực hiện

Tình trạng

Trang 21

nhận OCP-IP

– 12/2009

thành

demo cho lõi IP

chuyển đổi giao tiếp

từ APB sang I2C trên

nền FPGA

– 01/2010

11/2009 –

03/2010

thành

05 Thiết kế kit chạy

demo cho IP của Bus

04/2010 –

07/2010

thành

Trang 22

thành

Trang 23

5

Chương 2 TỔNG QUAN TÀI LIỆU 2.1 Phương pháp nghiên cứu, cách tiếp cận vấn đề:

2.1.1 Đối với lõi IP chuyển đổi từ APB sang I2C :

- Nghiên cứu và tìm hiểu chuẩn giao tiếp APB của ARM

- Nghiên cứu và tìm hiểu chuẩn giao tiếp I2C

- Thiết kế lõi IP chuyển đổi giao tiếp APB sang I2C ở dạng FPGA trên các kit Altera

- Thiết kế kit chạy demo cho IP trên nền FPGA

- Chuyển đổi từ lõi IP mềm FPGA sang dạng ASIC

2.1.2 Đối với lõi IP giao tiếp bus I2C tương thích với 8584:

- Tìm hiểu, nghiên cứu chuẩn giao tiếp I2C của Philips

- Tìm hiểu chuẩn giao tiếp song song của Intel và Motorola

- Thiết kế lõi IP mềm điều khiển giao tiếp I2C tương thích với chuẩn giao tiếp của Intel hay Motorola trên các kit của Altera

- Thiết kế kit chạy demo cho IP trên nền FPGA

- Thực hiện chuyển đổi sang IP cứng ASIC

Trang 24

6

2.1.3 Quy Trình Thực Hiện Đề Tài:

Để thực hiện lõi IP này, nhóm đề tài làm theo một quy trình được xây dựng cơ bản dựa theo quy trình thiết kế ASIC và điều chỉnh lại cho phù hợp với mục tiêu thực hiện trên FPGA của đề tài Sau đây là các bước nghiên cứu và thực hiện đề tài:

1 Yêu cầu đề tài: Các yêu cầu của đề tài được liệt kê và phân chia giai đoạn thực hiện

2 Specification:

a Đọc và nghiên cứu tài liệu: Sử dụng các tài liệu mô tả specification, các quy định chuẩn, các trang web tham khảo và các tài liệu lý thuyết lên quan khác

b Thiết kế mức cao: Đưa ra mô hình tổng quan, phân tích các chức năng và đưa ra sơ đồ khối, sơ đồ chân tương ứng

c Thiết kế mức thấp: Phân tích chi tiết từng khối ở mức cổng logic, thanh ghi, máy trạng thái và viết mô tả thiết kế

d Viết RTL code: Dựa trên bản mô tả thiết kế mức thấp để thực hiện viết RTL code cho các khối và kết nối thành một thiết kế hoàn chỉnh

3 Verification: Kiểm tra chức năng sử dụng RTL code (Sau khi tổng hợp sẽ được kiểm tra lại một lần nữa)

4 Physical Design:

a Tổng hợp logic: Thực hiện tổng hợp thiết kế, báo cáo về tài nguyên, timing, diện tích, nhiệt độ (Sau khi tổng hợp, thiết kế được kiểm tra lại

lần nữa thông qua bước 3)

b Place and Route: Thực hiện sắp đặt các cell, kết nối và layout để tạo ra hard IP File kết quả có thể đem đi sản xuất

5 Thực hiện kiểm tra trên FPGA: Thực ra quá trình này được thực hiện song song

với bước 4 nhằm tiết kiệm thời gian

a Thực hiện mạch DEMO: Thực hiện mạch kết nối nhiều LCD cho phép quan sát kết quả truyền/nhận dữ liệu và giá trị các thanh ghi trong thiết

kế

Viết chương trình DEMO và kiểm tra: Chương trình DEMO ở đây là các khối điều khiển nhập dữ liệu, cấu hình cho lõi IP và khối hiển thị kết quả truyền/nhận dữ liệu

Trang 25

7

2.2 Tổng quan tình hình nghiên cứu thuộc lĩnh vực đề tài: 2.2.1 Tình hình nghiên cứu ngoài nước:

Với khả năng tích hợp ngày càng cao, xu hướng phát triển của nền công nghiệp

vi mạch số hiện đại là tích hợp nhiều tính năng trong một con IC nhằm đơn giản hóa phần cứng, tiết kiệm chi phí sản xuất đồng thời giúp các thiết bị điện tử ngày càng nhỏ gọn đáp ứng nhu cầu thị trường Một vi mạch số ngày nay không đơn giản chỉ là một mạch nhỏ thực hiện một chức năng đơn giản nào đó mà là cả một hệ thống bao gồm: vi

xử lý, các khối chức năng đặc biệt (xử lý số tín hiệu, truy xuất bộ nhớ…), các khối giao tiếp thực hiện các chuẩn khác nhau (SPI, I2C…) Một hệ thống phức tạp như vậy được xem là hệ-thống-trên-chip (SoC – system on chip)

Khi hệ thống trong vi mạch ngày càng lớn và việc thiết kế càng trở nên phức tạp thì các hãng thiết kế chip thường không đặt vấn đề thiết kế từ đầu tất cả các khối chức năng Điều đó làm thời gian thiết kế kéo dài rất lâu và hàm chứa nhiều rũi ro do sai hỏng dễ xảy ra trong quá trình thiết kế Do vậy, các hãng thường đặt vấn đề dùng lại các thiết

kế trước đó nếu có hoặc mua các bản thiết kế từng khối từ các hãng khác Đây là lý do phát sinh ra thị trường IP IP là sở hữu trí tuệ , là bản thiết kế có sẵn của một số hãng Các hãng sản xuất IP thiết kế các lõi IP mà họ tin chắc rằng chúng cần được dùng từ nhiều hãng thiết kế chip và sẵn sàng cung cấp cho các hãng này

I2C là một chuẩn giao tiếp rất thông dụng và có nhiều ưu điểm Do đó, bus I2C cũng được nhiều công ty fabless lớn như Qualcomm hay Xilinx thiết kế dạng IP với nhiều tính năng khác nhau nhằm đáp ứng cho cầu trên thị trường Với việc thiết kế IP, bus I2C càng trở nên linh động và phổ biến hơn, hầu như mọi dòng vi xử lí hiện nay như PIC, AVR, ARM,… đều có tích hợp sẵn bus I2C bên trong

Trên thị trường IP trên thế giới, có rất nhiều dạng IP điều khiển bus I2C được thiết

kế, đơn cử như :

+ ARASAN I2C-APB-0010 : IP cầu chuyển đổi bus APB sang bus I2C và ngược lại của hãng Arasan

Trang 26

2.2.2 Tình hình nghiên cứu ngoài nước:

2.2.2.1 Sơ lược về bức tranh nền công nghiệp bán dẫn trong nước:

Nền công nghiệp bán dẫn nước ta đã nhen nhóm phát triển từ những năm thập niên 80

Ở miền Bắc, do yêu cầu công việc, một số đơn vị, trung tâm trực thuộc Bộ Quốc phòng (như Z181 ) đã tự sản xuất một số linh kiện điện tử phục vụ cho công tác cải tiến rada, chế tạo các thiết bị trinh sát, tác chiến điện tử… Ở phía Nam, công ty điện tử Bình Hòa cũng đã sản xuất các linh kiện điện tử phục vụ cho các đơn vị trong nước, một phần là xuất khẩu sang các nước Đông Âu (nguồn: http://www.viettronics-binhhoa.com) nhưng tựu chung cũng chỉ dừng lại ở mức sản xuất các linh kiện điện tử đơn giản như điện trở, tụ điện, diode, transistor cao tần … Tuy nhiên các đơn vị này vẫn chưa đạt đến mức có thể thiết kế một IC hoàn chỉnh, bắt đầu từ thiết kế hệ thống, phân tích mạch, viết RTL code, mô phỏng kiểm tra chức năng, layout…và cuối cùng là tạo ra file GSDII để gửi đến nhà chế tạo mà chủ yếu vẫn là xây dựng các ứng dụng cho ASIC hoặc FPGA dựa trên các chip có sẵn trên thị trưởng Một nguyên nhân chính của tình huống nói trên là các công ty Việt Nam chỉ tập trung lắp ráp, linh kiện và IC đều được mua của nước ngoài, chủ yếu từ Trung Quốc Điều này đã làm triệt tiêu khả năng nhen nhóm một ngành công nghiệp vi mạch lợi nhuận cao tại nước ta

Hiện nay nước ta có khoảng 300 doanh nghiệp điện tử, gồm các đơn vị trong nước và

có vốn nước ngoài, hoạt động chủ yếu là lắp ráp máy, thiết bị thông tin; sản xuất phụ tùng, linh kiện điện tử và máy tính phục vụ xuất khẩu Chính vì hoạt động chính của ngành điện tử Việt Nam là lắp ráp sản phẩm điện tử tiêu dùng nên dẫn đến mất cân đối nghiêm trọng giữa sản phẩm điện tử tiêu dùng (chiếm 80%) và điện tử chuyên dùng (chiếm 20%) Trong khi ở các nước phát triển, tỉ lệ này là ngược lại Hậu quả của sự

Trang 27

9

mất cân đối này đã dẫn đến tỉ lệ nội địa hoá chỉ đạt 20%-30% Bên cạnh đó, công nghệ

và thiết bị sản xuất lạc hậu 10-20 năm so với khu vực và thế giới, hoạt động chủ yếu là lắp ráp đơn giản - ông Hồ Quang Trung, Phó Vụ trưởng Vụ xuất nhập khẩu, Bộ Công Thương đánh giá

Theo ông Trần Quang Hùng- Tổng thư ký Hiệp hội Doanh nghiệp Điện tử Việt Nam thì: Công tác nghiên cứu phát triển sản phẩm còn yếu kém nên giá trị gia tăng thấp, chỉ

từ 5-10%, kéo theo khả năng cạnh tranh của sản phẩm không cao Các ngành sản xuất phụ trợ, sản xuất phụ tùng linh kiện phát triển chậm và không đáp ứng được yêu cầu nên phụ thuộc quá nhiều vào các nhà cung cấp nước ngoài Ông cũng nhấn mạnh, cần nhìn rõ thực trạng để biết mình đang ở đâu và có những hướng đi thích hợp

2.2.2.2 Một số đề tài liên quan:

+ Thiết kế lõi IP giao tiếp bus I2C chế độ Master (ASIC và FPGA)( do trung tâm ICDREC thiết kế)

+ Thiết kế lõi IP giao tiếp bus I2C chế độ Slave (ASIC và FPGA) ( do trung tâm ICDREC thiết kế)

Hai đề tài này mang tính nghiên cứu tìm hiểu, chưa hoạt động đầy đủ các chế độ hoạt động của chuẩn I2C Bus song song chỉ giao tiếp được với chip SigmaK3, chưa theo chuẩn cụ thể

Với mục tiêu thiết kế các IP chất lượng, đáp ứng nhu cầu thị trường và có thể đưa lên sàn giao dịch IP do đó nhóm nghiên cứu đã đăng ký đề tài “ Nghiên cứu thiết kế các lõi

IP giao tiếp bus I2C ” Các lõi IP này sẽ tương thích với các thiết bị giao tiếp I2C với phiên bản mới nhất (version 2.1) và có thể tương thích với những chuẩn giao tiếp song song phổ biến như : chuẩn song của Intel, Motorola hay chuẩn AMBA (bus APB)

Trang 28

10

2.3 Tính cấp thiết của đề tài:

2.3.1 Quan điểm công nghệ

Trong năm vừa qua, ICDREC đã thiết kế thành công lõi vi xử lý 8-bit RISC SigmaK3 (IP SigmaK3), lõi IP vi xử lý VN8-01 (IP VN8-01) Sau thành công này, ICDREC tiếp tục phát triển một số ngoại vi và sử dụng một số ngoại vi có sẵn trong designware của license phần mềm thiết kế vi mạch để phát triển hoàn chỉnh thiết kế Tuy nhiên, hạn chế của thư viện IP designware là chỉ cho sử dụng một số IP ngoại vi đơn giản, giới hạn ở các công nghệ nhất định và cũng chỉ cho chúng ta sử dụng ở dạng các "hộp đen" chỉ biết ngõ vào, ngõ ra nên không thể làm chủ và phát triển lên được Việc mua đầy

đủ các IP ngoại vi cần thiết sẽ rất tốn kém và còn nhiều ràng buộc về thời gian, bản quyền,

Vì thế chúng tôi nhận thấy rằng không có một vi xử lý nào thể hiện được khả năng điều khiển của mình khi nằm đơn lẻ trên một bản mạch Ngoài các bộ phận đã được tích hợp sẵn, các vi xử lý cũng cần phải trao đổi dữ liệu với một số thiết bị bên ngoài hay với các vi xử lý khác Vì vậy việc phát triển IP ngoại vi để tích hợp vào trong chip là hết sức cần thiết

Trong đề tài này chúng tôi sẽ nghiên cứu thiết kế 4 lõi IP (mềm và cứng) điều khiển giao tiếp Bus I2C tương thích với 8584 và chuyển đổi từ APB sang I2C Đây là một lọai bus phổ biến dùng để mở rộng khả năng ghép nối với các thiết bị và việc điều khiển giữa các Chip

2.3.2 Quan điểm thương mại:

Với sự thành công của lõi IP SigmaK3, chúng tôi đã đưa lên sàn giao dịch IP ChipEstimate cụ thể là cho 2 lõi IP: lõi IP mềm và lõi IP cứng của vi xử lý 8-bit SigmaK3 [http://www.chipestimate.com/search.php?cat=80] Vì vậy khi đề tài này thành công sản phẩm sẽ là 4 lõi IP (2 lõi IP mềm và 2 lõi IP cứng), có tính năng tương

Trang 29

đề tài này thì giá một số lõi IP của một số hãng như sau:

Lõi IP mềm điều khiển giao tiếp I2C của hãng Arasan 34.500 USD Lõi IP mềm điều khiển giao tiếp I2C của hãng Macrocad 27.600 USD Lõi IP cứng điều khiển giao tiếp I2C của hãng Arasan 20.000 USD Lõi IP cứng điều khiển giao tiếp I2C của hãng Macrocad 15.900 USD (thông số tương đương với các lõi của ICDREC, start price)

[nguồn Design and Reuse : www.us.design-reuse.com ]

Chúng tôi dự tính nếu đề tài thành công, chúng ta có thể định mức giá lõi IP sử dụng một lần (single design license) như sau:

Lõi IP mềm chuyển đổi từ APB sang I2C cho FPGA 17.000 USD

Lõi IP mềm giao tiếp Bus I2C tương thích 8584cho FPGA 10.000 USD Lõi IP cứng chuyển đổi từ APB sang I2C cho ASIC 5.000 USD Lõi IP cứng giao tiếp Bus I2C tương thích 8584 cho ASIC 3.500 USD

Cơ sở định giá là do sản phẩm made in Việt Nam còn xa lạ với nước ngoài, chúng ta cần phải có một mức giá hấp dẫn Đồng thời, việc sản xuất lõi IP không đòi hỏi đầu tư thiết bị, nhà xưởng, mà chủ yếu tập trung vào chất xám, trí tuệ và kinh nghiệm thiết kế Hai yếu tố đầu chúng ta có lực lượng trẻ, tiền công thấp và yếu tố thứ ba chúng ta có thể dựa vào sự hỗ trợ của các công ty nước ngoài

Trang 30

12

2.4 Ý nghĩa và tính mới về khoa học và thực tiễn:

Đề tài này khi thành công sẽ bổ sung thêm IP trên thị trường IP thế giới đồng thời sẽ xây dựng một tập hợp thư viện lõi IP cho Việt Nam Hướng đến hoàn thiện dòng vi xử

lý 8-bit và 32-bit của Việt Nam do ICDREC thiết kế

Với sự phát triển nhanh của các hệ thống nhúng, đặc biệt là các hệ thống nhúng trên FPGA, hướng thiết kế lõi IP trên FPGA cũng là một lĩnh vực còn nhiều khả năng phát triển

Đây vẫn còn là một lĩnh vực rất mới mẻ ở Việt Nam, do đó sự thành công của đề tài còn có ý nghĩa quan trọng trong việc thúc đẩy hướng phát triển này đối với lĩnh vực công nghệ cao trong nước

Tiết kiệm khoản ngoại tệ cho việc nhập khẩu IP vào Việt Nam

Trang 31

13

Chương 3 Nghiên cứu và thiết kế lõi IP mềm chuyển

đổi từ APB sang I2C 3.1 Giới thiệu:

3.1.1 Mô tả tính năng của IP:

- I2C sử dụng 2 đường truyền tín hiệu 2 chiều (một đường clock SCL và một đường data SDA)

Trang 32

14

3.1.2 Sơ đồ chân:

APB I2C Controller

Bus-pclk psel penable

pwrite

preset_x

scl paddr[31:0]

pwdata[31:0]

prdata[31:0]

Hình 3.1.1 Sơ đồ chân I2C core Bảng 3.1.1 Mô tả chức năng chân

Trang 33

15

3.1.3 Sơ đồ khối:

Compare

Clock Generator

Control Unit APB

Hình 3.1.2 Sơ đồ khối APB_I2C_Controller

Mô tả chức năng và mục đích các khối

- apb_interface: giao tiếp với CPU, vi điều khiển Nhiệm vụ chính: đọc và ghi data

hoặc lệnh vào các thanh ghi của I2C_controller

- interrupt: khối ngắt Tạo tín hiệu ngắt báo về cpu

Trang 34

16

- i2c_interface: khối điều khiển bit dùng để giao tiếp với bus I2C

- clock_generator: tạo xung clock cấp cho bus I2C

- control unit: nhận lệnh từ thanh ghi lệnh Sau đó điều khiển khối tất cả các khối còn

lại hoạt động đồng thời với quá trình chuyển data từ song song sang nối tiếp và ngược lại

- compare: ở mode slave, khối có chức năng so sánh địa chỉ nhận được từ master với

địa chỉ của chính nó chứa trong thanh ghi

- FIFO: có nhiệm vụ lưu trữ data Trong chế độ truyền data (master/slave), FIFO có

nhiệm vụ chứa data do CPU ghi xuống để truyền ra bus I2C Trong chế độ nhận data (master/ slave), FIFO sẽ chứa data nhận được từ bus I2C để truyền về CPU FIFO có

độ rộng và chiều sâu có thể cấu hình lại được

 Khối APB_interface cũng nhận những tín hiệu từ các khối phía dưới như : bus lỗi, mất điều phối, bus bận, báo ngắt, chế độ hoạt động hay data và bit ACK nhận được… Đồng thời khối này cũng truyền các tín hiệu điều khiển xuống các khối bên dưới như: các lệnh phát bit START, STOP, tín hiệu xóa ngắt, cho phép bus I2C hoạt động hay truyền các thông số về địa chỉ của bus I2C, tần số hoạt động hay data cần phát ra bus I2C

Trang 35

17

 Khối CPU chứa bộ thanh ghi data buffer, control, status, target address, slave address, master code address, thanh ghi chia xung clock và thanh ghi data_transaction

Mô tả các thanh ghi:

prdata[31:0]

0x000x040x080x0C0x100x140x18

STATUS

Hình 3.2.1 Tổ chức thanh ghi

Trang 36

18

Bảng 3.2.1 Mô tả thanh ghi

năng

Mô tả

master code

chia xung clock

Trang 37

19

Cách truy xuất các thanh ghi ứng với cấu hình bus data khác nhau:

Hình 3.2.2 Cách truy xuất thanh ghi

a Chi tiết thanh ghi control:

CONTROL_REGISTER CL_FF

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

15

Hình 3.2.3 Thanh ghi Control

Trang 38

20

Bảng 3.2.2 Thanh ghi control

high_speed)

“1”

START

“1”

Các bit STA, STO, IACK sẽ tự động được xóa khi thực hiện xong 1 lệnh (truyền hoặc nhận 1 byte) hoặc bị mất điều phối Bình thường, các bit này có giá trị 0 Bit CL_FIFO tự động set lên “1” sau khi xóa FIFO

Trang 39

2 3

4 5

6 7

8 9

ASS = 0: Bit ACK nhận được

ASS = 1: Cờ báo trạng thái đọc/ghi

+ 0: IP đang ở trạng thái ghi

+ 1: IP đang ở trạng thái đọc

(chế độ slave)

Trang 40

22

Thanh ghi địa của slave:

0 1

2 3

4 5

6 7

8 9

10

ADDR_REGISTER

Hình 3.2.5 Thanh ghi địa chỉ

Bảng 3.2.4 Thanh ghi địa chỉ

d Thanh ghi master code address:

e Thanh ghi data transaction:

Ngày đăng: 07/02/2015, 23:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w