hola
No sabia muy bien donde poner este post, asi que lo he puesto aqui.
a pesar que llevo tiempo dedicandome a reparar (mas bien soy un cambia placas, que la electronica analogica se me atasca mucho...), me va a tocar proximamente diseñar un pequeño hardware. En mi trabajo descubri que algunas placas que reparamos muy a menudo, al meterles señales por SPI nos devuelve algunos datos que ayudan a repararlas y en otros casos las repara al configurarle datos; y otras otras señales distintas (bus de datos paralelo), pues bien, me han mandado que vaya pensando en hacer unos pcbs para implementar esto (no se si quieren venderlo o enviarlos a los distintos mantenimientos para reparar en la misma ubicacion) y aqui viene el problema
![redhot :5]](http://www.todopic.com.ar/foros/Smileys/default/redhot.gif)
. Hasta ahora cogia cables y los soldaba en la pcb con un arduino, pero claro ahora no va a ser viable esa opcion, entonces tendre que conectar via conector tipo conector IDE (discos duros, que no se como se llaman) con un cable plano, pero aqui viene el problema...
Las placas con mas pines de este conector son 40 pines, pero las distintas señales las tienen en distintas patillas, por ejemplo unas tienen la señal SCK en el pin 10 y otras en el 20; y asi con todas... Podria hacer que los cables planos cambien el cableado pero es un lio, entonces, me vino a la cabeza una charla que mantuve hace un tiempo con un amigo sobre algo parecido, de poder reconfigurar los pines segun la necesidad, con un pequeño CPLD (ni idea de como hacer esto, lo preguntaria a mi amigo que me lo haga o intentaria aprender a hacerlo yo). Asi que pensaba que ya estaba solucionado, pero al mirar precios he visto que sale cada CPLD 10€ y el micro (ATMEGA328) unos 2€, en total 12€. Mirando costes he visto que el compañero planeta9999 usa un ATMEL SAM S70 y ST32, que tienen un precio mas bajo que el conjunto de los dos (la mitad) y tienen mas pines que necesito (unos 36 aprox) y el ATMEGA no me da para eso.
Pero claro, aqui viene el problema, nunca he tocado esos micros y tampoco se si se puede implementar SPI por software para poder cambiar los pines de las distintas señales, asi como a nivel de hardware hace falta ponerle algo a los distintos pines, que por ejemplo al reconfigurar el pin como otra señal pueda verse afectada (vamos, que le ponga alguna resistencia limitadora o pullup que al configurar ahi SCK pueda afectarle).
La diferencia es que muchos de estos micros traen el USB que me permite ahorrarme tambien el micro que pasa de serie a usb (aun mas ahorro), el CPLD para expandir I/O y no me limita a 20Mhz como el ATMEGA que para alguna de las otras señales (no SPI), puedo subir a 40Mhz y meter datos mas rapido. Necesito minimo 20Mhz de operacion y tampoco necesito 300Mhz, pero si por la mitad de precio tengo mejos caracteristicas...
¿Como lo veis? Se puede implementar SPI a nivel software para poder trabajar con cualquier pin y asi solo es pinchar el cable plano y via software PC decirle, este pin es esta señal, esta otra, etc. Llevo toda la mañana con esto y no me ha quedado muy claro, ademas me da miedo programar un bicho de estos...

Igual es intentar matar moscas a cañonazos, porque es un diseño muy sencillo. Un software en el PC (que programe en visual basic), se conecta por USB y le manda comunicacion via serie al micro, que este unas veces mediante SPI lee datos y otras escribe, otras veces se comunica via bus de datos datos para hacer algo similar al SPI; solo que ahora hay que "enrutar" estas señales en un conector de 40 pines

Como se nota que no tengo ni puñetera idea de todo esto, porque algo tan sencillo comparado con otros proyectos de FPGA y micros, me esta dando dolores de cabeza

Gracias
Saludos