1. Trang chủ
  2. » Giáo án - Bài giảng

bộ KIT sử lập trình c dùng pic 16F877A

50 43 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 50
Dung lượng 2,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI Thiết kế chế tạo bộ KIT thực tập Lập trình C ứng dụng (modul truyền thông I2C) GIÁO VIÊN HƯỚNG DẪN Ths Bùi Thị Kim.

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

KHOA: ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP

Lập trình C ứng dụng (modul truyền thông I2C)

GIÁO VIÊN HƯỚNG DẪN: Ths Bùi Thị Kim Thoa SINH VIÊN THỰC HIỆN : Phạm Đình Tú

Trang 2

to lớn trong sản suất cũng như cuộc sống hằng ngày.

Đặc biệt, trong các trường Đại học và Cao đẳng trong cả nước thì việc sửdụng những công nghệ của khoa học kỹ thuật để chế tạo ra các mô hình có khảnăng ứng dụng cao trong học tập luôn là điều mong mỏi không chỉ của các thầy cô

mà còn là niềm mong đợi của rất nhiều sinh viên Khoa Điện – Điện tử

Xuất phát từ nhu cầu thực tế, trang thiết bị giảng dạy vẫn chưa đáp ứng đủ

nhu cầu học tập của sinh viên, vì vậy chúng em nhận đề tài “Thiết kế chế tạo KIT thực tập Lập trình C ứng dụng (Modul truyền thống I2C).Dưới sự hướng dẫn nhiệt tình của Cô Ths Bùi Thị Kim Thoa cùng với sự nỗ lực của thành viên trong

nhóm chúng em đã hoàn thành đề tài được giao

Qua quá trình học tập và thực hành môn “Lập trình C” chúng em đã có ý

tưởng phát triển bộ KIT thực hành một cách hoàn thiện hơn nhằm giúp sinh viên

có thể thực hiện các mục tiêu của môn học đề ra Chúng em rất mong nhận được

sự đóng góp của các thầy cô và các bạn để sản phẩm của chúng em được hoànthiện hơn nữa

Chúng em xin chân thành cảm ơn!

Trang 3

MỤC LỤC

Trang 4

DANH MỤC HÌNH VẼ

Trang 5

DANH MỤC BẢNG BIẾU

Trang 6

CHƯƠNG 1 : TỔNG QUAN ĐỀ TÀI1.1 Lý do chọn đề tài

Ngày nay với sự phát triển của khoa học kỹ thuật và công nghệ, công nghiệp viđiện tử kỹ thuật số các hệ thống điều khiển dần được tự động hóa Với các kỹ thuậttiên tiến như vi xử lý, vi mạch số, được ứng dụng vàolĩnh vực điều khiển, thì các hệthống điều khiển thô sơ với tốc độ chậm độ chính xác kém được thay thế bằng các hệthống điều khiển tự động với các lệnh chương trình đã được thiết lập sẵn Nhằm trang

bị cho sinh viên những kiến thức cần thiết cơ bản về vi điều khiển Dựa trên nền tảngkiến thức của môn học sinh viên tiếp thu những môn học kỹ thuật chuyên nghành vàtiếp cận dễ dàng hợn với những kỹ thuật, trang thiết bị hiện đại Đồng thời cho phépsinh viên có cái nhìn trực quan, kiểm chứng và khẳng định sự đúng đắn các kiến thức

đã học Do vậy việc đưa vào giáo trình phần xây dựng thiết kế Kit thực tập là hết sứcquan trọng và rất thiết thực đối với sinh viên… Sinh viên có thể dùng các Kit này đểđiều khiển các modul led đơn, led 7 thanh, động cơ bước, động cơ một chiều, led matrận, LCD…

Trong các trường đại học, các thiết bị thực hành môn học vi xử lý có thể do cácgiáo viên giảng dạy môn học chế tạo do các sinh viên tự chế tạo dưới sự hướng dẫncủa giáo viên, ưu điểm của các sản phẩm chế tạo trong nước giá thành rẻ mà chấtlượng, mẫu mã không thua kém nước ngoài Cấu hình của sản phẩm và nội dung thựchành phù hợp với mục đích, chương trình đào tạo, với điều kiện học tập của sinh viên

