Bus Pirate 102 tutorial/es

From DP

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


bpv3-unbox3

Por petición popular, aquí va la segunda parte del tutorial del Bus Pirate 101 original. En esta ocasión repasaremos la interfaz de usuario del Bus Pirate y mostraremos algunas cosas básicas como los modos de bus, las fuentes de alimentación, las resistencias pull-up y la entrada de números. Incluso si ya lleva tiempo trabajando con el Bus Pirate, podrá aprender trucos nuevos en este tutorial de uso detallado escrito por el desarrollador principal.

Desempaquetando, foto original de Uwe Bannow, gracias!

Contents

Seleccionando un modo de bus

* Syntax error, type ? for help
HiZ>W
No mode set, M for mode <<<no permitido en HiZ
HiZ>

El Bus Pirate arranca siempre en el modo de alta impedancia (HiZ), un modo seguro con todas las salidas deshabilitadas. Su finalidad es proteger cualquier dispositivo conectado de condiciones que excedan su especificación. Si el terminal se encuentra en blanco, presione enter para ver la guia de comandos. Presione '?' para ver una lista completa de opciones de menu y sintaxis disponible para el hardware y software actual.

HiZ>m <<<configura el mode de bus
1. HiZ
...
4. I2C
...
10. LCD
(1) >4 <<< seleccione I2C (opción 4)
READY
I2C>

Usaremos una EEPROM(chip de almacenamiento de datos) 24AA por I2C en la placa 3EEPROM explorer para mostrar algunas características. No necesita el chip para continuar, no estropeará nada siguiendo el tutorial sin un chip.

'Presione 'M' para configurar el modo de bus. Elija el bus I2C, configúrelo en el modo de software, alta velocidad.

Fuentes de alimentación

Las fuentes de alimentación de la placa pueden ser activadas fuera del modo HiZ.

I2C>w<<<fuentes de alimentación apagadas
POWER SUPPLIES OFF
I2C>v<<<lectura del medidor de tensión
Voltage monitors: 5V: 0.0 | 3.3V: 0.0 | VPULLUP: 0.0 |
I2C>W<<<fuentes de alimentación encendidas
POWER SUPPLIES ON
I2C>v<<<lectura del medidor de tensión
Voltage monitors: 5V: 4.9 | 3.3V: 3.2 | VPULLUP: 0.0 |
I2C>

'W' en mayúsculas activa las fuentes de alimentación de la placa, 'w' en minúsculas las apaga. Encienda las fuentes de alimentación, luego presione 'v' para mostrar información sobre la tensión de las fuentes de alimentación.

Tenga en cuenta que W es sintaxis y no una opción de menú, puede ser usada con otra sintaxis para cambiar el estado de las fuentes de alimentación durante una operación de bus compleja.

Resistencias Pull-up

Algunos tipos de bus, como el I2C, necesitan una resistencia para crear un '1' en el bus. Esto de denomina un colector abierto o bus de drenador abierto. Sin las resistencias pull-up, el bus solo lee '0'. Algunos modos de bus son solo de colector abierto (1-Wire, I2C), la mayoría tienen la opción de colector abierto.

I2C>v <<<lectura del medidor de tensión
Voltage monitors: 5V: 4.9 | 3.3V: 3.2 | VPULLUP: 4.9 |
I2C>

Conecte el pin Vpu del conector de E/S (I/O) a algún voltaje. Las resistencias pull-up aplicaran el voltaje conectado al pin Vpu a traves de resistencias de 10Kohm. Presione v y verifique que el voltaje de Vpullup corresponde con el valor deseado.

I2C>p <<<configura las resistencias pull-up
1. Pull-ups off
2. Pull-ups on
(1) >2 <<<activa
Pull-up resistors ON
I2C>

Presione p para configurar las resistencias pull-up de la placa placa, habilitándolas. Para más información, ver la guía practica de las resistencias pull-up del Bus Pirate.

Macros

Las Macros son atajos preprogramados. Algunos de los macros disponibles incluídos: interrogatorio de tarjetas smart card, búsqueda de direcciones I2C, sondas JTAG, puente UART transparente, inicialización de LCD, y bus sniffers.

