..
Composants utilisés
- 1 Analyseur logique avec fils, câble usb (prêt à l'emploi)
- Logiciel de Saleae et driver à télécharger gratuitement
- 1 Carte Arduino Uno
- 1 led + résistance 470 Ohm
Principe de fonctionnement
L'analyseur logique permet aux développeurs d'échantillonner 8 signaux numériques en même temps à haute fréquence pour les analyser.
Caractéristiques
- Modèle Saleae logic, avec câble en nappe 10 fils et câble usb (miniA-B)
- 8 canaux analysés en simultané
- Fréquence d'acquisition jusqu'à 24 MHz sur chaque canal, idéal pour suivre des applications jusqu'à 10 MHz environ
- Suivi de signaux logiques sur la plage 0.5 à 5.25 V
- Seuils CMOS standard <0.8V = low et >2.0V = high
- Forte impédance d'entrée de 1MOhm, en parallèle avec 10pF
- Entrées protégées contre les surtensions
- Mémorisation de 10 milliards d'échantillons
Installation du logiciel
Télécharger et installer le logiciel, version 1.1.15 (testé sur Win7 64 bits)
Disponible ici http://www.saleae.com/downloads
Brancher l'analyseur sur un port USB (2.0) du PC (winXP, 2000, Win7, Vista, Linux).
"Installation du pilote de périphérique" s'affiche et le périphérique est reconnu automatiquement.
Il apparaît "connected" en haut de l'écran.
.
Brochage de l'analyseur
- ch1 ch2
- ch3 ch4
- ch5 ch6
- ch7 ch8
- gnd gnd
Configuration du programme avant analyse
- Nombre d'échantillons (de 1M à 10 B)
- Fréquence de 25 kHZ à 25 kHz, choisir au moins le double de la fréquence du signal le plus rapide à analyser, et de préférence 10 fois plus pour de bons résultas.
Dans cet exemple, 25 kHz pour un signal "lent" (Carte Arduino uno). - Choisir un mode de déclenchement (sur front montant, état haut, front descendant ou état bas).
L'analyseur attend le signal pour lancer l'acquisition de données.
Exemple d'utilisation
Lancer sur la carte Arduino un petit programme qui fait clignoter 2 leds (pin12 et pin13) avec un délai aléatoire d'allumage et d'extinction.
- Code: Tout sélectionner
// Tutoriel de démonstration
// Utilisation de l'analyseur de signaux logiques
// 8 canaux 24 MHz Saleae logic
//
// C Rolland tiptopboards.com
//
//======================================================
void setup() {
// Configure en sorties la pin 12 et 13
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
//Faire clignoter 2 LED sur pin 13 et 12
//Avec des signaux de pulses de durée aléatoire
digitalWrite(12, LOW); //pin12 OFF
delay(random(10,100));
digitalWrite(13, HIGH); //pin13 ON
int duree_on = random(10,100); //durée aléatoire
delay(duree_on);
digitalWrite(13, LOW); //puis OFF
int duree_off = random(5,250); //durée aléatoire
delay(duree_off);
digitalWrite(12, HIGH); //pin12 ON
delay(5);
}
Analyse : brancher la sonde de signal ch1 sur pin12, et ch2 sur pin13
Relier les masses du montage et de l'analyseur.
Cliquer sur Start de l'analyseur
Quand l'analyseur fonctionne, sa led "On" est allumée rouge en continu, et la seconde led "CH1" clignote selon les transitions du canal ch1.
Analyse du graphe enregistré
Un clic gauche sur le graphe permet de zoomer la courbe, clic droite pour rétrécir (ou touches + et -, ou flèches haut et bas au clavier).
On fait défiler l'enregistrement (scroll) en tirant le graphique (ou flèches gauche et droite).
La largeur des pulses s'affiche dans la fenêtre de droite.
Le menu de droite permet de choisir ce qu'on affiche, par exemple duty cycle, etc..
On peut cliquer sur l'étiquette (ch1 , 0...) pour renommer les signaux explicitement
Créer (en bas à gauche) un onglet (tab) pour garder l'enregistrement et le nommer avant de lancer une nouvelle acquisition (clic sur l'icône "loupe").
On peut lancer un protocole d'analyse (CAN I2C...) et renommer les canaux utilisés (SDA, SCL), l'analyseur va alors rajouter des marqueurs sur le graphe (vert, rouge...) et des annotations automatiques selon ce protocole.
Ceci peut être fait après coup sur un enregistrement terminé.
On peut placer des marqueurs temporels en cliquant sur T1 et T2 et faire glisser des barres verticales. Leur accroche au pulse le plus proche est automatique. Ceci permet de chronométrer des durées = | T2 - T1 |
On peut exporter ses données (export en csv) pour un tableau excel (avec des tabulations par exemple).
On peut sauvegarder sa session de travail dans un ou plusieurs onglets.
Exemple
Les broches pin0 et pin1 (Tx, Rx) échangent des données entre PC/Arduino lors de l'envoi d'un programme dans la carte Arduino.
Leur suivi par l'analyseur montre tous les détails du protocole de communication.
Références
Vidéo de démonstration (en anglais)
http://www.saleae.com/logic16/videos