Chương 1 TỔNG QUAN do an ĐỒ ÁN TỐT NGHIỆP Trang |5 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT Chương này sẽ giới thiệu về các lý thuyết liên qua tới tất cả các vấn đề cần giải quyết trong đề tài (các loại IC, về các chuẩn giao tiếp, về nguyên lý hoạt động và cách điều khiển một số hệ thống phần cứng….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 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. 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 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 Mô hình hệ thống IoTs 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 lớp sau: - 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) Chương 2 CƠ SỞ LÝ THUYẾT do an ĐỒ ÁN TỐT NGHIỆP Trang |6 Hình 2.1 Mô hình IoTs 2.2 VI ĐIỀU KHIỂN 2.1 Kit STM32F4 Discovery 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. Hiệp tại ngoài thị trường có rất nhiều dòng sản phẩm sử dụng vi điều khiển dòng STM32 như các thế hệ Kit STM32F1, STM32F4. hay có rất nhiều mạch giải mã, nhận dạng giọng nói, xử lý hình ảnh có sử dụng dòng vi điều khiển này có thể kể ra là mạch phần cứng TCP/IP W5500, máy ảnh có ổ đĩa tích hợp vi điều khiển STM32 VS1003 và còn nhiều phần cứng khác nữa. Chương 2 CƠ SỞ LÝ THUYẾT do an ĐỒ ÁN TỐT NGHIỆP Trang |7 Hình 2.2 Mạch giải mã chứa vi điều khiển STM32 VS1003 - 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, FSMC, 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 12oC để 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 so sánh hình ảnh dùng để bắt sự kiện với tính năng đưa hình ảnh và tạo dạng sóng ở ngõ ra với sô sánh đầu ra, 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 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 ngắt ngõ ra 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 bit và 16 bit hỗ trợ tích cực cho giao tiếp thẻ nhớ SD hoặc MMC.
STM32 có hỗ trợ thêm tối đa 12 kênh DMA. 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ừ 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 đ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ử chuỗi nội và ma trận chuỗi tối thiểu hoá sự tranh chấp bus giữa truy cập dữ Chương 2 CƠ SỞ LÝ THUYẾT do an ĐỒ ÁN TỐT NGHIỆP Trang |8 liệu thông qua CPU 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ổ. 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, 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.
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, có thể kích hoạt một sự Chương 2 CƠ SỞ LÝ THUYẾT do an ĐỒ ÁN TỐT NGHIỆP Trang |9 kiện ngắt khi có sự thay đổi trạng thái ở đầu vào 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 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, cổng này hỗ trợ kết nối chuẩn JTAG hoặc giao diện 2 dây, 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 và một công cụ theo dõi. 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. Điều này có thể cung cấp thêm các thông tin gỡ lỗi và cũng có thể được sử dụng trong quá trình thử nghiệm phần mềm.
STM32 có sẵn một bộ thư viện ngoại vi chuẩn và mẫu, ví dụ hỗ trợ lập trình mà không cần kiến thức chuyên sâu hay hiểu rõ datasheet của chip, giúp nhanh chóng tập trung vào việc viết chương trình, tiết kiệm thời gian phát triển sản phẩm.2 Giới thiệu kit STM32F4 Discovery Đồ án sử dụng Kit STM32F407VG Discovery để thu thập dữ liệu từ các cảm biến và điều khiển thiết bị điện. Bộ kit STM32F4-DISCOVERY với vi điều khiển hiệu suất cao STM32F407VGT6, cho phép người dùng dễ dàng phát triển các ứng dụng xử lý tín hiệu số (ADC, Digital…). Nó bao gồm một công cụ ST-LINK tích hợp sẵn trên bảng mạch giúp nạp chương trình, gỡ lỗi nhanh chóng. Chương 2 CƠ SỞ LÝ THUYẾT do an ĐỒ ÁN TỐT NGHIỆP T r a n g | 10 Hình 2.3 Kit STM32F407VG Discovery Các tính năng chính - Vi điều khiển 32-bit ARM Cortex®-M4 STM32F407VGT6 với lõi FPU hỗ trợ xử lý tính toán dấu phẩy động, 1-MB bộ nhớ Flash, 192 Kbyte RAM.
- On-board ST-LINK/V2 trên STM32F4-DISCOVERY giúp nạp chương trình, gỡ lỗi. - Nguồn điện cung cấp cho bảng mạch: thông qua cổng USB hoặc từ một nguồn cung cấp điện áp 5V bên ngoài. - Từ bảng mạch, có thể cấp nguồn 3,3 V và 5 V cho các ứng dụng.