Pronto necesitaré construir varias placas donde soldaré un DUT, para ... Probarlo.
Para acelerar el tiempo de prueba, estamos trabajando en un enfoque de múltiples tableros: cada tablero tendrá cuatro conectores, norte, sur, oeste y este, y puede conectar muchos tableros juntos, como las piezas de un rompecabezas.
Tendremos una placa madre adicional, que se conectará a uno de los bordes, conectores libres. La placa madre debe poder seleccionar y activar una placa hija a la vez.
Imagen bonita:
Loquenecesitoesunaseñalde"habilitación de placa", separada para cada placa hija. En cada placa hija tendremos un chip de soporte un tanto inteligente, es básicamente un esclavo I2C, la placa madre puede hablar con él, y presenta algunas posibilidades agradables, algunos LUT, cuatro comparadores, un par de temporizadores, etc. # SLG46826 si quiere echarle un vistazo). Básicamente es un FPGA extremadamente pequeño con algunas capacidades analógicas.
Dado que la parte SLG tiene una dirección I2C configurable, la forma básica de hacer lo que necesito es simplemente agregar un conmutador DIP de 4 bits (o solo granos de café) y configurar manualmente las placas cada vez que (re) construya la matriz . Tenga en cuenta que fabricaremos aproximadamente 100 de las tablas hijas, y tenemos un equipo de personas que trabajan con ellas, por lo que puede suceder que elija algunas del cajón y necesite reconfigurarlas.
Me gustaría idear algún tipo de capacidades de autodetección, he estado reflexionando sobre el problema durante algunos días y no se me ocurrió nada que sea tan bueno como me gustaría.
Por supuesto, hay muchas restricciones para los tableros, aquí están las que creo que son más limitantes:
- No estamos limitados por PIN en los conectores norte sur este oeste, puede asumir que tiene muchos (10+) contactos disponibles para las capacidades de autodetección
- Estamos limitados a los pines en la parte SLG, puedo dedicar 6 o incluso 8 pines a esto, pero, por supuesto, menos es mejor.
- La placa base es básicamente una gran unidad de usuario con I2C y algunos IO, conectados a una PC, por lo que puede ser tan inteligente como sea necesario
- Las tablas secundarias deben ser perfectamente idénticas
- No necesitaremos más de 16 tablas hijas conectadas, no necesariamente en forma cuadrada.
- Quiero que la placa base pueda controlar toda la red desde un solo conector. Es aceptable que el conector sea específico, por ej. un conector sur como en la imagen.
He pensado en la configuración de escalas de resistencias utilizando los comparadores SLG, pero los comparadores solo pueden tener umbrales fijos, compartidos entre todas las placas.
He pensado en poder navegar por la cuadrícula habilitando el primer tablero, luego indicándole que habilite el norte, por ejemplo, ir al oeste ... Y así sucesivamente, pero esto tiene muchos rincones y peculiaridades y parece que necesita muchos pines en el SLG.
He pensado en un direccionamiento de fila / columna estúpido muerto, pero esto requiere mucho cableado, no aceptable.
Por ahora, la mejor opción que tengo es la solución de interruptor Dip / coffe bean, pero estoy convencido de que hay una forma inteligente de hacerlo que no he pensado.