TỔNG QUAN VỀ HỆ THỐNG
Giới thiệu về Express Logic
Express Logic là công ty phát triển hệ điều hành thời gian thực THREADX RTOS, được công nhận là hệ điều hành RTOS phổ biến nhất với hơn 6,2 tỷ lượt triển khai theo VDC Research THREADX cung cấp nền tảng IoT X-WARE, bao gồm các giải pháp như FILEX, GUIX, NETX, NETX DUO (TLS, DTLS, IPsec, MQTT, CoAP, LwM2M, Thread) và USBX Tất cả các sản phẩm của Express Logic đều là độc quyền và không sử dụng mã nguồn mở.
Tổng quan Azure RTOS ThreadX
Azure RTOS ThreadX là hệ điều hành thời gian thực (RTOS) tiên tiến của Microsoft, được tối ưu hóa cho các ứng dụng nhúng sâu, IoT và thời gian thực Hệ thống này cung cấp các công cụ quản lý lịch trình, giao tiếp, đồng bộ hóa, hẹn giờ, quản lý bộ nhớ và ngắt nâng cao Với các tính năng nổi bật như kiến trúc picokernel™, lập lịch ngưỡng ưu tiên (preemption-threshold™), chuỗi sự kiện và theo dõi hiệu suất, Azure RTOS ThreadX mang lại sự dễ sử dụng vượt trội, trở thành lựa chọn lý tưởng cho các ứng dụng nhúng khắt khe Hệ điều hành này đã được triển khai hàng tỷ lượt trên nhiều sản phẩm khác nhau, từ thiết bị tiêu dùng cho đến thiết bị y tế và thiết bị điều khiển công nghiệp.
ThreadX có vùng hướng dẫn nhỏ đáng kể 2 KB và dung lượng RAM rất nhỏ 1
Dung lượng nhỏ của KB được tối ưu hóa nhờ kiến trúc picokernel không phân lớp và tính năng tự động thay đổi tỉ lệ Tính năng này cho phép chỉ những dịch vụ và cơ sở hạ tầng cần thiết cho ứng dụng được đưa vào bản sao cuối cùng khi liên kết, giúp tiết kiệm tài nguyên và nâng cao hiệu suất.
Bảng thông số dung lượng của Azure RTOS ThreadX điển hình:
Azure RTOS ThreadX Service Typical Size in Bytes
Azure RTOS ThreadX nổi bật với khả năng chuyển đổi ngữ cảnh dưới một micro giây trên hầu hết các bộ xử lý, nhanh hơn so với nhiều RTOS thương mại khác Bên cạnh tốc độ ấn tượng, Azure RTOS ThreadX còn đảm bảo tính quyết định cao, duy trì hiệu suất ổn định cho cả 200 luồng đã sẵn sàng lẫn chỉ một luồng hoạt động.
Dưới đây là một số đặc điểm hiệu suất điển hình:
Khởi động nhanh: Azure RTOS ThreadX khởi động trong vòng chưa đầy 120 chu kỳ.
Tùy chọn loại bỏ kiểm tra lỗi cơ bản trong Azure RTOS ThreadX cho phép người dùng bỏ qua quá trình kiểm tra lỗi tại thời điểm biên dịch Điều này đặc biệt hữu ích khi mã ứng dụng đã được xác minh và không cần kiểm tra lỗi cho từng tham số Việc bỏ qua kiểm tra lỗi có thể được thực hiện cho từng đơn vị biên dịch riêng lẻ, thay vì áp dụng cho toàn bộ hệ thống.
Thiết kế Picokernel: Các service không bị xếp lớp lẫn nhau nhau, loại bỏ hao phí gọi lệnh chức năng không cần thiết.
Xử lý ngắt được tối ưu hóa: Chỉ các thanh ghi xước mới được lưu / khôi phục khi vào / ra ISR, trừ khi cần ưu tiên trước.
Xử lý API được tối ưu hóa
Bảng Số liệu hiệu suất dựa trên bộ xử lí điển hình chạy ở tốc độ 200 MHz
Azure RTOS ThreadX Service Service Time in
Azure RTOS ThreadX nổi bật với khả năng lập lịch ưu tiên độc đáo, điều này đã thu hút sự chú ý trong cộng đồng nghiên cứu học thuật Tính năng này không chỉ mang lại hiệu suất cao mà còn là một điểm mạnh đặc trưng của Azure RTOS ThreadX.
Các chức năng chính của Azure RTOS ThreadX:
Cơ sở đa nhiệm hoàn chỉnh và toàn diện o Luồng, Timer, hàng đợi tin nhắn, đếm semaphores, mutexes, cờ sự kiện, khối và nhóm bộ nhớ byte
Lập lịch ưu tiên dựa trên mức độ ưu tiên
Tính linh hoạt ưu tiên - Lên đến 1024 mức độ ưu tiên
Lập kế hoạch hợp tác
Ngưỡng ưu tiên - Chỉ dành riêng cho Azure RTOS ThreadX, giúp giảm chuyển đổi ngữ cảnh và giúp đảm bảo khả năng phân chia (theo nghiên cứu học thuật)
Bảo vệ bộ nhớ thông qua Mô-đun ThreadX Azure RTOS
Truy vết sự kiện – Ghi lại n sự kiện cuối cùng của hệ thống / ứng dụng
Chuỗi sự kiện – Truy cập thanh ghi chức năng gọi lại "thông báo" dành riêng cho ứng dụng cho từng đối tượng đồng bộ hóa hoặc giao tiếp
Mô-đun Azure RTOS ThreadX với bảo vệ bộ nhớ tùy chọn
Chỉ số hiệu suất thời gian chạy bao gồm các yếu tố quan trọng như số lượng khởi động lại luồng, số lượng gián đoạn luồng, và số lượng ưu tiên trước của luồng Ngoài ra, nó cũng xem xét số lượng ưu tiên trước ngắt luồng không đồng bộ, số lượng đảo ngược mức độ ưu tiên luồng, và số lượng ngừng hoạt động luồng Những chỉ số này giúp đánh giá hiệu quả và độ ổn định của hệ thống trong quá trình xử lý.
Ngăn xếp ngắt riêng biệt
Phân tích ngăn xếp thời gian chạy
Xử lý ngắt Timer được tối ưu hóa
1.2.4 Hỗ trợ đa lõi (AMP & SMP)
Azure RTOS ThreadX thường được triển khai theo kiểu Asymmetric Multiprocessing (AMP), trong đó mỗi lõi có một bản sao riêng của ThreadX và ứng dụng Các lõi này giao tiếp với nhau thông qua bộ nhớ dùng chung hoặc cơ chế giao tiếp giữa các bộ xử lý như OpenAMP,
Trong môi trường mà bộ xử lý tải có tính động lực học cao, Azure RTOS ThreadX Symmetric Multiprocessing (SMP) có sẵn cho các dòng bộ xử lý sau:
Azure RTOS ThreadX SMP hỗ trợ cân bằng tải động trên nhiều bộ xử lý, cho phép tất cả tài nguyên như hàng đợi, semaphores, cờ sự kiện và nhóm bộ nhớ được truy cập bởi bất kỳ luồng nào trên bất kỳ lõi nào Hệ thống này cung cấp API Azure RTOS ThreadX đầy đủ trên tất cả các lõi và giới thiệu các API mới để tối ưu hóa hoạt động SMP.
1.2.5 Bảo vệ bộ nhớ thông qua Mô-đun
Mô-đun ThreadX Azure RTOS là một sản phẩm bổ trợ cho phép đóng gói một hoặc nhiều luồng ứng dụng vào một "Mô-đun" có khả năng tải động và thực thi tại chỗ trên thiết bị mục tiêu.
Các mô-đun hỗ trợ nâng cấp trường, sửa lỗi và phân vùng chương trình, giúp các ứng dụng lớn chỉ sử dụng bộ nhớ cần thiết cho các luồng hoạt động.
Các mô-đun trong Azure RTOS ThreadX có không gian địa chỉ riêng biệt, cho phép thiết lập bảo vệ bộ nhớ thông qua Memory Protection Unit (MPU) hoặc Memory Management Unit (MMU) Điều này giúp ngăn chặn truy cập ngẫu nhiên từ bên ngoài, bảo vệ các thành phần phần mềm khác khỏi bị ảnh hưởng.
MISRA C là bộ hướng dẫn lập trình dành cho các hệ thống quan trọng sử dụng ngôn ngữ C, ban đầu tập trung vào ứng dụng ô tô nhưng hiện đã được công nhận cho mọi ứng dụng quan trọng về an toàn Azure RTOS ThreadX tuân thủ đầy đủ các quy tắc bắt buộc của MISRA C: 2004 và MISRA C: 2012.
1.2.7 Hỗ trợ hầu hết các công cụ phổ biến
Azure RTOS ThreadX is compatible with a wide range of popular embedded development tools, including IAR's Embedded Workbench, which offers comprehensive awareness of the Azure RTOS ThreadX kernel Other supported tools include GNU (GCC), ARM DS-5/uVision®, Green Hills MULTI®, Wind River Workbench, Imagination Codescape, Renesas e2studio, Metaware SeeCode, NXP CodeWarrior, Lauterbach TRACE32®, TI Code Composer Studio, CrossCore, and similar devices.
Các đặc điểm độc nhất của ThreadX
ThreadX nổi bật so với các hệ điều hành thời gian thực khác nhờ tính linh hoạt của nó, cho phép mở rộng quy mô dễ dàng từ các ứng dụng trên vi điều khiển nhỏ đến những ứng dụng phức tạp hơn sử dụng bộ xử lý CISC, RISC và DSP mạnh mẽ.
ThreadX có khả năng mở rộng dựa trên kiến trúc cơ bản, với các service được triển khai dưới dạng thư viện C Chỉ những service thực sự cần thiết cho ứng dụng mới được đưa vào bản sao run-time, dẫn đến kích thước thực tế của ThreadX hoàn toàn phụ thuộc vào ứng dụng Đối với phần lớn ứng dụng, kích thước bản sao hướng dẫn của ThreadX thường nằm trong khoảng từ 2 KByte đến 15 KByte.
Thay vì sử dụng kiến trúc microkernel truyền thống với phân lớp chức năng, ThreadX tích hợp các service trực tiếp vào lõi của nó Điều này giúp tối ưu hóa hiệu suất gọi service và giảm thiểu thời gian chuyển đổi ngữ cảnh Thiết kế không phân lớp này được gọi là kiến trúc picokernel.
ThreadX chủ yếu được phát triển bằng ngôn ngữ ANSI C, với một phần nhỏ sử dụng assembly để tối ưu hóa nhân cho các bộ xử lý mục tiêu Thiết kế này cho phép việc chuyển đổi ThreadX sang các dòng bộ xử lý mới diễn ra nhanh chóng và hiệu quả.
— thường là trong vòng vài tuần.
Sau đây là những điểm nổi bật của công nghệ tiên tiến ThreadX.
Kiến trúc picokernel đơn giản
Tự động thay đổi quy mô (dung lượng nhỏ)
Hiệu suất thời gian thực nhanh chóng
Lập kế hoạch ưu tiên và liên kết
Hỗ trợ ưu tiên luồng linh hoạt
Tạo đối tượng hệ thống động
Không giới hạn số lượng đối tượng hệ thống
Xử lý ngắt được tối ưu hóa
Ngưỡng ưu tiên (Preemption-threshold™)
Chuỗi sự kiện (Event-chaining™)
Bộ hẹn giờ phần mềm nhanh
Quản lý bộ nhớ thời gian chạy
Giám sát hiệu suất thời gian chạy
Phân tích ngăn xếp thời gian chạy
Tích hợp theo dõi hệ thống
Hỗ trợ bộ xử lý rộng lớn
Hỗ trợ công cụ phát triển rộng lớn
Hoàn toàn endian trung tính
ƯU ĐIỂM & KHUYẾT ĐIỂM CỦA HỆ THỐNG
Ưu điểm
Cải thiện khả năng phản hồi:
Hầu hết các ứng dụng nhúng sử dụng một vòng điều khiển đơn giản, thường từ hàm C main, để phân bổ thời gian xử lý Phương pháp này phù hợp cho các ứng dụng nhỏ hoặc đơn giản, nhưng không thực tế cho các ứng dụng lớn hoặc phức tạp, vì thời gian phản hồi cho bất kỳ sự kiện nào phụ thuộc vào thời gian xử lý trường hợp xấu nhất trong một lần đi qua vòng điều khiển.
Các đặc tính thời gian của ứng dụng sẽ thay đổi khi có bất kỳ sửa đổi nào đối với vòng điều khiển, dẫn đến việc ứng dụng trở nên không ổn định, gây khó khăn trong việc bảo trì và cải thiện.
ThreadX cung cấp thời gian phản hồi nhanh chóng và xác định cho các sự kiện quan trọng bên ngoài nhờ vào thuật toán lập lịch ưu tiên Thuật toán này cho phép luồng có mức độ ưu tiên cao hơn thực thi trước luồng có mức độ ưu tiên thấp hơn, đảm bảo thời gian phản hồi trong trường hợp xấu nhất đạt đến thời gian cần thiết để thực hiện chuyển đổi ngữ cảnh Kết quả là, ThreadX không chỉ mang tính xác định mà còn cực kỳ nhanh chóng trong việc xử lý sự kiện.
ThreadX giúp các nhà phát triển tập trung vào yêu cầu cụ thể của từng luồng ứng dụng mà không cần lo lắng về sự thay đổi thời gian ở các khu vực khác Tính năng này cũng làm cho việc sửa chữa và cải tiến ứng dụng sử dụng ThreadX trở nên dễ dàng hơn.
Chi phí liên quan đến các nhân đa luồng phụ thuộc vào thời gian chuyển đổi ngữ cảnh Khi thời gian chuyển đổi ngữ cảnh ngắn hơn quá trình thăm dò, ThreadX trở thành giải pháp hiệu quả với chi phí thấp và khả năng xử lý cao Điều này khiến ThreadX là lựa chọn lý tưởng cho các ứng dụng có độ phức tạp và kích thước đa dạng.
ThreadX cung cấp một giao diện mạnh mẽ, độc lập với bộ xử lý, giúp các nhà phát triển tập trung vào việc phát triển ứng dụng mà không phải lo lắng về các chi tiết phần cứng.
Trong các ứng dụng sử dụng vòng điều khiển, các nhà phát triển cần nắm vững hành vi và yêu cầu của toàn bộ thời gian chạy của ứng dụng, do logic phân bổ bộ xử lý được phân tán khắp nơi Khi ứng dụng trở nên lớn hơn hoặc phức tạp hơn, việc ghi nhớ các yêu cầu xử lý chính xác của toàn bộ ứng dụng trở nên khó khăn cho các nhà phát triển.
ThreadX giúp các nhà phát triển yên tâm hơn bằng cách loại bỏ những lo lắng về việc phân bổ bộ xử lý, cho phép họ tập trung vào các khía cạnh cụ thể của ứng dụng nhúng Hệ thống này yêu cầu ứng dụng được chia thành các chủ đề rõ ràng, điều này không chỉ đơn giản hóa quá trình phát triển mà còn nâng cao hiệu quả làm việc.
ThreadX được xây dựng với mục tiêu hỗ trợ các nhà phát triển ứng dụng, với kiến trúc và giao diện gọi dịch vụ dễ hiểu Nhờ đó, các nhà phát triển có thể nhanh chóng tiếp cận và sử dụng các tính năng nâng cao của ThreadX.
Cải thiện thời gian đưa ra thị trường.
ThreadX mang lại nhiều lợi ích giúp tăng tốc quá trình phát triển phần mềm Nó xử lý hầu hết các vấn đề liên quan đến bộ xử lý và các chứng nhận an toàn phổ biến, từ đó giảm bớt gánh nặng cho đội ngũ phát triển Nhờ đó, thời gian đưa sản phẩm ra thị trường được rút ngắn đáng kể.
Bảo vệ đầu tư phần mềm:
Với thiết kế linh hoạt, ThreadX cho phép chuyển đổi dễ dàng giữa các môi trường bộ xử lý và công cụ phát triển khác nhau Sự tách biệt của các ứng dụng khỏi các chi tiết kỹ thuật của bộ xử lý giúp tăng cường tính di động cho các ứng dụng sử dụng ThreadX Nhờ đó, lộ trình di chuyển ứng dụng được đảm bảo và bảo vệ đầu tư phát triển ban đầu.
Nhược điểm
ThreadX là hệ điều hành thương mại độc quyền, yêu cầu người dùng trả phí để sử dụng Mặc dù một số phần cứng có thể tích hợp một số chức năng cơ bản, nhưng điều này không đáng kể Chính vì lý do này, phạm vi người dùng của ThreadX bị hạn chế, không phù hợp cho sinh viên trong việc học tập.
MÔ TẢ & PHÂN TÍCH ỨNG DỤNG HỆ THỐNG CÓ LỢI THẾ.12 3.1 Thiết kế module lưu trữ dữ liệu mã hóa sử dụng trong thi hành luật khai thác than đá
Giới thiệu module
Cổng lưu trữ dữ liệu thi hành pháp luật là công cụ quan trọng trong an ninh công cộng, với các chức năng như chụp ảnh, ghi âm và đăng tải dữ liệu Nó hỗ trợ ghi lại quá trình thực thi pháp luật, thu thập bằng chứng và chuẩn hóa các hoạt động liên quan Thiết bị này cũng là tài liệu tham khảo hữu ích cho các cơ quan giám sát an toàn mỏ than quốc gia trong việc giám sát và thực thi pháp luật hiệu quả.
Hệ thống Android cho phép tương tác dễ dàng giữa người và máy tính, với các chức năng như ghi âm, ghi hình và nhập văn bản, và được sử dụng phổ biến trong thiết bị di động thông minh Tuy nhiên, do tính năng nguồn mở và thiếu cơ chế kiểm tra nghiêm ngặt, Android có thể gặp phải các lỗ hổng và mã độc, gây nguy hiểm cho bảo mật dữ liệu Để bảo vệ dữ liệu của trình ghi thực thi pháp luật khỏi bị giả mạo hoặc xóa, cần thiết kế một mô-đun lưu trữ mã hóa dữ liệu, chỉ cho phép quyền đọc hoặc ghi mà không cho phép sửa đổi hoặc xóa dữ liệu sau khi đã ghi.
Hệ thống Android có khả năng ghi lại video, âm thanh, hình ảnh, văn bản và các dữ liệu khác vào mô-đun lưu trữ được mã hóa thông qua giao diện giao tiếp đặc biệt Mô-đun này không chỉ tích hợp và mã hóa dữ liệu với dấu thời gian, thông tin vị trí, nguồn điện, và thông tin người dùng mà còn giúp bảo vệ dữ liệu khỏi các mối đe dọa từ lỗ hổng hệ thống và mã độc hại Điều này đảm bảo rằng dữ liệu không bị giả mạo hoặc xóa một cách hiệu quả Chế độ kết nối giữa mô-đun lưu trữ được mã hóa và bo mạch chủ Android được thể hiện trong Hình 1.1.
Hình 1.1 Kết nối giữa module mã hóa dữ liệu và bo mạch chủ Android
thiết kế phần cứng
Module lưu trữ mã hóa dữ liệu bao gồm các thành phần chính như mạch cấp nguồn, khối điều khiển, mạch lưu trữ và mạch giao tiếp với bo mạch chủ của hệ thống Android.
LTM8045 tích hợp nguồn, cuộn cảm công suất, mạch điều khiển và linh kiện thụ động, với thiết kế ngoại vi đơn giản chỉ cần cấu hình tụ điện đầu vào, đầu ra và một số điện trở để điều chỉnh điện áp đầu ra và tần số chuyển mạch Đặc biệt, chức năng khởi động mềm được kích hoạt để giảm dòng tăng khi bật nguồn.
Trong ứng dụng này, vi điều khiển i.MX RT1021 của NXP được trang bị kernel ARM Cortex-M7, hoạt động ở tần số 500MHz và hỗ trợ đầy đủ chức năng Floating Point Unit (FPU) cùng kiến trúc VFPv5 Ngoài ra, i.MX RT1021 còn tích hợp nhiều giao diện bộ nhớ đa dạng như SDRAM, RAW NAND flash và NOR flash.
SD/eMMC, SPI bốn kênh và nhiều giao diện kết nối như UART, SPI, I2C, USB và CAN được tích hợp trong hệ thống Ngoài ra, bộ điều khiển Ethernet 10/100M hỗ trợ tiêu chuẩn IEEE1588, đảm bảo đáp ứng đầy đủ các yêu cầu của ứng dụng.
Chip i.MX RT1021 tích hợp bộ điều khiển uSDHC, cho phép quản lý thẻ SD/SDIO/MMC Các tính năng nổi bật của uSDHC trên i.MX RT1021 bao gồm khả năng xử lý dữ liệu nhanh chóng và hiệu quả, đảm bảo tính bảo mật cao cho các thiết bị ngoại vi.
Hỗ trợ đặc điểm kỹ thuật SD/SDIO, lên đến phiên bản 3.0;
Đặc tính hệ thống MMC được hỗ trợ, lên đến phiên bản 4.5.
Thẻ SDXC hỗ trợ chế độ SD và SDIO 1 bit/4 bit, cùng với chế độ MMC 1 bit/4 bit/8 bit Ở chế độ SDR, thẻ sử dụng 4 đường dữ liệu song song, cho phép tốc độ truyền dữ liệu lên đến 800Mbps Nhờ những đặc điểm này, thẻ SDXC trở thành phương tiện lưu trữ lý tưởng, có khả năng mã hóa và lưu trữ đầy đủ dữ liệu video, âm thanh, hình ảnh và văn bản được truyền từ máy chủ Android trong thời gian thực.
Sơ đồ kết nối của thẻ SDXC và chip điều khiển chính i.MX RT1021 được thể hiện trong
Hình 2.3 Sơ đồ kết nối giữa i.MX RT1021 và SDXC Card
3.1.2.4 Giao tiếp với hệ thống máy chủ Android
Máy chủ lưu trữ hệ thống Android ghi lại video, âm thanh, hình ảnh, văn bản và các tệp khác, dẫn đến việc tạo ra một lượng dữ liệu lớn và tồn tại lâu dài Để đáp ứng yêu cầu này, giao tiếp Ethernet được sử dụng thay cho cổng nối tiếp thông thường hoặc chế độ giao tiếp SPI Trong ứng dụng này, mô-đun mã hóa lưu trữ hoạt động như máy chủ, trong khi máy chủ Android đóng vai trò là máy khách Chip Ethernet PHY LAN8720A được kết nối với MAC bên trong i.MX RT1021 thông qua giao diện RMII, với i.MX RT1021 cung cấp nguồn xung nhịp 50MHz cho LAN8720A.
Hình 2.4 Mạch giao tiếp với máy chủ Android
Thuật toán mã hóa dữ liệu dsa (Digital Signature Algorithm)
Tạo thông báo kỹ thuật số: sender sử dụng thuật toán tóm tắt thông tin để mã hóa dữ liệu được gửi, để tạo thông tin kỹ thuật số.
Hình thành chữ ký điện tử (digital signature): sender mã hóa lại thông báo bằng private key của mình để tạo thành chữ ký điện tử.
Truyền dữ liệu: sender truyền văn bản gốc và bản tóm tắt được mã hóa đến người nhận cùng một lúc.
Sau khi nhận dữ liệu, receiver sử dụng public key của người gửi để giải mã thông báo, từ đó tái tạo lại thông tin bằng thuật toán dựa trên dữ liệu đã nhận.
Receiver so sánh bản tóm tắt đã giải mã với bản tóm tắt mã hóa lại sau khi nhận dữ liệu Sự nhất quán giữa hai bản tóm tắt cho thấy thông tin không bị hư hỏng hay giả mạo trong quá trình truyền tải Ngược lại, nếu không nhất quán, thông tin sẽ mất đi tính bảo mật và bí mật.
Hình 3.5 Sơ đồ khối nguyên lý của DSA
Lập Trình phần mềm
3.1.4.1 ThreadX SMP (Symmetric Multiprocessing) RTOS
Mô-đun lưu trữ này yêu cầu khả năng nhận dữ liệu lớn qua cổng mạng và mã hóa theo thời gian thực, đòi hỏi cao về bảo mật và hiệu suất Hệ điều hành thời gian thực ThreadX được sử dụng để quản lý tác vụ, nổi bật với thiết kế cho ứng dụng nhúng sâu và IoT Với kiến trúc microkernel không phân cấp, ThreadX chỉ cần 2KB Flash và 1KB RAM, cung cấp các chức năng như lập kế hoạch, giao tiếp, đồng bộ hóa, và quản lý bộ nhớ Ngoài ra, nó còn tích hợp nhiều chức năng nâng cao như lập lịch ngưỡng dự phòng, phân tích hiệu suất thời gian chạy, và theo dõi sự kiện hệ thống.
Hệ điều hành thời gian thực ThreadX cung cấp phần mềm trung gian hoàn hảo với các thành phần như hệ thống tệp Filex, ngăn xếp giao thức mạng NetX, và ngăn xếp giao thức USB USBX Tất cả phần mềm trung gian của ThreadX đã đạt chứng nhận bảo mật cao trong các lĩnh vực y tế, công nghiệp, ô tô, hàng không vũ trụ, và nhiều ngành khác, đáp ứng đầy đủ yêu cầu ứng dụng của mô-đun Mô-đun lưu trữ được mã hóa giao tiếp với bo mạch chủ Android qua giao diện Ethernet, sử dụng ngăn xếp giao thức TCP/IP NetX, hỗ trợ nhiều giao thức truyền thông như HTTP, MQTT, SNMP, FTP, và TFTP Trong ứng dụng này, dữ liệu giữa mô-đun lưu trữ được mã hóa và bo mạch chủ Android được truyền tải thông qua giao thức FTP.
3.1.4.2 Thiết kế luồng khởi tạo hệ thống
Hình 4.6 Sơ đồ khối khởi tạo hệ thống và truyền nhận dữ liệu mã hóa
Sau khi nhận dữ liệu âm thanh, video và văn bản từ bo mạch chủ Android, mô-đun lưu trữ sẽ ngay lập tức thu thập thông tin về thời gian hệ thống và vị trí hiện tại Thông tin này được mã hóa bằng chữ ký số DSA và sau đó được lưu trữ vào thẻ nhớ.
Ứng dụng ThreadX trong dự án Deep Impact
Vào ngày 12/1/2005, NASA đã phối hợp với các kỹ sư tại phòng thí nghiệm Jet Propulsion Laboratory (JPL) và trường đại học Maryland để phóng tàu thăm dò vũ trụ nhằm va chạm với sao chổi Tempel 1, cách trái đất 80 triệu dặm Mục tiêu của nhiệm vụ này là thu thập hình ảnh và mẫu dữ liệu từ sao chổi để phục vụ cho các nghiên cứu khoa học.
Hình 1 Tàu vũ trụ Deep Impact
Tàu vũ trụ được chế tạo và lắp ráp bởi Ball Aerospace & Technologies, một nhà sản xuất hàng đầu của Mỹ chuyên cung cấp tàu vũ trụ, linh kiện và dụng cụ cho các lĩnh vực quốc phòng, không gian dân dụng và vũ trụ thương mại.
Ball Aerospace & Technologies đang đối mặt với thách thức thiết kế một tàu vũ trụ hai phương tiện, có khả năng mang theo các thiết bị cần thiết vào không gian Sau đó, tàu sẽ tách ra thành một tàu sống sót và một tàu va chạm với sao chổi Tempel, nhằm khai thác mẫu vật và gửi các bức ảnh cùng dữ liệu liên quan về Trái Đất.
Hệ thống bao gồm sự kết hợp:
Các hệ thống thực hiện các nhiệm vụ chụp ảnh và thu thập mẫu vật.
Bộ vi xử lí 32-bit
Bộ điều khiển camera sử dụng vi xử lý SPARC TSC695F, một vi xử lý 32-bit của Atmel, thường được áp dụng trong các dự án không gian Ball Aerospace & Technologies đã lựa chọn hệ điều hành thời gian thực ThreadX của Express Logic để vận hành vi xử lý SPARC, nhằm đáp ứng yêu cầu về bộ nhớ nhỏ và tận dụng sự hỗ trợ của kiến trúc SPARC.
Phần mềm AutoNav của Deep Impact là hệ thống điều khiển thời gian thực cho tàu vũ trụ, nhận và xử lý hình ảnh từ các camera để thực hiện các hành động cần thiết Nó điều khiển động cơ đẩy, bánh xe phản ứng và hệ thống radio, đảm bảo mọi hoạt động diễn ra suôn sẻ Dữ liệu hình ảnh được truyền từ hệ thống thu thập dữ liệu cảm biến (SDA) và được quản lý bởi ThreadX RTOS, điều phối hoạt động của bộ điều khiển máy ảnh CCD trên các thiết bị hình ảnh HRI, MRI và ITS của Deep Impact.
Hình …: Các camera trên Deep Impact ghi lại hình ảnh mục tiêu và chuyển chúng đến AutoNav để giải thích và hành động cần thiết
Hình …: Hệ thống con SDA bao gồm 19 luồng ứng dụng thực thi theo kiểu ưu tiên, ưu tiên, dưới sự kiểm soát của ThreadX trên bộ xử lý Atmel
Hệ thống con SDA có 19 luồng ứng dụng hoạt động theo cơ chế ưu tiên, được quản lý bởi ThreadX trên bộ xử lý Atmel.
ThreadX quản lý phần mềm ứng dụng trên ba bộ điều khiển công cụ, bao gồm xử lý ngắt, lập lịch luồng và truyền thông báo Để xác định vị trí hiện tại của tàu vũ trụ và tính toán các hiệu chỉnh cần thiết, AutoNav hoàn toàn dựa vào dữ liệu hình ảnh từ cảm biến Deep Impact.
Hệ thống giao thông thông minh và tương tác giữa phương tiện với cơ sở hạ tầng (v2I - Vehicle to InfrASTRUCTURE)
nó cho phù hợp AutoNav đã cho phép tàu vũ trụ Deep Impact trở thành một “robot” hoàn toàn tự chủ.
3.2.3 Tổng kết vai trò của ThreadX trong Deep Impact
AutoNav đóng vai trò là "bộ não" của Deep Impact, trong khi các máy ảnh HRI, MRI và ITS là "đôi mắt" của nó ThreadX chịu trách nhiệm kiểm soát các máy ảnh này và quản lý phần mềm ứng dụng chạy trên ba bộ điều khiển, bao gồm xử lý ngắt, lập lịch luồng và truyền thông báo Các công cụ được ThreadX quản lý sẽ truyền dữ liệu thô trở lại AutoNav.
Nhiệm vụ Deep Impact đã hoàn thành xuất sắc, với kết quả thành công nổi bật Ball Aerospace & Technologies đã quyết định sử dụng ThreadX của Express Logic cho dự án mới nhất của họ, đó là tàu quỹ đạo trinh sát sao Hỏa (MRO), được phóng vào tháng 8 năm 2005.
3.3 Giao tiếp V2X (Vehicle-to-Everything)
3.3.1 ThreadX RTOS và giao tiếp V2X
ThreadX RTOS is utilized in On-Board Units, On-Board Equipment, and chipsets, serving as essential components for Dedicated Short Range Communication (DSRC) devices commonly found in vehicles These systems facilitate intelligent communication between vehicles and their surroundings, including Vehicle-to-Vehicle (V2V), Vehicle-to-Network (V2N), Vehicle-to-Pedestrian (V2P), and Vehicle-to-Infrastructure (V2I) interactions As an operating system, ThreadX RTOS adheres to MISRA coding guidelines and has received certification from SGS-TUV SAAR for use in safety-critical systems, in accordance with IEC-61508 and IEC-62304 standards.
Hình 1 V2X On-Board-Unit Model: OBU-201U, OS: ThreadX RTOS
Hình 2 Hệ thống con DSRC VTX-201 trong OBU.
Cấu trúc cơ bản của OBU:
Hình 3 Cấu trúc cơ bản của OBU. Ứng dụng trong Chipset SECTON Autotalks V2X:
ThreadX RTOS được sử dụng làm hệ điều hành trong phần mềm Autotalks V2X, hiệu suất thời gian thực của ThreadX được Autotalks đánh giá là rất tốt.
Hình 1 Chip SECTON Autotalks V2X, OS: ThreadX RTOS
Chipset SECTON là một tiện ích bổ sung phần cứng cho hệ thống V2X toàn cầu, được thiết kế cho các phương tiện tự hành với khả năng tích hợp đơn giản với bất kỳ CPU nào Đây là chipset tiêu chuẩn cho ô tô, tối ưu hóa phạm vi di động và tích hợp truyền thông trực tiếp IEEE802.11p DSRC và C-V2X (PC5) theo các tiêu chuẩn Rel.14/Rel.15 Mô-đun bảo mật phần cứng V2X của SECTON cung cấp độ trễ cực thấp và các công cụ xác minh phần cứng linh hoạt nhờ vào tính năng Crypto-Agility Ngoài ra, chipset còn hỗ trợ các chuẩn Wi-Fi IEEE 802.11a/b/g/n/ac để kết nối với các dịch vụ tiện ích bổ sung.
Hệ thống giao tiếp V2X (Vehicle-to-Everything) cho phép phương tiện giao tiếp không dây với mọi thứ xung quanh, nhằm nâng cao an toàn, thoải mái và tiện lợi khi lái xe Các phương tiện có khả năng nhận thông tin từ xe khác, tín hiệu giao thông, mạng báo cáo thời tiết, cũng như từ người đi bộ và xe đạp, giúp chúng hiểu và tương tác tốt hơn với môi trường xung quanh V2X sử dụng các thuật toán để phân tích dữ liệu từ các nguồn khác nhau, từ đó dự đoán các tình huống nguy hiểm và cảnh báo người dùng thông qua các hành động cụ thể.
Hình 2 Hệ thống giao tiếp không giây V2X
Công nghệ Vehicle-to-Vehicle (V2V) cho phép các phương tiện xác định tốc độ, vị trí và hướng di chuyển của các xe khác trong bán kính khoảng 300 mét Nhờ đó, hệ thống này giúp nâng cao nhận thức tình huống, giảm thiểu nguy cơ tai nạn tại các điểm mù, giao lộ, trong điều kiện giao thông đông đúc và các tình huống khác mà người lái có thể không nhận ra nguy hiểm do vật cản, thời tiết hoặc địa hình.
Công nghệ Vehicle-to-Infrastructure (V2I) kết nối phương tiện với cơ sở hạ tầng, giúp cải thiện an toàn giao thông và quản lý hiệu quả V2I sử dụng tín hiệu giao thông, thông tin từ điểm giao với đường sắt, và cảnh báo về điều kiện đường như công trình xây dựng hay tắc nghẽn Ứng dụng của V2I bao gồm xác định chỗ đậu xe, tìm kiếm tuyến đường an toàn và hỗ trợ phân luồng giao thông.
Hệ thống Vehicle-to-Network (V2N) kết nối các phương tiện với mạng đám mây, mang đến dịch vụ cập nhật giao thông và thời tiết theo thời gian thực, giúp người lái có thông tin chính xác và kịp thời.
Hệ thống V2N có thể sử dụng thông tin về tuyến đường của người lái xe để điều chỉnh nhanh chóng.
V2P, hay Vehicle-to-Pedestrian, cho phép xe và người đi bộ giao tiếp trực tiếp trong khoảng cách gần Người đi bộ sử dụng ứng dụng trên điện thoại thông minh để tương tác với các phương tiện Hệ thống cảnh báo có thể hoạt động hai chiều; ứng dụng của người đi bộ có thể phát âm thanh cảnh báo đến tài xế, trong khi hệ thống của xe cũng có khả năng gửi cảnh báo tương tự đến điện thoại của người đi bộ, đặc biệt trong các tình huống nguy hiểm.
Hình 3 Hệ thống giao tiếp thời gian thực V2X
Nhìn chung, các hệ thống tích hợp truyền thông V2X có các thành phần cấu trúc chính giống nhau, trong đó tối thiểu gồm các phần sau:
- Vehilce On-Board Unit/Equipment (OBU hoặc OBE).
- Roadside Unit or Equipment (RSU or RSE).
Thiết bị OBU, được lắp đặt trong phương tiện, bao gồm bộ thu phát vô tuyến (DSRC), hệ thống GPS, bộ xử lý ứng dụng và giao diện người dùng (HMI) OBU tạo điều kiện cho việc giao tiếp giữa các OBU trong phương tiện và các RSU tại hạ tầng giao thông, cho phép truyền tải thông báo trạng thái nhằm hỗ trợ các ứng dụng an toàn Đồng thời, OBU cũng thu thập dữ liệu phục vụ cho các ứng dụng công cộng như dự đoán lộ trình Với khả năng lưu trữ và truyền tải dữ liệu tối ưu, OBU có thể quản lý nhiều dữ liệu ảnh chụp nhanh hiệu quả, tùy thuộc vào dung lượng bộ nhớ và khả năng truyền thông của nó.
Hình 4 Minh họa cấu trúc của hệ thống V2X 1
3.3.3 Ứng dụng hệ thống giao tiếp V2X
Hình 5 Giao tiếp kết hợp V2X, giữa phương tiện xung quanh với cơ sở hạ tầng thông qua thiết bị thu phát OBU
Hệ thống giao tiếp V2X tích hợp công nghệ qua thiết bị OBU, cho phép các phương tiện giao tiếp không dây với nhau Điều này tạo ra một hệ thống giao thông thông minh, giúp tương tác và chia sẻ dữ liệu, từ đó giảm thiểu rủi ro mất an toàn và nâng cao hiệu quả tham gia giao thông, mang lại sự tiện lợi và thoải mái cho người tham gia.
Các ứng dụng an toàn được thiết kế để giảm thiểu tai nạn giao thông bằng cách dự đoán tình huống và thông báo cho người lái xe Chúng sử dụng thông tin thu thập từ giao tiếp giữa các phương tiện và cảm biến lắp đặt trên đường, giúp nâng cao ý thức và an toàn khi tham gia giao thông.
Hình 6 Minh họa về các ứng dụng an toàn với sự tích hợp của DSRC và cảm biến bên đường
Các ứng dụng về đảm bảo an toàn mà hệ thống giao tiếp tích hợp OBU mang lại:
- Cảnh báo cho các tình huống nguy hiểm (chẳng hạn như tắc nghẽn, tai nạn, chướng ngại vật, v.v.)
- Hỗ trợ giao lộ an toàn.
- Quản lý hoạt động đường sắt cắt ngang.
- Phân công ưu tiên cho xe cấp cứu.
3.3.3.2 Đảm bảo điều khiển phương tiện thuận lợi, hiệu quả Ứng dụng hỗ trợ việc điều khiển phương tiện thuận tiện trên các con đường và giao lộ Các chức năng này có thể hoạt động cục bộ tại một giao lộ hoặc một đoạn đường nhất định, hoặc trong trường hợp tối ưu trên một mạng lưới giao thông lớn, chẳng hạn như khu trung tâm sầm uất.
- Thông tin các tuyến tắt đường.
- Dự báo các tuyến có nguy cơ tắt nghẽn giao thông.
- Điều khiển tín hiệu đèn giao thông một cách linh hoạt.
- Điều hướng, kiểm soát giao thông.
Hình 7 Điều hướng, kiểm soát giao thông động bằng DSRC.