I2C>(0)<<< despliega el menu de macros
0.Macro menu
1.7bit address search
2.I2C sniffer
I2C>(1)<<< macro 1, búsqueda de direcciones I2C
Searching 7bit I2C address space.
Found devices at:
0xA0(0x50 W) 0xA1(0x50 R)
I2C>

Teclee (0) para obtener una lista de los macros en cualquier modo. El numero de macro puede ser ingresado en cualquier formato, (0x00) y (0b0) son entradas de macro válidas.

Los dispositivos I2C responden a direcciones de 7bits. Podríamos buscar la direccion en la hoja de datos, pero en su lugar usaremos el macro de busqueda de direcciones (1). El Bus Pirate revisa todas las direcciones posibles y encuentra un chip en 0x50 (0xa0/0xa1).

Si no dispone de un chip I2C conectado para este tutorial, el Bus Pirate no encontrará dispositivos I2C. Si encientra dispositivos en todas las direcciones, asegúrese de que se encuentren conectadas las resistencias pull-up en los pines del bus I2C.

Lea más acerca de la búsqueda de direcciones I2C.

Entrada numérica y formatos

Los números pueden ser ingresados como valores binarios, decimales, o hexadecimales, mezclados y de un solo tipo, use lo que mejor se ajuste a la hoja de datos o trabajo.

I2C>= <<<convierte el formato de número
CONVERT (1) >10 <<<ingrese valores en cualquier formato
0x0A
10
0b00001010
I2C>

Use el menu '=' para convertir entre formatos. El 10 decimal es equivalente a 0x0a (HEX) y 0b1010 (BIN).Más acerca de la conversión de datos.

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

0x0f es un valor con formato HEX. El 0 al inicio es opcional para valores menores de 0x10, 0xf es también válido. Los valores HEX también puedes ser ingresados como 0h0f, si resulta más familiar.

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

0b11 es un 3 binario. Puede ser ingresado con o sin zeros (0) de prefijo: 0b00000011, 0b011, etc. Más acerca de la entrada de números y visualización de salida.

Comando Repeat

La mayor parte de la sintaxis puede ser repetida agregando ':' y un valor de repetición, el valor de repetición puede estar en cualquier formato.

I2C>0b10:0x03
WRITE: 0x02 , 0x03 TIMES ACK <<<'0b10' tres veces
I2C>

0b10:0x03 usa el comando repetir (:) para escribir 2 (0b10) al bus I2C tres veces (:0x03).

I2C>[0xa1 r r r:3]
I2C START BIT
WRITE: 0xA1 ACK
READ: 0x0F ACK<<< lee un solo byte
READ: 0x0E ACK<<< lee un solo byte
READ 0x03 BYTES:<<< lee multiples bytes
0x03 ACK 0x0E ACK 0x02 NACK
I2C STOP BIT
I2C>

r es el comando genérico para leer un solo byte en todos los modos de bus, tambien puede ser repetido con el comando ':'. La salida del Bus Pirate esta en formato HEX por defecto, pero puede ser cambiada a binario o decimal desde el menu de modo de salida 'o'.

Cuando hayas acabado

I2C>m<<<menu de modo
1. HiZ
...
10. LCD
(1) ><<<HiZ por defecto
Mode selected
HiZ>

Cuando hayas acabado, presiona 'm'. El Bus Pirate inmediatamente desconectará todas las salidas, fuentes de alimentación y resistencias pull-up, y esperará a un nuevo comando. Elija 1 (o presione enter para la opción por defecto) para volver al modo HiZ.

Yendo más lejos

En el tutorialBus Pirate 101 revisamos el hardware, instalamos los drivers, y configuramos el terminal serial. En el Bus Pirate 102 cubrimos un modo de bus y demostramos algunos comandos básicos.

Ahora estas listo para comunicar algunos dispositivos. La placa 3EEPROM explorer puede ser un buen lugar por donde comenzar, contiene 3 chips EEPROM comunes con tres buses populares (1-Wire, I2C and SPI).

El manual del Bus Pirate se actualiza continuamente. Revise la guía de referencia de pines de E/S (I/O) expandida, la guía de opciones de menu completa, y la documentación de los modos de bus individuales.

Si programa en PC, puede automatizar el trabajo con scripts para el Bus Pirate binary interface mode. Existenmuchísimos ejemplos para que puedas comenzar.

Existe tambien el activo foro del Bus Pirate.