Chương 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI Trong chương này, nhóm thực hiện đề tài trình bày tổng quan về nhu cầu người dùng các thiết bị thông minh hiện nay, sự phát triển của IoTs. Mục tiêu, đối tượng và phạm vi nghiên cứu của đề tài. Chương 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN Chương này sẽ giới thiệu về các lý thuyết liên quan tới tất cả các vấn đề cần giải quyết trong đề tài (các loại IC, module, các chuẩn giao tiếp, nguyên lý hoạt động và cách điều khiển một số hệ thống phần cứng.) Các thành phầ n linh kiê ̣n được sử dụng đã đươ ̣c nhóm cho ̣n và nghiên cứu cu ̣ thể cho phù hơ ̣p với đề tài nhấ t dựa vào khả năng hoa ̣t động, loại linh kiện phù hợp nhu cầu của nhóm, đồng thời yếu tố giá thành cũng quyết định một phần tới lựa chọn của nhóm cho các thiết bị được sử dụng trong đề tài. Chương 3: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG Trong chương này, nhóm thực hiện đề tài sẽ đưa ra các yêu cầu khi thiết kế, các công việc trong thiết kế về phần cứng và phần mềm.
Chương 4: VẬN HÀNH VÀ KIỂM TRA KẾT QUẢ Trong chương này, nhóm thực hiện đề tài sẽ đưa ra kết quả mà nhóm đạt được, hình ảnh hệ thống sau khi thi công. Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong chương này, nhóm sẽ đưa ra kết luận, những hạn chế còn tồn đọng và hướng phát triển của đề tài hơn nữa trong tương lai. ___________________________________________________________________ THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH Trang 4 do an ĐỒ ÁN TỐT NGHIỆP _______________________________________________________________________________ Chương 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 2.1 Internet Of Things 2.1 Giới thiệu Mạng lưới vạn vật kết nối Internet hoặc là mạng lưới thiết bị kết nối internet viết tắt là IoTs (tiếng Anh: 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 của riêng mình, 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. IoTs đã 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 [1].
Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó. Một vật trong IoTs có thể là một người với một trái tim cấy ghép. Một động vật ở trang trại với bộ chip sinh học. Một chiếc xe với bộ cảm ứng tích hợp cảnh báo tài xế khi bánh xe xẹp hoặc bất kỳ vật thể tự nhiên hay nhân tạo nào mà có thể gán được một địa chỉ IP và cung cấp khả năng truyền dữ liệu thông qua mạng lưới.
Cho đến nay, IoTs là những liên kết máy-đến-máy (M2M) trong ngành sản xuất, công nghiệp năng lượng, kỹ nghệ xăng dầu. Khả năng sản phẩm được tích hợp máy-đến-máy thường được xem như là thông minh [2] 2.2 Mô hình Bất kỳ một hệ thống IoTs nào cũng được xây dựng lên từ sự kết hợp của 4 layer sau [3]: Lớp ứng dụng (Application Layer) Lớp hỗ trợ dịch vụ và hỗ trợ ứng dụng (Service Support and Application Support Layer) Lớp mạng (Network Layer) Lớp thiết bị (Device Layer) ___________________________________________________________________ THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH Trang 5 do an ĐỒ ÁN TỐT NGHIỆP _______________________________________________________________________________ Hình 0. Mô hình IoTs ___________________________________________________________________ THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH Trang 6 do an ĐỒ ÁN TỐT NGHIỆP _______________________________________________________________________________ 2.2 Vi điều khiển STM32F407VET6 2.1 Giới thiệu dòng vi điều khiển STM32 STM32 là vi điều khiển do hãng ST Microelectronic sản xuất dựa trên nền tảng lõi vi xử lý ARM Cortex®-M. Là một dòng sản phẩm vi xử điều khiển 32 bit kết hợp các ưu điểm về hiệu suất cao, khả năng xử lý thời gian thực, xử lý tín hiệu số, tiêu thụ ít năng lượng, hoạt động điện áp thấp, trong khi duy trì khả năng tích hợp đầy đủ và dễ dàng phát triển ứng dụng.
Vi điều khiển STM32 dựa trên một lõi tiêu chuẩn công nghiệp, có thể sử dụng nhiều công cụ và phần mềm để phát triển ứng dụng. Điều này làm cho dòng STM32 là sự lựa chọn lý tưởng đối với các dự án nhỏ hoặc cho thiết kế nền tảng. Kiến trúc của STM32 nhánh Performance và Access [1] - Sự tinh vi Thoạt nhìn thì các ngoại vi của STM32 cũng giống như những vi điều khiển khác, như hai bộ chuyển đổi ADC, timer, I2C, SPI, CAN, USB và RTC. Tuy nhiên mỗi ngoại vi trên đều có rất nhiều đặc điểm thú vị.
Ví dụ như bộ ADC 12 bit có tích hợp một cảm biến nhiệt 12 độ để tự động hiệu chỉnh khi nhiệt độ thay đổi và hỗ trợ nhiều chế độ chuyển đổi. Mỗi bộ định thời có 4 khối capture compare (dùng để bắt sự kiện với tính năng input capture và tạo dạng sóng ở ngõ ra với output compare), mỗi khối định thời có thể liên kết với các khối định thời khác để tạo ra một mảng các định thời chính xác hơn. Một bộ định thời chuyên hỗ trợ điều khiển động cơ với 6 đầu ra tín hiệu điều biến độ rộng xung PWM với dead time (khoảng thời gian được chèn vào giữa hai đầu tín hiệu xuất PWM bù nhau trong điều khiển mạch cầu H) lập trình được và một đường break input (khi phát hiện điều kiện dừng khẩn cấp) sẽ buộc tín hiệu PWM sang một trạng thái an toàn đã được cài sẵn. Ngoại vi nối tiếp SPI có một khối kiểm tổng (CRC) bằng phần cứng cho 8 và 16 word hỗ trợ tích cực cho giao tiếp thẻ nhớ SD hoặc MMC.
___________________________________________________________________ THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH Trang 7 do an ĐỒ ÁN TỐT NGHIỆP _______________________________________________________________________________ STM32 có hỗ trợ thêm tối đa 12 kênh DMA (Direct Memory Access). Mỗi kênh có thể được dùng để truyền dữ liệu đến các thanh ghi ngoại vi hoặc từ các thanh ghi ngoại vi với kích thước từ (word) dữ liệu truyền đi có thể là 8/16 hoặc 32 bit. Mỗi ngoại vi có thể có một bộ điều khiển DMA (DMA controller) đi kèm dùng để gửi hoặc truy vấn dữ liệu như yêu cầu. Một bộ phân xử bus nội (bus arbiter) và ma trận bus (bus matrix) tối thiểu hoá sự tranh chấp bus giữa truy cập dữ liệu thông qua CPU (CPU data access) và các kênh DMA.
Điều đó cho phép các đơn vị DMA hoạt động linh hoạt, dễ dùng và tự động điều khiển các luồng dữ liệu bên trong vi điều khiển. STM32 là một vi điều khiển tiêu thụ năng lượng thấp và đạt hiệu suất cao. Nó có thể hoạt động ở điện áp 2V, chạy ở tần số 72 MHz và dòng tiêu thụ chỉ có 36mA với tất cả các khối bên trong vi điều khiển đều được hoạt động. Kết hợp với các chế độ tiết kiệm năng lượng của Cortex, STM32 chỉ tiêu thụ 2μA khi ở chế độ Standby.
Một bộ dao động nội RC 8 MHz cho phép chip nhanh chóng thoát khỏi chế độ tiết kiệm năng lượng trong khi bộ dao động ngoài đang khởi động. Khả năng nhanh đi vào và thoát khỏi các chế độ tiết kiệm năng lượng làm giảm nhiều sự tiêu thụ năng lượng tổng thể. - Khả năng an toàn Ngày nay các ứng dụng hiện đại thường phải hoạt động trong môi trường khắt khe, đòi hỏi tính an toàn cao, cũng như đòi hỏi sức mạnh xử lý và càng nhiều thiết bị ngoại vi. Để đáp ứng các yêu cầu 13 khắt khe đó, STM32 cung cấp một số tính năng phần cứng hỗ trợ các ứng dụng một cách tốt nhất.
Chúng bao gồm một bộ phát hiện điện áp thấp, một hệ thống bảo vệ xung Clock và hai bộ Watchdogs. Bộ đầu tiên là một Watchdog cửa sổ (windowed watchdog). Watchdog này phải được làm tươi trong một khung thời gian xác định. Nếu nhấn nó quá sớm, hoặc quá muộn, thì Watchdog sẽ kích hoạt.
Bộ thứ hai là một Watchdog độc lập (independent watchdog), có bộ dao động bên ngoài tách biệt với xung nhịp hệ thống chính. Hệ thống bảo vệ xung nhịp có thể phát hiện lỗi của bộ dao động chính bên ngoài (thường là thạch anh) và tự động chuyển sang dùng bộ dao động nội RC 8 MHz. - Tính bảo mật Một trong những yêu cầu khắt khe khác của thiết kế hiện đại là nhu cầu bảo mật mã chương trình để ngăn chặn sao chép trái phép phần mềm. Bộ nhớ Flash của STM32 có thể được khóa để chống truy cập đọc Flash thông qua cổng gỡ lỗi (Debug).
Khi tính năng bảo vệ đọc được kích hoạt, bộ nhớ Flash cũng được bảo vệ chống ghi để ngăn chặn mã không tin cậy được chèn vào bảng vector ngắt. Hơn nữa bảo vệ ghi có thể được cho phép trong phần còn lại của bộ nhớ Flash. STM32 cũng có một đồng hồ thời gian thực và một khu vực nhỏ dữ liệu trên SRAM được nuôi nhờ nguồn pin. Khu vực này có một đầu vào chống giả mạo (anti-tamper input), có thể kích hoạt một sự kiện ngắt khi có sự thay đổi trạng thái ở đầu vào ___________________________________________________________________ THIẾT KẾ VÀ THI CÔNG BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH Trang 8 do an ĐỒ ÁN TỐT NGHIỆP _______________________________________________________________________________ này.
Ngoài ra một sự kiện chống giả mạo sẽ tự động xóa dữ liệu được lưu trữ trên SRAM được nuôi bằng nguồn pin. - Phát triển phần mềm Các công cụ phát triển cho ARM hiện có đã được hỗ trợ tập lệnh Thumb-2 và dòng Cortex. Ngoài ra ST cũng cung cấp một thư viện điều khiển thiết bị ngoại vi, một bộ thư viện phát triển USB như là một thư viện ANSI C và mã nguồn tương thích với các thư viện trước đó được công bố cho vi điều khiển STR7 và STR9. Có rất nhiều hệ điều hành thời gian thực RTOS (Real Time Operating System) mã nguồn mở và thương mại và middleware (TCP/IP, hệ thống tập tin, v.) hỗ trợ cho họ Cortex.
Dòng Cortex-M3 cũng đi kèm với một hệ thống gỡ lỗi hoàn toàn mới gọi là CoreSight. Truy cập vào hệ thống CoreSight thông qua cổng truy cập gỡ lỗi (Debug Access Port), cổng này hỗ trợ kết nối chuẩn JTAG hoặc giao diện 2 dây (serial wire-2 14 Pin), cũng như cung cấp trình điều khiển chạy gỡ lỗi, hệ thống CoreSight trên STM32 cung cấp hệ thống điểm truy cập (data watchpoint) và một công cụ theo dõi (instrumentation trace). Công cụ này có thể gửi thông tin về ứng dụng được lựa chọn đến công cụ gỡ lỗi.