Lógica programable: construya usted mismo el módulo CPLD

El dispositivo lógico programable complejo (CPLD) es un gran hardware en su repertorio. Como su nombre lo indica, puede programar estos chips para que sirvan a las funciones lógicas que necesita. Esto puede reemplazar un chip obsoleto, o puede ser simplemente una forma de aprender y probar diferentes técnicas. ¿Qué mejor manera de aprender que poner sus manos en CPLD y probarlo?

Creé un módulo CPLD con la intención de poder integrarlo en muchas cosas, incluidos los paneles sin costura, pero me equivoqué. Parece que el espacio adicional disponible en una placa de soldadura es de 1,1 ”, ensanché la pista 1” sin dejar espacio para una fila de cables a cada lado. Duh.

Pero permítanme hacer una copia de seguridad y mostrar más sobre lo que hago, quería hacer una lógica programable que pudiera crearse como una herramienta que pudiera soldarse fácilmente en casa, programarse en un circuito y ejecutarse en 3.3. o 5 voltios.

Para implementar un equipo fácilmente reproducible, elegí una pieza CPLD más antigua que también tiene versiones de 3.3v y 5v que mantendrán su programación independiente de la energía. La lógica en sí es un CPLD-IC de la familia Altera Max con dos versiones que coinciden con la placa o con 32 o 64 macrocélulas. Una macrocélula es el bloque de construcción lógico básico y se programa mediante "términos" lógicos y luego se vincula a otras macrocélulas mediante una interconexión programable.

Archivos de proyecto

