Cómo hacerlo: Bus Pirate V1, interfaz serial universal mejorada

Usamos el Bus Pirate para interconectar un nuevo chip sin escribir código o proyectar una PCB. Basándonos en sus comentarios y nuestra experiencia con el uso del Bus Pirate original para demostrar varias partes, hemos actualizado el diseño con nuevas características y artículos más económicos.

También hay una actualización de firmware para ambas versiones del hardware Bus Pirate, con correcciones, y un decodificador de teclado AT para computadora. Eche un vistazo a la nueva página de Hack a Day Bus Pirate y explore el código fuente de Bus Pirate en nuestro repositorio de código SVN de Google.

Discutimos las actualizaciones del proyecto y la interfaz del convertidor digital a analógico a continuación.

Resumen de conceptos


The Bus Pirate comenzó como una colección de fragmentos de código que usamos para probar nuevos chips sin ciclos de desarrollo interminables de un programa de compilación. Lo lanzamos de alguna manera y lo usamos para mostrar un montón de circuitos integrados de interfaz en serie en nuestras partes. Este artículo presenta un diseño actualizado con nuevas funciones y muchas mejoras.

  • Diseño de montaje en superficie
  • Resistencias de tensión en todas las líneas de bus con fuente de tensión externa
  • Fuentes de alimentación reconfigurables por software de 3,3 y 5 voltios
  • Monitoreo de voltaje de todas las fuentes de alimentación
  • Sonda de medición de tensión externa
  • Piezas más baratas
  • Hardware

    Haga clic para obtener una imagen esquemática de tamaño completo (PNG). El circuito y la PCB están diseñados con la versión gratuita de Cadsoft Eagle. Todos los archivos de este proyecto se incluyen en el archivo del proyecto vinculado al final del artículo.

    Microcontrolador

    En este proyecto utilizamos el microcontrolador SOIC de 28 pines Microchip PIC24FJ64GA002 (IC1). Los pines de alimentación tienen condensadores adicionales de 0.1uF a tierra (C1,2). El regulador interno de 2.5 voltios necesita un capacitor de tantalio de 10uF (C20). El parche está programado con un título de cinco pines (ICSP). Se requiere una resistencia de voltaje de 2K (R1) para la función MCLR en el pin 1. Lea más sobre este chip en nuestra introducción de PIC24F.

    Radio RS-232

    Una radio MAX3232CSE RS232 (IC2) de bajo costo conecta el PIC a un puerto serie de la computadora. Este chip reemplaza el costoso rendimiento MAX3223EEPP + utilizado en la versión anterior del Bus Pirate. La interfaz en serie funcionará con un adaptador USB-> serie.

    Resistencias de tracción de bus


    El Bus Pirate original tiene resistencias de voltaje de 3 voltios en 2 pines, pero la mayoría de nuestras pruebas requirieron resistencias externas adicionales. El diseño actualizado tiene resistencias de voltaje (R20-23) en las tres señales del bus principal (entrada de datos, salida de datos, reloj) y el chip seleccionado (CS).

    Una fila de puentes (SV5) conecta cada resistencia a un voltaje externo suministrado a través del terminal Vext (X4). Las resistencias de orificio pasante se utilizan como cables para facilitar la PCB en el hogar.

    No pudimos encontrar una manera elegante de controlar una matriz de resistencia de tracción de voltaje arbitraria de un microcontrolador de 3.3 voltios. Si tiene ideas, compártalas en los comentarios.

    Suministro de electricidad

    VR1 es una fuente de 3.3 voltios para el microcontrolador y transceptor RS232. VR2 es un suministro de 5 voltios. Ambos requieren dos condensadores de derivación de 0,1 uF (C3-C6). J1 es un conector de fuente de alimentación para un enchufe cilíndrico CC común de 2,1 mm. 7-10 voltios CC es probablemente el rango de fuente de alimentación ideal.

    El Bus Pirate original tenía dos fuentes de alimentación, 3,3 voltios y 5 voltios, por lo que la mayoría de los circuitos integrados podían interconectarse sin una fuente de alimentación adicional. Una gran frustración fue la falta de un reinicio potente para los chips conectados. Si un IC mal configurado necesitaba ser electrociclado, teníamos que desconectar un cable. Estábamos tan cansados ​​de esta rutina que agregamos un reinicio controlado por software al diseño actualizado.

    VR3 (3.3 voltios) y VR4 (5 voltios) son reguladores de voltaje TI TPS796XX con un interruptor de habilitación. Avanzado en el pin 1 habilita el regulador. La resistencia de extracción (R13, R12) asegura que los reguladores se apaguen cuando el PIC no está impulsando activamente la línea, como durante el arranque. La hoja de datos especifica un condensador fuerte en los pines de entrada (C23, C21) y salida (C24, C22), usamos el mismo tantalio de 10uF que usamos en todas partes. Un condensador opcional adicional de 0,1 uF (C12, C11) puede mejorar la regulación.

    Los reguladores conmutables funcionan con VR2, suministro de 5 voltios. Hicimos esto porque la entrada máxima para VR3 y VR4 es de 6 voltios, lo que deja al dispositivo con un rango de suministro de energía estrecho de 5,2 a 6 voltios. VR2 funcionará a más de 10 voltios y proporcionará un suministro adecuado para los otros reguladores.

    VR3 (3,3 voltios) tiene mucha capacidad para funcionar con un suministro de 5 voltios. VR4 (5 voltios) perderá alrededor de 0,2 voltios, pero 4,8 voltios se mantienen dentro del rango aceptable para la mayoría de los chips de 5 voltios. Prácticamente, y bajo cargas ligeras, vemos que menos de 0,1 voltios salen del VR4.

    Monitoreo de voltaje


    El monitoreo de voltaje es una característica nueva que nos entusiasma mucho. ¿Alguna vez su proyecto ha dejado de responder misteriosamente debido a un cortocircuito accidental? Las fuentes de alimentación del Bus Pirate están equipadas con monitoreo de voltaje que puede detectar un cambio en los niveles de energía.

    Cada señal monitoreada está conectada a un convertidor de analógico a digital (ADC) a través de un divisor de voltaje de resistencia. Dos resistencias de 10K (R10, R11 arriba) dividen el voltaje de entrada a la mitad, lo que permite medir hasta 6,6 voltios con el microcontrolador PIC de 3,3 voltios.

    El Bus Pirate tiene cuatro monitores de voltaje. Se controlan las fuentes de alimentación de 3,3 voltios y 5 voltios, al igual que el voltaje externo que se alimenta a las resistencias de voltaje. Una cuarta pantalla está conectada al pin 9 del encabezado de salida para hacer una sonda de voltaje.

    tarjeta de circuito impreso


    Haga clic para ver el diagrama de ubicación completo (PNG). La placa es como un diseño de una cara, grabamos la nuestra en el laboratorio en una PCB fotorresistente de una cara. Arriba, cerca de C13, dos cables de salto se encuentran en un camino; Soldamos un alambre de salto al otro en el tablero trasero.

    Lista de

    ParteValor
    IC1PIC24FJ64GA002 (SOIC)
    IC2MAX3232CSE (SOIC-N)
    VR1LD1117S33 Regulador de 3,3 voltios (SOT223)
    VR2Regulador LD1117s50 de 5 voltios (SOT223)
    VR3TPS79633 Regulador de 3,3 voltios (SOT223-6)
    VR4Regulador TPS79650 de 5 voltios (SOT223-6)
    C1-13Condensador 0.1uF (0805)
    C20-24Condensador de tantalio de 10uF (SMC A)
    R1Resistencia de 2000 ohmios (0805)
    R2.3Resistencia de 390 ohmios (0805)
    R4-13Resistencia de 10000 ohmios (0805)
    R20-232.2K – Resistencia de 10K ohmios (orificio pasante)
    LED1,2LED (0805)
    J1Toma de corriente de 2,1 mm
    X2, X4soporte de tornillo (2 terminales) * sin probar
    X3Conector de puerto serie hembra db9 * no probado
    ICSPTítulo de pin de 0,1 ″, recto
    SV4Encabezado de pin de 0.1 ″ o encabezado velado
    SV5Título de pin de 0,1 ″, recto

    Firmware

    El firmware está escrito en C utilizando la versión de prueba gratuita del compilador PIC C30. Aprenda todo sobre cómo trabajar con este PIC en nuestra introducción a la serie PIC 24F.

    El último firmware está publicado en la página Pirate Day Bus Pirate. La última fuente se puede encontrar en nuestro repositorio SVN de Google Code.

    Usándolo


    El diagrama de arriba muestra el bus pirata.

    Creamos un cable con pinzas de cocodrilo al final y agregamos etiquetas a cada cable, por lo que no tenemos que consultar esta tabla cada vez que conectamos un nuevo chip.

    Si conoce conectores o cables geniales, conéctelos en los comentarios.

    Convertidor de voltaje digital a analógico LTC2640 SPI

    El Linear Technology LTC2640-LZ8 es un convertidor de digital a analógico (DAC) de 8 bits programado con SPI. DAC es básicamente un divisor de voltaje programable. Se utilizan para recrear formas de onda, como señales de sonido. 8bit-DAC tiene 255 pares de intervalos entre 0 y el voltaje de referencia, la parte L que usamos tiene una referencia interna de 2.5 voltios.

    El LTC2640 solo viene en un paquete pequeño SOT223-8, por lo que creamos un adaptador de placa en el perfil de chip DIP-8. Nuestra huella LTC2640 se incluye en el archivo del proyecto adjunto al final de este artículo.

    El diagrama de arriba muestra nuestro circuito de prueba para el LTC2640. Requiere una fuente de alimentación de 2.7-5 voltios, usamos la fuente de 3.3 voltios del Pirate Bus. C1 es un condensador cromangial entre el pin de alimentación y tierra. El pin 8 es un pin de reinicio activo bajo, átelo alto para un funcionamiento normal. El pin 7 es la salida DAC, conecte aquí la sonda de medición de voltaje Pirate Bus (ADC).

    Bus pirataLTC2640 (número de pin)
    MOSISDI (3)
    RELOJSCK (2)
    CSCS / LD (1)
    ADCVotar (7)
    + 3,3 voltiosCLR (8)
    + 3,3 voltiosVDD (5)
    GNDTIERRA (4)

    Conectamos el Bus Pirate al LTC2640 como se muestra en la tabla. El LTC2640 no tiene un pin de salida de datos, esta conexión SPI permanece sin usar.

    La biblioteca SPI de Bus Pirate y el hardware RAW3WIRE son compatibles con la interfaz SPI del LTC2640. Usamos la biblioteca SPI; si está utilizando la biblioteca RAW3WIRE, asegúrese de seleccionar salida de pin normal.

    HiZ> m

    1. hola
    2. 1 HILO
    3. UART
    4. I2C
    5. SPI
    6. JTAG
    7. RAW2WIRE
    8. RAW3WIRE
    9. Computadora en el teclado
    MODO> 5

    900 MODARO
    Velocidad fijada:
    1. 30 KHz
    2. 125 KHz
    3. 250 KHz
    4. 1 MHz
    VELOCIDAD> 1


    102 SPI LISTO
    SPI>

    Presione M para el menú Bus Pirate, seleccione 5 para el modo SPI. Hay un conjunto de opciones de configuración para el módulo SPI, use las opciones predeterminadas para todos. Una vez que el modo SPI está listo, necesitamos configurar la fuente de alimentación.

    SPI> p

    ¿Con interruptor de alimentación de 3,3 voltios?
    1. NO
    2. SI
    MODO> 2

    ¿Encendido el suministro de 5 voltios?
    1. NO
    2. SI
    MODO> 1

    9xx PROPUESTA CONFIGURADA, UTILICE N / A PARA CONVERTIRSE
    9xx MONITOR DE VOLTAJE: 5V: 0.0 | 3,3 V: 0,0 | VPULLUP: 0.0 |
    SPI>

    p abre el menú Bus Pirate. Usamos el suministro de 3.3 voltios pero no el de 5 voltios. El monitor de voltaje comprueba que las fuentes de alimentación estén apagadas.

    SPI> W

    9xx 3.3VOLTA PROPUESTO EN
    SPI> v

    9xx MONITOR DE VOLTAJE: 5V: 0.0 | 3,3 V: 3,3 | VPULLUP: 0.0 |
    SPI>

    Capital ‘W’ habilita cualquier fuente de alimentación seleccionados en el menú anterior, una pequeña “w” los desactiva. V muestra el monitor de voltaje de suministro, que ahora muestra 3.3 voltios fuera del suministro de 3.3 voltios.

    Ahora que la configuración está terminada, podemos enviar comandos al LTC2640 a través del bus SPI. El LTC2640 tiene una interfaz de 24 bits (3 bits). El primer byte es un comando, seguido de dos bytes de datos. El LTC2640 está disponible en versiones de 8, 10 y 12 bits; la versión de 8 bits usa el primer byte para establecer el valor DAC e ignora el segundo byte.

    SPI>[0b00110000 255 0]

    110 SPI CS HABILITADO
    120 ESCRITURA SPI: 0x30

    120 ESCRITURA SPI: 0xFF

    120 ESCRITURA SPI: 0x00“No me importa.”

    140 CS deshabilitado
    SPI>

    Cada comando SPI comienza habilitando el pin de selección de parche ([). The first byte is the command to update the DAC (0b00110000), followed by the value to output (255), and a third byte that’s ignored (0). The command ends by disabling chip select (]).

    Usamos 8bit-DAC con 255 pasos de voltaje pares, la salida configurada en 255 es 100%. Podemos usar la encuesta de voltaje pirata del bus para medir la salida.

    SPI> d

    SONDA DE SONDA 9xx: 2.5VOLTS

    SPI>

    D activa la medición de voltaje. El voltaje de salida del DAC es el 100% (255/255) de la referencia interna, 2,5 voltios.

    SPI>[0b00110000 0 0] D
    110 SPI CS HABILITADO
    120 ESCRITURA SPI: 0x30

    120 ESCRITURA SPI: 0x00

    120 ESCRITURA SPI: 0x00“No me importa.”

    140 CS deshabilitado
    SONDA DE VOLTA 9xx: 0.0VOLTS

    SPI>

    El mismo comando con un valor DAC de 0 produce 0% (0/255) de 2,5 voltios; 0 voltios.

    SPI>[0b00110000 128 0] D
    110 SPI CS HABILITADO
    120 ESCRITURA SPI: 0x30

    120 ESCRITURA SPI: 0x80

    120 ESCRITURA SPI: 0x00“No me importa.”

    140 CS deshabilitado
    SONDA DE SONDA 9xx: 1.2VOLTS

    SPI>

    Un valor DAC de 128 es aproximadamente el 50% (128/255) del voltaje de referencia, 1,2 voltios.

    SPI>[0b01000000 0 0] D
    110 SPI CS HABILITADO
    120 ESCRITURA SPI: 0x40

    120 ESCRITURA SPI: 0x00“No me importa.”

    120 ESCRITURA SPI: 0x00“No me importa.”

    140 CS deshabilitado
    SONDA DE VOLTA 9xx: 0.0VOLTS

    SPI>

    El LTC2640 tiene un modo de bajo consumo, activado por el comando 0b01000000 y se ignoran dos bytes. Después del comando de mal funcionamiento, podemos verificar que haya una salida del DAC. Anote cualquier valor de DAC para salir del modo de bajo consumo.

    Conduciéndolo

    ¿Cuál es el siguiente paso para Bus Pirate? Finalmente haremos una actualización final del diseño, que incluye USB en una PCB de doble cara fabricada profesionalmente. Se proporcionaron indicadores de fuente de alimentación para esta versión, pero no se incluyeron. También sería conveniente tener un conector de teclado AT para depurar sin una computadora. Eche un vistazo a la hoja de ruta y las listas de deseos en la página Pirate Day Bus Pirate.

    Descargar: buspirate.v1a.zip

    • Cirictech dice:

      Para pensar hoy, ordené todas las piezas por primera vez seis. Bueno, gracias por todo el esfuerzo en este proyecto que tenía la intención de construir algo como esto por un tiempo.

    • error 404 dice:

      ¿Por qué cambiar los retiros fue un problema tan grande? ¿Cuál fue el problema con solo usar el interruptor habitual de un transistor?

    • Pregunta dice:

      ¿Dónde compro uno? ¿Puedes enviar este proyecto a SparkFun o cualquier cosa y pedirles que lo saquen?

    • Automóvil club británico dice:

      solicitud: decodificación can y lin-bus. debería ser bastante fácil porque i2c ya ha terminado.

    • Ian Lesnet dice:

      @cirictech – Odiamos cuando eso sucede. En el lado positivo, ambas versiones usan la misma base de código fuente, por lo que aún obtienes los nuevos protocolos y errores.

      @ error404 – Nuestro primer proyecto tiene dos extractos de 3.3 voltios en las líneas de señal SDA y SCL. A menudo teníamos que agregar resistencias de voltaje externas a las líneas de voltaje de hasta 5 voltios, o usar otras líneas de señal (por ejemplo, SPI).

      El nuevo proyecto tiene un conjunto de resistencias conectadas a una fuente de voltaje externa mediante puentes. Ahora podemos usar las resistencias integradas para subir / bajar cada línea de señal a cualquier voltaje que no freirá el PIC.

      ¿Podrías profundizar un poco más en el uso de un interruptor de un solo transistor en este proyecto?

      @aa: agregamos LIN a la lista de deseos, CAN ya se ha incluido. ¿Puede sugerir algunos chips divertidos que podamos usar para crear prototipos de estas bibliotecas?

    • Hackius dice:

      ¿Cómo se supone que vamos a hacernos con tantos componentes SMD?

      ¿Puedo entender la soldadura de SMD-PIC pero SMD-LED? Imposible.

    • Ian Lesnet dice:

      @hackius: también hay una versión de orificio pasante del hardware Bus Pirate.

    • Si1entDave dice:

      ¿La compatibilidad con CAN y ODBII requerirá una nueva revisión de la placa o es solo firmware? Con mucho gusto empezaría a jugar con uno de estos, pero prefiero esperar a la próxima revisión de una placa si es necesario para CAN.

      Además, +1 a la herramienta de esperanza de que alguien lo haga 🙂

    • CazH dice:

      @hackius

      Realmente no es tan difícil luchar contra SMD, y si realmente tiene problemas con él, tal vez un proyecto tan avanzado no sea adecuado para usted.

      CazH

    • lwr dice:

      ¡Esto luce genial! Ian, ¿qué es la licencia de propiedad intelectual aquí?

      es decir, si modifico la tabla o el código, ¿puedo distribuir la modificación? Y si quisiera crear equipo, ¿puedo hacerlo? ¿Puedo cobrar por ellos? ¿Costo o beneficio?

      Tenga en cuenta que * no * me propongo hacer nada de esto, pero me pregunto por qué aquellos que sí saben cuál es su posición. Y tal vez el resto de nosotros podamos conseguir equipo más rápido 🙂

    • Génesis dice:

      Dado que ya está utilizando componentes smd, ¿por qué no agregar ft232 USB a un convertidor en serie facilitaría las cosas a las personas que no tienen puertos serie “reales”.

    • Génesis dice:

      Y mientras estoy en eso, usar el puerto USB permitiría que el bus pirata sea alimentado directamente por el USB, lo que haría que el bus pirata sea aún más flexible.

    • Hackius dice:

      Ian: Gracias, no me di cuenta de que esta vez se trataba del software.

      cazh: Oh, por favor. El hecho de que no me guste hacer trampa con componentes SMD porque no tengo manos firmes no significa que sea menos capaz. He proyectado con SMD para las cosas que van a la fábrica, pero para mis proyectos de hobby (incluida la seguridad de mi hogar) siempre es un DIP para mí.

    • error 404 dice:

      @ian:

      Tuve la impresión de que desea poder activar o desactivar las extracciones del programa, por lo que el diseño es más flexible con protocolos que requieren una interfaz de tres estados. Usar un GPIO (o 4) y un transistor para cambiar el suministro (externo) a la matriz de voltaje le daría esa opción.

    • Ian Lesnet dice:

      @ Si1entDave: los nuevos protocolos no requieren hardware nuevo, pero pueden requerir un receptor de radio externo según la implementación de la capa física. RS232, RS485 e IDX son ejemplos.

      Nos gustaría manejar ODBII pero no tenemos hardware con el que trabajar. ODBII son varios protocolos y diferentes capas físicas que necesitan un transceptor.

      CAN se convirtió en un protocolo obligatorio para el diagnóstico automático en los Estados Unidos en 2008, y ya se ha extendido en Europa. También tiene muchos otros usos. CAN se utiliza en un conjunto de diferentes capas físicas. El MCP2515 es un controlador CAN 2.0B con una interfaz SPI. Funcionaría con la biblioteca SPI o RAW3WIRE de Bus Pirate. Es posible que necesite incluso una radio adicional entre el MSP2515 y el bus CAN final, dependiendo de con qué desea interactuar.

      Estos son solo nuestra impresión general después de investigar cada protocolo. De ninguna manera nuestra búsqueda fue exhaustiva, y damos la bienvenida a más relatos y explicaciones.

    • Ian Lesnet dice:

      Esta es una gran discusión sobre radios para protocolos ODBII.

    • RJSC dice:

      @ CazH

      Soldar SMD no es tan difícil, pero grabar una PCB en casa con huellas y almohadillas tan pequeñas a través de la transferencia de tóner es bastante difícil.

      Además, mi tienda de electrónica local no tiene stock de SMD, solo acepta pedidos (con el costo adicional).

      Además, ¿no es la versión del orificio del canal una versión anterior del hardware?

    • Jim dice:

      @Ian Lesnet

      Tal vez sea un poco más básico de lo que estaba buscando, pero aquí hay un boceto de una página de un interruptor de transistor con jamón.
      http://www.rason.org/Projects/transwit/transwit.htm
      Cubre las bases del interruptor lateral alto y bajo.

      Se puede usar un transistor Darlington de modo que solo se necesite una corriente muy pequeña en la base para hacer que el dispositivo se encienda, lo que permite corrientes de conmutación más altas y una impedancia de salida baja.

      Jim

    • cara de pedo dice:

      Soldar piezas SMD es fácilmente letal. Dejé las piezas DIP desagradables hace mucho tiempo.

      Necesita obtener un rastro y las herramientas y comenzar a soldar SMD. Puedo soldar cualquier pieza SMD sin esfuerzo. Demasiados “piratas informáticos” dicen que es imposible porque en realidad no saben nada sobre electrónica y piensan las cosas con un gatillo gigante y piensan que lucha. Noobs.

    • rojo dice:

      Estoy considerando hacer mi propia versión de esta placa. Creo que puedo hacerlo lo suficientemente pequeño hasta el punto en que pueda conectarse a la parte superior de una placa y hacer conexiones con ambos rieles y darle algunas conexiones automáticas en la placa. Incluso podría incluir algunos reguladores de interruptores ajustables para generar los rieles de energía de una verruga de pared de 5-9v o algo similar.

      ¿Estarían interesados ​​en uno de esos?
      Debido a la naturaleza de hacer un tablero de computadora a través de mi fabulosa casa, terminaría con varios tableros y no me molestaría en realizar extras si alguien me los quiere comprar.

    • escalador dice:

      Estoy de acuerdo con la comodidad de los SMD. Lo único que necesita para soldar la mayoría de los SMD (excepto BGA) es un pico delgado y un poco de mecha de soldadura. No necesitas manos firmes, buena visión, aire caliente, etc. Pegar ayuda pero no es necesario. Incluso hice QFNs De este modo. Una vez que se acostumbre a SMD, nunca volverá. No más taladrar agujeros, doblar riendas, enderezar inmersiones, etc.

    • Seto dice:

      ¿Podría pensar en un proyecto con una placa soldada, una placa de tiras o similar desde la computadora de la estantería para que no tengamos que molestarnos en crear una computadora personalizada?

    • BiOzZ dice:

      si alguien hace uno y quiere o gana 2, pagaré el segundo … envíeme un correo electrónico a hvhaxor@gmail.com si está dispuesto a hacer uno para mí, por favor …

    • Hackius dice:

      @trolls: Todos estamos impresionados con los enormes penes que obviamente tienes porque trabajas con SMD. Allí trabajaré en proyectos reales y no en laúd.

      ¿Los programas restablecerán las fuentes de alimentación también en la versión de inmersión?

    • Ian Lesnet dice:

      @hackius – No, los reguladores de voltaje recargables TPS796xx solo vienen en SMD. Desafortunadamente, muchas de las últimas piezas nuevas solo están disponibles ahora en paquetes de montaje en superficie. Alguien podría sugerir un reemplazo. La versión original de orificio pasante del Bus Pirate no tiene las mismas características, pero se compromete a ser un diseño completamente pasante.

      @jim, error404 – Gracias a ambos por elaborar. Consideramos un interruptor de lado alto (transistor PNP), pero agregar cuatro transistores sot-23 y 4-8 resistencias adicionales al diseño hizo que la PCB fuera un prototipo en el laboratorio. Un tablero profesional de 2 caras resolvería ese problema.

      @lwr: los proyectos de dispositivos son de dominio público, pero siempre es bueno si publica mejoras y nuevas ideas en la comunidad.

      Nuestro código es de dominio público, pero aparece como BSD en Google Code porque no era una opción de PD.

      Hay dos bibliotecas de código escritas por otros autores que pueden tener diferentes licencias (desarrollador JTAG, I2C), aunque se eligieron porque se suponía que eran de dominio público. Hemos comprobado la licencia de estas bibliotecas, pero ofrecemos este descargo de responsabilidad obligatorio: si realmente importa, publíquelo con un abogado.

    • JC dice:

      @ian, error404

      ¿Qué hay de usar un interruptor analógico cuadrado en lugar de los PNP? Es un poco mortal para esta aplicación, pero están disponibles en paquetes soic que podrían ayudar con la configuración.

      Algo similar al 4066 común funcionaría, pero aún se necesitarían estiramientos en las entradas de control.
      http://www.fairchildsemi.com/ds/CD/CD4066BC.pdf

      Un dispositivo más caro como el MAX4614 debería ser directamente compatible con las salidas PIC24.
      http://datasheets.maxim-ic.com/en/ds/MAX4614-MAX4616.pdf

    • Pastus dice:

      Sugiero este conector de prueba para hacer la conexión entre la placa y el circuito bajo prueba.

      http://it.farnell.com/pomona/4233-5/sonda-micrograbber-verde/dp/4435590

    • corazón dice:

      Hola,

      ¿Alguien tiene problemas para verificar la fuente de Google?

      Aparece “http://the-bus-pirate.googlecode.com/svn/trunk”, no hay errores. Probé muchos combos, pero por desgracia …

      Me encanta intentar importarlo a AVR … (mega2561)

    • clint dice:

      Actualmente estoy trabajando en una computadora para usar el chip FT232 y el USB para el bus pirata en lugar de la interfaz RS232 de la vieja escuela. Como lo muestra Genesis, debe poder ser alimentado por el puerto USB.

      No soy un experto en diseño de PCB y microcontroladores, así que, ¿alguien (¿alguno?) ¿Quiere revisar mi proyecto si lo publico en alguna parte?

    • Ian Lesnet dice:

      @clint

      Claro, solo publique un enlace a los archivos.

      La solución FT es buena, pero cara. Consideramos usar un segundo 18F2550 para la interfaz USB porque es más barato y viene en un paquete SMD más grande.

    • Alessandro dice:

      No entendí cuál es el valor correcto para la resistencia de voltaje (r20, r21, r22, r23)
      ¿Alguien puede decirme algo?

      Gracias

    • Ian Lesnet dice:

      @alessandro: cualquier valor entre 2K y 10K generalmente funcionará. Depende de la aplicación.

    • Alessandro dice:

      @ian lesnet
      Muchas gracias. ¿Puede sugerir un valor que sea más apropiado? Perdón por la pregunta estúpida, pero nunca he trabajado con el bus i2c, spi, etc.

      Gracias de nuevo

    • Ian Lesnet dice:

      Prueba 2.2K.

    • clint dice:

      Oye, fui con 10k. Veremos como funciona. Acabo de terminar mi BusPirate v1.0 esta tarde, programé el PIC, habla, ¡y estoy listo para atar mi primera parte! También puntúe uno en las inspecciones previas a la operación. Olvidé el maillot corto que conecta los movimientos de tierra. Eso y un microscopio USB que muestra algunos puentes de micropréstamos.

      ¡No fumar! ¡W00t!

      Usó el método de transferencia de tóner para crear la placa. Este y el método de la esponja de FeCl para grabar.

      Pronto publicaré la idea de mi proyecto de computadora para USBusPirate.

      ¡Gracias Ian!

    • Robar dice:

      Para probar cosas SPI, hay un dispositivo USB / SPI que se vende en CircuitGizmos.com: U401 o U421.

    • llamas laterales dice:

      Oye, comencé mi tablero hoy. Sin embargo, existe un problema al utilizar un adaptador de serie USB.
      Las claves no están asignadas correctamente
      p.ej. presionar “m” da como resultado la impresión de “l” en una pantalla. ‘1’ va a ‘0’, ‘3’ va a ‘2’ y así sucesivamente.

      Utilizo un hiper terminal, la placa funciona bien con un puerto serie estándar y este adaptador serie USB ciertamente funciona (usándolo en otro proyecto)

      ¿Alguna idea?

    • Ian Lesnet dice:

      Suena como un desajuste de ritmo rápido. La velocidad predeterminada del Bus Pirate es 115200bps, que también es utilizada por muchos convertidores USB-> serie.

      Verifique el programa de terminal y los controladores de configuración para asegurarse de que todo esté configurado en 115200/8 / N / 1. Otro programa de terminal también podría ayudar, usamos la versión gratuita Ayera de Tera Term.

    • llamas laterales dice:

      @ian: gracias por la información, desafortunadamente no resolvió el problema. Mi teoría es que el problema radica en un MAX3232CSE dañado. Yo uso MAX3232CSE +, ¿crees que eso podría cambiar?

    • Ian Lesnet dice:

      @sideblazs – Lo dudo. Si funciona a través de la puerta de serie, probablemente funcione. Tendré que pensarlo un poco más.

    • Ian Lesnet dice:

      … puede intentar configurar su terminal o los ajustes de control de flujo del controlador (a ninguno). También puede configurar la velocidad de Bus Pirate (opción de menú B) y luego conectar el adaptador USB para ver si funciona.

      ¿Has probado algo que no sea hiperfino? Es notoriamente con errores.

    • llamas laterales dice:

      @ian: el control de flujo se establece en ninguno para todo el proceso de prueba. Probé un término básico pero esto no resolvió el problema. También probé el dispositivo con un adaptador USB-> serial alternativo y noté el mismo problema.
      Tengo acceso a una computadora con un puerto serie en mi laboratorio (en el trabajo), así que intentaré cambiar la velocidad en baudios mañana.

    • Alessandro dice:

      Hola, todos
      Tengo un problema al programar la imagen.
      Yo uso un clon icd2 (www.sivava.com)
      Icd2 funciona correctamente (si conecto 16f876a, se conecta correctamente)

      Construí el cable icsp correctamente:

      rj11
      1 MCRL
      2 VDD (3,3 V)
      3 TIERRA
      4 DATOS
      5 RELOJ
      6 NO UTILIZADO

      También operé el circuito; pero si voy al desarrollador -> configuración en mplab, solo el éxito de la prueba de MCLR gnd. Los demás son bajos.

      También el objetivo vdd y el objetivo vpp son 0 V

      ¿Qué pasa con mi circuito? También me burlo de la alimentación y en el pin 13 y 28 de la foto tengo 3.3 V y también en el pin 1 cuando se desconecta el cable ICSP tengo 3.3

      ¡Por favor, ayúdame!

      Gracias

    • Ian Lesnet dice:

      @Alessandro –

      Así que conectas la fuente de alimentación al Bus Pirate y obtienes 3.3 voltios en los pines VDD y MCLR. Eso suena bien.

      ¿Puede probar los pines del cabezal ICSP con un multímetro para asegurarse de que tiene 3.3 voltios en VDD y MCLR sin el programador conectado? ¿Qué sucede cuando inserta el programador (nuevamente, una prueba manual y no el informe MPLAB)? ¿La energía cae a 0 cuando luego conecta el cable ICSP? Eso sería extraño.

      Si creó la placa usted mismo, ¿tiene instalados los dos puentes de alimentación? ¿Uno es de arriba de C1 a arriba de C13, y el otro de arriba de C21 al mismo camino arriba de C13?

    • Alessandro dice:

      @ ian lesnet

      Primero gracias por la rápida respuesta.

      Mordí todo lo que me sugieres.
      Lo único que no está en orden es el mcrl.
      Cuando conecto el cable icsp al icd, el mcrl pasa a 0 voltios. Entonces parece que la imagen no vuelve a aparecer.

      Traté de medir el rango de mcrl de lógica baja y alta con pic16f877A y el rango de valor de 0 voltios a 4 voltios. ¿Alguna sugerencia más? ¿Puede ser que mi icd esté roto? Quizás pueda preguntarle a un amigo que tenga un microchip icd2.

    • Ian Lesnet dice:

      @Alessandro – Mi pin MCLR también va a 0 cuando inserto el programador. 0 voltios mantiene el PIC en reinicio, pero si no puede programarlo, debe haber algún otro problema.

      ¿Apagó la fuente de alimentación ICD2 antes de conectarse a la placa (en la configuración del programador-> pestaña de encendido-> desmarque / deshabilite ‘circuito de destino de energía ICD2’)? Mi “verdadero” ICD2 tiene solo un suministro de 5 voltios que rompería el PIC24F.

      Aparte de eso, no puedo pensar en nada. Pruebe con otro desarrollador, si puede, háganos saber si esto funciona. Si no es así, tal vez pueda publicar una imagen de alta resolución de su tablero en Flickr y podamos hacer una inspección visual.

    • Alessandro dice:

      @ian lesnet

      No puedo habilitar el “circuito de destino de alimentación ICD2” porque la casilla de verificación es gris.

      De acuerdo, probaré el icd2 real y luego publicaré el resultado lo antes posible.

      Gracias de nuevo

    • Ian Lesnet dice:

      @ Alessandro – El cuadro gris es bueno. A veces, sin embargo, si MPLAB se configuró por última vez para PIC18F u otra parte de 5 voltios, seguirá proporcionando 5 voltios hasta que cambie el tipo de procesador a 24F. Rompí algunas fichas de esta manera …

    • Alessandro dice:

      @ ian lesnet

      No entendí … Si usaste una imagen eléctrica de 5V y luego cambiaste a no un icd2 de 5V, ¿sigues ejecutando la imagen incluso si la casilla de verificación es gris?

    • Ian Lesnet dice:

      No, solo si no cambia antes de insertando el PIC todavía podría estar a 5 voltios.

Ricardo Vicente
Ricardo Vicente

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *