EthernAude
Base du projet:
Actuellement la grande majorité des
caméras CCD amateurs et semi-professionnelles utilisent le port parallèle pour
le transfert des données. Lors de la création de ces premières caméras,
l'utilisation de ce port à semblé évident pour plusieurs raisons:
- Il est présent sur tous nos
ordinateurs et ne nécessite donc pas de rajout de cartes (en particulier sur
les portables, très prisés chez les amateurs).
- Il est assez facile à programmer.
- Les convertisseurs analogique-numérique
n'étaient pas très rapides, et les vitesses obtenues par le port parallèle
étaient bien suffisantes.
Mais tout n'est pas idéal et en plus
maintenant avec l'évolution de la technologie, on peut mettre en évidence un
certain nombre de problèmes:
- Les parasites sur le port parallèle,
dus à la masse de l'ordinateur qui se promène entre le PC et la caméra,
limitent la longueur du câble camera-ordinateur et limitent aussi les vitesses
de transfert.
- Les convertisseurs
analogique-numérique sont maintenant beaucoup plus rapides, et l'on gâche leur
potentiel en limitant la vitesse de transfert par l'utilisation du port
parallèle.
- Peu de portage vers d'autres systèmes
d'exploitation que Windows (un tout petit peu de Linux), et quasi-rien vers les
non-PC.
- Et enfin, un argument mais pas le
moindre, à priori le nouveau système Windows XP (comme son ancêtre Windows
2000) ne permet pas de programmation directe du port parallèle. Il faut créer
un driver virtuel, et là, bon courage aux programmeurs. Ainsi, il y a très fort
à parier que l'Audine ne pourra pas être lue sous Windows XP avec les
programmes actuels (Pisco, Iris, Prism ...etc).
Fortes de ce constat, plusieurs
personnes ont réfléchi à l'avenir!!! Différentes solutions sont apparues :
Ethernet, USB, FireWire ...etc. Après analyse, Cyril Cavadore et Boris Gaillard
ont décidé de travailler sur une carte interface Ethernet durant l'année 2000.
Quels sont les avantages
d'Ethernet? Et d'abord, qu’est-ce qu’Ethernet?
Rien à voir avec Internet, Ethernet est
le nom du système de transfert de données utilisé par les réseaux
d'ordinateurs. Dès que vous voyez plusieurs ordinateurs reliés ensemble dans
une entreprise, vous pouvez être sur qu'il y a de l'Ethernet dans l'air.
Les données sont transférées par un
petit câble blindé à 8 fils. De par sa conception, il n'y a pas de masse qui se
promène, donc très peu de parasites. On atteint donc de manière courante deux
types de vitesse: le 10M et le 100M. Le M signifiant millions de bit par
seconde. En gros on peut dire que l'on transfere 1 million d'octets par seconde
en 10M, et bien sûr, dix fois plus en 100M. Il y a même maintenant du 1000M.
Dans ce qui nous intéresse, le choix s'est limité à 10M, c'est déjà bien plus
rapide que le port parallèle.
Voyons les avantages:
- Comme on vient de le voir, la
rapidité.
- Le câble ordinateur-caméra peut
atteindre 100 mètres et même maintenant, il existe des liaisons Ethernet sans
fils.
- L'adaptation à de nouveaux systèmes
d'exploitation est très rapide, et bien sûr cela fonctionne parfaitement sous
Windows XP et 2000. D'ailleurs, l'équipe de développement de la partie
"hard", travaille principalement sous Windows 2000.
- Pas besoin de bloquer le
système d'exploitation pendant la lecture de l'image, vous pouvez ainsi
travailler pendant la lecture.
Choix technologiques
Premièrement, pour des raisons de taille
des circuits imprimés, la technologie CMS a été largement employée. Un
composant CMS est un composant qui n'a pas de pattes qui traversent le circuit
imprimé, mais ses pattes sont soudées en surface (voir fig. 1), ce qui permet
d'avoir des pistes bien plus petites sur le circuit imprimé.
L'ensemble EthernAude est composé de
deux cartes. La première, appelée 'maître' (développée par Cyril Cavadore et
Boris Gaillard), reçoit les signaux Ethernet, les décode, place les ordres sur
le bus pour la carte ‘esclave’, et inversement, reçoit des données de la carte
‘esclave’ via le bus, les code et les envoie vers l'ordinateur via Ethernet. La
deuxième, appelée 'esclave' (développée par Michel Meunier), reçoit les ordres
de la carte maître, et gère directement la caméra CCD; inversement elle reçoit
des données de la caméra CCD et les place sur le bus à destination de la carte
maître.
Le choix des microcontrôleurs a été
également crucial: rapidité, facilité de programmation et de débogage. Dès
l'origine, la carte maître a été conçue avec un SX52 (voir fig. 1),
microcontrôleur de chez Ubicom (anciennement Scenix). Ce microcontrôleur
travaille avec une horloge à 50MhZ, et grâce à son système pipeline, traite 50
millions d'opérations par seconde. Initialement la carte esclave était équipée
d'un PIC 16C74, mais pour des raisons de faible vitesse ('seulement' 5 millions
d'opérations par seconde) et de simplification, on a remplacé le PIC initial
par un SX52.
Fig. 1, SX52
et 4 résistances CMS.
Description de l'EthernAude:
Le système EthernAude se branche entre
la caméra CCD et l'ordinateur, la liaison PC-EthernAude étant réalisée par un
câble réseau classique, la liaison EthernAude-CCD réalisée avec un câble
parallèle standard à 25 broches. Avec les caméras Audine, Hisis …etc, AUCUN
changement n’est à apporter sur la caméra .
L'alimentation est externe, et nécessite
une tension entre 7V et 12V 1A. En interne un régulateur à découpage s'occupe
du reste (5V). L’alimentation peut être assurée par une petite alim universelle
à 60F dans n’importe quel grand magasin ou prise sur l'alim de la CCD avec une
dérivation (AlAudine III par exemple).
L'interface se présentera sous la forme
d'un boîtier d'environ 150x70x50mm (dès que possible, il y aura des photos du
boîtier). Sur le boîtier, il y aura plusieurs connecteurs:
- connecteur 2 broches pour
l'alimentation de l'EthernAude, tension entre 7 et 12V, avec en interne une
diode de protection pour éviter les inversions de polarité.
- connecteur RJ45 pour le
branchement Ethernet
- connecteur DB25 pour le
branchement du câble allant vers la camera (identique à celui du port
parallèle).
- connecteur 6 broches pour un
port I2C avec en plus 5V et tension d'entrée de l'EthernAude.
Un port I2C a été implémenté pour
pouvoir gérer avec une grande simplicité une roue à filtre, la focalisation
..etc. Il suffira de respecter l'adresse I2C pour gérer comme chacun l'entend
ces accessoires.
Avancement du projet:
Actuellement, seule la caméra Audine est
supportée, mais des versions pour les Hisis, Kaf-Aude (Bernasconi-Maury) et
Kitty sont prévues. Pour les caméras SBIG il reste un important problème, car
la société SBIG refuse de transmettre le protocole bas-niveau pour lire leurs
caméras.
Attention, un boîtier
EthernAude ne peut contenir qu'un seul driver de caméra et le changement de
driver ne pourra se faire qu'à l'aide d'un programmateur de SX52 (environ
600F), ou bien sûr, par la société qui commercialisera l'EthernAude. Donc il
sera difficile de changer de type de caméra avec le même boîtier dans la même
soirée d'observation!
Cas de l'Audine: les modes de
lecture standard avec binning, video et drift-scan ont été implémentés. Dans le
cas du drift-scan, il est à noter que le temps de décalage n'est plus géré par
l'ordinateur, mais par l'EthernAude avec une précision du 10ème de
milliseconde.
Dans l'état actuel du projet, nous en
sommes à la réalisation d'une série limitée des prototypes définitifs, qui
seront distribués au plus vite à des bêta-testeurs et à des développeurs pour
tests et écritures des drivers côté ordinateur. Les deux cartes internes
(maître-esclave) sont maintenant totalement opérationnelles et fonctionnent
très bien (voir résultats ci-dessous). Il serait bien que ce projet soit
commercialisé au cour de l’année 2002.
Quelques résultats:
Ces tests ont été réalisés sur la caméra
Audine de Michel Meunier, équipée d'un KAF 1602E.
Le temps de transfert est de 16,5s, soit
le maxi que le CAN peut donner (100kPixel/s). Avec une KAF400, le temps de
lecture est de 4,2s. Le bruit à la lecture d'un offset est de 6,5 ADU, soit
environ 12e-, ce qui est aussi bon (voire meilleur) que la lecture par le port
parallèle.
La lecture est parfaitement régulière
(voir fig2):
Histogramme d'un
offset, caméra refroidie. Attention ! l'échelle des ordonnées est
logarithmique, donc une forme de courbe quasi-théorique.
Mode drift scan:
La gestion du temps est totalement prise
en charge par l'EthernAude, et précise au dixième de milliseconde.
L'image ci-dessous est un scan de 500
pixels de large, avec une vitesse de ligne de 101,7ms, calculée de manière
théorique avant le lancement du scan. On peut juste noter sur les scans, une ou
deux lignes d'artefact (ici une ligne), dues à la perturbation de la lecture
par le timer interne de la carte esclave. Pour garder une parfaite précision,
ces artefacts ne peuvent être corrigés au niveau interne de l'EthernAude, mais
peuvent parfaitement l'être par la prise d'un offset préalable (en effet les
artefacts, à temps de ligne égal, sont toujours aux même endroits), ou alors
par une correction de la ligne directement.
Mode vidéo:
Le mode vidéo est ici amélioré car
l'interface EthernAude travaillant plus vite, les transferts intermédiaires
sont meilleurs. Encore une fois, les temps de pose sont gérés par l’EthernAude.
Pour information, les tests du mode vidéo ont été faits par Michel Meunier qui
n'avait jamais encore fait d'images planétaires (ciel profond et comètes ;-)
seulement), cela montre le formidable potentiel du mode vidéo.
Seuillage
très serré d’une séquence sur Jupiter, le smearing est très faible, ceci grâce
au temps de décalage vertical très court.
Vidéo de Saturne avec un temps de
pose de 300ms
Après traitement, voici les résultats:
Images et
traitements, Louis et Michel Meunier.
Pour tous renseignements
supplémentaires: michel.meunier10@wanadoo.fr
Liste des gens ayant travaillé ou travaillant
actuellement sur l’EthernAude (pardon pour les oublis):
Laurent Bernasconi, Cyril Cavadore, Raymond David, Boris Gaillard, Alain Klotz, Michel Meunier, Guillaume Spitzer.
Financement : Association Aude.
Liens :
La page sur la
carte 'maître' par Cyril Cavadore et Boris Gaillard.
La page technique de
Michel Meunier sur EthernAude (plutôt tournée vers les développeurs).
La page descriptive de
l'EthernAude d'Alain Klotz.
Dernière
mise à jour: 07/04/2002