cả nước nói chung và sinh viên trường Đại học SPKT Hưng Yên nói riêng

Xuất phát từ tình hình thực tế và sự cần thiết đáp ứng nhu cầu thực hành trongquá trình học tập môn học vi điều khiển nói trên, việc thiết kế, xây dựng một bộ KITthực tập với đầy đủ các thành phần cơ bản, là vấn đề hết sức cần thiết đối với cácnghành điện tử, tự động hóa trong trường Đại học SPKT Hưng Yên Đây là vấn đềtrọng tâm trong quyển đồ án này

1.2 Lịch sử nghiên cứu

Trên thế giới có rất nhiều hãng đã nghiên cứu và cung cấp trên thị trường nhiềumẫu KIT thực hành lập trình điều khiển hệ thống khác nhau như hãng Midas (HànQuốc), MikroElektronika (Website http://www.mikroelektronika.co.yu/ )và hãngOLIMEX(Website http://www.olimex.com) Đặc điểm của các sản phẩm mà các

Trang 7

hãngnày là có các tính năng mạnh, mẫu mã đẹp, phục vụ tốt nhu cầu thực hành củamôn học Tuy nhiên giá thành của thiết bị là rất đắt và việc đặt mua không thuận tiện.

1.3 Yêu cầu thiết kế

1.3.1 Phần cứng

Mục đích của sản phẩm là phục vụ cho việc đào tạo nên cấu hình cứng phải rõ ràng,dàn trải Kích thước của bộ KIT gọn nhẹ, dễ dàng di chuyển và bảo quản Các thànhphần của bộ KIT được thể hiện rõ ràng, dễ nhận biết, một đặc điểm nữa là nó phânthành các modul nhỏ và liên kết với modul trung tâm bằng BUS, điều này cũng giúpngười học có thể nhìn thấy một cách trực quan các thành phần của bài thí nghiệm sẽtiến hành Đồng thời việc tổ chức thành các modul nhỏ cũng tiện cho việc sửa chữa,thiết kế mở rộng, và có thể dễ dàng trọng việc thương mại hóa sản phẩm này

1.3.2 Phần mềm

Sử dụng phần mềm có giao diện trực quan, dễ sử dụng và ngôn ngữ lập trìnhđơn giản và dễ hiểu Bộ thực hành có các thành phần cơ bản của một hệ lập trình vàcho phép người sử dụng có thể tự do phát triển các ứng dụng của mình KIT thực hànhbao gồm các modul:

Bảng 1 1: Bảng thống kê các khối sử dụng trong kit

Trang 8

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Chọn phương án thiết kế

2.1.2 Tìm hiểu về vi điều khiển PIC 16F877A

2.1.2.1 Khái quát về vi điều khiển PIC 16F877A

Hình 2 1 Hình ảnh thực tế Pic16F877A

Ngày nay, các bộ vi điều khiển đang có ứng dụng ngày càng rộng rãi

trong các lĩnh vực kỹ thuật và đời sống xã hội, đặc biệt là trong lĩnh vực tự

động hóa và điều khiển từ xa Giờ đây với nhu cầu chuyên dụng hóa, tối ưu

hóa (thời gian, không gian, giá thành) Tính bảo mật, tính chủ động trong công

việc, ngày càng đòi hỏi khắt khe

Trang 9

Việc đưa ra công nghệ mới trong lĩnh vực thiết kế mạch điện tử đáp ứng nhữngnhu cầu trên là hoàn toàn cần thiết và mang tính thực tế cao

Khối xử lí trung tâm mà đóng vai trò chính là PIC16F877A sẽ làmnhiệm vụ chính là tiếp nhận và xử lí các dữ liệu đến và đi một cách tự động

Đề tài sử dụng PIC16F877A vì những ưu điểm vượt trội của nó so với các viđiều khiển khác Về mặt tính năng và công năng thì có thề xem PIC vượt trộihơn rất nhiều so với 89 với nhiều module được tích hợp sẵn như ADC 10 BIT,PWM 10 BIT, EEPROM 256 BYTE, COMPARATER, VERFCOMPARATER… Về mặt giá cả thì có đôi chút chênh lệch như giá 1 con89S52 khoảng 20.000 thì PIC16F877A là 60.000 nhưng khi so sánh như thếthì ta nên xem lại phần linh kiện cho việc thiết kế mạch nếu như dùng 89muốn có ADC bạn phải mua con ADC chẳng hạn như ADC 0808 hay 0809 vớigiá vài chục ngàn và bộ Opamp thì khi sử dung PIC nó đã tích hợp cho ta sẵncác module đó có nghĩa là bạn ko cần mua ADC, Opam, EPPROM vì PIC đã

có sẵn trong nó Ngoài ra chúng ta sẽ gặp nhiều thuận lợi hơn trong thiết kếboard, khi đó board mạch sẽ nhỏ gọn và đẹp hơn dễ thi công hơn rất nhiều, vìtính về giá cả tổng cộng cho đến lúc thành phẩm thì PIC có thể xem như rẻhơn 89 Một điều đặc biệt nữa là tất cả các con PIC được sử dụng thì đều cóchuẩn PI tức chuẩn công nghiệp thay vì chuẩn PC (chuẩn dân dụng)

Ngoài ra, PIC có ngôn ngữ hỗ trợ cho việc lập trình ngoài ngôn ngữAsembly còn có ngôn ngữ C thì có thề sử dụng CCSC, HTPIC, MirkoBasic…

và còn nhiều chương trình khác nữa để hỗ trợ cho việc lập trình bên cạnh ngônngữ kinh điển là asmbler thì sử dụng MPLAB IDE Bên cạnh đó với bề dàycủa sự phát triển lâu đời PIC đã tạo ra rất nhiều diễn đàn sôi nổi về PIC cảtrong và ngoài nước Chính vì vậy chúng ta sẽ có nhiều thuận lợi trong việc dễdàng tìm kiếm các thông tin lập trình cho các dòng PIC

2.3.1.2 Sơ đồ chân và sơ đồ nguyên lý của PIC 16F877A

Sơ đồ chân vi điều khiển PIC 16F877A:

Trang 10

Hình 2 2 Sơ đồ chân Pic16F877A

Sơ đồ ví trí các port vi điều khiển PIC16F877A:

Hình 2 3 Sơ đồ vị trí các port của Pic16F877A

Nhận xét:

Từ sơ đồ chân và sơ đồ nguyên lý ở trên, ta rút ra các nhận xét ban đầu nhưsau:

Trang 11

b) Thiết kế

