Trong những năm gần đây, các nhà sản xuất chip điện tử đã cho ra đời những dòng vi điều khiển với những tính năng mới đáp ứng nhu cầu phát triển ngày càng cao của khoa học kỹ thuật: giao
Trang 1Chuyên ngành: CNKT Điện tử - Truyền thông Mã ngành: 141
1 Các số liệu ban đầu:
- Thiết kế và thi công được bộ thí nghiệm vi xử lý hoàn chỉnh với những chức năng
cơ bản như: bàn phím, led đơn, led 7 đoạn, LCD… hoặc những ứng dụng cao hơn: giao tiếp máy tính, điều khiển động cơ
- Xây dựng các bài tập thí nghiệm giao tiếp đơn giản với led đơn, led 7 đoạn, nút nhấn, switch, bàn phím ma trận, LCD, chuyển đổi ADC
2 Nội dung thực hiện:
- Tìm hiểu về kit Intel Galileo, phần mềm Arduino, các mạch giao tiếp ngoại vi với vi điều khiển
- Thiết kế phần cứng bộ thí nghiệm (thiết kế mạch nguyên lý, mạch in, thi công)
- Xây dựng các bài thực hành cơ bản, viết chương trình thực thi và kiểm tra kết quả trên bộ thí nghiệm
- Thu thập kết quả Kiểm tra tính ổn định của hệ thống Viết báo cáo luận văn
- Báo cáo đề tài tốt nghiệp
III NGÀY GIAO NHIỆM VỤ: 01/10/2018
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 05/01/2019
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Ngô Bá Việt
Trang 2- Gặp GVHD để phổ biến quy định: thực hiện chọn
đề tài, tên đề tài, thời gian làm việc
- Duyệt đề tài
- Viết đề cương cho đề tài
2
(08-13/10)
- Tìm hiểu tổng quan về kit Intel Galileo
- Tìm hiểu về cách thức lập trình và biên dịch trên kit Intel Galileo
3
(15-20/10)
- Thiết kế sơ đồ khối, giải thích chức năng các khối
- Tính toán lựa chọn linh kiện cho từng khối
Trang 3- Thiết kế và thi công mô hình tổng hợp các khối
- Mô phỏng, chạy chương trình tổng hợp các khối
10
(03-08/12)
- Thiết kế và thi công mô hình tổng hợp các khối
- Mô phỏng, chạy chương trình tổng hợp các khối
Trang 4LỜI CAM ĐOAN
Đề tài này là do chúng tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
Hồ Văn Trọng
Trang 5LỜI CẢM ƠN
Để hoàn thành đề tài nghiên cứu này, lời đầu tiên cho phép chúng tôi được gửi
lời cảm ơn chân thành đến toàn thể quý thầy cô Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM nói chung và các thầy cô trong Khoa Điện – Điện Tử nói riêng, những
người đã tận tình dạy dỗ, trang bị cho chúng tôi những kiến thức nền tảng và kiến thức chuyên ngành quan trọng, giúp nhóm chúng tôi có được cơ sở lý thuyết vững vàng và đã luôn tạo điều kiện giúp đỡ tốt nhất cho chúng tôi trong quá trình học tập
và nghiên cứu
Đặc biệt, chúng tôi xin chân thành cảm ơn ThS Ngô Bá Việt đã tận tình giúp
đỡ, đưa ra những định hướng nghiên cứu cũng như hướng giải quyết một số vấn đề
để chúng tôi có thể thực hiện tốt đề tài
Mặc dù đã cố gắng hết sức, song do điều kiện thời gian và kinh nghiệm thực tế của chúng tôi còn ít, cho nên đề tài không thể tránh khỏi thiếu sót Vì vậy, chúng tôi rất mong nhận được sự đóng góp ý kiến của quý thầy, cô giáo
Xin chân thành cảm ơn!
TP.HCM, ngày 05 tháng 01 năm 2019
Sinh viên thực hiện
Phạm Quang Minh
Hồ Văn Trọng
Trang 6MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii
LỜI CAM ĐOAN iv
LỜI CẢM ƠN v
MỤC LỤC vi
LIỆT KÊ HÌNH ẢNH viii
LIỆT KÊ BẢNG xi
DANH SÁCH CÁC TỪ VIẾT TẮT xii
TÓM TẮT xiii
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 1
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 2
Chương 2 CƠ SỞ LÝ THUYẾT 4
2.1 KHÁI QUÁT VỀ VI XỬ LÝ – VI ĐIỀU KHIỂN 4
2.1.1 Vi xử lý và vi điều khiển 4
2.1.2 Hệ thống điều khiển tích hợp (SoC) 5
2.2 TRUYỀN DỮ LIỆU CHUẨN I2C 5
2.3 TRUYỀN DỮ LIỆU CHUẨN SPI 8
2.4 TRUYỀN DỮ LIỆU CHUẨN 1-WIRE 9
2.5 PHẦN MỀM ARDUINO 10
2.6 GIỚI THIỆU PHẦN CỨNG 11
2.6.1 Bộ xử lý trung tâm - Intel Galileo Gen 2 11
2.6.2 Thiết bị đầu vào 14
2.6.3 Thiết bị đầu ra 16
2.6.4 Thiết bị thời gian thực DS1307 26
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 28
3.1 GIỚI THIỆU 28
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 28
Trang 73.2.2 Tính toán và thiết kế mạch 29
3.3 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH 38
Chương 4 THI CÔNG HỆ THỐNG 39
4.1 GIỚI THIỆU 39
4.2 THI CÔNG HỆ THỐNG 39
4.2.1 Thi công bo mạch hệ thống 39
4.2.2 Lắp ráp và kiểm tra 42
4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 44
4.3.1 Đóng gói, thiết kế mô hình 44
4.3.2 Thi công mô hình 44
4.4 LẬP TRÌNH HỆ THỐNG 46
4.4.1 Lưu đồ giải thuật 46
4.4.2 Phần mềm lập trình cho Intel Galileo Gen 2 48
4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 51
Chương 5 KẾT QUẢ NHẬN XÉT ĐÁNH GIÁ 55
5.1 KẾT QUẢ 55
5.1.1 Kết quả nghiên cứu 55
5.1.2 Kết quả thi công 55
5.2 NHẬN XÉT – ĐÁNH GIÁ 56
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57
6.1 KẾT LUẬN 57
6.1.1 Ưu điểm 57
6.1.2 Khuyết điểm 57
6.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI 58
TÀI LIỆU THAM KHẢO 59
PHỤ LỤC 60
Trang 8LIỆT KÊ HÌNH ẢNH
Hình 2.1: Mô hình truyền dữ liệu chuẩn I2C 6
Hình 2.2: Quá trình thiết bị chủ ghi dữ liệu vào thiết bị tớ .6
Hình 2.3: Quá trình thiết bị chủ đọc dữ liệu vào thiết bị tớ .7
Hình 2.4: Mô hình truyền dữ liệu chuẩn SPI 8
Hình 2.5: Mô hình truyền dữ liệu chuẩn 1-Wire 9
Hình 2.6: Dạng sóng quá trình truyền nhận dữ liệu chuẩn 1-Wire 10
Hình 2.7: Biểu tượng phần mềm Arduino 10
Hình 2.8: Giao diện phần mềm Arduino 11
Hình 2.9: Mặt trên kit Intel Galileo Gen 2 12
Hình 2.10: Mặt dưới kit Intel Galileo Gen 2 12
Hình 2.11: Sơ đồ nguyên lý chip xử lý trung tâm trên kit 13
Hình 2.12: Sơ đồ bố trí chân I/O trên kit Intel Galileo Gen 2 13
Hình 2.13: Ma trận phím 4x4 ngoài thực tế 14
Hình 2.14: Cảm biến LM35 ngoài thực tế 15
Hình 2.15: Led 7 đoạn đôi ngoài thực tế 16
Hình 2.16: LCD 16x2 ngoài thực tế 16
Hình 2.17: Sơ đồ chân LCD 16x2 17
Hình 2.18: Led ma trận 8x8 ngoài thực tế 18
Hình 2.19: Sơ đồ chân led ma trận 8x8 19
Hình 2.20: IC 74HC595 ngoài thực tế 19
Hình 2.21: Sơ đồ chân IC 74HC595 20
Hình 2.22: Cấu trúc bên trong IC 74HC595 21
Hình 2.23: IC 74HC138 ngoài thực tế 22
Hình 2.24: Sơ đồ chân IC 74HC138 22
Hình 2.25: IC L298 ngoài thực tế 25
Hình 2.26: Sơ đồ chân IC L298 25
Hình 2.27: IC DS1307 ngoài thực tế 26
Hình 2.28: Sơ đồ chân IC DS1307 26
Hình 2.29: Địa chỉ các thanh ghi IC DS1307 27
Trang 9Hình 3.1: Sơ đồ khối của hệ thống 28
Hình 3.2: Sơ đồ nguyên lý của khối xử lý trung tâm 29
Hình 3.3: Sơ đồ nguyên lý khối nút nhấn đơn 31
Hình 3.4: Sơ đồ nguyên lý khối ma trận phím 4x4 32
Hình 3.5: Sơ đồ nguyên lý khối led đơn 33
Hình 3.6: Sơ đồ nguyên lý khối led 7 đoạn 33
Hình 3.7: Transistor A1015 ngoài thực tế 34
Hình 3.8: Sơ đồ nguyên lý khối LCD 16x2 35
Hình 3.9: Sơ đồ nguyên lý khối led ma trận 8x8 35
Hình 3.10: Sơ đồ nguyên lý khối cảm biến nhiệt độ 36
Hình 3.11: Sơ đồ nguyên lý khối thời gian thực 36
Hình 3.12: Sơ đồ nguyên lý khối động cơ 36
Hình 3.13: Sơ đồ nguyên lý khối nguồn 37
Hình 3.14: Adapter 12V – 2A 37
Hình 3.15: Sơ đồ nguyên lý khối switch giao tiếp 38
Hình 4.1: Mạch in PCB lớp dưới 39
Hình 4.2: Mạch in PCB lớp trên 40
Hình 4.3: Sơ đồ bố trí linh kiện 40
Hình 4.4: Board thí nghiệm mặt dưới 43
Hình 4.5: Board thí nghiệm mặt trên 43
Hình 4.6: Mô hình tổng thể 44
Hình 4.7: Mô hình nhìn từ trên xuống 45
Hình 4.8: Mặt trước mô hình 45
Hình 4.9: Mặt hông mô hình 45
Hình 4.10: Lưu đồ hoạt động toàn bộ hệ thống 46
Hình 4.11: Lưu đồ điều khiển bằng nút nhấn, ma trận phím 47
Hình 4.12: Lưu đồ hiển thị 47
Hình 4.13: Trang chủ Arduino 49
Hình 4.14: Biểu tượng phần mềm Arduino 49
Hình 4.15: Giao diện phần mềm Arduino 49
Trang 10Hình 4.17: Hộp thoại Boards Manager 50
Hình 4.18: Giao diện phần mềm khi tiến hành chọn kit Intel Galileo Gen 2 51
Hình 4.19: Bộ xử lý trung tâm và board thí nghiệm đã kết nối 51
Hình 4.20: Vị trí nút BTN_NGUON trên board thí nghiệm 52
Hình 4.21: Kết nối cáp Micro USB giữa bộ xử lý trung tâm với máy tính 52
Hình 4.22: Giao diện phầm mềm khi tiến hành chọn kit giao tiếp 53
Hình 4.23: Giao diện phần mềm khi chọn cổng COM giao tiếp 53
Hình 4.24: Báo hiệu giao tiếp thành công với kit ở góc dưới bên phải 53
Hình 4.25: Biểu tượng công cụ biên dịch chương trình 53
Hình 4.26: Báo hiệu biên dịch chương trình hoàn tất và không có lỗi 54
Hình 4.27: Biểu tượng công cụ nạp chương trình 54
Hình 4.28: Báo hiệu nạp chương trình thành công 54
Hình 4.29: Board thí nghiệm sau khi nạp chương trình 54
Hình 5.1: Mô hình bộ thí nghiệm 55
Hình 5.2: Bộ xử lý trung tâm 56
Trang 11LIỆT KÊ BẢNG
Bảng 2.1: Các kí hiệu và ý nghĩa chân của LCD 17
Bảng 2.2: Các kí hiệu và ý nghĩa chân IC 74HC595 20
Bảng 2.3: Bảng trạng thái IC 74HC595 21
Bảng 2.4: Các kí hiệu và ý nghĩa chân của 74HC138 23
Bảng 2.5: Bảng trạng thái IC 74HC138 24
Bảng 2.6: Các kí hiệu và ý nghĩa chân IC DS1307 26
Bảng 3.1: Các chân của kit Intel Galileo Gen 2 sử dụng trong đề tài 30
Bảng 4.1: Danh sách các linh kiện sử dụng 41
Bảng 4.2: Các công cụ trên giao diện phần mềm Arduino 48
Trang 12DANH SÁCH CÁC TỪ VIẾT TẮT
2 I2C Inter-Integrated Circuit
3 SPI Serial Peripheral Bus
6 VGA Video Graphics Adaptor
7 ADC Analog-to-digital Converter
8 DAC Digital-to-analog Converter
9 PWM Pulse Width Modulation
12 USB Universal Serial Bus
13 MISO Master Input Slave Output
14 MOSI Master Output Slave Input
17 CPU Central Processing Unit
20 EEPROM Electrically Erasable Programmable Read-Only
Memory
21 GSM Global System for Mobile
22 TFT Thin Film Transistor
Trang 13TÓM TẮT
Hiện nay, vi điều khiển và vi xử lý là xu hướng tuy không mới nhưng rất thịnh hành Vì thế trong những năm gần đây, các nhà sản xuất chip điện tử đã cho ra đời những dòng vi điều khiển mới với những tính năng vượt bậc đáp ứng nhu cầu phát triển ngày càng cao của khoa học kỹ thuật Một trong những dòng vi điều khiển mới phải kể đến là Intel Galileo
Với mục đích muốn tiếp cận gần hơn với dòng vi điều khiển mới này nên nhóm chúng tôi thực hiện đồ án “Thiết kế và thi công bộ thí nghiệm vi xử lý giao tiếp kit Intel Galileo” Hệ thống của chúng tôi bao gồm những chức năng sau:
Bộ thí nghiệm vi xử lý hoàn chỉnh với những chức năng cơ bản như: bàn phím, led đơn, led 7 đoạn, LCD… hoặc những ứng dụng cao hơn: giao tiếp máy tính, điều khiển động cơ
Các bài tập thí nghiệm giao tiếp đơn giản với led đơn, led 7 đoạn, nút nhấn, bàn phím ma trận, LCD, chuyển đổi ADC…
Trang 14Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật và dân dụng với nhiều ưu điểm hơn hẳn so với IC số như: thiết kế board mạch đơn giản, điều khiển dễ dàng, linh hoạt hơn… từ đó mang lại cho người sử dụng nhiều tiện ích Trong những năm gần đây, các nhà sản xuất chip điện tử đã cho ra đời những dòng vi điều khiển với những tính năng mới đáp ứng nhu cầu phát triển ngày càng cao của khoa học kỹ thuật: giao tiếp cổng USB, truyển dữ liệu UART, điều chế độ rộng xung, tăng bộ nhớ nội… [1]
Nhận thấy tầm quan trọng trên nên việc khảo sát, tìm hiểu vi điều khiển ở nhiều cấp độ khác nhau từ đơn giản đến phức tạp là hết sức cần thiết Vì thế đã có rất nhiều
đề tài, đồ án tốt nghiệp, bộ thí nghiệm liên quan đến vi điều khiển để phục vụ việc học tập, thực hành, nghiên cứu đối với học sinh, sinh viên ví dụ như: “Thiết kế bộ thí nghiệm PIC 18F2455/2550/5555/4550” [2], “Thiết kế nhà thông minh dùng vi điều khiển PIC 16F887” [3], “Hệ thống điểm danh bằng vân tay ứng dụng vi điều khiển ARM” [4], “Ứng dụng kit Raspberry nhận dạng mặt người” [5]…
Từ thực tế hiện nay, ta thấy các đề tài thường sử dụng vi điều khiển họ PIC, ARM… là chủ yếu Bên cạnh đó chúng tôi nhận thấy dòng vi điều khiển Intel nói chung và kit Intel Galileo nói riêng còn khá mới mẻ và chưa được phổ biến rộng rãi nên hầu hết các bộ thí nghiệm, board thực tập hiện nay cho dòng vi điều khiển này gần như là chưa có Chính vì vậy, đây là lý do mà chúng tôi quyết định chọn đề tài:
“Thiết kế và thi công bộ thí nghiệm vi xử lý giao tiếp kit Intel Galileo” với mục
đích tiếp cận gần hơn với dòng vi điều khiển Intel này và hơn hết có thể phục vụ nhu cầu học tập của các bạn sinh viên trong tương lai
1.2 MỤC TIÊU
Thiết kế và thi công được bộ thí nghiệm vi xử lý hoàn chỉnh với những chức năng cơ bản như: bàn phím, led đơn, led 7 đoạn, LCD… hoặc những ứng dụng cao hơn: giao tiếp máy tính, điều khiển động cơ
Xây dựng các bài tập thí nghiệm giao tiếp đơn giản với led đơn, led 7 đoạn, nút nhấn, bàn phím ma trận, LCD, chuyển đổi ADC…
Trang 151.3 NỘI DUNG NGHIÊN CỨU
Trong báo cáo này chúng tôi đã cố gắng trình bày một cách thật logic để người đọc có thể dễ dàng nắm rõ được kiến thức, phương thức cũng như cách thức hoạt động của hệ thống
Nội dung nghiên cứu được chúng tôi chia làm 5 nội dung chính như sau:
NỘI DUNG 1: Tìm hiểu về kit Intel Galileo, phần mềm Arduino, các mạch giao tiếp ngoại vi với vi điều khiển
NỘI DUNG 2: Thiết kế phần cứng bộ thí nghiệm (thiết kế mạch nguyên lý, mạch in, thi công)
NỘI DUNG 3: Xây dựng các bài thực hành cơ bản, viết chương trình thực thi
và kiểm tra kết quả trên bộ thí nghiệm
NỘI DUNG 4: Thu thập kết quả, viết báo cáo luận văn
NỘI DUNG 5: Báo cáo đề tài tốt nghiệp
1.4 GIỚI HẠN
Sử dụng kit Intel Galilleo làm mạch điều khiển, sử dụng các họ IC giao tiếp, hiển thị, giải mã, mở rộng port để thiết kế các module ngoại vi kết nối với mạch điều khiển
Các bài tập thí nghiệm viết trên chương trình Arduino
Số lượng module dự kiến điều khiển: 6 module
1.5 BỐ CỤC
Chương 1: Tổng Quan
Chương này trình bày lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án
Chương 2: Cơ Sở Lý Thuyết
Chương này tập trung vào những lý thuyết liên quan đến đề tài bao gồm cơ sở
lý thuyết về Intel Galileo, các chuẩn giao tiếp sử dụng trong đề tài cũng như cơ sở lý
thuyết về các thiết bị, linh kiện sử dụng trong mô hình bộ thí nghiệm
Chương 3: Tính Toán Và Thiết Kế
Chương này giới thiệu tổng quan về các yêu cầu của đề tài, thiết kế và tính toán những phần nào như: thiết kế sơ đồ khối hệ thống, sơ đồ nguyên lý toàn mạch, tính
Trang 16toán thiết kế mạch
Chương 4: Thi Công Hệ Thống
Chương này trình bày về quá trình vẽ mạch in, lắp ráp các thiết bị, đo kiểm tra mạch, lắp ráp mô hình Thiết kế lưu đồ giải thuật cho chương trình và viết chương trình cho hệ thống Hướng dẫn quy trình sử dụng hệ thống
Chương 5: Kết Quả Nhận Xét Đánh Giá
Chương này trình bày về những kết quả đã đạt được so với mục tiêu đề ra sau quá trình nghiên cứu thi công Từ những kết quả đạt được để đánh giá quá trình nghiên
cứu hoàn thành bao nhiêu phần trăm so với mục tiêu ban đầu
Chương 6: Kết Luận Và Hướng Phát Triển
Chương này trình bày về những kết quả mà đồ án đạt được, những hạn chế, từ
đó rút ra kết luận và hướng phát triển để giải quyết các vấn đề tồn đọng để đồ án hoàn thiện hơn
Trang 17Chương 2 CƠ SỞ LÝ THUYẾT
2.1 KHÁI QUÁT VỀ VI XỬ LÝ – VI ĐIỀU KHIỂN
2.1.1 Vi xử lý và vi điều khiển
Vi xử lý là thuật ngữ chung dùng để đề cập đến kỹ thuật ứng dụng các công nghệ vi điện tử, công nghệ tích hợp và khả năng xử lý theo chương trình vào các lĩnh vực khác nhau
Vào những giai đoạn đầu trong quá trình phát triển của công nghệ vi xử lý, các chip (hay các vi xử lý) được chế tạo chỉ tích hợp những phần cứng thiết yếu như CPU cùng các mạch giao tiếp giữa CPU và các phần cứng khác Trong giai đoạn này, các phần cứng khác (kể cả bộ nhớ) thường không được tích hợp trên chip mà phải ghép nối thêm bên ngoài Các phần cứng này được gọi là các ngoại vi Về sau, nhờ sự phát triển vượt bậc của công nghệ tích hợp, các ngoại vi cũng được tích hợp vào bên trong
IC và người ta gọi các vi xử lý đã được tích hợp thêm các ngoại vi là các “vi điều khiển” Việc tích hợp thêm các ngoại vi vào trong cùng một IC với CPU tạo ra nhiều lợi ích như làm giảm thiểu các ghép nối bên ngoài, giảm thiểu số lượng linh kiện điện
tử phụ, giảm chi phí cho thiết kế hệ thống, đơn giản hóa việc thiết kế, nâng cao hiệu suất và tính linh hoạt Ranh giới giữa hai khái niệm “vi xử lý” và “vi điều khiển” thực
sự không cần phải phân biệt rõ ràng Thuật ngữ “vi xử lý” được sử dụng khi đề cập đến các khái niệm cơ bản của kỹ thuật vi xử lý nói chung và sẽ dùng thuật ngữ “vi điều khiển” khi đi sâu nghiên cứu một họ chip cụ thể
Về cơ bản kiến trúc của một vi xử lý gồm những phần cứng sau:
- Đơn vị xử lý trung tâm CPU (Central Processing Unit)
- Các bộ nhớ (Memories)
- Các cổng vào/ra song song (Parallel I/O Ports)
- Các cổng vào/ra nối tiếp (Serial I/O Ports)
- Các bộ đếm/bộ định thời (Timers)
Ngoài ra với mỗi loại vi điều khiển cụ thể còn có thể có thêm một số phần cứng khác như bộ biến đổi tương tự-số ADC, bộ biến đổi số-tương tự DAC, các mạch điều chế dạng sóng WG, điều chế độ rộng xung PWM…
Bộ não của mỗi vi xử lý chính là CPU, các phần cứng khác chỉ là các cơ quan
Trang 18chấp hành dưới quyền của CPU Mỗi cơ quan này đều có một cơ chế hoạt động nhất định mà CPU phải tuân theo khi giao tiếp với chúng Để có thể giao tiếp và điều các ngoại vi, CPU sử dụng 03 loại tín hiệu cơ bản là tín hiệu địa chỉ (Address), tín hiệu
dữ liệu (Data) và tín hiệu điều khiển (Control) Về mặt vật lý thì các tín hiệu này là các đường nhỏ dẫn điện nối từ CPU đến các ngoại vi hoặc thậm chí là giữa các ngoại
vi với nhau Tập hợp các đường tín hiệu có cùng chức năng gọi là các bus Như vậy
ta có các bus địa chỉ, bus dữ liệu và bus điều khiển [9]
2.1.2 Hệ thống điều khiển tích hợp (SoC)
Khái niệm SoC ngày nay đã trở nên phổ biến SoC được hiểu là toàn bộ "một
hệ thống" được đóng gói hoàn chỉnh trong một chip (vi mạch điện tử) Một hệ thống thông thường là một hệ thống hoàn chỉnh thực hiện một hoặc nhiều chức năng nào
đó, ví dụ như một máy tính cá nhân gồm một bo mạch chủ để kết nối các thành phần như CPU, USB, VGA, RS232…
Cấu trúc phần cứng của một SoC bao gồm:
- Đơn vị xử lý trung tâm CPU (Central Processing Unit)
- BUS hệ thống (System BUS)
có khả năng kết nối mạng WAN-LAN không dây cho các dịch vụ thông tin, giải trí, truyền thông, định vị [6]
2.2 TRUYỀN DỮ LIỆU CHUẨN I2C
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ộng rã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 Các thiết bị ngày nay như: NVRAM, LCD, keypad, led matrix, ADC, DAC… gần như tất cả đều hướng tới dùng chuẩn này Tốc độ I2C ngày càng cao và
có thể lên đến Mbit/s
Trang 19Hình 2.1: Mô hình truyền dữ liệu chuẩn I2C
Đặc điểm: I2C sử dụng hai đường truyền tín hiệu:
- Một đường xung nhịp đồng hồ(SCL) chỉ do Master phát đi ( thông thường ở 100kHz và 400kHz Mức cao nhất là 1Mhz và 3.4MHz)
- Một đường dữ liệu(SDA) theo 2 hướng
Quá trình truyền dữ liệu chuẩn I2C:
Quá trình thiết bị chủ ghi dữ liệu vào thiết bị tớ:
Hình 2.2: Quá trình thiết bị chủ ghi dữ liệu vào thiết bị tớ
Bước 1: Thiết bị chủ tạo trạng thái START để bắt đầu quá trình truyền dữ liệu,
các thiết bị tớ sẽ ở trạng thái sẵn sàng nhận địa chỉ từ thiết bị chủ
Bước 2: Thiết bị chủ gởi địa chỉ của thiết bị tớ cần giao tiếp - khi đó tất cả các
thiết bị tớ đều nhận địa chỉ và so sánh với địa chỉ của mình, các thiết bị tớ sau khi phát hiện không phải địa chỉ của mình thì chờ cho đến khi nào nhận trạng thái START mới Trong dữ liệu 8 bit thì có 7 bit địa chỉ và 1 bit điều khiển đọc/ghi (R/W): thì bit này bằng 0 để báo cho thiết bị tớ sẽ nhận byte tiếp theo
Bước 3: Thiết bị chủ chờ nhận tín hiệu bắt tay từ thiết bị tớ Thiết bị tớ nào đúng
địa chỉ thì phát 1 tín hiệu trả lời cho chủ biết
Bước 4: Thiết bị chủ tiến hành gởi địa chỉ của ô nhớ bắt đầu cần ghi dữ liệu, bit
R/W ở trạng thái ghi
Trang 20Bước 5: Thiết bị chủ chờ nhận tín hiệu trả lời từ thiết bị tớ
Bước 6: Thiết bị chủ tiến hành gởi dữ liệu để ghi vào thiết bị tớ, mỗi lần ghi 1
byte, sau khi gửi xong thì tiến hành chờ nhận tín hiệu trả lời từ thiết bị tớ, quá trình thực hiện cho đến byte cuối cùng xong rồi thì thiết bị chủ chuyển sang trạng thái STOP để chấm dứt quá trình giao tiếp với thiết bị tớ
Quá trình thiết bị chủ đọc dữ liệu vào thiết bị tớ:
Hình 2.3: Quá trình thiết bị chủ đọc dữ liệu vào thiết bị tớ
Bước 1: Thiết bị chủ tạo trạng thái START để bắt đầu quá trình truyền dữ liệu,
các thiết bị tớ sẽ ở trạng thái sẵn sàng nhận địa chỉ từ thiết bị chủ
Bước 2: Thiết bị chủ gởi địa chỉ của thiết bị tớ cần giao tiế, khi đó tất cả các
thiết bị tớ đều nhận địa chỉ và so sánh với địa chỉ của mình, các thiết bị tớ sau khi phát hiện không phải địa chỉ của mình thì chờ cho đến khi nào nhận trạng thái START mới Trong dữ liệu 8 bit thì có 7 bit địa chỉ và 1 bit điều khiển đọc/ghi (R/W): thì bit này bằng 0 để báo cho thiết bị tớ sẽ nhận byte tiếp theo
Bước 3: Thiết bị chủ chờ nhận tín hiệu bắt tay từ thiết bị tớ Thiết bị tớ nào đúng
địa chỉ thì phát 1 tín hiệu trả lời cho chủ biết
Bước 4: Thiết bị chủ tiến hành gởi địa chỉ của ô nhớ bắt đầu cần đọc dữ liệu,
bit R/W ở trạng thái đọc
Bước 5: Thiết bị chủ chờ nhận tín hiệu trả lời từ thiết bị tớ
Bước 6: Thiết bị chủ chuyển sang trạng thái STOP, bắt đầu lại trạng thái
START, tiến hành gởi địa chỉ của thiết bị và bit R/W bằng 1 để yêu cầu tớ gởi dữ liệu nội dung ô nhớ của địa chỉ đã nhận
Bước 7: Thiết bị chủ sau khi nhận sẽ báo tín hiệu trả lời, quá trình này thực hiện
cho đến khi nhận hết dữ liệu mong muốn thì thiết bị chủ tạo tín hiệu STOP để chấm dứt [7]
Trang 212.3 TRUYỀN DỮ LIỆU CHUẨN SPI
SPI là một chuẩn đồng bộ nối tiếp để truyền dữ liệu ở chế độ song công toàn phần full-duplex (hai chiều, hai phía) Đôi khi SPI còn được gọi là giao diện bốn dây
Hình 2.4: Mô hình truyền dữ liệu chuẩn SPI
Đặc điểm: Giao tiếp SPI được thực hiện thông qua BUS 4 dây MISO, MOSI,
- SCK: cấp xung đồng bộ để truyền nhận dữ liệu với một thiết bị tớ nào đó
- SS: cấp tín hiệu chọn ở ngõ ra của module SPI đến một ngoại vi khác nếu cấu hình là thiết bị chủ và là ngõ vào nhận tín hiệu chọn nếu cấu hình là thiết bị tớ
Quá trình hoạt động của chuẩn SPI:
Thiết bị chủ tạo tín hiệu đồng hồ SCK và cung cấp cho ngõ vào xung SCK của thiết bị tớ Xung này có chức năng giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1 đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi Sự tồn tại của xung SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độ truyền của SPI có thể đạt rất cao
Slave Select (SS) được sử dụng để chọn một thiết bị tớ cụ thể bởi thiết bị chủ Nếu thiết bị chủ kéo đường SS của một thiết bị tớ nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa thiết bị chủ và thiết bị tớ đó
Vì tín hiệu SCK được tạo ra bởi thiết bị chủ, luồng dữ liệu được điều khiển bởi thiết bị chủ Với mỗi chu kỳ xung SCK, một bit dữ liệu được truyền từ thiết bị chủ đến thiết bị tớ và một bit dữ liệu được truyền từ thiết bị tớ đến thiết bị chủ
Quá trình này xảy ra đồng thời và sau 8 chu kỳ xung SCK, một byte dữ liệu được truyền theo cả hai hướng [10]
Trang 222.4 TRUYỀN DỮ LIỆU CHUẨN 1-WIRE
Là chuẩn giao tiếp không đồng bộ và bán song công (half-duplex) Giao tiếp này tuân theo mối liên hệ chủ tớ một cách chặt chẽ Trên một bus có thể gắn 1 hoặc nhiều thiết bị tớ nhưng chỉ có một thiết bị chủ có thể kết nối đến bus này
Hình 2.5: Mô hình truyền dữ liệu chuẩn 1-Wire
Đặc điểm: chuẩn giao tiếp này chỉ cần 1 dây để truyền tín hiệu và làm nguồn
nuôi (nếu không tính dây mass)
Quá trình truyền nhận dữ liệu chuẩn 1-wire:
Bốn bước truyền nhận dữ liệu cơ bản của bus 1-wire là reset/presence, gửi bit
1, gửi bit 0, và đọc bit Thao tác byte như gửi byte và đọc byte dựa trên thao tác từng bit
Bước 1: Gửi bit 1 (“Write 1” signal)
Thiết bị chủ kéo bus xuống mức thấp trong khoảng 1 đến 15µs Sau đó nhả bus
ra cho đến hết phần còn lại của khe thời gian
Bước 2: Gửi bit 0 (“Write 0” signal)
Kéo bus xuống mức thấp trong ít nhất 60µs, và tối đa là 120 µs
Lưu ý: giữa các lần gửi bit (0 hoặc 1), phải có khoảng thời gian phục hồi bus tối thiểu 1 µs
Bước 3: Đọc bit
Thiết bị chủ kéo bus xuống mức thấp từ 0 -15µs Khi đó thiết bị tớ sẽ giữ bus ở mức thấp nếu muốn gửi bit 0, nếu muốn gửi bit 1 đơn giản là nhả bus Bus nên lấy mẫu 15 µs sau khi bus kéo xuống mức thấp
Bước 4: Reset/Presence
Thiết bị chủ kéo bus xuống thấp ít nhất 8 khe thời gian (tức là 480 µs) và sau
đó nhả bus Khoảng thời gian bus ở mức thấp đó gọi là tín hiệu reset Nếu có thiết bị
Trang 23tớ gắn trên bus nó sẻ trả lời bằng tín hiệu Presence tức là thiết bị tớ sẽ kéo bus xuống mức thấp trong khoảng thời gian 60µs Nếu không có tín hiệu Presence, thiết bị chủ
sẽ hiểu rằng không có thiết bị tớ nào trên bus, và các giao tiếp tiếp theo sẽ không thể diễn ra [11]
Hình 2.6: Dạng sóng quá trình truyền nhận dữ liệu chuẩn 1 -Wire
2.5 PHẦN MỀM ARDUINO
Hình 2.7: Biểu tượng phần mềm Arduino
Phần mềm Arduino cung cấp môi trường lập trình tích hợp mã nguồn mở hỗ trợ người dùng viết code và tải nó lên bo mạch Arduino Đây là môi trường đa nền tảng,
hỗ trợ một loạt các bo mạch Arduino cùng rất nhiều tính năng độc đáo Ứng dụng lập trình này có giao diện được sắp xếp hợp lý, phù hợp với cả những người dùng chuyên nghiệp lẫn không chuyên
Trang 24Arduino có các chức năng hữu ích như làm nổi bật cú pháp, thụt đầu dòng tự động trên giao diện đồ họa được sắp xếp hợp lý Phần mềm này còn tích hợp các
bộ sưu tập ví dụ mẫu trợ giúp cho những người lần đầu tiên sử dụng cùng với một mảng thư viện phong phú như EEPROM, Firmata, GSM, Servo, TFT, WiFi
Truy cập vào trang chủ Arduino http://arduino.cc để tải phần mềm và cài đặt Phần mềm được hỗ trợ miễn phí cho người dùng, với bản cập nhật mới nhất là Arduino 1.8.8 Ở phiên bản mới nhất này thì đã tích hợp cho dòng kit Intel Galileo
Hình 2.8: Giao diện phần mềm Arduino
2.6 GIỚI THIỆU PHẦN CỨNG
2.6.1 Bộ xử lý trung tâm - Intel Galileo Gen 2
Việc lựa chọn một dòng vi điều khiển, dòng chip, hay một board mạch nào đó
để làm khối xử lý trung tâm thông thường có rất nhiều lựa chọn, có thể kể ra một số tên như: Raspberry Pi, các dòng Arduino, Intel Edison, các dòng ARM, các dòng PIC… Nhưng chúng tôi quyết định chọn kit Intel Galileo Gen 2 vì những nguyên nhân sau đây:
Trang 25Hình 2.9: Mặt trên kit Intel Galileo Gen 2
Hình 2.10: Mặt dưới kit Intel Galileo Gen 2
Intel Galileo Gen 2 là sản phẩm được phổ biến rộng rãi trong giới học sinh, sinh viên Việt Nam hiện nay Cải tiến lớn nhất của Gen 2 là việc Intel đã thiết kế lại một phần board mạch để nâng tốc độ làm việc của các chân giao tiếp lên Intel Galileo Gen 2 được trang bị bộ xử lý trung tâm Intel Quark X1000 - SoC với khả năng tiết kiệm năng lượng vượt trội, đồng thời kit cũng tương thích với chuẩn phần mềm Arduino là hai ưu điểm lớn nhất giúp người sử dụng có thể làm vô số các ứng dụng khác nhau: robot, IoT, hệ thống điều khiển tự động,
Với kích thước nhỏ gọn nhưng bo mạch có Ethernet tích hợp với hỗ trợ Power Over Ethernet ( PoE ), cổng USB 2.0, khe cắm micrso-SD, khe cắm thẻ mini PCI Express, 20 ngõ vào/ra kỹ thuật số (trong đó có thể sử dụng 6 ngõ như PWM xuất ra với độ phân giải 8/12 bit và 6 ngõ vào tương tự với độ phân giải 12 bit), kết nối micro USB, cổng ICSP, cổng JTAG và 2 nút reset
Trang 26Hình 2.11: Sơ đồ nguyên lý chip xử lý trung tâm trên kit
Intel Galileo Gen 2 hỗ trợ hoạt động ở mức 3,3V hoặc 5V Phần cứng và định dạng chân trong phần mềm được thiết kế tương tự như Arduino Uno R3 Các chân số
0 đến 13 (các chân ISF và GND liền kề), ngõ vào tương tự từ chân số 0 đến chân số
5, chân nguồn, chân ICSP và các chân UART (chân số 0 và chân số 1), đều ở cùng vị trí như trên Arduino Uno R3
Hình 2.12: Sơ đồ bố trí chân I/O trên kit Intel Galileo Gen 2
Trang 27Thông số kỹ thuật cơ bản:
- Chiều dài: 124 mm
- Chiều rộng: 72 mm
- Bộ xử lý trung tâm: Microcontroller SoC Quark X1000
- Nguồn cấp: 7~15 VDC với adapter 12 VDC 1.25 A chính hãng đi kèm, cần cấp nguồn cho board bằng adapter chính hãng để board có thể hoạt động ổn định nhất
- Mức điện áp logic giao tiếp: tương thích 3.3 và 5 VDC
- Tương thích chuẩn chân giao tiếp Arduino
- Số chân giao tiếp Digital I/O: 14 (6 chân ngõ ra PWM phân giải 8/12-bit)
- Số chân Analog Input: 6
- Tích hợp công nghệ Power Over Ethernet (PoE)
- 1 khe cắm USB 2.0, Micrso-SD, - PCI Express mini-card
- Cổng kết nối micro USB, ICSP, JTAG
Trang 284x4 sẽ có tổng cộng 8 ngõ vào/ra Ma trận phím 4x4 cho phép nhập dữ liệu vào bộ điều khiển qua đó dùng để điều khiển một thiết bị ngoại vi nào đó
Để giao tiếp được với ma trận phím 4x4, dùng phương pháp quét để kiểm tra xem nút nào được bấm
Thông số kỹ thuật cơ bản:
Thông số kỹ thuật cơ bản:
- Kích thước: 4.30mm × 4.30mm
- Điện áp hoạt động: 4-20V DC
- Điện áp ra: -1V đến 6V
- Công suất tiêu thụ: 60uA
- Độ phân giải điện áp đầu ra là 10mV/°C
- Khoảng đo nhiệt độ: -55°C đến 150°C
- Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng -55°C tới 150°C
Trang 292.6.3 Thiết bị đầu ra
a Led 7 đoạn
Hình 2.15: Led 7 đoạn đôi ngoài thực tế
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng led 7 đoạn Led 7 đoạn được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉ cần hiện thị số là
đủ, chẳng hạn led 7 đoạn được dùng để hiển thị nhiệt độ phòng, hiển thị số lượng sản phẩm được kiểm tra sau một công đoạn nào đó
Thông số kỹ thuật cơ bản led 7 đoạn 5621BS:
- Màu đỏ, anode chung
- 2 dot, 10 chân
- Điện áp rơi trên LED là 2.2V
- Dòng tối đa chạy qua mỗi LED là 25mA
- Dòng chạy bình thường: 10mA Nếu nguồn 5V thì mỗi led phải nối với 1 điện trở 330 Ω (dòng chạy qua mỗi led 13mA)
b LCD 16 x 2
Hình 2.16: LCD 16x2 ngoài thực tế
Trang 30LCD là kiểu màn hình tinh thể lỏng nhỏ dùng để hiển thị dữ liệu Mỗi ô của LCD bao gồm các chấm tinh thể lỏng, các chấm này kết hợp với nhau theo trình tự
ẩn hoặc hiện sẽ tạo nên các kí tự cần hiển thị LCD có hai cách giao tiếp cơ bản là mắc nối tiếp và nối song song
Hình 2.17: Sơ đồ chân LCD 16x2 Bảng 2.1: Các kí hiệu và ý nghĩa chân của LCD
Trang 31Sử dụng một biến trở 10K điều chỉnh độ tương phản của LCD Đường dẫn điều khiển E (Enable) kích hoạt hoặc không kích hoạt bộ hiển thị Khi bộ hiển thị được kích hoạt, nó sẽ kiểm tra trạng thái của hai đường dẫn điều khiển khác và sau đó đánh giá các đường dẫn từ các đường dẫn dữ liệu cho phù hợp Khi bộ hiển thị không được kích hoạt trạng thái của các đường dẫn điều khiển khác bị bỏ qua và các đường dẫn
dữ liệu được chuyển trạng thái điện trở (ba trạng thái) Khi đó, bus dữ liệu có thể được sử dụng cho các mục đích khác Đường dẫn RW (đọc /ghi) báo hiệu cho biết liệu các dữ liệu đã được ghi vào bộ dữ liệu đã được ghi vào bộ hiển thị hay cần được đọc ra từ bộ hiển thị Cuối cùng đường dẫn RS (lựa chọn thanh ghi) cho thấy các dữ liệu được truyền có liên quan đến các lệnh dùng cho bộ điều khiển hiển thị hay liên quan đến kí tự cần được ghi vào bộ hiển thị
Thông số kỹ thuật cơ bản:
Trang 32Hình 2.19: Sơ đồ chân led ma trận 8x8
Thông số kỹ thuật cơ bản led matrix 8x8 1588BS:
Trang 33chân của vi điều khiển tùy theo mục đích sử dụng bằng việc mắc nối tiếp đầu vào dữ liệu các IC với nhau
Hình 2.21: Sơ đồ chân IC 74HC595 Bảng 2.2: Các kí hiệu và ý nghĩa chân IC 74HC595
Trang 34Bảng 2.3: Bảng trạng thái IC 74HC595
INPUTS
FUNCTION SER SRCLK SRCLR RCLK OE
X X X X H Outputs QA-QH are disabled
X X X X L Outputs QA-QH are enabled
X X L X X Shift register is cleared
L ↑ H X X First stage of the shift register
goes low Other stages store the data of previous stage, respectively
H ↑ H X X First stage of the shift register
goes high Other stages store the data of previous stage, respectively
X X X ↑ X Shift register data is stored in
the storage register
Hình 2.22: Cấu trúc bên trong IC 74HC595
Nguyên lý hoạt động:
Đặt dữ liệu vào chân DS, và tạo một xung SHCP thì dữ liệu tại chân DS sẽ được dịch vào thanh ghi 8-STAGE SHIFT REGISTER Lần lượt làm như trên 8 lần (dịch bit cao trước), thì ta được 8 bit trong thanh ghi 8-STAGE SHIFT REGISTER
Sau đó tạo một xung STCP thì 8 bit trong thanh ghi 8-STAGE SHIFT REGISTER sẽ được sao chép sang thanh ghi 8-BIT STORAGE REGISTER Lúc này
Trang 35nếu chân OE ở mức thấp thì ngõ ra sẽ bằng với giá trị thanh ghi 8-BIT STORAGE REGISTER, còn nếu chân OE ở mức cao thì ngõ ra ở trạng thái tổng trở cao
Thông số kỹ thuật cơ bản IC74HC595:
- Điện áp hoạt động: 2V – 6V
- Dòng ra: 35mA
- 8 bit serial vào, 8 bit serial hoặc song song ra
- Thanh ghi lưu trữ với 3 trạng thái ra
Hình 2.24: Sơ đồ chân IC 74HC138
Trang 36Nguyên lý hoạt động:
Cơ chế giải mã 3 bit và đầu ra tương ứng như sau nếu 3 bit A2, A1, A0 nhận các giá trị tương ứng:
- 000: thì đầu ra Y0 ở mức logic thấp, các đầu ra còn lại đều ở mức logic cao
- 001: thì đầu ra Y1 ở mức logic thấp, các đầu ra còn lại đều ở mức logic cao
- 010: thì đầu ra Y2 ở mức logic thấp, các đầu ra còn lại đều ở mức logic cao
- 011: thì đầu ra Y3 ở mức logic thấp, các đầu ra còn lại đều ở mức logic cao
- 100: thì đầu ra Y4 ở mức logic thấp, các đầu ra còn lại đều ở mức logic cao
- 101: thì đầu ra Y5 ở mức logic thấp, các đầu ra còn lại đều ở mức logic cao
- 110: thì đầu ra Y6 ở mức logic thấp, các đầu ra còn lại đều ở mức logic cao
- 111: thì đầu ra Y7 ở mức logic thấp, các đầu ra còn lại đều ở mức logic cao
Bảng 2.4: Các kí hiệu và ý nghĩa chân của 74HC138
Trang 37Thông số kỹ thuật cơ bản IC74HC138:
- IC giải mã 3 đường sang 8 đường
- Điện áp hoạt động: 2V – 6V
- Dòng ra: 5.2 mA
- Dòng điện vào thấp khoảng 10-6 A.
- Các đầu ra tương thích với CMOS, NMOS và TTL
- Khả năng loại trừ tạp âm cao trong thiết bị CMOS
- Giới hạn tầm nhiệt: -40°C đến 85°C
Trang 38f IC L298
Hình 2.25: IC L298 ngoài thực tế
IC L298 ứng dụng trong việc điều khiển cùng lúc 2 động cơ theo chiều quay bất
kì, kết hợp với điều xung PWM có thể điều chỉnh tốc độ xoay của động cơ Thích hợp cho điều khiển động cơ bước lưỡng cực và động cơ DC chổi than
Hình 2.26: Sơ đồ chân IC L298
Thông số kỹ thuật cơ bản:
- Điện áp điều khiển: +5 V ~ +35 V
- Dòng tối đa cho mỗi cầu H: 2A
- Điện áp tín hiệu điều khiển: +5 V ~ +7 V
- Dòng tín hiệu điều khiển: 0 ~ 36mA
- Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)
- Nhiệt độ vận hành: -25 ℃ ~ +130 ℃
Trang 392.6.4 Thiết bị thời gian thực DS1307
IC thời gian thực (RTC) DS1307 có thể đếm giờ, phút, giây, thứ, ngày tháng, năm Giao tiếp với vi điều khiển thông qua chuẩn I2C, và đóng vai trò là thiết bị tớ khi kết nối đến bus I2C này Có thể đếm thời gian theo định dạng 24 giờ hoặc 12 giờ với chỉ thị AM/PM Ngoài ra bên trong chip có bộ dò phát hiện mất nguồn và tự động chuyển sang sử dụng nguồn pin dự phòng
Hình 2.27: IC DS1307 ngoài thực tế
Hình 2.28: Sơ đồ chân IC DS1307 Bảng 2.6: Các kí hiệu và ý nghĩa chân IC DS1307
Trang 40Hình dưới đây là địa chỉ của các thanh ghi RAM và RTC của DS 1307 Thanh ghi RTC có địa chỉ từ 00-07h các thanh ghi RAM chiếm địa chỉ từ 08h - 3Fh
Các thông tin về thời gian và lịch thu được bằng cách đọc các byte trong thanh ghi tương ứng Thời gian và lịch được thiết lập hoặc khởi tạo bằng cách viết các byte thanh ghi thích hợp Lưu ý dữ liệu lưu thời gian chứa trong thanh ghi đều theo định dạng BCD Thứ trong tuần thay đổi tại lúc nữa đêm, lưu dưới dạng con số (Ví
dụ 1 là Chủ Nhật, 2 là Thứ hai, 3 là thứ 3 ) Khi lần đầu tiên IC được cấp nguồn các thanh ghi thời gian và lịch reset về 01/01/00 01 00:00:00 (MM/DD/YY DOW HH:MM:SS)
Hình 2.29: Địa chỉ các thanh ghi IC DS1307