polito.it
Politecnico di Torino (logo)

Sviluppo Software Per Dispositivi Medici Impiantabili Per Applicazioni Prostetiche = Software Development for Implantable Medical Devices for Prosthetic Applications

Federico De Sario

Sviluppo Software Per Dispositivi Medici Impiantabili Per Applicazioni Prostetiche = Software Development for Implantable Medical Devices for Prosthetic Applications.

Rel. Maurizio Martina, Paolo Motto Ros, Fabiana Del Bono. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering), 2023

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (19MB) | Preview
Abstract:

Grandi passi sono stati fatti nel campo della neuroprostetica, permettendo di sviluppare dispositivi che possono sostituire una modalità motoria, sensoriale o cognitiva, che potrebbe essere stata danneggiata in seguito ad un infortunio o una malattia. L'obbiettivo della tesi è sviluppare il software per un sistema, che permetta di interfacciarsi con un ASIC il quale si occupa di stimolazione e registrazione di segnali neurali, permettendo una comunicazione bidirezionale che consenta il bypass della lesione aggiungendo all'attuale stato dell'arte il recupero di sensi come ad esempio il tatto. Il sistema, inoltre, dovrà essere totalmente impiantabile per ridurre al minimo il rischio di infezioni. A questo proposito è stato scelto il protocollo Bluetooth 5, in quanto permette di minimizzare i consumi (massimo 16.6 mA in trasmissione e 12.9 mA in ricezione) in modalità Bluetooth Low Energy (BLE) con una velocità di trasmissione ideale di 2 Mbps. Il sistema sarà composto da: un PC; un dongle; un Microcontrollore (MCU) munito di modulo BLE; una FPGA; l’ASIC che consiste in un dispositivo a 32 canali, tramite cui stimolare elettricamente altrettanti elettrodi o da cui è possibile registrare segnali in ingresso. Dato questo hardware, in questa tesi si punta a sviluppare un codice per il MCU e per l’FPGA che permetta di inviare un comando (di stimolazione o registrazione neurale) dal PC al MCU tramite BLE, sfruttando il dongle; il MCU (Master 1) a sua volta invierà il comando all’FPGA (Slave) tramite SPI con un clock di 8 Mhz; l’FPGA (Slave) in risposta, richiederà la comunicazione all’ASIC (Master 2) per inviargli il comando ricevuto dall’MCU tramite SPI con un clock di 16 MHz. Allo stesso tempo dovrà consentire la comunicazione in verso opposto quando l’ASIC invierà i segnali registrati. Il software per il MCU e l’FPGA è stato sviluppato a step intermedi ed è stato svolto uno studio sull’ottimizzazione dei parametri del BLE per massimizzare la velocità di trasmissione, raggiungendo 1.4 Mbps, sufficienti a gestire il flusso di dati dell’ASIC se si effettua un trade-off tra precisione e datarate, riducendo ad esempio il numero di canali o utilizzando l’ASIC in modalità “spike detection”. Il codice del MCU è stato ultimato ed è capace di ricevere e trasmettere dati tramite BLE al dongle e tramite SPI all’FPGA; il MCU inoltre, è capace di ricevere e gestire tramite un interrupt, il segnale di IRQ che l’FPGA sfrutterà per richiedere la comunicazione. Per quanto riguarda il codice dell’FPGA, è stata implementata con successo l’interfaccia SPI verso il MCU, riducendo anche problemi di metastabilità sfruttando l’oscillatore interno del chip (48 MHz), il PLL interno per avere un clock di 144 MHz e 2 flip-flop sugli ingressi per sincronizzarli con la logica interna. La stessa interfaccia SPI è stata testata a 8 MHz e 16 MHz e può essere quindi utilizzata anche come interfaccia tra il MCU e l’ASIC. In conclusione, si è arrivati a sviluppare un software che tramite un contatore implementato su FPGA, simula un flusso dati ricevuto dall’ASIC. Quando il MCU riceve via BLE il comando di “START”, lo inoltra all’FPGA tramite SPI, il contatore inizia a contare e inviare il risultato al MCU seguito da un impulso di IRQ, che genera nel MCU un interrupt che manda una nuova frame e fa ripartire il loop. Ricevuto invece, via BLE, il comando di “STOP” il ciclo viene interrotto. Questo lavoro consentirà, con l’aggiunta di un registro FIFO tra le due interfacce SPI, di ottenere il risultato prefissato.

Relators: Maurizio Martina, Paolo Motto Ros, Fabiana Del Bono
Academic year: 2023/24
Publication type: Electronic
Number of Pages: 115
Subjects:
Corso di laurea: Corso di laurea magistrale in Ingegneria Elettronica (Electronic Engineering)
Classe di laurea: New organization > Master science > LM-29 - ELECTRONIC ENGINEERING
Aziende collaboratrici: UNSPECIFIED
URI: http://webthesis.biblio.polito.it/id/eprint/28522
Modify record (reserved for operators) Modify record (reserved for operators)