Pregunta:
¿Hay alguna manera de facilitar el cableado de un microprocesador desnudo a un blindaje?
Ignacio Vazquez-Abrams
2014-03-24 05:18:30 UTC
view on stackexchange narkive permalink

Actualmente hago la mayor parte de mi trabajo AVR en placas de prueba, pero la gran variedad de escudos y códigos de Arduino que existen me hace preguntarme si no me estoy golpeando la cabeza contra la pared a veces, y buscando las asignaciones de puerto para pin de ambos desechos tiempo y me frena. ¿Hay alguna forma conveniente de adaptar los AVR ( otros que los compatibles con pines con los Arduinos actuales) a los protectores Arduino?

¿Se pregunta: hay alguna manera de facilitar el cableado de un microprocesador desnudo a un blindaje?
@Cybergibbons: Eso es exactamente lo que estoy preguntando.
Para eso, no tengo una respuesta. Honestamente, mi forma de solucionar esto es usar casi exclusivamente dispositivos I2C o SPI, por lo que solo hay unos pocos pines para recordar.
@JarrodRoberson Ha reemplazado el AVR en el título con microprocesador, los AVR no son microprocesadores, son microcontroladores que es un microprocesador + memoria + periféricos, etc. También ha eliminado la palabra Arduino de los escudos, pero la pregunta se refiere a escudos Arduino, no escudos. en general.
@alexan_e leyó los comentarios del OP sobre los suyos ...
Podría (raspar y) desoldar el chip en una placa Arduino y reemplazarlo con un 'Zócalo IC de 28 pines' (busque ese término en Google para ver lo que quiero decir).
Dos respuestas:
#1
+4
alexan_e
2014-03-24 17:11:20 UTC
view on stackexchange narkive permalink

Puede hacer placas adaptadoras (una para cada modelo de mcu).

El lado inferior (encabezados macho) se conectaría a la placa de pruebas y el lado superior tendría conectores hembra con el mismo pinout que un Arduino tablero (oyentes femeninas colocadas en las posiciones apropiadas para que coincidan con los escudos de Arduino).

Tal tablero no debería ser difícil de diseñar.

Aquí hay una imagen que se parece a lo que describo

enter image description here

Adaptaría el pinout de un AVR desnudo al pinout de un Arduino típico para que los escudos puedan conectarse directamente encima de él.


Además, un diagrama de asignación de pines puede resultar útil para acelerar las cosas cuando se usa un chip simple con código Arduino.
( fuente de la imagen) enter image description here

Otro similar La solución es una pequeña pegatina impresa colocada en la parte superior del AVR
( fuente de la imagen)

enter image description here

+1 para el efecto didáctico de la imagen de la placa adaptadora Y un tablero MUY ORDENADO.
@Ricardo Aunque estoy de acuerdo en que es una buena imagen, es de otro sitio (fuente en la lista). De lo contrario, ¡gran respuesta! Por cierto: tenga cuidado si el escudo se conecta a ICSP ... el Ethernet r.3 lo hace para agregar compatibilidad Mega.
#2
+2
jippie
2014-03-24 11:29:52 UTC
view on stackexchange narkive permalink

La forma de hacerlo con Arduino es crear una tabla de búsqueda que traduzca el número de pin a PORTn / DDRn / PINn SFR y el bit relacionado. Puede usar el mismo truco y hacer que los pines GPIO cuenten de una manera conveniente tal como están en el paquete. Solo los periféricos especiales (como SPI / PWM) no pueden contabilizarse de esta manera porque están conectados a un pin.

Un buen comienzo es el siguiente fragmento de la biblioteca Arduino.h si desea reutilizar ese concepto.

  // Obtenga la ubicación del bit dentro del puerto de hardware del pin virtual dado .// Esto proviene del archivo pins _ *. c para configuración de la placa. # define analogInPinToBit (P) (P) // En el ATmega1280, las direcciones de algunos de los registros de puerto son // mayores que 255, por lo que no podemos almacenarlos en uint8_t's.extern const uint16_t PROGMEM port_to_mode_PGM [] ; const extern uint16_t PROGMEM port_to_input_PGM []; const extern uint16_t PROGMEM port_to_output_PGM []; const extern uint8_t PROGMEM digital_pin_to_port_PGM []; // extern const uint8_t PROGMEM digital_pin_to_bit_PGM []; const extern uint8_t PROGMEM digital_pin_to_bit_mask_PGM []; const extern uint8_t PROGMEM digital_pin_to_timer_PGM [] ; // Obtiene la ubicación del bit dentro del puerto de hardware del pin virtual dado .// Este c omes del archivo pines _ *. c para la configuración de la placa activa .// // Estos funcionan ligeramente mejor como macros en comparación con las funciones en línea // # define digitalPinToPort (P) (pgm_read_byte (digital_pin_to_port_PGM + (P))) #define digitalPinToBitMask ( P) (pgm_read_byte (digital_pin_to_bit_mask_PGM + (P))) #define digitalPinToTimer (P) (pgm_read_byte (digital_pin_to_timer_PGM + (P))) #define analogInPinToBit (P) (P) #Refine port () pgm_read_word (port_to_output_PGM + (P)))) #define portInputRegister (P) ((volatile uint8_t *) (pgm_read_word (puerto_to_input_PGM + (P)))) #define portModeRegister (P) ((port_Gtile_uint8) (P))))  

Las funciones pinMode , digitalWrite y digitalRead se definen en / usr / share / arduino / hardware / arduino / cores / arduino / cableado_digital.c que se puede utilizar para obtener más inspiración.

Si bien esta respuesta cubre la parte del software, mi pregunta en realidad se refiere a la parte del hardware.
@IgnacioVazquez-Abrams, entonces, ¿puede elaborar un poco más su pregunta? No estoy seguro de entender lo que estás preguntando.
Tengo chips AVR desnudos y quiero usarlos con los protectores Arduino existentes sin tener que agregar un par de docenas de cables de puente.


Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 3.0 bajo la que se distribuye.
Loading...