Site icon TAPIT

Phần cứng thực hiện thí nghiệm cập nhật chương trình từ xa

Có rất nhiều hãng thiết kế vi điều khiển dựa trên những kiến trúc vi xử lý, số lượng ngoại vi, kích cỡ và tổ chức bộ nhớ khác nhau. Đồng thời, tuỳ vào ứng dụng thực tế mà thiết bị nhúng có thiết kế ngoại vi kết nối Internet và phương thức truyền nhận dữ liệu khác nhau. Để các bạn có thể tiếp cận và tích hợp được tính năng cập nhật chương trình từ xa vào thiết bị nhúng một cách đơn giản và hiệu quả, bài viết này sẽ trình bày về nền tảng phần cứng cập nhật chương trình từ xa bao gồm các nội dung về tổng quan phần cứng thử nghiệm.

Trong thí nghiệm cập nhật chương trình từ xa được TAPIT thực hiện, thiết bị phần cứng được thiết kế riêng để phục vụ cho quá trình xây dựng và thử nghiệm thư viện cập nhật chương trình từ xa. Theo thống kê năm 2019, trong lĩnh vực hệ thống nhúng, số lượng thiết bị IoTs sử dụng lõi ARM chiếm 90% thị phần và số lượng vi điều khiển trên thế giới được thiết kế trên kiến trúc lõi ARM chiếm 25% thị phần [2], trong đó dòng Cortex-M chiếm tỉ lệ cao nhất. Vì vậy, Cập nhật chương trình từ xa được sẽ được thử nghiệm trên mô hình thiết bị là một bảng mạch bao gồm một vi điều khiển 32 bit của hãng STMicroelectronics sử dụng CPU lõi ARM Cortex – M, được thiết kế với 512 Kbytes bộ nhớ chương trình (Flash) và 128 Kbytes bộ nhớ dữ liệu (SRAM), được tích hợp sẵn ngoại vi thời gian thực (RTC), và khối ngoại vi tính toán mã Cyclic Redundancy Check (CRC) để kiểm tra tính toàn vẹn dữ liệu [3]. Sơ đồ khối của vi điều khiển STM32F411 được trình bày ở hình 1.

Hình 1. Sơ đồ khối vi điều khiển STM32F411

[HỌC ONLINE TẠI TAPIT: LẬP TRÌNH VI ĐIỀU KHIỂN STM32, VI XỬ LÝ ARM CORTEX – M]

Vi điều khiển giao tiếp với module truyền nhận dữ liệu không dây EC21 của hãng Quectel hỗ trợ công nghệ 3G/4G để có thể kết nối vào Internet [4]. Một nút nhấn cũng được thiết kế kết nối với vi điều khiển để có thể gửi yêu cầu thực hiện cập nhật chương trình từ xa ngay lập tức mỗi khi nút được nhấn. Để hiển thị các thông báo, trạng thái làm việc của thiết bị được thể hiện thông qua một màn hình LCD và các đèn LED trên bảng mạch. Bên cạnh đó, bảng mạch cũng được thiết kế hỗ trợ kết nối với máy tính để nạp các chương trình thử nghiệm và thực hiện gỡ lỗi thông qua cổng Debugger/Programmer. Khối USB-UART được thiết kế để thiết bị có thể gửi nhật ký hoạt động, trạng thái lên máy tính để lưu trữ, phục vụ cho việc đánh giá khi thực hiện thử nghiệm quá trình cập nhật chương trình nhiều lần. Sơ đồi khối của phần cứng được trình bày ở hình 2.

Hình 2. Sơ đồ khối phần cứng thử nghiệm

Hình 3 thiể nghiện nguyên lý của các ngoại vi được sử dụng bao gồm LCD 20×4, bộ chuyển đổi dữ liệu USB-UART, các đèn LED và nút nhấn. 

Hình 3. Sơ đồ khối nguyên lý LCD, USB-UART, LEDs và Buttons


Khi phát triển các tính năng của thiết bị nhúng, thiết bị Iot thì hiểu phần cứng là một phần việc quan trọng. Các bài viết tiếp theo sẽ phân tích rõ hơn về tổ chức bộ nhớ của vi điều khiển, cấu trúc chương trình trong bộ nhớ, vi xử lý, quá trình khởi động của vi điều khiển, và module kết nối Internet sử dụng công nghệ 4G.

Chúc các bạn thành công! 
Thuong Nguyen

Tài liệu tham khảo: 
[1] ARM, Roadshow Slides Q1 2020, https://group.softbank/.
[2] STMicroelectronics, STM32F411xC STM32F411xE Datasheet – production data, https://www.st.com/.
[3] Quectel, Quectel EC21 LTE Standard Specification, https://www.quectel.com/.

Tìm hiểu thêm:
[HỌC ONLINE TẠI TAPIT: LẬP TRÌNH VI ĐIỀU KHIỂN STM32, VI XỬ LÝ ARM CORTEX – M]
Tổng hợp hướng dẫn Internet of Things với NodeMCU ESP8266 và ESP32
Tổng hợp các bài hướng dẫn Lập trình vi điều khiển STM32
Fanpage Cộng đồng Kỹ thuật TAPIT: TAPIT – Learning, Research and Sharing Community
Kênh Youtube: Cộng đồng Kỹ thuật TAPIT