Mirando el diagrama, se puede decir que no es mucho: básicamente el CPLD, el circuito de programación en circuito y un oscilador para operar la lógica en el CPLD.

  • Esquema simple de CPLD
  • Diseño simple de PCB CPLD
  • CPLD-BOM simple
  • Gerberes CPLD simples
  • El CPLD: una pieza de montaje en superficie que es adecuada para un zócalo de orificio

    Esta pieza, conocida como EPM7032 y EPM7064, viene en una arena plástica para virutas de plomo (PLCC) de 44 clavijas o, a veces, se denomina derivación en J debido a la forma en J de los cables de las clavijas. Este paquete puede insertarse en un enchufe perforado o soldarse directamente a la PCB.

    El oscilador

    El oscilador incorporado está incluido para que el CPLD pueda hacer estados de cosas y crear contadores rápidos por sí solo sin la necesidad de un reloj externo. Si hay un reloj externo disponible, la velocidad más alta del módulo se puede usar para crear un evento de reloj en cada flanco ascendente o descendente del reloj externo y, sin embargo, observar las pautas para CPLD / FPGA que dicen que realmente necesita usar el global interno. red de reloj y entrada de reloj no operativa "asincrónicamente". Este oscilador está clasificado para una tensión de alimentación de entre 1,8 y 5,5 voltios.

    Si miran el video, me verán discutir mis preferencias personales sobre cómo manejo el pin de habilitación "INH" en un oscilador; En pocas palabras, tiendo a dejarlo flotar después de verificar con la hoja específica que hacerlo es legal.

    Las razones que se me pasan por la cabeza al tratar con este tipo de función incluyen el hecho de que no me gusta conectar un pin de entrada directamente a un riel eléctrico si puedo evitarlo. Es decir, prefiero usar una resistencia en serie que limite la corriente durante los transitorios, incluso si no se supone que sea necesaria.

    A lo largo de los años, he visto problemas en la producción (cantidades masivas) donde a veces algo como el ciclo de potencia permitirá que un pin conectado directamente a un riel eléctrico tenga un voltaje más alto que el chip en sí, lo cual es malo. Finalmente, con un pin conectado a un riel eléctrico a través de una resistencia, ya sea potente o con conexión a tierra, se puede cambiar de opinión más tarde y usar el pin. Esto es especialmente cierto en mi experiencia con las puertas no utilizadas, que, como probablemente sepa, nunca deben permanecer a flote o desconectadas. Al usar la extracción, tiene un punto en el que puede conectar una señal y usar la puerta sin tener que cortar pistas de cobre.

    Programación CPLD

    El conector de 10 pines y un puñado de resistencias consisten en el circuito de programación. Si todas las resistencias fueran adicionales, usaría una red de resistencias, pero, por desgracia, una está a tierra.

    Para programar también un CPLD independiente, se necesita un programador dedicado. Es fácil para mí decirlo, porque generalmente tengo varios diseños, pero si no tienes uno, no duele demasiado entrar en el juego. Un "Alter USB Blaster" aprobado cuesta $ 50 y está disponible en sitios como Digikey. Tengo varios clones que recibí de Ebay, incluido uno que es un clon compatible con Altera, Xilinx y Lattice. Hay un proyecto y un código disponible en internet para crear tu propio clon y lo tengo en mi lista de posibles videos para hacer un proyecto de clon de desarrollador. También mostraré un proyecto de escudo donde la placa principal, Arduino, PIC, etc., pueden hacer la programación.

    El software necesario para compilar y programar el CPLD está disponible de forma gratuita en Altera, aunque se requiere la versión anterior 9.1 para esta parte anterior. La buena noticia es que es mi versión anterior favorita que tenía un analizador de tiempo intuitivo que se eliminó en versiones posteriores.

    El PCB

    El PCB es un diseño simple de dos lados y tiendo a hacer un flujo de cobre a tierra y, a veces, a potencia mientras la placa se presta para ello. A veces, el derrame está tan roto que en realidad puede causar problemas o simplemente ser imprudente en el resultado final, por lo que nuevamente el derrame de cobre es una herramienta, pero debe manejarse.

    La vista 3D

    3D predeterminado

    Objetos 3D personalizados

    Colores del parque OSH

    Muchos, si no la mayoría, de los paquetes CAD incluyen actualmente una vista 3D del producto final, aunque la precisión de la imagen es tan precisa como los modelos 3D utilizados para representar las piezas. Aquí se puede ver donde elijo un modelo 3D para el zócalo de 44 pines, el conector de programa y el oscilador. Estos son algunos de los paquetes 3D que me gusta usar:

    • www.pcb-3d.com/
    • www.3dcontentcentral.com/
    • www.pcblibraries.com/Products/FPX/3D-STEP_TH.asp
    • Además, muchas empresas tienen sus modelos 3D para sus artículos. Molex es solo un ejemplo de una empresa a la que le está yendo bastante bien con esto.

      Los errores

      Solo lugar para una fila.

      Los errores que cometí no afectan tanto a la función como a la estética, sin contar lo principal, es decir, que no encaja muy bien en un solo panel de soldadura.

      Una vez que se me ocurrió que podía compartir el diseño con cualquiera, inmediatamente me quedé insatisfecho con el símbolo esquemático del CPLD y con la inserción del conector de 40 pines, que es su vía general. Tomé un símbolo de conector de doble fila de 40 pines y lo coloqué en un espacio de 1 ′ ′, sin embargo, en lugar de los pines que numeran 1,2,3,4 ... a lo largo del lado como un paquete DIP, está numerado 1,3, 5,7 ... como un conector de cable plano. Por lo tanto, es una traza no intuitiva para averiguar cómo conectarse al módulo y resolver problemas.

      Además, la combinación de CPLD es un poco confusa, utilicé un conjunto de beneficios que se basan en el lenguaje descriptivo de escaneo restrictivo (BSDL) para crear el símbolo. La mayoría de los grandes proveedores tienen archivos BSDL disponibles para sus partes principales y estos le permiten crear símbolos y trazos (la mitad) automáticamente. Como cualquier autómata, debe tratarse como una herramienta y puede necesitar un masaje adicional para obtener mejores resultados. En este caso, dejo que enumere los pines alfabéticamente, que es casi aleatorio cuando se trata de rastrear un pin en el tablero. Digamos que tenía prisa ese día.

      Pagas por esos atajos en algún momento en la carretera. Cuando vaya a revisar este módulo, me aseguraré y le daré una ubicación de pin que coincida con la pieza en sí, de modo que saber dónde colocar su sonda completa sea tan fácil como mirar el símbolo esquemático.

      Hay otras mejoras sobre todo estéticas o útiles a la hora de trabajar con la placa. El indicador del pin 1 debe ser más general para varios paquetes y siempre me gusta un punto base fácil para unir campos amplios o conductores VOM. Probablemente agregaré esto agregando un conector de dos pines para que la energía y la tierra se puedan aplicar directamente a la placa en lugar de cortar los pines inferiores.

      Prueba antes de la revisión

      Antes de revisar la placa, quiero asegurarme de que funciona a pesar de los problemas físicos y estéticos. Después de aplicar energía y comprobar que el oscilador funcionaba correctamente, descargué el programador y detectó el CPLD a pesar de que la versión 3.3v era más nueva que el programa de software y aparecía como un dispositivo "desconocido".

      Más tarde creé un contador en Quartus y asigné números de pines. La recopilación y descarga rápida y la función de contador, vista desde el alcance, verificaron que el proyecto era factible.

      El circuito de prueba rápido en Verilog es bastante simple. El código se enumera a continuación y puede descargar un archivo ZIP que contiene los circuitos de prueba tanto esquemáticos como Verilog como Proyectos Quartus II (requiere la versión 9.1).

module block1
(
 clock,
 IO11,
 IO12,
 IO14,
 IO16,
 IO17,
 IO18,
 IO19,
 IO20
);
input clock;
output IO11;
output IO12;
output IO14;
output IO16;
output IO17;
output IO18;
output IO19;
output IO20;
reg [15:0] q;
assign IO11 = q[15];
assign IO12 = q[14];
assign IO14 = q[13];
assign IO16 = q[12];
assign IO17 = q[11];
assign IO18 = q[10];
assign IO19 = q[9];
assign IO20 = q[8];
always @ (posedge clock)
 begin
 q <= q + 1;
 end
endmodule

A dónde ir desde aquí

Como mencioné, haré una segunda revisión de la placa prestando más atención a los detalles necesarios mientras comparto un proyecto o algún problema. Como necesito hacer que el ancho del conector inferior sea de .9 "o menos, puedo seguir adelante y hacerlo .6", que es una pista DIP "ancha" estándar. Esto hará que los pines inferiores sobresalgan a través de la huella del calcetín CPLD. No haría esto en una situación de producción porque se trata de ensamblaje manual en ese momento, pero uno de los objetivos era hacer un kit de lucha libre. El compromiso con la soldadura manual es que el oscilador realmente tiene que estar montado en superficie SMD, las versiones de orificio pasante son enormes y no suelen admitir el rango de voltaje que quería.

