Analyseur logique CY7C68013A
Récemment j'ai acheté ce petit module.
Cette petite carte est sensée servir de base à la réalisation d'un analyseur logique à 16 voies 24MHz.
C'est un clone de la Saleae Logic.
Il existe d'autres modèles sous boîtier offrant une meilleure protection des entrées :
1. PulseView
Je l'ai couplée au logiciel PulseView Sigrok, logiciel permettant de s'interfacer avec une multitude d'appareils de mesure allant de l'analyseur logique à l'oscilloscope en passant par les multimètres, décibel-mètres, etc.Pour l'analyse de signaux, Sigrok permet d'activer divers plugins d'analyse de protocoles :
- UART
- I2C
- SPI
- CAN
- IR NEC, RC-5
- etc.
Ici la procédure d'installation WINDOWS.
Certaines distributions LINUX proposent un package directement installable :
- Debian
- Ubuntu
- Arch Linux
- Slackware
- Fedora
- Gentoo
- openSUSE
sudo apt-get install pulseview
Il existe aussi une procédure d'installation LINUX en partant des sources.
Bonne nouvelle :Une fois installé et lancé ce logiciel reconnaît la carte comme un CYPRESS FX2 :
Avec une carte ARDUINO et un module DS3231 j'ai essayé d'analyser les signaux sur le bus I2C et UART.
Voici le sketch :
#include <Wire.h>
#include <DS3231.h>
DS3231 clock;
RTCDateTime dt;
void setup()
{
Serial.begin(115200);
// Initialize DS3231
Serial.println("Initialize DS3231");;
clock.begin();
// Set sketch compiling time
clock.setDateTime(__DATE__, __TIME__);
}
void loop()
{
dt = clock.getDateTime();
// For leading zero look to DS3231_dateformat example
Serial.print("Raw data: ");
Serial.print(dt.year); Serial.print("-");
Serial.print(dt.month); Serial.print("-");
Serial.print(dt.day); Serial.print(" ");
Serial.print(dt.hour); Serial.print(":");
Serial.print(dt.minute); Serial.print(":");
Serial.print(dt.second); Serial.println("");
delay(1000);
}
1.1. Analyse I2C
Les branchements sont réalisés comme suit :- PB0 de la carte CY7C68013A sur SCL de l'ARDUINO
- PB1 de la carte CY7C68013A sur SDA de l'ARDUINO
- fréquence d’échantillonnage : 2MHz
- nombre d'échantillons : 2 M sample
Ajouter un décodeur I2C à l'aide de la petite icône à droite de la liste de sélection de fréquence d’échantillonnage.
Cliquer sur la flèche I2C venant d'apparaître en bas à gauche et affecter :
- SCL à D0
- SDA à D1
On obtient ceci :
On reconnaît bien l'adresse du DS3231 : 0x68
Ensuite la commande de lecture de l'heure : 0x00
Et enfin les données : 0x47 0x18 0x21 0x3 0x2 0x1 0x19, qui correspondent aux secondes, minutes, heures, jour dans la semaine, jour, mois et année.
Il était bien 21:18:47 au 02/01/2019 au moment de la capture. Ça a l'air de marcher plutôt pas mal.
1.2. Analyse UART
Les branchements sont réalisés comme suit :- PB0 de la carte CY7C68013A sur TX de l'ARDUINO
- PB1 de la carte CY7C68013A sur RX de l'ARDUINO
Ajouter un décodeur UART à l'aide de la petite icône à droite de la liste de sélection de fréquence d’échantillonnage.
Cliquer sur la flèche UART venant d'apparaître en bas à gauche et affecter :
- TX à D1
- RX à D0
On obtient ceci :
On reconnaît bien les caractères envoyés sur la console par le sketch :
Raw data : 2019-1-2 22:12:7[0D][OA]
2. Saleae
Comme le CY7C68013A est un clone de Saleae, il est compatible avec leur application :https://www.saleae.com/downloads/
3. Conclusion
Cette petite carte à 3€ couplée au logiciel Sigrok semble tenir ses engagements et promet de belles analyses de signaux, sans se ruiner.Cordialement
Henri
4. Mises à jour
17/02/2019 : installation pour LINUX à partir de packages2. Saleae
18/08/2019 : Introduction : clone Saleae
Aucun commentaire:
Enregistrer un commentaire