Hình 2 4 Sơ đồ khối nguồn

2.2.2 Modul xử lý trung tâm CPU

a) Chức năng

Đây là khối tiếp nhận điều khiển từ phần mềm hệ thống và xử lí mọi thông tin liênquan đến hoạt động của KIT Khối xử lí trung tâm làm việc không ngừng trong suốt

Trang 12

thời gian làm việc do đó độ bền bỉ và khả năng xử lí nhanh chóng linh hoạt với mọitình huống phụ thuộc vào phẩm chất linh kiện mà chúng ta sử dụng cũng như nguồncung cấp cho hệ không ngoài lý do trên, nó sẽ quyết định cho khả năng hoạt động cho

hệ thống của chúng ta

b) Phân tích yêu cầu chọn linh kiện và tính toán

 Yêu cầu chọn linh kiện

- Có nền tảng cơ bản của một hệ thống vi điều khiển

- Khả năng ưu việt so với hệ thống số

- Dễ sử dụng cũng như thiết kế các ứng dụng

- Có tài liệu liên quan

- Không yêu cầu cao trong thiết kế phần cứng

- Mua được trên thị trường Việt Nam

 Tính toán thiết kế

Việc chọn IC trung tâm là họ PIC16Fxx và sử dụng chipPIC16F877Alàm khối xử lítrung tâm là theo yêu cầu và mục đích của đề tài

Ở đây ta sử dụng Socket thay cho việc hàn cứng IC lên KIT Để tiện cho việc thay đổi

IC hay thay đổi chương trình ứng dụng, tránh làm hư hại IC

Hình 2 5 Sơ đồ nguyên lý của Modul CPU (Main).

Vi điều khiển PIC16F877A với thị trường Hà Nội, và cả khu vực miền Bắc nói chung