También me gustan mucho los LED de montaje en superficie, creo que se ven geniales.

  • Hombre negro dice:

    La sintaxis de la definición me recuerda a la serie NAND to Tetris.

    ¿Sería posible construir una computadora completamente simple con estos módulos? Sería necesario agregar un carnero, supongo.

    • Con griego dice:

      Lol ... sí, depende de qué computadora. Sin embargo, un microcontrolador / microordenador "real" sufriría si los módulos estuvieran "anclados", lo que significa que no puede obtener suficientes términos dentro y fuera de los módulos para hacer algo demasiado útil.

      Hice una cámara NTSC completa y un modo en el tamaño de 64 bits, lo que resultó en que no se necesitara procesador.

    • Colina dice:

      Verilog estructural y el HDL utilizado en el libro Nand al Tetris, que por cierto es una excelente literatura y ciertamente vale la pena leer, son más o menos lo mismo.

  • Nils dice:

    ¿Por qué a través de las piezas del agujero? ¡Soldier 0805 es fácil! Ha llegado el momento de que todos los jugadores aprendan esa habilidad.

  • Frank Buss dice:

    No es necesario que sea una placa rectangular, tal vez coloque el CPLD en rotación de 45 °, se verá extraño 🙂

    • Con griego dice:

      ¡Hola Frank!

      Si dejara que la vaina de arriba se superponga a los pines soldados desde la parte inferior, entonces podría ir con “6 centros (copiar un parche de 40 pines) o ir en diagonal, etc. Este sería un conjunto de soldadura estrictamente manual en este punto para suelde el zócalo superior después de los pines laterales inferiores.

      • Frank Buss dice:

        Pero es difícil para un principiante combatirlo desde abajo. Cuando sueldo cabezas de clavijas para PCB para tableros (estas placas adaptadoras SMD, que se pueden comprar en eBay a bajo precio, son útiles para la creación de prototipos), coloco las cabezas de los pines en un tablero, luego coloco la PCB en él y luego puedo soldarlo fácilmente, y encaja perfectamente con el Junta. Más difícil si necesita soldarlo desde la parte inferior.

        El montaje diagonal puede estar sin superposición, con 4 filas si el CPLD está en el medio (quizás sea más fácil de navegar), o el CPLD puede estar en un lado:

        View post on imgur.com

        Puede hacerse lo suficientemente pequeño como para que haya incluso dos filas de espacio a cada lado del tablero.

        • Neil dice:

          Gracias por el consejo sobre cómo insertar los encabezados en la placa antes de soldar. Los míos estaban un poco tristes.

      • AussieLaureen dice:

        ¿Qué tal un tipo de “dongle” con los pines de pan en formato DIP en un extremo y el conector del chip en el otro? Un chip puede colgar del extremo del tablero. La ruta sería estresante.

        Arte ASCII durante una prueba telefónica

        | ####### ******************* |. <- Pines 1-20
        | ## 44pl ## Osc. puerto, etc. |
        | ####### ………………………. | <- pines 21-40

        Un programador de código abierto para acompañarlo sería increíble.

        • Con griego dice:

          Veré cómo se ve eso cuando vaya a la rev 2.

          Sí, me contenté con usar la versión "gratuita" de Altera, así como Xilinx y Lattice tienen versiones "gratuitas". Necesito cerrar el círculo con Al Williams sobre lo que admite todo el soporte abierto, que debe incluir los atributos específicos de la familia de dispositivos. Habiendo dicho eso, hice mucho con las versiones gratuitas.

  • Lennart dice:

    Si tiene un espacio en el medio, puede hacerlo más estrecho, un poco de arte ascii:

    ———–
    ########### | | ########## pines
    | cpld |
    ########### | | ########## pines
    ———-

    • Lennart dice:

      Bueno, el arte ascii no tuvo éxito, se mejoraron todos los espacios ...

      Agregue algunos espacios entre || y ponga el cpld allí.

      • Con griego dice:

        Sí, creo que demuestra que el CPLD se superpone a los pines. Probablemente se vería como rev 2 si siguiera bien. Cuando diseño para producción (en masa), siempre soy alérgico a los pasos de un "conjunto de soldadura manual" que se debe a que se superponen (en verdad, los pines soldados en el lado no conjunto soldado a mano), pero esto es solo una pequeña herramienta, no un proyecto orientado a productos. Solo tengo hábitos que son difíciles de romper a mi edad. 🙂

        • Lennart dice:

          Sin superposición. Coloque el CPLD en el medio y luego las clavijas a cada lado.

  • ajford dice:

    Creo que una tabla en forma de T con el CPLD y pasivos en la parte ancha de la T, colgando del borde de la tabla, funcionaría muy bien. Algo parecido al Adafruit RasPi T-Cobbler (http://www.adafruit.com/products/2028). Esto dejaría la mayor parte del área de la placa libre para su uso.

  • Harold dice:

    Lástima que se detuvo. Esto limitará severamente su uso en proyectos de hobby, como con todos estos generadores de funciones basados ​​en XR2206 y basados ​​en ICL8038.

    • Con griego dice:

      Idea interesante. Amo ambos chips. El CPLD no es obsoleto solo se puede comprar mucho más barato a 3.3v.

  • paul vd Hoeven. dice:

    Hola bill

    buenos consejos sobre los detalles del proyecto informático.

    sobre tu "duh" ... realmente no creaste un nuevo diseño para poner esto en un tablero. Simplemente coloque los cables en la placa primero y luego coloque el cpld sobre los cables. O use 2 hogazas de pan si puede sacar el poder y tiras de tierra de una de ellas.

    Acerca de Altium vs Eagle. ¿Ha considerado KiCad? No tiene ninguno de los límites para los que prefiere Altium sobre Eagle y parece generar un error de DRC para todos los pines no adjuntos. Tienes que decirlo si realmente quieres dejar un alfiler abierto. (Tal vez solo para entrada, no para salidas, aún no verificado). Otra gran característica es muy fácil de aprender. Empecé con solo pasar una tarde con el excelente manual de inicio.

    Prefiero (las partes más grandes de) smds arriba a través de un agujero. Es mucho más fácil trabajar con ellos. No es necesario que encienda la computadora todo el tiempo. (Cometí algunos errores estúpidos debido a una imagen reflejada ...). y no debes cortar los cables de las resistencias.
    Si comparte un diseño, puede ser conveniente colocar varias pistas en una computadora de una en una. resistencias smd TH. (de hecho, un arreglo un poco complicado).

    • ROBÓ dice:

      ¿Puedo preguntar qué tutorial usó para KiCAD?

      • paul vd Hoeven. dice:

        Utilicé "Introducción a KiCad" en formato pdf.
        La versión anterior que utilicé tenía 29 páginas y la versión más reciente tiene 52 páginas.
        Puede encontrarlo con otros tutoriales (incluidos enlaces de video) en:
        http://kicad-pcb.org/help/tutorials/

        • Con griego dice:

          sé [Chris Gemmell] of La-Tecnologia and The Amp Hour hace una serie en Kicad http://kicad-pcb.org/help/tutorials/

    • Con griego dice:

      Kicad podría funcionar, déjame ver qué sucede con Rev 2, gracias por la sugerencia. Las entradas fuera de línea son buenas para capturar DRC (ERC), para conectores y otras cosas, dejándolos tan suaves o IO generalmente evita los mensajes desconectados en la mayoría de los CAD.

      • paul vd Hoeven. dice:

        Hizo una prueba rápida y colocó un conector en una hoja en blanco, lanzó un comentario y DRC.
        Me dio un error de drc para cada pin.
        Sin embargo, el marcado de pines no unidos conocidos es bastante trivial.

        • Con griego dice:

          Solo por curiosidad, ¿cuál fue el tipo de pin sintonizado en los pines?

          • paul vd Hoeven. dice:

            Es pasivo.
            Tuve que hacer algunas búsquedas (Editar componente -> Editar con el editor de biblioteca.
            El editor de la biblioteca se abre en una ventana separada con su elemento cargado y puede examinar o cambiar cualquier parte de su elemento. Los componentes modificados se pueden guardar o actualizar en su esquema.
            Esto facilita el cambio de componentes. No me importan mucho las bibliotecas. Si trabaja con cpld, por ejemplo, desea dar nombres significativos a los pines. y es mucho más importante que exista una buena interfaz para diseñar sus propios elementos.

            en el pin ERC "No conectado" de KiCad hay un tipo de pin separado de "Pin pasivo" y todos los pines "No conectados" generan errores.
            El funcionamiento de ERC se puede adaptar fácilmente a sus propias preferencias en:
            Herramientas -> Comprobador de reglas eléctricas -> Opciones.

            Este pequeño esquema genera 2 errores ERC. (Flechas verdes).
            El pin 5 es un error de "Pin no conectado" y el otro es:
            "Un pin conectado a algunos otros pines pero no un pin para operarlo".
            KiCad sabe que el GND del 7400 está conectado al conector.
            Sin embargo, el pin GND del 7400 tiene el tipo de pin "Entrada de alimentación" y KiCad no está satisfecho si simplemente se conecta a algo.

            VCC está etiquetado como una red eléctrica y, por lo tanto, el pin VCC del 7400 no genera un error.

            Quiero agregar una captura de pantalla, pero parece imposible cargar una imagen sin crear una cuenta en algún lugar.

  • Nater dice:

    El diseño de mi prototipo es de 4 paneles sin costura uno al lado del otro. Están pegados a una pieza de MDF, por lo que no cambian entre sí. Tenía cosas con un ancho similar (o tal vez incluso un poco más ancho) que usé abarcando el ancho de más de una tabla sin costuras. No es una buena solución general, pero podría funcionar por una vez aquí o allá.

    • SavannahLeón dice:

      Yo también hice eso. Funciona cuando me di cuenta de que las piezas grandes no necesitan estar en una placa.

  • kratz dice:

    Me pregunto si podría hacer una tabla vertical con cabezas de alfiler rectangulares de montaje en superficie a cada lado para una tabla de espacio máximo.

    • zakqwy dice:

      Miré para ver si surgía esta sugerencia; parece una buena solución. Alternativamente, ¿es posible montar el CPLD en una placa separada que sea rectangular soldada a la placa DIP?

  • ROBÓ dice:

    Recientemente he estado haciendo prototipos con CPLD. Esto es lo que encontré / probé.

    Los chips PLCC son caros y difíciles de encontrar. Hay muchos adaptadores PLCC a DIP en eBay que se utilizan para desarrolladores de chips. La mayoría de ellos tienen el zócalo PLCC coincidiendo con el DIP. No me molesté con PLCC porque los chips son siempre menores que QFP TQFP y en algunos casos incluso DIP jejeje.

    El QFP de 0,8 mm (T) es fácil de soldar y todavía está en una PCB casera, pero eso generalmente lo limita a 44 pines.

    0.5 mm es un poco más difícil, pero aún es factible para la mayoría de las personas, aunque excluiría a algunas. Sin embargo, 0,5 mm le llegará a (T) QFP100. Cuando alcanzas los 0,4 mm y (T) QFP 144, pierdes a mucha gente por la lucha manual.

    Ah, y soldé los TQFP100 con una soldadura de $ 15 de la tienda de desechos que tenía una punta redonda de aproximadamente 3 mm. Solo tome algunos pines de esquina. BLOB toque un borde, déjelo enfriar, limpie la soldadura con una mecha de soldadura, déjelo enfriar, repita tres veces más.

    Un chip TQFP44 se colocará en escuadra sobre una placa de escape DIP de 0.6 ″, pero debe ser bilateral para caer.

    Hay algunos chips tolerantes de 5 voltios que se suministran mejor que los chips más antiguos de 5 voltios que pensé que eran * todos * obsoletos.

    Los Xilinx XC9536XL (36 Macro), XC9572XL (72 Macro) tolerantes a 5 voltios están disponibles en TQFP 44. Desde la memoria, el XC95144XL estaba disponible en PLCC88 y TQFP144. El XC95288XL estaba en un pin más grande. Desafortunadamente, los desarrolladores de Xilinx son más caros (alrededor de $ 30). Estos chips son compatibles con la edición web gratuita del IDE.

    En el ángulo Alter tolerante a 5 voltios obtenemos un desarrollador más barato ($ 5 - $ 10), más Macros, pero desafortunadamente tenemos que comenzar con un chip TQFP100 (0.5 mm). Existen: el MAX II EPM240 (macros equivalentes 128-240) en TQFP100 (0,5 mm) y el MAX II EPM570 (macros equivalentes 240-570) en TQFP100 (0,5 mm).

    72 macros se pueden lograr de manera justa, pero es la calculadora limitante. Por ejemplo, podría poner un generador VGA descalzo muy básico en 72 macros pero no tendrá los pines para manejar RAM externa a menos que esté utilizando algunos pestillos de bus externos. Bueno, no puedo jajaja, tu kilometraje puede variar.

    Los chips Altera son un gran paso en la usabilidad debido al mayor número de pines y más Macros, pero a costa de la usabilidad en una placa de pruebas. Alquilo el TQFP100 en una placa de operación cuadrada de 0.1 ″ que no tiene un puerto de programación (adaptador general) o compro un tomacorriente mínimo en ebay; estos tienen filas dobles de 0.1 ″ a cada lado y no son realmente agradables. ¿Quizás un chip TQFP100 Altera encajaría en un adaptador DIP largo con un puerto de programa?

    Según la memoria, los EPM tienen aproximadamente 78 - 80 IO. Entonces, si tuviera un registro 3v3 incorporado, un oscilador de cristal activo y un puerto de programa, solo necesita decir 2 potencias y para el EPM570 eso significaría un total de 80 pines o un DIP de 4 "(10 cm) de largo. Por lo tanto, es una especie de panel amigable, pero no le gusta compartir la placa de pruebas y es por eso que necesitaría algunas placas de prueba.

    Y una cosa sobre el cristal. Tengo varias placas de ruptura que tienen bloques de oscilador SMD y quiero cambiarlas. Si fueran pines, no sería difícil cambiarlos en absoluto, pero con SMD: espero que rompa algo o levante los rastros de PCB. Primero podría poner un par de cuchillos a través del cristal para salvar los rastros.

    • Con griego dice:

      Gran panorama. Un buen punto sobre el TCO / oscilador, pienso en un poste de 3 pines con una camiseta para elegir un cristal incorporado o un exterior.

      Supongo que la mayoría de los aficionados realmente no quieren hacer el montaje en superficie, podría estar equivocado en eso, pero luego tengo un microscopio (y todavía no quiero hacer soldadura manual de montaje en superficie la mayoría de los días).

      • ROBÓ dice:

        Creo que un aficionado puede hacer más sobre lo que es "asequible" con herramientas baratas y el costo de fallar.

        Por ejemplo, un aficionado podría sentirse cómodo soldando un QFP de 0,8 mm en una placa de escape de chips cuando el costo de la falla es pequeño y puede comprar reemplazos baratos y volver a intentarlo, pero probablemente no tomaría una placa grande (a un costo más alto). ) incluso si solo tuviera un QFP de 0,8 mm en el medio porque todo el proyecto puede destruirse.

        Para uno o algunos de mis proyectos, tendré chips SMT de clavija alta en placas de rotura que se conectan a la placa principal, por lo que si la soldadura rompe una, puede intentarlo, volver a intentarlo.

        Quizás dos versiones. Un recuento bajo de pines / macro y más fácil de jugar y otro un poco más difícil con más pines / macro para proyectos más avanzados.

        En cuanto al ancho, tengo pilas de tablas de desgaste demasiado anchas para la mitad de una tabla estándar. La solución fácil es conseguir dos hogazas de pan y quitar los buses eléctricos de los lados más cercanos, para que esté un poco más fresco en el medio. Personalmente, me alejé de los tableros (hace muchos años). Recientemente recuperé un bobinado de alambre. Utilizo la placa de la verdad como enchufes básicos y de soldadura y pines de cabeza estándar y envoltorios de alambre desde allí.

        • Con griego dice:

          Pude ver un PCB que podría hacer tanto una densidad más alta como la parte del agujero. Como han mencionado otros, los precios de las piezas de JLead son cada vez más altos, por lo que es posible que haya perdido terreno.

          Amablemente probé que no uso migas de pan cuando estaba completamente sorprendido de estar cerca de la frontera. ¿Viste mi video en una envoltura de alambre?

          • ROBÓ dice:

            Sí, compré la misma envoltura de mano simple. Siempre tengo cable kynar porque lo uso para arreglar caminos / rastros rotos en PCB.

            Renuncié a las piezas de embalaje de alambre originales porque son caras y difíciles de encontrar. Utilizo una placa de verdad y sueldo los enchufes a la placa y luego sueldo cabezas junto a ellas. Utilizo zócalos ZIF porque son más baratos que los zócalos envueltos en alambre * y * funcionan bien con las clavijas más grandes de las tablas rotas. La otra ventaja es que el pinout no se refleja.

            Puedo obtener dos paquetes en un encabezado estándar y eso es suficiente para mí. Si necesito más, simplemente lucho en un encabezado a lo largo de una pista en el tablero de la verdad para compartirlos.

            También puedo conseguir títulos de 20 mm 40 × 1 en eBay, pero todavía no los necesitaba.

            Intentaré publicar una foto.

          • ROBÓ dice:

            Aquí hay una imagen: ¡así sucedió!

            https://cdn.la-tecnologia.io/images/8326901446090574982.jpg

          • Con griego dice:

            Bonita foto RÖB, también el desarrollador parece familiar.

    • Corey dice:

      Re: al quitar el oscilador SMD, puede usar una estación de procesamiento de aire caliente si tiene acceso a una.

      Gracias por el gran resumen de lo que está disponible aquí ¡CPLD sabio!

    • fpgcomputadora dice:

      FYI: dongle Xilinx JTAG de $ 3 usando ESP8266. Funciona en lua y es compatible con Xilinx XVC para JTAG remoto. enlaces en el código fuente.
      https://github.com/wzab/esp-wifi-xvc

      Aún no lo he probado.

      • Con griego dice:

        Tal proyecto es la razón por la que abro la cuestión de cosas como desarrolladores y código abierto, porque hay muchas cosas que pueden mover el listón que un viejo pedo como yo sería difícil de rastrear sin todos.

  • IuriC dice:

    ¡Este artículo fue realmente útil! A principios de esta semana comencé a diseñar un módulo similar con EPM7064S.
    Esta es mi primera vez con CPLD y hay una falta de información en el sitio web de Altera sobre el diseño mínimo (reloj, mayúsculas de bypass, programación) para nuevos como yo.
    Ya tengo una configuración inicial que aún no he producido, parece que tendré la rev.2 antes de la rev.1: P

    • Con griego dice:

      Lol ... sí, ahora que es una configuración de PCB fácilmente factible, me adelanto de vez en cuando y, por lo general, al día siguiente de enviar los gerbers, sé que debo esperar un día.

    • tekkieneet dice:

      https://www.altera.com/support/support-resources/support-centers/board-design-guidelines.html

      Hay mucha información, solo que no están al nivel de principiantes.

      • IuriC dice:

        ¡Gracias por el consejo!

  • napervillian dice:

    Cuenta,
    ¿No podrías unir dos tableros con un bus de energía en el medio? ¿Por qué solo una tabla?
    Eh, espere, es posible que los pines no soporten el peso de la otra placa, por lo que un plano posterior de la placa estaría bien
    ¿Cuál es la brecha cuando chocan? (las tablas) ¿Encajará? Oh, huelo la misión arrastrándose ...

    post Napervillian

    • Con griego dice:

      Lol ... la única razón por la que tengo dos tablas es que no pude encontrar la mía, así que pedí una nueva. Cuando fui a guardarlo después de que llegó, encontré inmediatamente el tablero original.

    • napervillian dice:

      Tengo que decir que este diseño está muy extendido.
      Solo intento salvar lo que tienes ahí ...

      • Con griego dice:

        Hey, entre Rev 1 y Rev 2 es un momento ideal para gatear. 🙂

  • ROBÓ dice:

    @[Bil Herd]

    Solo estaba viendo tu video. Tengo un palo (aproximadamente 20) TI 22V10ACFN que supuse que era Texas Instruments 22V10, pero los chips de Texas Instruments (aparentemente) marcaban TIBPAL22V10.

    De todos modos, quería usarlos, así que miré a los desarrolladores en eBay. No pude encontrar un programa, aparentemente había un software gratuito llamado CUPL pero no lo descargué. Eso y luego recuerdo que estos son una vez programables de todos modos.

    Así que pensé en comprar eso a uno de los dos desarrolladores que echaste por encima del hombro. Me ahorras los problemas jajaja.

    PD: Quieres una barra de TI 22V10ACFN, tienen más de 30 años, por lo que serán de 5 voltios, OTP. Están empaquetados en PLCC28 y cuatro pines son NC, por lo que se adaptan bien a DIP24.

  • Hari Rajagopala dice:

    "Parece que el espacio aditivo disponible en una placa de soldadura es 1,1", ensanché la pista 1 "sin dejar espacio para una fila de cables a cada lado. Duh".

    @Bil, tal vez me esté perdiendo algo aquí. Pero seguramente esto no es todo eso Duh.

    La mayoría de las migas de pan sin costura se pueden desmontar en tres partes. Los rieles eléctricos de ambos lados se pueden tirar cuando sea necesario. Simplemente corte la cinta de respaldo de espuma y agarre un juego de rieles eléctricos. Ahora tome otra tabla e insértela en su lugar. Necesitas obtener más de 1.5 pulgadas para jugar. Ojalá pudiera mostrarte una foto, pero no sé cómo.

    Gran proyecto, por cierto, y gracias por compartir.

    • Con griego dice:

      Sí, fue más una sorpresa que no fuera más ancho, pero tampoco los uso a menudo. Tiendo a usar a los pequeños en videos y asumí que los grandes son más grandes en todas las dimensiones.

  • tekkieneet dice:

    https://www.brouhaha.com/~eric/retrocomputing/mmi/palasm/

    • Con griego dice:

      http://www.atmel.com/tools/WINCUPL.aspx

    • ROBÓ dice:

      Ay, bueno, algunas preguntas, por favor.

      Los archivos '.for': ¿en qué idioma están? Quiero crear una GUI (ventana) a partir de ellos. por favor no me digas Fortran jajaja.

      Archivos vinculados a la ejecución ... Por desgracia ... ya conoce los archivos * antiguos * descargados cuando se dividen en secciones de 360kB para que coincidan con un disquete de densidad única de 5,25 pulgadas.

      Hmm, podría probar el enlace Atmel lol.

      • Con griego dice:

        Palasm probablemente sea un ejecutable compilado para DOS 3 más o menos. Fue uno de los programas conjuntos, así como CUPL y MACH. Filmé un video completo en PLD donde mostré cómo usar los programas antiguos para crear máquinas de estado y definiciones, pero al final del día no había forma de una parte programable adecuada. Todavía tengo una copia de AMD MACH empaquetada, estoy seguro de que tiene discos de 5 1/4 ″.

        WINCUPL de Atmel funciona, funciona como una versión de Windows de un programa de DOS, pero parece estar privado para apoyar a las familias de Atmel. Mezcle eso con los desarrolladores de Ebay que apoyan una muestra aleatoria, pero no toda la familia Atmel lo convierte en una situación un poco tonta.

      • tekkieneet dice:

        .for es el código fuente antiguo FORTRAN.

  • Jack Rubin dice:

    Hola con

    ¿Ha sucedido alguna vez la rev 2 del tablero? Un par de nosotros, viejos (y uno o dos más jóvenes) construimos tarjetas CPLD para usarlas como sustitutos de las tarjetas PDP-8 OMNIBUS difíciles de encontrar. Se puede cargar una tarjeta con varias personalidades para reemplazar una gama de tarjetas originales cargadas de elementos discretos.

    Hasta la próxima primavera en VCF East.

    • Con griego dice:

      Jajaja…. celebró el rev. 1 hoy, programado para entrar en la fase de (re) proyecto.

      ¿Existe una pista que funcione mejor para su programa o puede utilizar centros de 1 ″?

      • Jack Rubin dice:

        Buen tiempo para mi, gracias! El programa final será un tablero personalizado, por lo que si su nueva revolución se ajusta a un tablero estándar, será excelente para comer con código y e / s.

  • Jon dice:

    He estado buscando una excusa para jugar con CPLD durante un tiempo y este proyecto me dio el motivo que necesitaba. Como Bil hizo un gran trabajo organizando la base, pensé que sería divertido intentar diseñar una tableta. Admito que soy nuevo en el diseño de computadoras, así que también vi esto como una oportunidad de aprendizaje. Pude exprimir el tamaño de la placa dentro de los límites de un zócalo de inmersión de 40 pines.6 ″. De todos modos, obtuve la placa este fin de semana y logré soldarla y probarla hoy, ¡y funciona muy bien! Para aquellos interesados, he subido el proyecto gerbers, kicad project, bom y quarter test a este github rap: https://github.com/jth0mass0n/SimpleCPLD. Quizás alguien lo encuentre útil.

    ¡Gracias Bill por una excelente publicación como siempre!

    • ROBÓ dice:

      Estoy interesado en ver lo que hizo, pero mi sistema está recargado y todavía no tengo un PCB-CAD.

      ¿Puedes arrastrar algunas imágenes del tablero como una imagen o pdf?

      Iré a ver si puedo encontrar un generador de imágenes en línea para gerber.

      • Jon dice:

        Hola RÖB,

        Agregué algunas imágenes a la página de github. Por alguna razón, no aparecieron antes. No estoy seguro de cómo publicar imágenes en la sección de comentarios aquí. Aquí hay un enlace a la imagen del tablero: https://flic.kr/p/B3MkrC. Y luego aquí está el contador: https://flic.kr/p/B3Mkg7. Una forma de ver cómo se verá el tablero sin tener un visor de gerber que encontré es simplemente ir a oshpark.com y hacer clic en el botón de inicio ahora, y simplemente cargar el archivo Gerbers.zip desde la página de github. . Espero que esto ayude.

        • ROBÓ dice:

          Vi los Gerbers y BOM.

          En algún lugar aquí tengo un paquete ATmega664 QFP que se colocó en un adaptador DIP40. El chip es cuadrado en lugar de diagonal y todos los pines DIP pasan por un orificio normalmente. Entonces creo que podrías hacer esto en tu tablero. Sería mucho más fácil usarlo para reemplazar chips lógicos más antiguos.

          Supongo que el chip que usaste es más antiguo porque es un chip completo de 5 voltios. Usé chips Altera EPM240 / EPM570 (200-500 macros) tolerantes a 5 Voltios * pero con una distancia de 100 pines y 0,5 mm. Xilinx también tiene un XC9536XL (36 cuadros) y el XC9572XL (72 cuadros), que toleran 5 voltios y 44 pines / 0,8 mm como chip que utilizó.

          Aunque luce bien. También tengo tablas de escape que carecen de los pasadores del medio.

          Los chips antiguos (la mayoría) tenían GND y 5V en la misma posición. Con el chip vertical (pin uno arriba), GND era el pin inferior izquierdo y Vcc era el pin superior derecho.

          Algunos de los primeros chips SMD QFP tenían el pin 1 en el centro de un borde en lugar de una esquina.

          • Jon dice:

            Este adaptador QFP a DIP40 suena perfecto para este tipo de placa. En general, estoy contento con la forma en que salió esta placa, realmente me gustaría poder pensar en una manera de mantener esos pines del medio en el diseño. Estoy seguro de que podría coincidir con ellos si separara las filas otro .1 pulgada.

            Elegí el chip de 5v solo porque interactúo con muchos chips antiguos de los 80 que tenían el mismo requisito de voltaje. Pero creo que el paquete tqfp de 3.3v también funcionaría con esta placa. Simplemente debe cambiar las etiquetas de 5v a 3.3v en la pantalla de seda. ¡Muchas gracias por las cabezas en el XC9572XL! Parece un paquete bastante bonito. Ahora me da una idea para otra placa.

          • ROBÓ dice:

            También tengo algunas placas donde los pines centrales no están perforados a través de la PCB. Y usa una combinación de SMD / pin con conectores. Es difícil de explicar, así que les daré una foto.

          • Jack Rubin dice:

            Quería agregar algo de información sobre el trabajo que hago para parodiar los viejos DEC FlipChips con CPLD en el mismo factor de forma que la placa original. La tarjeta se cargaría con el código apropiado para la función requerida. Ojalá pudiera mostrar algunas fotos, pero no veo la manera de hacerlo, aunque obviamente ustedes conocen el truco. ¿Cuál es el secreto?

          • ROBÓ dice:

            @[Jack Rubin]Realmente no es ningún secreto sobre las imágenes. Simplemente publique el enlace. Elimino la 's' de https porque eso a veces ayuda. Si eres un usuario habitual aquí, tu publicación aparecerá directamente. Si no está acostumbrado, su publicación puede ser moderada para eliminar el spam.

        • ROBÓ dice:

          http://cdn.la-tecnologia.io/images/7805741449733809087.jpg

          • Jon dice:

            RÖB: ¡Me gusta el aspecto de esas tablas! Vi algo como esto en eBay, pero no tenía idea de cómo se conectan a los pines del medio. ¡Gracias por las fotos!

            Jack: Todavía no he intentado publicar imágenes, pero creo que puedes usar una etiqueta html img para hacer el truco. O simplemente pegue la URL a las imágenes y podemos hacer clic en el enlace.

    • Con griego dice:

      Grandes seguidores. También recientemente reinicié el PCB para .6 ″ Centres y reloj seleccionable de jersey. Quité el LED indicador de energía debido al espacio. Estoy probando un nuevo (para mí) fabricante chino de PCB donde 25 placas cuestan $ 23 USD, así que veré qué tan bien funciona.

  • Jack Rubin dice:

    dirtypcbs.com/?

  • Pete dice:

    Hola,

    Esto es genial.
    ¿Tiene los archivos reales del proyecto Proteus que creó para este descargable?

    Gracias

  • John dice:

    Hola. ¿Puede describir cómo encendió el explosivo USB general con Quartus 9.1 SP2 en Windows 7? No puedo iniciar los controladores. Continuó recibiendo el código de error 10.

    • Con griego dice:

      Quartus, a diferencia de muchos paquetes de software, puede tener varias versiones a la vez. Mi memoria es que ejecuté un sistema cargando una versión más reciente de Quartus (como 11 a 14) y luego busqué la carpeta para la unidad USB e instalé ese controlador.

      • John dice:

        Gracias por trabajar con los controladores de una versión posterior.

  • Filippo dice:

    solo epm7032s tiene un jtag

  • Dan dice:

    Hola,

    ¿También sabe cómo extraer el programa MAX3000A porque su bit de seguridad estaba habilitado?

  • Yves dice:

    Hola, estoy buscando leer el microchip ECU NEC DP784046CG (A1) de Honda Silverwing Motorbike. ¿Alguien puede ayudarme?

Alana Herrero
Alana Herrero

Deja una respuesta

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