Création d'un ADC "médical"
Posté : 14 nov. 2020, 13:46
Bonjour!
j'ai un petit projet sur lequel j'ai un peu du mal à avancer et je voulais demander si quelqu'un aurait envie de participer.
L'idée est de créer un ADC qui balance le signal sur un moniteur patient que nous utilisons à l'hôpital à des fins de recherche.
Ils s'agit de moniteurs Philips qui ressemblent à ça: https://www.youtube.com/watch?v=S7-RsqsrLwQ
Ces moniteurs disposent d'interfaces série qui permettent d'interconnecter des appareils tiers.
Pour plusieurs projets de recherche clinique, nous enregistrons les signaux du moniteur pour les analyser en offline a posteriori. L'avantage est que tous les signaux sont synchronisés et arrivent dans une même base de données. Le problème est que certains appareils que nous utilisons se contentent d'une sortie analogique et ne peuvent donc pas être connectés sur le moniteur. Nous devons donc enregistrer ces appareils en parallèle et ils se posent des questions de synchronisation avec les signaux des moniteurs. En effet, pour analyser certains signaux de manière conjointe ils doivent être synchronisés à la milliseconde près.
L'idée que j'ai eu est de créer une petite boîte avec un ADC qui parle avec le moniteur sur le port série pour balancer les signaux analogiques sur le moniteurs pour avoir tous les signaux sur un même écran et pouvoir les enregistrer synchronisés. Sur un port série je peux sortir jusqu'à 4 signaux à 125 Hz.
Petit bémol, le protocole série est proprio et j'ai du signer un NDA pour avoir la doc....
J'ai commencé à travailler sur ce projet l'année dernière et j'ai fait un petit proof of concept avec une implémentation du protocole sur AVR et un draft de PCB pour protéger les entrées analogiques. Malheureusement, je n'arrive pas à avancer sur tous les projets (COVID, encadrement des étudiants, etc., etc.). Et c'est dommage parce qu'on pourrait vraiment profiter de disposer de ce type de device...
Du coup, je me demandais si quelqu'un était intéressé pour travailler sur ce projet avec moi.
Voici comment j'imagine le tout:
- 4 entrées analogiques avec des prises Cinch / RCA et/ou Jack 3.5 mm.
- un circuit qui gère les entrées ADC (protection surtensions, etc) et qui le fait entrer dans l'AVR. Pourquoi pas un IC ADC dédié si c'est mieux que d'utiliser l'ADC de l'AVR. Je n'ai pas beaucoup d'expérience en la matière.
- l'AVR gère le protocole série et le temps réel.
- un linux embarqué sur un ARM (j'ai commandé un lichee pi zero avec un Allwinner V3S pour prototyper, pas encore reçu) qui communique avec l'AVR et aussi avec un ordinateur connecté en wifi pour injecter d'autres informations sur l'AVR (des états discrets, etc). Potentiellement j'ai envisagé qu'on puisse reprogrammer l'AVR en SPI depuis le système embarqué linux pour faire des mises à jour facilement.
Voici ce que j'ai fait jusqu'à là:
L'implémentation du protocole série sur AVR:
https://framagit.org/jaj/avr_ivoi
PCB pour les entrées analogique qui s'emboîte sur un Teensy++ 2.0:
https://framagit.org/jaj/pcb_ivoi
Dites-moi ce que vous en pensez.
Amicalement,
Jona
j'ai un petit projet sur lequel j'ai un peu du mal à avancer et je voulais demander si quelqu'un aurait envie de participer.
L'idée est de créer un ADC qui balance le signal sur un moniteur patient que nous utilisons à l'hôpital à des fins de recherche.
Ils s'agit de moniteurs Philips qui ressemblent à ça: https://www.youtube.com/watch?v=S7-RsqsrLwQ
Ces moniteurs disposent d'interfaces série qui permettent d'interconnecter des appareils tiers.
Pour plusieurs projets de recherche clinique, nous enregistrons les signaux du moniteur pour les analyser en offline a posteriori. L'avantage est que tous les signaux sont synchronisés et arrivent dans une même base de données. Le problème est que certains appareils que nous utilisons se contentent d'une sortie analogique et ne peuvent donc pas être connectés sur le moniteur. Nous devons donc enregistrer ces appareils en parallèle et ils se posent des questions de synchronisation avec les signaux des moniteurs. En effet, pour analyser certains signaux de manière conjointe ils doivent être synchronisés à la milliseconde près.
L'idée que j'ai eu est de créer une petite boîte avec un ADC qui parle avec le moniteur sur le port série pour balancer les signaux analogiques sur le moniteurs pour avoir tous les signaux sur un même écran et pouvoir les enregistrer synchronisés. Sur un port série je peux sortir jusqu'à 4 signaux à 125 Hz.
Petit bémol, le protocole série est proprio et j'ai du signer un NDA pour avoir la doc....
J'ai commencé à travailler sur ce projet l'année dernière et j'ai fait un petit proof of concept avec une implémentation du protocole sur AVR et un draft de PCB pour protéger les entrées analogiques. Malheureusement, je n'arrive pas à avancer sur tous les projets (COVID, encadrement des étudiants, etc., etc.). Et c'est dommage parce qu'on pourrait vraiment profiter de disposer de ce type de device...
Du coup, je me demandais si quelqu'un était intéressé pour travailler sur ce projet avec moi.
Voici comment j'imagine le tout:
- 4 entrées analogiques avec des prises Cinch / RCA et/ou Jack 3.5 mm.
- un circuit qui gère les entrées ADC (protection surtensions, etc) et qui le fait entrer dans l'AVR. Pourquoi pas un IC ADC dédié si c'est mieux que d'utiliser l'ADC de l'AVR. Je n'ai pas beaucoup d'expérience en la matière.
- l'AVR gère le protocole série et le temps réel.
- un linux embarqué sur un ARM (j'ai commandé un lichee pi zero avec un Allwinner V3S pour prototyper, pas encore reçu) qui communique avec l'AVR et aussi avec un ordinateur connecté en wifi pour injecter d'autres informations sur l'AVR (des états discrets, etc). Potentiellement j'ai envisagé qu'on puisse reprogrammer l'AVR en SPI depuis le système embarqué linux pour faire des mises à jour facilement.
Voici ce que j'ai fait jusqu'à là:
L'implémentation du protocole série sur AVR:
https://framagit.org/jaj/avr_ivoi
PCB pour les entrées analogique qui s'emboîte sur un Teensy++ 2.0:
https://framagit.org/jaj/pcb_ivoi
Dites-moi ce que vous en pensez.
Amicalement,
Jona