1. Trang chủ
  2. » Công Nghệ Thông Tin

Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet

6 4 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Cập nhật chương trình từ xa đang trở thành một chức năng không thể thiếu cho thiết bị nhúng có kết nối Internet. Bài viết này trình bày phương án triển khai, thiết kế phần mềm và phần cứng để thực hiện chức năng cập nhật chương trình từ xa.

ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ - ĐẠI HỌC ĐÀ NẴNG, VOL 19, NO 9, 2021 CẬP NHẬT CHƯƠNG TRÌNH TỪ XA CHO THIẾT BỊ NHÚNG CÓ KẾT NỐI INTERNET FIRMWARE OVER THE AIR FOR EMBEDDED DEVICE WITH INTERNET CONNECTION Nguyễn Huỳnh Nhật Thương1*, Trần Thụy Ngọc Hằng1, Nguyễn Hoàng Phương Trinh1, Võ Tuấn Minh2 Công ty TNHH Kỹ thuật TAPIT Trường Đại học Bách khoa – Đại học Đà Nẵng Tác giả liên hệ: nhatthuongqn@gmail.com (Nhận bài: 11/12/2020; Chấp nhận đăng: 28/7/2021) * Tóm tắt - Cập nhật chương trình từ xa trở thành chức thiếu cho thiết bị nhúng có kết nối Internet Bài báo trình bày phương án triển khai, thiết kế phần mềm phần cứng để thực chức cập nhật chương trình từ xa Kết nghiên cứu thực nghiệm 600 lần, dựa hai định dạng tập tin chương trình phổ biến HEX BIN thiết bị sử dụng vi xử lý ARM Cortex-M, kết nối Internet thông qua mạng 4G Các đánh giá cho thấy, phương án thực có độ tin cậy cao, tỉ lệ thực thành cơng 100%, tồn tính thêm vào chiếm 20,28 KByte nhớ thiết bị, thời gian thực cập nhật tốn 11,5 giây chương trình ứng dụng có kích cỡ 60KByte Ngồi ra, hoạt động thiết bị đảm bảo cố khách quan xảy trình cập nhật Kết nghiên cứu áp dụng vào sản phẩm hoàn thiện thị trường Abstract - Firmware Over The Air (FOTA) is an indispensable feature in most of Internet connected embedded devices The major parts in this proposal include the deployment plan; hardware and software design, being built to implement the FOTA feature for an embedded device This feature has been tested 600 times of transmitting files in two popular formats of BIN and HEX based on an experimental hardware device based on ARM Cortex-M microprocessor with Internet connection via the 4G network Generally, the function of this feature has been completed and achieved certain measurement results with 100% success rate The additional software process occupies 20.28 KByte It takes 11.5 second per one updating time for a 60 KByte application program Moreover, operation of the embedded device is still guaranteed in some failure cases during the updating process The designed FOTA feature has been applied for the upgrading of an embedded device on the market Từ khóa - Cập nhật chương trình từ xa; thiết bị nhúng; vi xử lý ARM Cortex-M; vi điều khiển STM32; vạn vật kết nối Internet Key words - Firmware over the air; embedded device; Internet of things; ARM Cortex-M Processor; STM32 Microcontroller Giới thiệu Cùng với phát triển không ngừng công nghệ vi xử lý, vi điều khiển đặc biệt xu vạn vật kết nối Internet, ngày nhiều thiết bị nhúng kết nối Internet sử dụng khắp nơi giới nhiều lĩnh vực khác công nghiệp, tự động hóa, điều khiển, quan trắc, truyền tin,… Điều mở hàng loạt hội thách thức cho nhà nghiên cứu phát triển Thiết bị nhúng đa dạng, phong phú chủng loại mức độ phức tạp tùy vào công sử dụng Thông thường, thiết bị nhúng, vi điều khiển nơi quản lý thực thi chương trình Có thể coi máy tính nhỏ bị giới hạn nhớ tốc độ xử lý Ngồi vi điều khiển, để thiết bị nhúng kết nối với Internet cần có Internet Module xử lý tín hiệu với chức thực kết nối 3G/4G, Wifi, Ethernet Vi điều khiển kết nối giao tiếp với module thơng qua ngoại vi giao tiếp tích hợp sẵn Nếu quan tâm thiết bị nhúng góc độ tính cập nhật chương trình từ xa thiết bị mô tả với ba thành phần vi điều khiển, Internet Module khối chức khác phục vụ cho mục đích sử dụng cụ thể thiết bị Hình Trong bối cảnh chạy đua gắt gao nhà sản xuất, thời gian thiết kế cung cấp thiết bị thị trường ngắn Do vậy, thường có xu hướng thiết bị trang bị phần cứng có thiết kế dự phịng để đáp ứng yêu cầu thị trường khoảng thời gian dài cịn phần mềm triển khai theo giai đoạn Bên cạnh đó, nhiều thiết bị sau đưa vào sử dụng phát lỗi hay cần nâng cấp thêm để bổ sung, tối ưu tính theo nhu cầu phát sinh Tuy nhiên, có thực tế khơng thiết bị lắp đặt sử dụng nơi mà đội ngũ kỹ thuật khó tiếp cận được, điều dẫn đến khó khăn q trình thay đổi chương trình chạy thiết bị Một nghiên cứu gần cho thấy, tần suất cập nhật chương trình tăng lên đáng kể năm tới, chí có khả cập nhật hàng tháng [1] Hình Mơ hình thiết bị nhúng có kết nối Internet Để giải vấn đề nêu giải pháp cập nhật chương trình từ xa quan tâm phát triển tính quan trọng cho thiết bị có kết nối Internet Tính giúp nhà sản xuất cập nhật chương trình từ xa cho thiết bị nhúng cách thay TAPIT Engineering Co., Ltd (Thuong Nguyen, Tran Thuy Ngoc Hang, Nguyen Hoang Phuong Trinh) The University of Danang - University of Science and Technology (Vo Tuan Minh) Nguyễn Huỳnh Nhật Thương, Trần Thụy Ngọc Hằng, Nguyễn Hoàng Phương Trinh, Võ Tuấn Minh chương trình vi điều khiển chương trình có chứa thay đổi, bổ sung tính cập nhật thiếu sót bảo mật thiết bị thơng qua mơi trường Internet cách nhanh chóng không cần thao tác trực tiếp lên thiết bị Nghiên cứu trình bày phương án triển khai, thiết kế phần mềm, phần cứng để thực chức cập nhật chương trình từ xa đưa đánh giá thử nghiệm tính thiết bị phần cứng cụ thể Trên thực tế, số tảng Internet vạn vật cung cấp dịch vụ liên quan đến tính cập nhật chương trình từ xa để hỗ trợ người dùng, nhiên tảng hỗ trợ cho số phần cứng định [2], [3] Đối với nhà sản xuất thiết bị vi điều khiển, họ cung cấp tài liệu hướng dẫn đơn lẻ thành phần xây dựng bootloader, triển khai in-application programming [4] với ví dụ thử nghiệm mức độ đơn giản phụ thuộc vào công cụ phần mềm kèm hãng [5], [6] Vì vậy, người dùng thiếu phương án triển khai cập nhật chương trình từ xa cụ thể với so sánh đánh giá để phân tích, lựa chọn áp dụng cho dự án, phụ thuộc vào đơn vị cung cấp tảng, gặp khó khăn việc triển khai quản lý cập nhật hàng loạt Các phương án triển khai cập nhật chương trình cụ thể nêu thử nghiệm báo với phân tích giúp người dùng tiết kiệm thời gian, cơng sức, có thêm tham chiếu để lựa chọn giải pháp phù hợp trình phát triển sản phẩm, làm chủ chương trình ứng dụng khơng phụ thuộc vào tảng Internet vạn vật Phương án triển khai chương trình ứng dụng máy chủ; (4) Nếu tồn tập tin chương trình phiên máy chủ FTP, Internet Module thực thi trình tải tập tin vi điều khiển theo giao thức FTP Ở bước kế tiếp, vi điều khiển thay chương trình ứng dụng chạy chương trình ứng dụng đưa từ nhà sản xuất Quá trình cập nhật chương trình từ xa thể Hình Đề xuất thiết kế 3.1 Thiết kế phần mềm Chức cập nhật chương trình từ xa phải xây dựng nguyên tắc đảm bảo tiêu chí: (i) Tỉ lệ thực thành cơng tuyệt đối mơi trường thử nghiệm với tình giả định xảy thực tế; (ii) Sử dụng tài ngun nhớ ít; (iii) Q trình cập nhật chương trình từ xa diễn thời gian ngắn, thường thời gian mà hệ thống trạng thái chờ (idle); (iv) Hoạt động thiết bị đảm bảo trường hợp nguồn, kết nối Internet, xuất lỗi trình cập nhật chương trình từ xa, phiên chương trình cập nhật tồn lỗi Để đạt tiêu chí phần mềm thiết kế sau: 3.1.1 Phân vùng nhớ chương trình Thơng thường, chương trình ứng dụng lưu từ địa bắt đầu nhớ Flash Khi khởi động, vi điều khiển thực thi chương trình vị trí Tuy nhiên, để phát triển chức cập nhật chương trình từ xa nhớ Flash chia thành nhiều phân vùng khác để lưu trữ chương trình Trong nghiên cứu này, nhớ Flash chia thành phân vùng sau để lưu trữ: Bootloader tự phát triển, vùng nhớ chứa biến liên kết, chương trình OTA hai phân vùng chương trình ứng dụng Trong đó, chương trình Bootloader tự phát triển nằm vị trí nhớ chương trình Mỗi vi điều khiển khởi động, thông qua giá trị biến liên kết, Bootloader tự phát triển định lựa chọn thực thi chương trình OTA hay chương trình ứng dụng lần khởi động Vùng nhớ biến liên kết chứa thơng tin chương trình cần thực thi thơng tin phiên chương trình Chương trình OTA có nhiệm vụ thực tải tập tin chương trình ứng dụng từ máy chủ quản lý tập tin thực thay chương trình ứng dụng Chương trình ứng dụng chương trình thực chức thiết bị nhúng Hình thể phân vùng nhớ Flash vi điều khiển Hình Quá trình cập nhật chương trình từ xa Trong nghiên cứu này, việc triển khai cập nhật chương trình từ xa cho thiết bị nhúng đề xuất tiến hành theo bước sau: (1) Khi nhà sản xuất muốn thực cập nhật chương trình từ xa, người phát triển chương trình tạo chương trình ứng dụng cho vi điều khiển thiết bị nhúng; (2) Tập tin chứa chương trình ứng dụng tải lên lưu trữ máy chủ quản lý tập tin chương trình (File Transfer Protocol Server); (3) Mặt khác, cách định kì, thiết bị nhúng, vi điều khiển gửi lệnh để Internet Module thực thi việc kiểm tra phiên Hình Các phân vùng nhớ Flash Với cách phân chia sử dụng nhớ có hai phân vùng dành cho chương trình ứng dụng, nghĩa vi điều khiển tồn hai phiên chương trình ứng dụng khác Người phát triển thiết kế phân vùng (A/B) dành cho phiên xuất xưởng ứng dụng, phân vùng cịn lại (B/A) để chạy chương trình cập nhật Ngoài ra, người phát triển thiết kế ln ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ - ĐẠI HỌC ĐÀ NẴNG, VOL 19, NO 9, 2021 phiên cập nhật chương trình cho vị trí A/B để thiết bị ln trì hai phiên chương trình Thiết kế đảm bảo ln có chương trình ứng dụng dự phịng tình huống: Mất Internet trình cập nhật chương trình cập nhật tồn lỗi làm chương trình khơng hoạt động [7], [8] 3.1.2 Phương pháp lưu liệu tạm thời Trong trình cập nhật FOTA, thiết bị nhúng nhận gói tin chứa phần tồn nội dung tập tin chương trình ứng dụng từ máy chủ quản lý tập tin gói tin lưu nhớ liệu (RAM) trước ghi vào nhớ Flash mơ tả Hình Tùy thuộc vào tài ngun phần cứng, thuật tốn cho phép cấu hình để lựa chọn kích cỡ liệu lần tải kích cỡ đệm liệu RAM Mỗi nhận gói liệu chứa chương trình ứng dụng, ghi phần liệu vào vùng nhớ chứa chương trình ứng dụng nhớ Flash Một tập tin chương trình tải lần nhiều lần tùy thuộc vào kích cỡ tập tin so với kích cỡ nhớ đệm Nếu đệm khai báo nhỏ so với kích cỡ tập tin phương pháp lưu trữ liệu tạm thời lưu trữ phần Nếu đệm khai báo lớn so với kích cỡ tập tin chương trình ứng dụng phương pháp lưu trữ liệu tạm thời lưu trữ toàn phần [9] biến liên kết không thay đổi Hình Quá trình lựa chọn chương trình thực thi 3.1.4 Webserver quản lý cập nhật chương trình từ xa Tập tin chứa chương trình ứng dụng phục vụ cho trình cập nhật chương trình từ xa đưa lên máy chủ quản lý tập tin (FTP server) địa http://fota.tapit.com Webserver có giao diện Hình thiết kế giúp quản lý trình cập nhật cách hiệu với tính năng: Cấu hình thiết bị nhóm thiết bị phiên cập nhật mong muốn thông qua mã thiết bị (ID) tên phiên chương trình Ngồi ra, trạng thái cập nhập chương trình thiết bị giám sát thông qua bảng gồm thông số ID thiết bị, trạng thái thiết bị, phiên chương trình ứng dụng thiết bị thời gian thiết bị cập nhập trạng thái lên hệ thống quản lý Hình Tổ chức nhớ liệu 3.1.3 Thay đổi chương trình thiết bị Từ thiết kế phân vùng nhớ chương trình phương pháp lưu trữ liệu tạm thời, trình thay đổi chương trình thiết bị thiết kế sau: Chương trình ứng dụng kết nối kiểm tra thơng tin phiên chương trình máy chủ cách định kì Nếu khơng có phiên mới, chương trình ứng dụng tiếp tục thực bình thường Khi có phiên máy chủ, chương trình ứng dụng thay đổi giá trị biến liên kết gọi lệnh khởi động lại vi điều khiển Lúc này, Bootloader tự phát triển thực thi kiểm tra biến liên kết, sau nhảy tới chương trình OTA Chương trình OTA thực cập nhật chương trình ứng dụng, sau trình hoàn thành, giá trị biến liên kết thay đổi vi điều khiển khởi động lại Chương trình Bootloader tự phát triển tiếp tục thực thi kiểm tra biến liên kết để nhảy đến chương trình ứng dụng Sơ đồ Hình biểu diễn trình lựa chọn chương trình để thực thi thiết bị Tuy nhiên, trường hợp xảy lỗi kết nối trình cập nhập, thiết bị khởi động chạy lại chương trình ứng dụng phiên cũ Đồng thời, giá trị Hình Giao diện webserver quản lý thiết bị 3.1.5 Kiểm tra toàn vẹn liệu Việc kiểm tra toàn vẹn liệu chương trình OTA trước thay đổi giá trị biến liên kết khởi động lại vi điều khiển cần thực để tránh trường hợp xuất lỗi nội dung chương trình Thiết kế chương trình OTA cần có tính kiểm tra toàn vẹn liệu cho hai loại định dạng tập tin phổ biến HEX BIN Trong đó, tập tin định dạng HEX thêm mã checksum để kiểm tra toàn vẹn liệu [10] Sau phần tập tin toàn tập tin tải đệm liệu RAM, thuật toán checksum xây dựng để kiểm tra hàng liệu trước ghi vào nhớ Flash Đối với tập tin định dạng BIN, nội dung tập tin chứa chương trình ứng dụng mà khơng có sẵn giải pháp để kiểm tra tồn vẹn liệu Vì người phát triển cần thiết kế tích hợp giải pháp kiểm tra toàn vẹn để lựa chọn tập tin phù hợp để hỗ trợ cho trình cập nhập Hiện nay, hầu hết dòng vi điều khiển Nguyễn Huỳnh Nhật Thương, Trần Thụy Ngọc Hằng, Nguyễn Hoàng Phương Trinh, Võ Tuấn Minh STM32 tích hợp sẵn khối phần cứng tính tốn Cyclic Redundancy Check (CRC) Kiểm tra toàn vẹn liệu sử dụng CRC lựa chọn thiết kế cho tập tin định dạng BIN để hỗ trợ cho việc kiểm tra toàn vẹn liệu nghiên cứu cập nhập chương trình từ xa cho thiết bị nhúng [11] Giá trị CRC cần tính toán thêm vào cuối tập tin trước đưa lên máy chủ Phần mềm TAPIT_FOTA_Supporting_Tool_v1.0.exe có giao diện Hình thiết kế để hỗ trợ cho việc tính tốn giá trị CRC bổ sung vào tập tin Sau toàn tập tin tải ghi vào nhớ Flash, chương trình sử dụng khối CRC để kiểm tra toàn vẹn liệu cho chương trình đèn LED bảng mạch Bên cạnh đó, bảng mạch thiết kế hỗ trợ kết nối với máy tính để nạp chương trình thử nghiệm thực gỡ lỗi thông qua cổng Debugger/Programmer Cổng USB-UART thiết kế để thiết bị 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á thực thử nghiệm trình cập nhật chương trình nhiều lần Sơ đồ khối phần cứng trình bày Hình hình ảnh thực tế thiết bị thử nghiệm trình bày Hình Hình Giao diện phầm mềm FOTA Supporting Tool 3.2 Thiết kế phần cứng thử nghiệm Trong nghiên cứu này, phần cứng thiết kế để phục vụ cho q trình thử nghiệm tính cập nhật chương trình từ xa Theo thống kê năm 2019 SoftBank, 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 số lượng vi điều khiển giới thiết kế kiến trúc lõi ARM chiếm 25% thị phần [12], dịng Cortex-M chiếm tỉ lệ cao Vì vậy, thiết bị phần cứng xây dựng sử dụng vi điều khiển 32bit hãng STMicroelectronics sử dụng CPU lõi ARM Cortex-M, với cấu hình 512 Kbytes nhớ Flash 128 Kbytes nhớ RAM, tích hợp sẵn ngoại vi thời gian thực RTC, khối ngoại vi tính tốn mã CRC để kiểm tra tính tồn vẹn liệu Hình Sơ đồ khối thiết bị thử nghiệm Module EC21 hãng Quectel lựa chọn làm Internet Module để thiết bị kết nối vào Internet [13], Module hỗ trợ công nghệ 3G/4G Một nút nhấn thiết kế kết nối với vi điều khiển để gửi yêu cầu thực cập nhật chương trình từ xa nút nhấn Các thông báo, trạng thái làm việc thiết bị thể thơng qua hình LCD Hình Thiết bị phần cứng thử nghiệm Đánh giá kết thực nghiệm Sau hoàn thành thiết kế phần mềm phần cứng, nhóm nghiên cứu tiến hành thực nghiệm để đánh giá kết nghiên cứu dựa nguyên tắc đảm bảo ba tiêu chí: (i) Định lượng tài nguyên nhớ triển khai tính FOTA; (ii) Tỉ lệ thành cơng thực FOTA; (ii) Thời gian thực trình FOTA Kết thực nghiệm đánh giá chi tiết theo tiêu chí sau: 4.1 Chiếm dụng nhớ Từ kết thơng báo trình biên dịch, kết hợp với tập tin chứa thông tin trình liên kết định vị thành phần nhớ vi điều khiển (Linker Map File) ta có thơng tin việc chiếm dụng nhớ chương trình (Bootloader OTA) nhớ Flash nhớ SRAM sau: Chương trình Bootloader chương trình OTA chiếm dụng lượng nhớ tổng cộng 32.53KByte nhớ Flash vi điều khiển cho trường hợp cập nhật chương trình từ xa sử dụng tập tin định dạng HEX 32.64KByte cho trường hợp cập nhật chương trình từ xa sử dụng tập tin định dạng BIN Tuy nhiên, trình biên dịch cấu hình tối ưu kích cỡ chương trình (code size) chương trình Bootloader tự xây dựng chiếm 5.88KByte chương trình OTA chiếm 14.5KByte cho định dạng HEX, 14.4KByte cho định dạng BIN Đây phần nhỏ so với tổng dung lượng nhớ Flash hầu hết vi điều khiển lõi ARM Cortex-M Đối với nhớ RAM, chương trình Bootloader chiếm 1.71KByte chương trình OTA chiếm 2.4KByte Trong đó, kích cỡ BufferDownload người dùng tự khai báo tùy thuộc vào phần cứng loại vi điều khiển ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ - ĐẠI HỌC ĐÀ NẴNG, VOL 19, NO 9, 2021 4.2 Tỉ lệ thành cơng Sau hồn thành thiết kế phần cứng chương trình thực nghiệm sử dụng thư viện cập nhật chương trình từ xa tỉ lệ cập nhật chương trình kiểm thử với 03 chương trình ứng dụng với 03 kích cỡ khác 15KByte, 30KByte 60KByte Mỗi chương trình biên dịch tạo thành tập tin dạng HEX tập tin dạng BIN Kích cỡ tập tin chương trình trình bày Bảng Bảng Kích cỡ tập tin chương trình ứng dụng Kích cỡ chương trình ứng dụng 15KByte 30KByte 60KByte Kích cỡ tập tin chương trình định dạng BIN 16KByte 31KByte 61KByte Kích cỡ tập tin chương trình định dạng HEX 43KByte 85KByte 169KByte Kết đo đạt sau tiến hành thử nghiệm tập tin định dạng BIN 100 lần thử nghiệm thể Hình 10 Có thể thấy tập tin có kích cỡ lớn q trình cập nhật từ xa tốn nhiều số xung đồng hồ Kết đo đạt sau tiến hành thử nghiệm tập tin định dạng HEX 100 lần thử nghiệm thể Hình 11 Tương tự với tập tin định dạng BIN, tập tin định dạng HEX có kích cỡ lớn q trình cập nhật từ xa tốn nhiều số xung đồng hồ Và kích cỡ chương trình ứng dụng, tập tin định dạng HEX tốn nhiều số xung đồng hồ để thực trình cập nhật so với tập tin định dạng BIN Mỗi tập tin thử nghiệm 100 lần cho kết tỉ lệ cập nhật thành công 100% thể Bảng Kết cho thấy, độ tin cậy tuyệt đối thư viện xây dựng việc cập nhật thành cơng mơi trường thử nghiệm, áp dụng vào thực tế thiết bị Datalogger Bảng Tỉ lệ thực cập nhật chương trình thành cơng Kích cỡ tập tin (KByte) Hình 11 Kết clock cycles tập tin dạng HEX Số lần thử nghiệm Số lần thành công Tỉ lệ thành công 15 200 200 100% 30 200 200 100% Với tốc độ vi xử lý 16MHz, số xung đồng hồ để thực trình cập nhật chương trình từ xa ứng với tập tin chương trình tính tốn thành thời gian đơn vị giây trình bày Bảng 60 200 200 100% Bảng Tổng hợp thời gian cập nhật chương trình 4.3 Thời gian cập nhật Vi điều khiển thiết bị thử nghiệm cấu hình hoạt động với tốc độ vi xử lý 16MHz, ngoại vi giao tiếp Universal Asynchronous Receive/Transmit (UART) giao tiếp với Module Internet EC21 với tốc độ truyền nhận liệu (baudrate) 115200bps, khung truyền sử dụng bit bắt đầu, bit liệu, không sử dụng bit kiểm tra lỗi (parity bit) bit kết thúc Khối Data Watch and Trace (DWT) bên vi xử lý ARM Cortex - M sử dụng để giám sát số xung đồng hồ (clock cycles) vi xử lý thực trình cập nhật chương trình từ xa trình thành phần, bao gồm: Thời gian kiểm tra cường độ tín hiệu sóng (RSSI) Module EC21, thời gian kết nối Internet, thời gian kết nối đến máy chủ quản lý tập tin, thời gian tải – ghi tập tin vào nhớ Flash, thời gian ngắt kết nối với máy chủ - ngắt Internet Hình 10 Kết clock cycles tập tin dạng BIN Kích cỡ chương trình ứng dụng Định dạng BIN Định dạng HEX Cycles Thời gian (s) Cycles Thời gian (s) 15Kbyte 85840094 5,4 158237974 9,9 30Kbyte 119395522 7,5 264065064 16,5 60Kbyte 184158711 11,5 499840662 31,2 Kết thống kê thời gian trình thành phần cho thấy thời gian tải ghi chương trình vào nhớ Flash tập tin định dạng BIN với kích cỡ chương trình 15KByte, 30KByte, 60KByte chiếm tỉ lệ phần trăm 67%, 76%, 76% tổng thời gian Đối với tập tin chương trình định dạng HEX, thời gian thành phần chiếm 82%, 89% 94% tổng thời gian Vậy thời gian thực cập nhật chương trình từ xa phụ thuộc nhiều vào thời gian tải tập tin ghi chương trình vào nhớ FLASH vi điều khiển Với chương trình, tập tin định dạng BIN chứa nội dung chương trình nên kích thước nhỏ làm cho thời gian tải nhanh hơn, tập tin định dạng HEX có thêm trường dẫn nên kích thước lớn, dẫn đến thời gian tải lâu Kết nghiên cứu áp dụng thực tế thiết bị datalogger TPTT-24 Công ty TNHH Kỹ thuật TAPIT Thiết bị sử dụng vi điều khiển STM32F303 với 256KByte nhớ Flash, 48KByte nhớ SRAM sử dụng Module kết nối Internet Quectel EC21 - công nghệ mạng 4G Thiết bị Datalogger TPTT-24 nâng cấp dựa thiết bị Datalogger thu nhập, điều khiển 10 Nguyễn Huỳnh Nhật Thương, Trần Thụy Ngọc Hằng, Nguyễn Hoàng Phương Trinh, Võ Tuấn Minh truyền liệu tự động [14] phát triển trước công ty TNHH Kỹ thuật TAPIT, tích hợp thêm chức cập nhật chương trình từ xa dụng thực tế cho thiết bị Datalogger công ty TNHH Kỹ thuật TAPIT Bên cạnh đó, q trình nghiên cứu, nhóm tác giả nhận thấy tầm quan trọng việc bảo mật cho hệ thống FOTA Vì thế, nhóm tác giả tiếp tục nghiên cứu việc áp dụng giải thuật bảo mật cho trình cập nhật chương trình từ xa TÀI LIỆU THAM KHẢO Hình 12 Thiết bị áp dụng kết nghiên cứu Kết luận Trong báo này, nhóm tác giả đề xuất mơ tả thiết kế tính cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet mơ hình phần cứng cụ thể với vi điều khiển STM32 lõi ARM Cortex-M Tuy nhiên, phương án triển khai đề xuất báo áp dụng cho vi điều khiển có cấu trúc phần cứng khác Kết thử nghiệm cho thấy, chương trình phần mềm thực tính FOTA có độ tin cậy tỉ lệ thành công thực cập nhật chương trình từ xa 100% 600 lần thử nghiệm, tốn tài nguyên nhớ, phù hợp với nhiều thiết bị có cấu hình nhớ khác nhau, trình cập nhật chương trình từ xa diễn thời gian ngắn, thời gian tải tập tin chương trình định dạng BIN nhanh so với tập tin chương trình định dạng HEX với chương trình ứng dụng; thuật tốn thiết kế đảm bảo thiết bị sử dụng trường hợp: Mất nguồn trình cập nhật chương trình từ xa, phiên chương trình tồn lỗi Kết nghiên cứu áp [1] Guissouma, Houssem, et al "An empirical study on the current and future challenges of automotive software release and configuration management”, 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA) IEEE, 2018, pp 298-305, doi: 10.1109/SEAA.2018.00056 [2] Thingsboard “ESP32 OTA using ThingsBoard”, https://thingsboard.io/ [3] Blynk “Firmware Over-The-Air”, https://docs.blynk.io/ [4] STMicroelectronics “STM32 in-application programming (IAP) using the USART”, https://www.st.com/ [5] Matej Sychra “Http Update for ESP32” Arduino Reference, www.arduino.cc [6] Texas Instruments “SimpleLink™ Wi-Fi® CC3x20, CC3x3x Overthe-Air Update”, www.ti.com [7] Nick Lethaby “A more secure and reliable OTA update architecture for IoT devices”, Texas Instruments, 2018 [8] Koen Zandberg, Kaspar Schleiser, Francisco Acosta, Hannes Tschofenig, Emmanuel Baccelli “Secure Firmware Updates for Constrained IoT Devices Using Open Standards: A Reality Check” IEEE Access, IEEE, 2019, 7, pp 71907 - 71920 ff10.1109/ACCESS.2019.2919760ff ffhal-02351794 [9] Brown, Benjamin Bucklin "Over-the-Air (OTA) Updates in Embedded Microcontroller Applications: Design Trade-Offs and Lessons Learned”, Analog Devices, 2018 [10] ARM, General: Intel hex file format, https://www.keil.com/ [11] STMicroelectronics, STM32F411xC STM32F411xE Datasheet production data, https://www.st.com/ [12] ARM, Roadshow Slides Q1 2020, https://group.softbank/ [13] Quectel, Quectel EC21 LTE Standard Specification, https://www.quectel.com/ [14] Nguyễn Huỳnh Nhật Thương, Lê Công Vĩnh Khải, Ngơ Đình Thanh, Phạm Văn Tuấn “Thiết bị Datalogger thu nhập, điều khiển truyền liệu tự động”, Hội nghị Quốc gia lần thứ XXII Điện tử, Truyền thông Công nghệ thông tin (REV-ECIT), Hội Vô tuyến – Điện tử Việt Nam, 2019, pp.277-282 ... cho trình cập nhật chương trình từ xa TÀI LIỆU THAM KHẢO Hình 12 Thiết bị áp dụng kết nghiên cứu Kết luận Trong báo này, nhóm tác giả đề xuất mơ tả thiết kế tính cập nhật chương trình từ xa cho. .. Quá trình cập nhật chương trình từ xa Trong nghiên cứu này, việc triển khai cập nhật chương trình từ xa cho thiết bị nhúng đề xuất tiến hành theo bước sau: (1) Khi nhà sản xuất muốn thực cập nhật. .. Thay đổi chương trình thiết bị Từ thiết kế phân vùng nhớ chương trình phương pháp lưu trữ liệu tạm thời, trình thay đổi chương trình thiết bị thiết kế sau: Chương trình ứng dụng kết nối kiểm

