Cochlear Implant Systems todays challenges in embedded firmware - - PDF document

cochlear implant systems
SMART_READER_LITE
LIVE PREVIEW

Cochlear Implant Systems todays challenges in embedded firmware - - PDF document

Cochlear Implant Systems todays challenges in embedded firmware design December 7, 2009 Ren Roos Cochlear Implant Systems? Cochlear and CTC Cochlear Implant Systems for hearing impaired people First Cochlear implant, 1978,


slide-1
SLIDE 1
slide-2
SLIDE 2

Cochlear Implant Systems

today’s challenges in embedded firmware design

December 7, 2009 René Roos

slide-3
SLIDE 3

Cochlear Implant Systems?

slide-4
SLIDE 4
slide-5
SLIDE 5

Cochlear and CTC

  • Cochlear Implant Systems for hearing impaired people
  • First Cochlear implant, 1978, Melbourne Hospital
  • First commercial, DSP-based processor: SPrint (1998)
  • Current system: Nucleus 5 (2009)
  • CTC: Cochlear’s R&D outside Australia
slide-6
SLIDE 6

Cochlear Implant System

slide-7
SLIDE 7

Complexity

slide-8
SLIDE 8

Flexibility

Hybrid (CI + acoustic) CI Bone Anchored CI

slide-9
SLIDE 9

Product diversity

1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 7 8 9 1 1 1 1 2 1 3 1 2 3 4 5 6 7 8 9 1 1 1 1 2 1 3 mild moderate

  • mod. severe

severe profound A i r B

  • n

e G a p ( d B H L ) S N H . L . ( d B H L ) deaf

total hearing loss Cochlear implants BAHA HA DACS Hybrid

slide-10
SLIDE 10

Importance of firmware

  • Manage system complexity

– Easy recipient ‘fitting’ – Programmable – Adjustable – Field upgrades – Hear Now. And Always

  • Support product diversity & derivatives

– Platform development

slide-11
SLIDE 11

Cochlear’s Champ

  • Custom IC
  • 4 Parallel DSPs
  • uC
  • 180 Mops
  • Extremely low power consumption (few mW)
slide-12
SLIDE 12

Hardware integration

  • Limited amount of hardware releases
  • ASIC Prototyping

– Modelsim – FPGA

  • Product Prototyping
slide-13
SLIDE 13

Software integration

  • Firmware Integration

– uC – DSP

  • Software Integration

– Device drivers – Clinical software – User devices

slide-14
SLIDE 14

Sound processing research

  • Simulink
  • xPC Target
slide-15
SLIDE 15

Quality

  • Peer review

– Product code – Unit / System tests

  • Coding guidelines

– MISRA-C

  • Documentation
  • Verification & validation

– Regression testing – Automation

  • Code analyser tools

– Static – Dynamic

slide-16
SLIDE 16

Looking into static code analysis (example)

Synchronous

int x, y, a[5] = {1, 2, 3, 4, 5}; void f1(void); void f2(void); void f1(void) { x = 10; f2(); } void f2(void) { y = a[x]; } int main() { f1(); return y; }

Asynchronous

int x, y, a[5] = {1, 2, 3, 4, 5}; typedef void (*EventHandler)(void); EventHandler handler; void scheduler(void) { while (handler) { handler(); } } void f1(void); void f2(void); void f1(void) { x = 10; handler = f2; } void f2(void) { y = a[x]; handler = 0; } int main() { handler = f1; scheduler(); return y; }

slide-17
SLIDE 17

Regulatory

  • Strict and clear procedures
  • IEC 62304

– Segregation of software items – How to manage potential software failures – SOUP

slide-18
SLIDE 18

Holy grail in supporting developments

  • Looking for the perfect static analysis tool
  • Formal code verification?
  • Quantification of software risks?
slide-19
SLIDE 19