The internet of things (IoT) will eventually connect not just computers but all our electronic devices. This network will provide situation-specific support in virtually every area of daily life, and could hold huge benefits for the medical world. Paul Gardner of konplan systemhaus shares his design tips for using microcontrollers in networked medical devices with extended safety requirements.
Ambient assisted living (AAL) research aims to develop technology for comfortable living and life in old age. This technology is designed to improve older people's quality of life and help them continue to lead independent lives. The care of the elderly is already a serious cost factor for national economies today and it will be even more so in the future. AAL research can make a critical contribution to controlling these costs and providing older people with a better quality of life.
The team at konplan systemhaus have been busy working on medical devices at various levels for a number of years. In ongoing projects, the company is exploring application scenarios and solutions for the meaningful use of networked devices. konplan contributes to these research projects through the Luzern iHomeLab, an intelligent building that is controlled entirely through IoT.
Design consideration of safety is one of the critical factors in ensuring a system is robust in design and able to operate flawlessly in diverse environments, and that it does not interfere with other devices. Defensive software design is a set of techniques used to address the issues caused by improper software responses. The following specific software techniques are recommended for good defensive software design.
A watchdog function forces a system reset when the application software fails to execute as expected. It is important to make sure that the device will not stop operating even if the software begins operating incorrectly. Allowing the microcontroller to remain in an undefined state is very dangerous and unacceptable, especially for applications with safety requirements.
Unused memory should be filled with suitable content such that the microcontroller does not execute any unexpected instructions when the normal execution flow is disturbed. The execution of these special instructions will force the processor to go through the fault routine and take the appropriate action to recover.
Defining the interrupt vectors for each unused interrupt function ensures that the microcontroller will jump into a predefined interrupt routine when any particular unused interrupt flag is falsely triggered. The microcontroller is then able to resume correctly after the interrupt function.
Confirmation of edge-triggered interrupts is an essential technique to verify that input events are valid and driven by the correct sources. Checking within the interrupt service routine that the input signal was actually generated by the intended source will enable detection of noise on the input. If this is happening regularly in a design then the conclusion should be to provide filtering in hardware, but a professional software engineer expects the worst case in any situation.
Slew-rate control should be enabled for output port pins, where available. When enabled, slew-rate control limits the rate at which an output can change state. This reduces the output rise and fall times, helping to minimise radiated emissions generated on output port switching and reducing interference with other susceptible devices.
Good software design can improve performance and operating stability in noisy environments. In general, the software design cannot control the physical media that injects noise into the system, or reduce the absolute magnitude of noise generated from external sources. However, software can provide intelligent corrective actions in fault conditions and implement precautionary features for system protection.
konplan is the one-stop solution provider for professional medical device engineering in Switzerland. It provides design, development, quality assurance and documentation services for medical products to companies worldwide. konplan's certified processes are tailored to the requirements of ISO 62304, 62366, 60601-1, 14971 and 13485.