ta chọn PIC16F877A là chip dễ dàng mua được, có đọ dài 14 bit.Mỗi lệnh đều đượcthực thi trong một chu kỳ xung clock Tốc độ hoạt động tối đa cho phép là 20Mhz vớimỗi chu kỳ lệnh là 200ns Bộ nhớ flash chương trình là 8192 words và bộ nhớ dữ liệu

là 368bytes SRAM +256 bytes EFROM Số PORT I/O là 5 với 33 pin I/O Có bộ nhớ

Trang 13

nội EFPROM có thể ghi xóa đến 1 triệu lần, 8 kênh chuyển đổi A/D, điện áp hoạt động

từ 2V đến 5,5V Có chế độ Power Down để tiết kiệm điện năng của hệ thống tuy nhiênvẫn duy trì nội dung của RAM nhưng không cho mạch dao động cấp xung vào nhằm

vô hiệu hóa các hoạt động khác cho chip cho đến khi có Reset cứng tiếp theo Chế độIdle hay còn gọi là chế độ nghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ địnhthời/đếm, port nối tiếp và hệ thống ngắt tiếp tục hoạt động)

2.2.3 Modul LED đơn

a) Chức năng

Hiển thị trạng thái logic tại các cổng Hiển thị các ứng dụng đơn giản kết hợp với cácmodul khác như trạng thái Run/Stop hoặc Left/Right v.v… Trong phần này hướngthiết kế tạo một mô hình giao thông ngã tư để các bạn có thể lập trình điều khiển một

hệ thống giao thông từ đơn giản là hiển thị trạng thái các đèn cho đến kết hợp vớimodul led 7 thanh hiển thị thời gian cho từng đèn Hoặc ứng dụng riêng do người dùngphát triển

b) Thiết kế

Hình 2 6 Sơ đồ kết nối LED đơn.

2.2.4 Modul LCD

a) Chức năng

Trang 14

Trong những năm gần đây LCD đang ngày càng được sử dụng rộng rãi thay thế dầncho các đèn LED, LED 7 đoạn,Do khả năng hiển thị số, ký tự và đồ họa tốt hơn nhữngcách hiển thị khác, dễ dàng lập trình cho các ký tự đồ họa.

Vì vậy mà khối hiển thị LCD là một khối rất quan trọng trong bộ KIT này, nó sẽ giúpthực hiện các bài luyện tập điều khiển LCD và lập trình hiển thị các số, ký tự và đồhọa trên LCD một các dễ dàng và trực quan

b) Phân tích yêu cầu lựa chọn linh kiện

Với mục đích thực hành, thí nghiệm nên khối hiển thị LCD cần có những yêu cầusau:

- Kích thước nhỏ gọn

- Dễ dàng ghép nối và quan sát

- Đảm bảo việc thực hiện các bài luyện tập cho người sử dụng

- Thiết kế, chế tạo dễ dàng, giá thành hạ

c)Thiết kế

Hình 2 7 Sơ đồ nguyên lý mạch hiển thị LCD.

2.2.5 Modul LED 7 thanh

a) Chức năng

Trang 15

Tương tự như LCD dùng để hiển thị các thông số hay đếm xung, đồng hồ.v.v… Chúng

ta còn có LED 7 thanh được cấu tạo từ 7 led đơn xếp thành hình số 8 Như vậy ta cóthể hiện các con số từ 0 đến 9, hay hiển thị một số chữ cái đơn giản

b) Phân tích yêu cầu lựa chọn linh kiện

- Điều khiển chính xác, tin cậy và ổn định

- Thiết kế đơn giản

- Dòng điện điều khiển động cơ là 0.5A

c) Thiết kế

Có rất nhiều loại động cơ một chiều khác nhau Nhưng ở trên module này chỉ sửdụng loại động cơ DC công suất rất nhỏ với mức điện áp điều khiển là 5V và 12V,dòng điện định mức là 500mA Ở đây ta dùng Mosfet IRFZ44 thích hợp cho việcchuyển đổi DC sang AC hoặc AC sang DC Mosfet IRFZ44 có công suất là 100W, đốivới tín hiệu 1 chiều thì nó coi như là 1 khóa đóng mở

Ngoài ra ta dùng thêm cách ly quang PC817 được dùng để cách ly nguồn PC817 làmột linh kiện bán dẫn cấu tạo gồm 1 bộ phát quang và một cảm biến quang tích hợp