Ngày đăng: 05/07/2022, 14:35

HÌNH ẢNH LIÊN QUAN

Hình 1. Mô hình thiết bị nhúng có kết nối Internet - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 1. Mô hình thiết bị nhúng có kết nối Internet (Trang 1)
Hình 2. Quá trình cập nhật chương trình từ xa - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 2. Quá trình cập nhật chương trình từ xa (Trang 2)
Hình 3. Các phân vùng trong bộ nhớ Flash - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 3. Các phân vùng trong bộ nhớ Flash (Trang 2)
Hình 5. Quá trình lựa chọn chương trình thực thi - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 5. Quá trình lựa chọn chương trình thực thi (Trang 3)
Hình 6. Giao diện webserver quản lý thiết bị - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 6. Giao diện webserver quản lý thiết bị (Trang 3)
Hình 4. Tổ chức bộ nhớ dữ liệu - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 4. Tổ chức bộ nhớ dữ liệu (Trang 3)
Hình 7. Giao diện phầm mềm FOTA Supporting Tool - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 7. Giao diện phầm mềm FOTA Supporting Tool (Trang 4)
Hình 8. Sơ đồ khối thiết bị thử nghiệm - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 8. Sơ đồ khối thiết bị thử nghiệm (Trang 4)
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 - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
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 (Trang 4)
Hình 11. Kết quả clock cycles đối với các tập tin dạng HEX - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 11. Kết quả clock cycles đối với các tập tin dạng HEX (Trang 5)
Bảng 2. Tỉ lệ thực hiện cập nhật chương trình thành công - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Bảng 2. Tỉ lệ thực hiện cập nhật chương trình thành công (Trang 5)
Hình 10. Kết quả clock cycles đối với các tập tin dạng BIN - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 10. Kết quả clock cycles đối với các tập tin dạng BIN (Trang 5)
Vi điều khiển trên thiết bị thử nghiệm được cấu hình hoạt động với tốc độ vi xử lý 16MHz, ngoại vi giao tiếp  Universal  Asynchronous  Receive/Transmit  (UART)  giao  tiếp với Module Internet EC21 với tốc độ truyền nhận dữ  liệu (baudrate) là 115200bps, k - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
i điều khiển trên thiết bị thử nghiệm được cấu hình hoạt động với tốc độ vi xử lý 16MHz, ngoại vi giao tiếp Universal Asynchronous Receive/Transmit (UART) giao tiếp với Module Internet EC21 với tốc độ truyền nhận dữ liệu (baudrate) là 115200bps, k (Trang 5)
Bảng 1. Kích cỡ các tập tin chương trình ứng dụng - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Bảng 1. Kích cỡ các tập tin chương trình ứng dụng (Trang 5)
Hình 12. Thiết bị áp dụng kết quả nghiên cứu - Cập nhật chương trình từ xa cho thiết bị nhúng có kết nối Internet
Hình 12. Thiết bị áp dụng kết quả nghiên cứu (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN