Bus Pirate 102 tutorial/fr

From DP

Jump to: navigation , search
Language: English  • Español • Français • Русский


bpv3-unbox3

A la demande du peuple, voici la seconde partie du tutorial original Bus Pirate 101 tutorial. Cette fois nous parcourrons l'interface utilisateur du Bus Pirate et montrerons quelques choses basiques telles que les modes de bus, les alimentations électriques, les résistances de pull-up et la saisie de nombres. Même si vous avez déjà travaillé avec le Bus Pirate pendant un moment, vous apprendrez sans doute quelques nouvelles astuces dans ce tutorial d'utilisation détaillée écrit par le premier développeur.

Photo du déballage par Uwe Bannow, merci !

Contents

Entrer dans un mode de bus

* Syntax error, type ? for help
HiZ>W
No mode set, M for mode <<<non autorisé en mode HiZ
HiZ>

Le Bus Pirate démarre toujours en mode haute impédance (HiZ), un mode sûr avec toutes les sorties désactivées. Il est destiné à protéger tout équipement connecté de conditions au dessus de ses spécifications. Si votre terminal est vierge, appuyez sur entrée pour voir l'invite de commande. Tapez '?' pour voir une liste complète du menu d'options et de la syntaxe disponible pour le matériel et le logiciel courants.

HiZ>m <<<configure le mode de bus
1. HiZ
...
4. I2C
...
10. LCD
(1) >4 <<< selectionne I2C (option 4)
READY
I2C>

Nous allons utiliser une EEPROM I2C 24AA (puce de stockage de données) sur la carte 3EEPROM explorer board pour montrer ses caractéristiques. Vous n'avez pas besoin du composant pour poursuivre, vous n'endommagerez rien en suivant ce tutorial sans composant.

'Appuyez sur 'M' pour configure un mode de bus. Choisissez un bus I2C, configurez-le pour le mode logiciel, haute vitesse.

Alimentations

Les alimentations électriques embarquées peuvent être activées en dehors du mode HiZ.

I2C>w<<<éteint l'alimentation électrique
POWER SUPPLIES OFF
I2C>v<<<rapporte les tensions
Voltage monitors: 5V: 0.0 | 3.3V: 0.0 | VPULLUP: 0.0 |
I2C>W<<<allume l'alimentation électrique
POWER SUPPLIES ON
I2C>v<<<rapporte les tensions
Voltage monitors: 5V: 4.9 | 3.3V: 3.2 | VPULLUP: 0.0 |
I2C>

Un 'W' majuscule allume les alimentations électriques embarquées, un 'w' minuscule les éteint. Allumez les alimentations électriques, puis appuyez sur 'v' pour afficher un rapport des tensions d'alimentation.

A noter que 'W' est une syntaxe et non une option du menu, il peut être utilisé avec une autre syntaxe pour basculer l'alimentation au milieu d'opérations de bus complexes.

Résistances de pull-up

Quelques types de bus, tels que l'I2C, nécessitent une résistance pour créer un niveau logique '1' sur le bus. On l'appelle bus à collecteur ouvert ou à drain ouvert. Sans résistance de pull-up, le bus ne lira que des '0'. Certains modes de bus sont à collecteur ouvert uniquement (1-Wire, I2C), la plupart ont une option collecteur ouvert.

I2C>v <<<rapporte les tensions
Voltage monitors: 5V: 4.9 | 3.3V: 3.2 | VPULLUP: 4.9 |
I2C>

Connecter la broche Vpu du connecteur à une tension. Les résistances de pull-up embarquées appliquent la tension connectée sur la broche Vpu aux broches du bus à travers des résistances de 10k ohm. Appuyez sur 'v' et vérifiez que la tension Vpullup montre la tension désirée.

I2C>p <<<configure les résistances de pull-up
1. Pull-ups off
2. Pull-ups on
(1) >2 <<<active
Pull-up resistors ON
I2C>

Appuyez sur 'p' pour configurer les résistances de pull-up embarquées, activez les. Pour en savoir plus, consultez le guide pratique des résistances de pull-up du Bus Pirate.

Macros

Les macros sont des raccourcis pré-programmés. Parmi les macros disponibles existent : interrogation de smart card, scanner d'adresses I2C, sonde JTAG, pont UART transparent, initialisation de LCD et sniffers de bus.

I2C>(0)<<< affiche le menu des macros
0.Macro menu
1.7bit address search
2.I2C sniffer
I2C>(1)<<< macro 1, recherche d'adresse I2C
Searching 7bit I2C address space.
Found devices at:
0xA0(0x50 W) 0xA1(0x50 R)
I2C>

Tapez '0' pour avoir une liste des macros dans n'importe quel mode. Le nombre d'une macro peut être saisi dans n'importe quel format; (0x00) et (0b0) sont aussi des entrées valides pour les macros.

Les composants I2C répondent à une adresse 7 bits. Nous pourrions en trouver l'adresse dans la documentation technique, mais à la place nous utiliserons la macro scanner d'adresses (1). Le Bus Pirate a scanné toutes les adresses possibles et a trouvé le composant à l'adresse 0x50 (0xA0/0xA1).

Si vous n'avez pas de composant I2C connecté pour ce tutorial, le Bus Pirate ne trouvera aucun composant I2C. S'il trouve des composants à toutes les adresses, assurez-vous qu'il y a des résistances de pull-up sur les broches du bus I2C.

En savoir plus sur le scan des adresses I2C.

Saisie de nombres et format

Les nombres peuvent être saisis comme des valeurs binaires, décimales ou hexadécimales, mélangées et comparées, utilisez quoi que ce soit qui correspond à la documentation technique ou à la tâche.

I2C>= <<<convertit les formats des nombres
CONVERT (1) >10 <<<saisit une valeur dans un format
0x0A
10
0b00001010
I2C>

Utilisez le menu '=' pour les conversions de formats. La valeur 10 en décimal est équivalente à 0x0A (HEX) et à 0b1010 (BIN). En savoir plus sur le convertisseur de valeurs.

CONVERT (1) >0x0f
0x0F
15
0b00001111

0x0F est une valeur formatée en hexadécimal. Le 0 de tête est optionnel pour les valeurs inférieur à 0x10, 0xF est aussi valide. Une valeur hexadécimal peut aussi être saisie comme 0h0F, si c'est plus familier.

CONVERT (1) >0b11
0x03
3
0b00000011

0b11 représente la valeur 3 en binaire. On peut la saisir avec ou sans les 0s de tête : 0b00000011, 0b011, etc. En savoir plus sur la saisie des nombres et les affichages de sortie.

Répéter une commande

La plupart des syntaxes peuvent être répétées en ajoutant ':' et une valeur répétée, la valeur répétée peut-être de n'importe quel format de nombre.

I2C>0b10:0x03
WRITE: 0x02 , 0x03 TIMES ACK <<<'0b10' trois fois
I2C>

0b10:0x03 utilise la commande de répétition (:) pour écrire trois fois (:0x03) la valeur 2 (0b10) sur le bus I2C.

I2C>[0xa1 r r r:3]
I2C START BIT
WRITE: 0xA1 ACK
READ: 0x0F ACK<<< lit un octet
READ: 0x0E ACK<<< lit un octet
READ 0x03 BYTES:<<< lit plusieurs octets
0x03 ACK 0x0E ACK 0x02 NACK
I2C STOP BIT
I2C>

'r' est la commande générique pour lire un octet dans tous les modes de bus, elle peut aussi être répétée avec la commande ':' (r:3). La sortie du Bus Pirate est formatée en hexadécimal par défaut, mais vous pouvez la changer en binaire ou en décimal depuis le menu mode de sortie 'o'.

Quand vous êtes prêt

I2C>m<<<menu mode
1. HiZ
...
10. LCD
(1) ><<<HiZ par défaut
Mode selected
HiZ>

Quand vous êtes prêt, appuyez sur 'm'. Le Bus Pirate coupe immédiatement toutes les sorties, les alimentations et les résistances de pull-up pour un nouveau mode. Choisissez 1 (ou appuyez juste sur entrée pour l'option par défaut) pour retourner au mode HiZ.

Aller plus loin

Dans le tutorial Bus Pirate 101 nous avons vu la partie matérielle du Bus Pirate, installé le pilote, et configuré le terminal série. Dans le tutorial Bus Pirate 102 nous sommes entrés dans un mode de bus et avons montré quelques commandes de base.

Maintenant vous êtes prêt à vous interfacer avec quelques composants. La carte 3EEPROM explorer board devrait être un bon point de départ, elle a trois composants EEPROM classiques avec trois bus populaires (1-Wire, I2C and SPI).

Le manuel du Bus Pirate est constamment mis à jour. Vérifiez la référence détaillée du connecteur d'E/S, le guide complet des menus d'options, et les documentations individuelles des modes de bus.

Si vous programmez sur un PC, vous pourriez automatiser votre travail avec un script pour le mode d'[[Bitbang|interface binaire] du Bus Pirate. Il y a un tas d'exemples pour vous démarrer.

Il existe aussi un forum actif du Bus Pirate.