intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đề tài nghiên cứu khoa học: Thiết kế hệ thống an ninh nhà ở

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:79

15
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu nghiên cứu của đề tài "Thiết kế hệ thống an ninh nhà ở" nhằm xây dựng một hệ thống an ninh cho nhà ở, mở cửa nhanh chóng với hai giao thức chính là mật khẩu và thẻ RFID, phát hiện và cảnh báo kịp thời khi có người đột nhập hay hỏa hoạn xảy ra. Sản phẩm phù hợp với nhiều đối tượng người dùng.

Chủ đề:
Lưu

Nội dung Text: Đề tài nghiên cứu khoa học: Thiết kế hệ thống an ninh nhà ở

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ HỆ THỐNG AN NINH NHÀ Ở S K C 0 0 3 9 5 9 MÃ SỐ: SV2020-135 S KC 0 0 7 4 1 3 Tp. Hồ Chí Minh, tháng 07/2020
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ HỆ THỐNG AN NINH NHÀ Ở SV2020 - 135 Chủ nhiệm đề tài: Đào Ngọc Giang 16119015 TP Hồ Chí Minh, 07/2020
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN THIẾT KẾ HỆ THỐNG AN NINH NHÀ Ở SV2020 - 135 Thuộc nhóm ngành khoa học: Kỹ thuật SV thực hiện: Đào Ngọc Giang Nam, Nữ: Nam Dân tộc: Kinh Lớp, khoa: 16119CLC - Đào tạo Chất Lượng Cao Năm thứ: 4/Số năm đào tạo: 4 Ngành học: Công nghệ kỹ thuật máy tính Người hướng dẫn: ThS. Trương Quang Phúc TP Hồ Chí Minh, 07/2020
  4. MỤC LỤC DANH MỤC HÌNH ẢNH ............................................................................................... DANH MỤC BẢNG BIỂU ............................................................................................. DANH MỤC NHỮNG TỪ VIẾT TẮT .......................................................................... THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI ............................................. PHẦN MỞ ĐẦU ............................................................................................................1 1. Đặt vấn đề .........................................................................................................1 2. Lý do chọn đề tài ..............................................................................................1 3. Mục tiêu đề tài ..................................................................................................2 4. Phương pháp nghiên cứu ................................................................................2 5. Đối tượng và phạm vi nghiên cứu ..................................................................2 PHẦN NỘI DUNG ........................................................................................................3 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .............................................................................3 1.1 Giới thiệu về IOT .............................................................................................3 1.1.1 Khái niệm ...................................................................................................3 1.1.2 Cấu phần của hệ thống IOT .....................................................................3 1.1.3 Ứng dụng ....................................................................................................4 1.2 Các chuẩn giao tiếp ..........................................................................................4 1.2.1 SPI ...............................................................................................................4 1.2.2 UART..........................................................................................................6 1.2.3 I2C ..............................................................................................................8 1.3 Các linh kiện sử dụng ......................................................................................9 1.3.1 Kit phát triển ESP8266 NodeMCU .........................................................9 1.3.2 Màn hình LCD .........................................................................................12 1.3.3 Module I2C LCD .....................................................................................13 1.3.4 Bàn phím keypad 4x4..............................................................................14 1.3.5 Module Sim800L .....................................................................................15 1.3.6 Module RFID RC522 ..............................................................................17 1.3.7 Cảm biến chuyển động PIR HC-SR501 ................................................18 1.3.8 Cảm biến lửa ............................................................................................19 1.3.9 Module chuyển nguồn .............................................................................20
  5. 1.3.10 Module hạ áp ........................................................................................21 1.3.11 Động cơ RC servo 9G ..........................................................................22 1.3.12 Buzzer ...................................................................................................23 1.4 Phần mềm lập trình Arduino IDE ................................................................23 1.4.1 Giới thiệu ..................................................................................................23 1.4.2 Các lệnh, các hàm cơ bản trong Arduino IDE .....................................26 1.5 Giới thiệu các ngôn ngữ lập trinh web .........................................................28 1.6 Giới thiệu Google Firebase ............................................................................28 1.6.1 Khái niệm .................................................................................................28 1.6.2 Realtime Database System .....................................................................29 1.6.3 Tại sao chọn Google Firebase .................................................................29 1.6.4 Tạo một cơ sở dữ liệu trên Google Firebase .........................................30 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG .....................................................................34 2.1 Phân tích hệ thống .........................................................................................34 2.1.1 Yêu cầu thiết kế .......................................................................................34 2.1.2 Đặc tả hệ thống ........................................................................................34 2.2 Thiết kế sơ lược ..............................................................................................34 2.2.1 Sơ đồ khối hệ thống và chức năng từng khối........................................34 2.2.2 Mô tả hệ thống .........................................................................................36 2.3 Thiết kế chi tiết từng khối .............................................................................37 2.3.1 Khối hiển thị ............................................................................................37 2.3.2 Khối nhập dữ liệu đóng/mở cửa ............................................................37 2.3.3 Khối đóng/mở cửa ...................................................................................38 2.3.4 Khối cảm biến ..........................................................................................38 2.3.5 Khối thực hiện sms/gọi............................................................................39 2.3.6 Khối báo động ..........................................................................................39 2.3.7 Khối xử lý trung tâm...............................................................................39 2.3.8 Khối nguồn ...............................................................................................41 2.3.9 Sơ đồ mạch nguyên lý .............................................................................42 2.4 Thiết kế phần mềm ........................................................................................43 2.4.1 Giải thuật phần mềm cho phần cứng ....................................................43 2.4.2 Giao diện website và firebase .................................................................45 CHƯƠNG 3: KẾT QUẢ NGHIÊN CỨU VÀ ĐÁNH GIÁ ......................................47
  6. 3.1 Kết quả thực hiện ...........................................................................................47 3.1.1 Phần cứng.................................................................................................47 3.1.2 Phần mềm ................................................................................................48 3.2 Đánh giá hệ thống ..........................................................................................49 3.2.1 Nhận xét ...................................................................................................49 3.2.2 Hướng phát triển .....................................................................................50 PHẦN KẾT LUẬN ......................................................................................................51 1. Kết luận ...........................................................................................................51 2. Kiến nghị .........................................................................................................51 TÀI LIỆU THAM KHẢO............................................................................................... PHỤ LỤC .........................................................................................................................
  7. DANH MỤC HÌNH ẢNH Hình 1.1: Mô hình kiến trúc IOT ....................................................................................3 Hình 1.2: Truyền dữ liệu SPI..........................................................................................6 Hình 1.3: Mô hình kết nối chuẩn I2C .............................................................................9 Hình 1.4: Kit phát triển ESP8266 NodeMCU ..............................................................10 Hình 1.5: Sơ đồ chân ESP8266 NodeMCU .................................................................11 Hình 1.6: Màn hình LCD 204 .......................................................................................12 Hình 1.7: Module I2C LCD ..........................................................................................14 Hình 1.8: Keypad 4x4 ...................................................................................................14 Hình 1.9: Sơ đồ mạch keypad 4x4................................................................................15 Hình 1.10: Module Sim800L ........................................................................................15 Hình 1.11: Sơ đồ chân của Sim800L ............................................................................16 Hình 1.12: Module RFID RC522 .................................................................................18 Hình 1.13: Cảm biến chuyển động PIR HC-SR501 .....................................................19 Hình 1.14: Cảm biến lửa...............................................................................................20 Hình 1.15: Mạch chuyển nguồn M350 12VDC ...........................................................21 Hình 1.16: Module hạ áp LM2596 ...............................................................................21 Hình 1.17: Động cơ RC servo 9G ................................................................................22 Hình 1.18: Buzzer 5V ...................................................................................................23 Hình 1.19: Giao diện của phần mềm Arduino IDE ......................................................24 Hình 1.20: Các loại board phần mềm hỗ trợ ................................................................24 Hình 1.21: Chọn port giao tiếp với phần cứng .............................................................25 Hình 1.22: Một số ví dụ cơ bản ....................................................................................25 Hình 1.23: Quản lý các thư viện Arduino IDE hỗ trợ ..................................................26 Hình 1.24: Giao diện install thư viện ...........................................................................26 Hình 1.25: Giao diện trang Google Firebase ................................................................30 Hình 1.26: Tạo project mới ..........................................................................................31 Hình 1.27: Tạo cơ sở dữ liệu mới .................................................................................31 Hình 1.28: Chọn chế độ cho project .............................................................................32 Hình 1.29: Chọn chế độ lưu trữ dữ liệu ........................................................................32 Hình 1.30: Giao diện cơ sở dữ liệu trên Firebase .........................................................33 Hình 2.1: Sơ đồ khối hệ thống ............................................................................ 35 Hình 2.2: Sơ đồ kết nối keypad 4x4 để đọc giá trị ADC ........................................ 37 Hình 2.3: Sơ đồ nguyên lý hệ thống .................................................................... 42 Hình 2.4: Lưu đồ giải thuật phần mềm (1/2) ......................................................... 44 Hình 2.5: Lưu đồ giải thuật phần mềm (2/2) ......................................................... 45 Hình 2.6: Realtime Database của hệ thống trên Google Firebase ............................ 46 Hình 2.7: Trang web thiết kế .............................................................................. 46 Hình 3.1: Mô hình bên ngoài hệ thống ................................................................. 47 Hình 3.2: Mô hình bên trong hệ thống ................................................................. 47 Hình 3.3: Hệ thống thực hiện cuộc gọi khi khẩn cấp ............................................. 48
  8. Hình 3.4: Hệ thống thực hiện gửi sms khi khẩn cấp .............................................. 48 Hình 3.5: Trang web của hệ thống ....................................................................... 49
  9. DANH MỤC BẢNG BIỂU Bảng 1.1: Chức năng các chân của LCD 20x4 ...................................................... 13 Bảng 2.1: Giá trị điện trở các nút nhấn (đơn vị Ω)................................................. 38 Bảng 2.2: Sơ đồ kết nối chân ESP8266 với các linh kiện ngoại vi .......................... 40 Bảng 2.3: Sơ đồ chân kết nối nguồn .................................................................... 41
  10. DANH MỤC NHỮNG TỪ VIẾT TẮT IOT: Internet of things SPI: Serial Peripheral Interface UART: Universal asynchronous receiver transmitter I2C: Inter-Integrated Circuit LCD: Liquid Crystal Display RFID: Radio Frequency Identification PIR: Passive InfraRed VCC: Voltage common collector GND: Ground DC: Direct Current PWM: Pulse Width Modulation HTML: Hypertext Markup Language CSS: Cascading Style Sheets JS: JavaScript
  11. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI 1. Thông tin chung: - Tên đề tài: Thiết kế hệ thống an ninh nhà ở - Chủ nhiệm đề tài: Đào Ngọc Giang Mã số SV: 16119015 - Lớp: 16119CLC Khoa: Đào tạo chất lượng cao - Thành viên đề tài: Stt Họ và tên MSSV Lớp Khoa 1 Nguyễn Thiện Quang 16119038 16119CLC Đào tạo chất lượng cao 2 Huỳnh Quân 16119040 16119CLC Đào tạo chất lượng cao 3 Trương Thị Như Quỳnh 16119182 16119CLC Đào tạo chất lượng cao - Người hướng dẫn: ThS. Trương Quang Phúc 2. Mục tiêu đề tài: Xây dựng một hệ thống an ninh cho nhà ở, mở cửa nhanh chóng với hai giao thức chính là mật khẩu và thẻ RFID, phát hiện và cảnh báo kịp thời khi có người đột nhập hay hỏa hoạn xảy ra. Thực hiện mô hình hệ thống, điều khiển thực tế hệ thống để đánh giá nhận xét. 3. Tính mới và sáng tạo: 4. Kết quả nghiên cứu: Nghiên cứu tìm hiểu về các lý thuyết phần cứng sử dụng trong hệ thống. Thiết kế tính toán, thi công mô hình hệ thống. Lập trình phần mềm cho các chức năng của hệ thống, giao diện website người dùng giao tiếp với hệ thống. 5. Đóng góp về mặt giáo dục và đào tạo, kinh tế - xã hội, an ninh, quốc phòng và khả năng áp dụng của đề tài: Đề tài "Thiết kế hệ thống an ninh nhà ở" sẽ đóng góp về mặt an ninh xã hội nhằm đáp ứng nhu cầu về an ninh nhà ở, phòng chống trộm cắp, xử lý kịp thời các tình huống nguy hiểm khẩn cấp và chi phí thấp. Về giáo dục cũng góp phần hỗ trợ trong quá trình
  12. giảng dạy, học tập và nghiên cứu của giảng viên cũng như sinh viên của trường, việc áp dụng mô hình hệ thống sẽ giúp người dạy hay người học có cái nhìn thực tế về lĩnh vực này thông qua các kiểm chứng phương pháp thực hiện từ đó có thể hiểu rõ và tìm ra các phương pháp tối ưu hơn cho các ứng dụng tương tự sau này. 6. Công bố khoa học của SV từ kết quả nghiên cứu của đề tài Ngày 27 tháng 7 năm 2020 SV chịu trách nhiệm chính thực hiện đề tài (kí, họ và tên) Nhận xét của người hướng dẫn về những đóng góp khoa học của SV thực hiện đề tài: Ngày 27 tháng 7 năm 2020 Người hướng dẫn (kí, họ và tên)
  13. PHẦN MỞ ĐẦU 1. Đặt vấn đề Mỗi ngày chúng ta đều nhìn thấy các tin tức trên phương tiện truyền thông liên quan về vấn đề an ninh, báo động nguy hiểm. Tình hình an ninh, tình huống báo động luôn trong trạng thái bị động, xảy ra bất cứ khi nào... gây ra nhiều thiệt hại, khó kiểm soát. Chính vì thiếu đề phòng và chủ quan, việc phòng chống tệ nạn trộm cắp, cháy nổ không hiệu quả. Để giải quyết vấn đề đó, chúng ta có thể áp dụng IoT (Internet of Things) vào một cách đơn giản, thuận tiện. Nhất là đối với công nghệ IoT đang ngày càng phổ biến ở Việt Nam và khi mọi thiết bị được kết nối Internet, người sử dụng hoàn toàn có thể giám sát, quản lý, nhận cảnh báo, điều khiển hệ thống từ bất cứ nơi nào, chỉ cần một chiếc smartphone hoặc máy tính bảng có kết nối Internet. Vì hệ thống ứng dụng IoT đem lại hiệu quả to lớn, phù hợp thực tế nên nhóm quyết định chọn đề tài: “Thiết kế hệ thống an ninh cho nhà ở”. Mọi công việc giám sát, điều khiển các thiết bị đều được thực hiện qua Internet, chức năng nhận tin nhắn, cuộc gọi khẩn cấp. Hệ thống này giúp người chủ nhà nâng cao hiệu quả phòng chống trộm cắp, đối phó các tình huống nguy hiểm. 2. Lý do chọn đề tài Hiện nay, hầu hết các ở nhà dân đều sử dụng camera để quản lý an ninh tại khu vực tuy nhiên việc sử dụng camera cũng còn một số hạn chế nhất định. Hệ thống camera chỉ có thể quan sát và lưu trữ hình ảnh những người ra/vào nhà, nhưng không thể cảnh báo hay báo động khi có người lạ đột nhập nên tình trạng mất trộm vẫn còn xảy ra. Đứng trước những vấn đề đó, cần một hệ thống có thể đảm bảo được an ninh cho ngôi nhà từ việc đóng mở ra vào nhà đến việc phát hiện khi có người lạ đột nhập, phát hiện những tình huống khẩn cấp có thể xảy ra trong nhà như cháy nổ và thực hiện thông báo ngay lập tức khi xảy ra. Hệ thống đó phải luôn được duy trì ổn định kể cả khi có xảy ra sự cố mất điện đột ngột. Để đáp ứng hết tất cả những yêu cầu trên nhóm đã chọn đề tài này, không chỉ để giải quyết vấn đề mà còn muốn tìm hiểu góp phần xây dựng nhỏ vào ngành công nghệ hiện nay. 1
  14. 3. Mục tiêu đề tài Xây dựng một hệ thống an ninh cho nhà ở, mở cửa nhanh chóng với hai giao thức chính là mật khẩu và thẻ RFID, phát hiện và cảnh báo kịp thời khi có người đột nhập hay hỏa hoạn xảy ra. Sản phẩm phù hợp với nhiều đối tượng người dùng. 4. Phương pháp nghiên cứu Để thực hiện ý tưởng của đề tài đưa ra, chúng tôi sử dụng phương pháp nghiên cứu như sau: - Tổng hợp tài liệu lý thuyết, những kiến thức đã được học. - Khảo sát những hệ thống thực tế tương tự. - Thiết kế, tính toán và thi công mô hình hệ thống. - Thử nghiệm, đánh giá kết quả mô hình hệ thống. - Tham khảo ý kiến người hướng dẫn. 5. Đối tượng và phạm vi nghiên cứu Để thiết kế và thi công hệ thống chúng tôi nghiên cứu những đối tượng như sau: - Kit phát triển ESP8266 Node MCU. - Màn hình LCD. - Module I2C LCD. - Bàn phím keypad 4x4. - Module SIM800L. - Module RFID RC522. - Cảm biến chuyển động PIR HC-SR501. - Cảm biến lửa. - Module chuyển nguồn. - Module hạ áp. - Động cơ RC servo 9G. - Buzzer. - Lập trình trên phần mềm ArduinoIDE. - Cơ sở dữ liệu Google Firebase. - Lập trình trang web. 2
  15. PHẦN NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu về IOT 1.1.1 Khái niệm Mạng lưới thiết bị kết nối Internet viết tắt là IoT (Internet of Things) là một kịch bản của thế giới, khi mà mỗi đồ vật, con người được cung cấp một định danh riêng và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua một mạng duy nhất mà không cần đến sự tương tác trực tiếp giữa người với người hay người với máy tính [1]. IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet. Việc kết nối có thể thực hiện qua mạng Wi-Fi, mạng di động băng rộng (3G, 4G), Bluetooth, ZigBee,… Các thiết bị có thể là smartphone, máy pha cafe, máy giặt, tai nghe, bóng đèn, camera… và nhiều thiết bị khác [1]. 1.1.2 Cấu phần của hệ thống IOT Kiến trúc IoT được đại diện cơ bản bởi bốn phần: Vạn vật (Things), trạm kết nối (Gateways), hạ tầng mạng và điện toán đám mây (Network and Cloud) và các lớp tạo và cung cấp dịch vụ (Services-creation and Solutions Layers) [1]. Hình 1.1: Mô hình kiến trúc IOT Vạn vật (Things ): ví dụ xe hơi, thiết bị cảm biến, thiết bị đeo và điện thoại di động đang được kết nối trực tiếp thông qua băng tần mạng không dây và truy cập vào Internet. Giải pháp IoT giúp các thiết bị thông minh được sàng lọc, kết nối và quản lý dữ liệu một cách cục bộ, còn các thiết bị “chưa thông minh” thì có thể kết nối được thông qua các trạm kết nối [1]. 3
  16. Trạm kết nối (Gateways ): các trạm kết nối sẽ đóng vai trò là một trung gian trực tiếp, cho phép các thiết bị có sẵn này kết nối với điện toán đám mây một cách bảo mật và dễ dàng quản lý [1]. Hạ tầng mạng và điện toán đám mây (Network and Cloud ): Cơ sở hạ tầng kết nối Internet bao gồm thiết bị định tuyến, trạm kết nối, thiết bị tổng hợp, thiếp bị lặp và nhiều thiết bị khác có thể kiểm soát lưu lượng dữ liệu lưu thông và cũng được kết nối đến mạng lưới viễn thông và cáp - được triển khai bởi các nhà cung cấp dịch vụ. Trung tâm dữ liệu/hạ tầng điện toán đám mây bao gồm một hệ thống lớn các máy chủ (Server), hệ thống lưu trữ và mạng ảo hóa được kết nối [1]. Các lớp tạo và cung cấp dịch vụ (Services-Creation and Solutions Layers): Intel đã kết hợp những phần mềm quản lý API hàng đầu (Application Progmraming Interface) là Mashery và Aepona để giúp đưa các sản phẩm và giải pháp IoT ra thị trường một cách chóng và tận dụng được hết giá trị của việc phân tích các dữ liệu từ hệ thống và tài sản đang có sẵn [1]. 1.1.3 Ứng dụng IoT có thể ứng dụng được trong bất kì lĩnh vực nào mà chúng ta muốn. Một số lĩnh vực nổi bật hiện nay được ứng dụng IoT nhiều nhất như:  Nhà thông minh.  Quản lý các thiết bị cá nhân: thiết bị đeo tay để đo nhịp tim huyết áp  Quản lý môi trường:  Xử lý trong các tình huống khẩn cấp.  Quản lý giao thông.  Lĩnh vực mua sắm thông minh  Đồ dùng sinh hoạt hằng ngày: như máy pha coffee, bình nóng lạnh  Tự động hóa: các công xưởng sản xuất xe hơi đã áp dụng công nghệ IoT để cắt giảm hầu hết các công nhân, thay vào đó là các bộ máy tích hợp trí thông minh nhân tạo cho năng suất tăng gấp nhiều lần và độ chính xác cao hơn. 1.2 Các chuẩn giao tiếp 1.2.1 SPI 4
  17. SPI (Serial Peripheral Interface) là một chuẩn truyền thông nối tiếp tốc độ cao do hãng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip Master điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave. SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời. SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Ouput Slave Input) và SS (Slave Select) [2]:  SCK: Xung 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. Đây là điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn UART. Sự tồn tại của chân 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. Xung nhịp chỉ được tạo ra bởi chip Master [2].  MISO – Master Input/Slave Output: nếu là chip Master thì đây là đường Input còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slaves đượcnối trực tiếp với nhau [2].  MOSI – Master Output/Slave Input: nếu là chip Master thì đây là đường Output còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các Slaves được nối trực tiếp với nhau [2].  SS – Slave Select: SS là đường chọn Slave cần giao tiếp, trên các chip Slave đường SS sẽ ở mức cao khi không làm việc. Nếu chip Master kéo đường SS của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave đó. Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng [2]. Hoạt động: mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits. Cứ mỗi xung nhịp do Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi dữ liệu của chip Slave cũng được truyền qua Master trên đường MISO. Do 2 gói dữ liệu trên 2 chip được gởi qua lại đồng thời nên quá trình truyền dữ liệu này được gọi là “song công”. 5
  18. Hình 1.2: Truyền dữ liệu SPI 1.2.2 UART UART là từ viết tắt của Universal Asynchronous Receiver/Transmitter (truyền/nhận không đồng bộ) chuyển đổi giữa dữ liệu nối tiếp và song song. Một chiều, UART chuyển đổi dữ liệu song song bus hệ thống ra dữ liệu nối tiếp để truyền đi. Một chiều khác, UART chuyển đổi dữ liệu nhận được dạng dữ liệu nối tiếp thành dạng dữ liệu song song cho CPU có thể đọc vào bus hệ thống. UART của máy tính (PC) hỗ trợ cả hai kiểu giao tiếp là giao tiếp đồng thời và giao tiếp không đồng thời. Giao tiếp đồng thời tức là UART có thể gửi và nhận dữ liệu vào cùng một thời điểm. Còn giao tiếp không đồng thời (không kép) là chỉ có một thiết bị có thể chuyển dữ liệu vào một thời điểm, với tín hiệu điều khiển hoặc mã sẽ quyết định bên nào có thể truyền dữ liệu. Giao tiếp không đồng thời được thực hiện khi mà cả 2 chiều chia sẻ một đường dẫn hoặc nếu có 2 đường nhưng cả 2 thiết bị chỉ giao tiếp qua một đường ở cùng một thời điểm. Thêm vào đường dữ liệu, UART hỗ trợ bắt tay chuẩn RS232 và tín hiệu điều khiển như RTS, CTS, DTR, DCR, RT và CD. Trong PC, hệ điều hành và ngôn ngữ lập trình hỗ trợ cho lập trình liên kết nối tiếp mà không cần phải hiểu rõ chi tiết cấu trúc UART. Để mở liên kết, ứng dụng lựa chọn một tần số dữ liệu hoặc là thiết lập khác hoặc cho phép truyền thông tại các cổng. Để gửi 1 byte, ứng dụng ghi byte này vào bộ đệm truyền của cổng được lựa chọn và UART gửi dữ liệu này từng bit một, trong định dạng yêu cầu thêm bit Start, bit Stop, bit chẵn - lẻ khi cần. Một cách đơn giản, byte nhận được tự động được lưu trữ trong bộ 6
  19. đệm. UART có thể dùng nhanh một ngắt để báo cho CPU và các ứng dụng biết dữ liệu đang nhận được hoặc các sự kiện khác. Một số thông số:  Baud Rate (tốc độ Baud): khi truyền nhận không đồng bộ để hai module hiểu được nhau thì cần quy định một khoảng thời gian cho 1 bit truyền nhận, nghĩa là trước khi truyền thì tốc độ phải được cài đặt đầu tiên. Theo định nghĩa thì tốc độ Baud là số bit truyền trong một giây [3].  Frame (khung truyền): do kiểu truyền thông nối tiếp này rất dễ mất dữ liệu nên ngoài tốc độ, khung truyền cũng được cài đặt từ ban đầu để tránh bớt sự mất mát dữ liệu. Khung truyền quy định số bit trong mỗi lần truyền, các bit báo như Start, Stop, các bit kiểm tra như Parity và số bit trong một Data [3].  Start Bit: là bit dùng để đồng bộ dữ liệu. Đây là bit được thêm vào phía trước dữ liệu thực tế. Start bit đánh dấu nơi bắt đầu của gói dữ liệu. Thông trường, trong trạng thái idle, khi không có dữ liệu nào được truyền, mức điện áp trên đường truyền là mức cao – HIGH. Khi bắt đầu truyền dữ liệu, UART truyền sẽ kéo mức điện áp trên bus từ mức cao xuống mức thấp (từ 1 xuống 0). UART nhận sẽ phát hiện được sự thay đổi mức điện áp này và sẽ bắt đầu đọc dữ liệu. Thông thường, Start bit chỉ có độ dài 1 bit [3].  Stop Bit: đánh dấu việc kết thúc gói dữ liệu. Nó có độ dài 2 bit nhưng thông thường, người ta chỉ sử dụng 1 bit. Sau khi kết thúc quá trình truyền dữ liệu, mức điện áp trên bus sẽ được giữ ở mức cao – HIGH [3].  Data Bits: là những bits chứa dữ liệu được gửi từ thiết bị truyền sang thiết bị nhận. Độ dài của gói dữ liệu có thể từ 5 đến 9 bits (9 bits nếu như parity bit không được dùng và chỉ có 8 bits khi parity bit được dùng). Trong UART, bit LSB (bit có giá trị thấp nhất) được truyền đi trước, bit MSB (bit có giá trị cao nhất) được truyền đi sau [3].  Parity bit: là bit kiểm tra dữ liệu đúng không. Có hai loại Parity là chẵn (Even Parity), lẻ (Old Parity). Parity chẵn là bit Parity thêm vào để số chữ số 1 trong Data + Parity = Chẵn. Parity lẻ là bit Parity thêm vào để số chữ số 1 trong Data + Parity = Lẻ. Bit Parity là không bắt buộc nên có thể dùng hoặc không [3]. 7
  20. 1.2.3 I2C I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit. Đây là đường Bus giao tiếp giữa các IC với nhau. Đây là một loại giao thức giao tiếp nối tiếp đồng bộ. Nó có nghĩa là các bit dữ liệu được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi một tín hiệu đồng hồ tham chiếu. Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM... chip nhớ như: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), số tương tự(DAC), IC điểu khiển LCD, LED... I2C sử dụng hai đường truyền tín hiệu [4]:  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. Có rất nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽ không xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ được nhận ra bởỉ một địa chỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối. Mỗi thiết bị có thể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận. Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hãy tớ (slave) [4]. Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) để phân biệt, nó còn được cấu hình là thiết bị chủ hay tớ.Tại sao lại có sự phân biệt này ? Đó là vì trên một bus I2C thì quyền điều khiển thuộc về thiết bị chủ. Thiết bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp. Thiết bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp [4]. Về lý thuyết lẫn thực tế I2C sử dụng 7 bit để định địa chỉ, do đó trên một bus có thể có tới 27 địa chỉ tương ứng với 128 thiết bị có thể kết nối, nhưng chỉ có 112, 16 địa chỉ còn lại được sử dụng vào mục đích riêng. Bit còn lại quy định việc đọc hay ghi dữ liệu (1 là write, 0 là read) [4]. Điểm mạnh của I2C chính là hiệu suất và sự đơn giản của nó, một khối điều khiển 8
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2