Working with the Medical Research & Development team within the Research and Development Group designing, developing and introducing new products – specifically related to electronics & embedded software for mechatronic based Medical equipment.
Degree in Software Engineering or Computer Science 2:1 with strong element of Embedded Electronics.
Minimum 7 years experience in the following areas coupled with a proven track record of designs working in the field.
Essential Skills & experience:
• Systematic approach to design software for mechatronic systems with theoretical and practical understanding of interactions between mechanics, electronics and software with respect to real time control and dynamics
• Extensive use of model based design tools that include modelling of plant covering several domains (electrical, mechanical , fluid ) using Simscape , resultant simulation in simulink , design of digital controllers to optimally control the plant simulation and realisation of the controller algorithm on 32 bit microcontrollers in hardware and C code using MATLAB/Simulink embedded coders
• Life safety critical software design – including redundancy, watchdog timers, deterministic graceful failure modes.
• BLDC 3 phase motor control algorithm design including Field Orientated Control (FOC) methods
• Software implementation of Digital Control system design – including PID loops, pole placement, bode design, digital compensator design
• Programming of various Microcontrollers – ideally including Microchip dsPIC33, ARM Cortex M3, Texas instruments C2000 32 bit microcontroller with a focus on optimisation for real time closed loop motor control & sensing
• Software to handle various communications including – I2C, SPI, UART, USB, Ethernet etc
• Software to handle Sensor processing including – temperature, flow, pressure, speed, force, torque, vibration etc
• Working knowledge and application of V development cycle including software validation & verification
• Team player being able to work in a multi disciplined team including electronics, electrical, software , mechanical & manufacturing engineers
• Real time control system design
• RTOS based programming – eg freeRTOS, safeRTOS
• bare metal C coding without RTOS.
• Interrupt handlers & schedulers
• Combination of C and assembler for optimising speed/memory usage
• C programming - test code to exercise and run up hardware diagnostics
• low level interfacing with Windows drivers
• Working with device drivers - I2C, SPI, UART, Ethernet, CAN
Ideal Skills & Experience
• FPGA programming (ideally Altera cyclone III) with either VHDL or use of MATLAB HDL coder
• FPGA IP modules and soft core processors ( NIOS II )
• Software interfacing with various communication hardware eg CAN, FlexRay
• Knowledge of Industrial/medical regulations & standards and impact on software design - IEC62304
• Working knowledge and application of risk assessment driven and resultant DFMEA to produce robust & safe embedded electronics controls.
• Low level programming – Assembler 8, 16, 32 bit
• low level interfacing with Linux drivers