Trang 16

trong 1 khối bán dẫn bộ phát quang là 1 doide phát quang dùng để phát ra ánh sángkích cho các cảm biến quang dẫn, còn cảm biến quang là photo transistor Dưới đây là

sơ đồ nguyên lý động cơ DC.

Hình 2 9 Sơ đồ nguyên lý modul động cơ DC.

2.2.7 Modul động cơ bước

a) Chức năng

Module động cơ bước tương tự có chức năng tương tự như động cơ DC, thực hiện cácyêu cầu điều khiển và điều chỉnh tốc độ động cơ bước

b) Phân tích yêu cầu lựa chọn linh kiện

- Điều khiển chính xác và tin cậy, ổn định

- Thiết kế đơn giản

- Dòng điện điều khiển động cơ là 0.5A

c) Thiết kế

Module điều khiển động cơ bước tích hợp thêm ULN2003 ULN 2003 là một vi mạchđệm, bản chất cấu tạo là các mảng darlington chịu được dòng đện lớn và điện áp cao,trong đó có chứa 8 cặp transistor NPN ghép darlington cực góp hở với cực phát chung.Mỗi kênh của ULN 2003 có một diode chặn có thể sử dụng trong trường hợp tải có

Trang 17

tính cảm ứng, ví dụ như các relay ULN 2003 có khả năng điều khiển 8 kênh riêngbiệt, có thể nối trực tiếpvới vi điều khiển 5V Bên cạnh đó, mỗi kênh của ULN 2003 cóthể chịu được dòng điện lớn trong một khoảng thời gian dài lên tới 500mA với biên độđỉnh lên tới 600mA Chức năng của ULN2003 trong module này là để ổn định dòngcho động cơ bước.

Hình 2 10 Sơ đồ nguyên lý Modul động cơ bước.

2.2.8 Modul phím nhấn 4x4

