Focused Ultrasound Control Architecture for Priority Interrupt Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional embedded application software for focused ultrasound therapy devices is poorly reusable, lacks scalability, and struggles with handling priority orders of request and interrupt messages, affecting timeliness and reliability.
Innovation Solution
A method for controlling focused ultrasound therapy devices using an Acorn RISC Machine (ARM) with a first control program on the embedded processor and a second control program on a workstation, utilizing a TCP/IP connection, prioritized task execution, and a signal thread for safe exit, along with Google Protocol Buffer encapsulation and Netlink communication for interrupt handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional embedded application software is used for focused ultrasound therapy devices, then the device can be controlled, but the software architecture lacks reusability and scalability, requiring extensive code modifications when devices change
Solution Approach 1:
The software is divided into independent modules including device abstraction layer, business logic layer, and UI layer. Each module can be developed, tested, and modified independently, improving reusability across different devices while maintaining clear separation of concerns and reducing overall system complexity.
Solution Approach 2:
A universal device abstraction layer is implemented that provides standardized interfaces for controlling different ultrasound therapy devices. This allows the same business logic to work across multiple device types without modification, enhancing software reusability and adaptability.
2Reliability
If traditional embedded application software is used, then basic control functions are achieved, but the system cannot handle priority order of request and interrupt messages effectively, affecting timeliness and reliability
Solution Approach 1:
The system pre-establishes a priority queue structure and message routing mechanism before runtime. Messages are classified and assigned priority levels in advance, allowing the system to immediately process critical interrupt messages without delay while maintaining reliable handling of all message types.
Solution Approach 2:
An interrupt message priority handling mechanism is implemented where the system continuously monitors message queues, processes high-priority messages first, and provides feedback on processing status. This ensures critical messages are handled timely while maintaining overall system reliability.
3Adaptability or versatility
If device-oriented development approach is used, then the software can control the specific device, but it cannot adapt to very complex business scenarios and requires extensive code modifications when devices change
Solution Approach 1:
The software architecture is segmented into independent layers with clear interfaces. The device abstraction layer handles hardware-specific code, while the business logic layer contains scenario-specific code. This segmentation allows business scenarios to be adapted without modifying device control code, and vice versa, improving maintainability.
Solution Approach 2:
A device abstraction layer serves as an intermediary between the hardware and business logic. This mediator layer provides standardized interfaces that decouple business scenarios from specific device implementations, allowing easy adaptation to complex scenarios without extensive code modifications.
Data Source
AI summary
Disclosed is a method for controlling a focused ultrasound therapy device based on an Acorn RISC Machine, the focused ultrasound therapy device being connected to a workstation and an ARM embedded processor running a linux operating system, the ARM embedded processor storing a first control program, the workstation storing a second control program, the method including: the first control program controlling the focused ultrasound therapy device by executing a task and sending a task execution result to the second control program; the task includes an internal event and an operation instruction, the internal event includes a timer event of the first control program and an interrupt message of a linux kernel, the second control program receives the operation instruction through the workstation and sends the operation instruction to the first control program.