Module ma trận nút bấm gồm 16 nút bấm được kết nối thành 4 hàng và 4 cột.Tuy có đến 16 nút nhấn, nghĩa là nếu làm một cách thông thường (dùng chândigital) thì chúng ta phải cần đến 16 chân để đọc Nhưng với bàn phím này,chúng ta chỉ cần dùng 8 chân (4 chân hàng ngang (row), và 4 chân cột dọc(column)

Hình 2 11 Sơ đồ nguyên lý modul phím nhấn.

2.2.9 Phím nhấn đơn

Bàn phím mềm 1x4 keypad có thiết kế nhỏ gọn, dễ kết nối và sử dụng, bàn phím có 1chân chung để nối VCC hoặc GND, các chân còn lại sẽ xuất tín hiệu tương ứng với

Trang 18

chân chung này khi có thao tác nhấn phím, phù hợp cho các ứng dụng điều khiển bằngphím bấm.

Hình 2 12 Sơ đồ nguyên lý modul phím nhấn đơn.

2.2.10 Modul DS1307

được sử dụng để cung cấp thông tin thời gian: ngày, tháng, năm, giờ, phút, giây, cho

Vi điều khiển qua giao tiếp I2C, mạch tích hợp sẵn pin backup để duy trì thời giantrong trường hợp không cấp nguồn, ngoài ra mạch còn được tích hợp thêm

IC EEPROM AT24C32 để lưu trữ thông tin khi cần, thích hợp cho các ứng dụng điềukhiển hoặc đồng bộ dữ liệu thời gian thực RTC

Thông số kỹ thuật:

• IC chính: RTC DS1307 + EEPROM AT24C32

• Nguồn cung cấp: 5VDC.

• Giao tiếp: I2C

• Lưu trữ và cung cấp các thông tin thời gian thực: ngày, tháng, năm, giờ, phút, giây,

• Có pin backup duy trì thời gian trong trường hợp không cấp nguồn.

• Có ngõ ra tần số 1Hz.

• Kích thước: 27 x 28 x 8.4mm.

Trang 19

Hình 2 13 Sơ đồ nguyên lý modul DS1307

2.2.11 Modul sensor

Chuyển đổi điện áp của cảm biến từ 12V sang 5V để phù hợp với vi xử lý

Hình 2 14 Sơ đồ nguyên lý modul sensor.

2.2.12 Modul relay

Nhìn chung, công dụng của rơ-le là "dùng một năng lượng nhỏ để đóng cắtnguồn năng lượng lớn hơn Rơ-le được dùng khá thông dụng trong các ứng dụng điềukhiển động cơ chiếu sáng Khi cần đóng cắt nguồn năng lượng lớn, rơ-le thường đượcghép nối tiếp Nghĩa là một rờ-le nhỏ điều khiển một rơ-le lớn hơn, và rơ-le lớn sẽ điềukhiển nguồn công suất Trong kit này ta sử dụng rơle 12V

Trang 20

Hình 2 15 Sơ đồ nguyên Modul relay.

2.3 Modul truyền thông I2C

2.3.1 Khái niệm:

I2C là giao thức truyền thông nối tiếp đồng bộ phổ biến hiện nay, được sử dụng rộngrãi trong việc kết nối nhiều IC với nhau, hay kết nối giữa IC và các ngoại vi với tốc độthấp

Giao tiếp I2C sử dụng 2 dây để kết nối là SCL (Serial Clock) và SDA (Serial Data).Trong đó dây SCL có tác dụng để đồng bộ hóa giữa các thiết bị khi truyền dữ liệu, cònSDA là dây dữ liệu truyền qua

Board ESP32-IoT-Uno có 2 bộ điều khiển I2C có thể thiết lập ở chế độ chủ (master)hoặc tớ (slave)

2.3.2 Hoạt động giao tiếp của I2C

I2C sử dụng 2 đường truyền tín hiệu:

SCL - Serial Clock Line : Tạo xung nhịp đồng hồ do Master phát đi

SDA - Serial Data Line : Đường truyền nhận dữ liệu

Trang 21

Hình 2 16 Sơ đồ chuyển đổi I2C

Thiết bị Master là 1 vi điều khiển, nó có nhiệm vụ điều khiển đường tín hiệuSCL và gửi nhận dữ liệu hay lệnh thông qua đường SDA đến các thiết bị khác

Các thiết bị nhận các dữ liệu lệnh và tín hiệu từ thiết bị Master được gọi là các thiết bịSlave Các thiết bị Slave thường là các IC, hoặc thậm chí là vi điều khiển

Master và Slave được kết nối với nhau như hình trên Hai đường bus SCL và SDA đềuhoạt động ở chế độ Open Drain, nghĩa là bất cứ thiết bị nào kết nối với mạng I2C nàycũng chỉ có thể kéo 2 đường bus này xuống mức thấp (LOW), nhưng lại không thể kéođược lên mức cao Vì để tránh trường hợp bus vừa bị 1 thiết bị kéo lên mức cao vừa bị

1 thiết bị khác kéo xuống mức thấp gây hiện tượng ngắn mạch Do đó cần có 1 điệntrờ ( từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao

2.3.3 Khung truyền I2C

Khối bit địa chỉ :

Thông thường quá trình truyền nhận sẽ diễn ra với rất nhiều thiết bị, IC với nhau Do đó để phân biệt các thiết bị này, chúng sẽ được gắn 1 địa chỉ vật lý 7 bit cố định.

Trang 22

Hình 2 17 Chuyển đổi sang dạng mã

Bit Read/Write:

Bit này dùng để xác định quá trình là truyền hay nhận dữ liệu từ thiết bị Master NếuMaster gửi dữ liệu đi thì ứng với bit này bằng ‘0’, và ngược lại, nhận dữ liệu khi bitnày bằng ‘1’

Bit ACK/NACK:

Viết tắt của Acknowledged / Not Acknowledged Dùng để so sánh bit địa chỉ vật lý củathiết bị so với địa chỉ được gửi tới Nếu trùng thì Slave sẽ được đặt bằng ‘0’ và ngượclại, nếu không thì mặc định bằng ‘1’

Khối bit dữ liệu:

Gồm 8 bit và được thiết lập bởi thiết bị gửi truyền đến thiết bị nhân Sau khi các bitnày được gửi đi, lập tức 1 bit ACK/NACK được gửi ngay theo sau để xác nhận rằngthiết bị nhận đã nhận được dữ liệu thành công hay chưa Nếu nhận thành công thì bitACK/NACK được set bằng ‘0’ và ngược lại

2.3.4 Quá trình truyền nhận dữ liệu:

Bắt đầu: Thiết bị Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường SDA,SCL từ mức 1 xuống 0

Hình 2 18 Quá trình truyền và nhận dữ liệu

Trang 23

Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới Slave muốn giao tiếp cùng với bitRead/Write.

Slave sẽ so sánh địa chỉ vật lý với địa chỉ vừa được gửi tới Nếu trùng khớp, Slave sẽxác nhận bằng cách kéo đường SDA xuống 0 và set bit ACK/NACK bằng ‘0’ Nếukhông trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng ‘1’

Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu Nếu Master gửi đến Slave thì bitRead/Write ở mức 0 Ngược lại nếu nhận thì bit này ở mức 1

Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK được set thànhmức 0 để báo hiệu cho Master tiếp tục

Sau khi tất cả dữ liệu đã được gửi đến Slave thành công, Master sẽ phát 1 tín hiệu Stop

để báo cho các Slave biết quá trình truyền đã kết thúc bằng các chuyển lần lượt SCL,SDA từ mức 0 lên mức 1

2.3.5 Các chế độ hoạt động của I2C:

Chế độ chuẩn (standard mode) với tốc độ 100 kBit/s

Chế độ tốc độ thấp (low speed mode) với tốc độ 10 kBit/s

Ngoài ra, khác với giao tiếp SPI chỉ có thể có 1 Master, giao tiếp I2C cho phép chế độtruyền nhận dữ liệu giữa nhiều thiết bị Master khác nhau với thiết bị Slave Tuy nhiênquá trình này có hơi phức tạp vì thiết bị Slave có thể nhận 1 lúc nhiều khung dữ liệu từcác thiết bị Master khác nhau, điều đó đôi khi dẫn đến xung đột hoặc sai sót dữ liệunhận được

Để tránh điều đó, khi làm việc ở chế độ này, mỗi thiết bị Master cần phát hiện xemđường SDA đang ở trạng thái nào

Nếu SDA ở mức 0, nghĩa là đang có 1 thiết bị Master khác đang có quyền điều khiển

và phải chờ đến khi truyền xong

Ngược lại nếu SDA ở mức 1, nghĩa là đường truyền SDA đã an toàn và có sử dụng

2.3.5 Ưu điểm và nhược điểm của I2C :

Có nhiều điều ở I2C có thể khiến nó nghe phức tạp so với các giao thức khác nhưUART , SPI Nhưng có một số lý do chính đáng để có lên hay không lên sử dụng I2C

để kết nối với một thiết bị cụ thể

Ưu điểm

-Chỉ sử dụng 2 dây

- Hỗ trợ nhiều master và nhiều slave

-Bit ACK / NACK xác nhận mỗi khung được chuyển thành công

Trang 24

- Phần cứng ít phức tạp hơn so với UART

- Giao thức được sử dụng rộng rãi

Nhược điểm

-Tốc độ chuyền dữ liệu chậm hơn SPI

- Kích thước khung dữ liệu bị giới hạn ở 8bit

- Cần phần cứng phức tạp hơn để triển khai so với SPI

Một số thiết bị IC sử dụng I2C

Hình 2 19 Module driver LCD I2C

Hình 2 20 Module thời gian thực DS3231

Trang 25

CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG PHIẾU CHO CÁC

MODUL3.1 Sơ đồ khối vị trí các modul

3.2 Tính toán và lựa chọn linh kiện

3.2.1 Khối nguồn nuôi:

Từ việc tính toán trong từng modul giúp chúng ta có được tổng công suất nguồn, dòng điện và điện áp cung cấp cho toàn mạch

Theo việc thiết kế mainboard thì ta chỉ có thể chạy được tối đa 5 modul trên

mainboard tại cùng một thời điểm vì vậy ta sẽ tính toán công suất của toàn bộ KIT thông qua 5 modul có công suất lớn nhất từ đó sẽ tính được công suất của bộ KIT.Theo tính toán ở trên thì chúng em đã tính toán được 5 modul có công suất tiêu thụ caonhất đó là:

- Modul LCD với các thông số: P = 787 mW

Ngày đăng: 01/08/2022, 10:08

TỪ KHÓA LIÊN QUAN

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

w