Autor Tema: Micro para implementar SPI en diferentes patillas  (Leído 7911 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 258
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #15 en: 02 de Julio de 2017, 14:23:05 »
Pues si ya tienes el FPGA de Xilinx de hace tiempo puedes meterle el PicoBlaze para controlar la comunicación entre la PC y el SPI.

Hace tiempo use el PicoBlaze en un Spartan 3E starter Kit, y es muy sencillo de usar, son muy pocas instrucciones en ASM.

https://www.xilinx.com/products/intellectual-property/picoblaze.html

Pero, si no quieren gastar, tu tampoco vas a poner de tus recursos para resolverles los problemas, deben de entender que lo que haces los beneficia a ellos, pero para alcanzar ese beneficio tienen que invertir tanto en tiempo como dinero.

Las tarjetas que tienes, tuvieron un costo en su momento, y su costo es mucho mayor de los de 10 euros. De cualquier forma en que lo quieras hacer el costo va a ser mayor, sobre todo porque tienes que en rutar todas esas señales.

SaludOS

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #16 en: 02 de Julio de 2017, 17:10:59 »
... ya sabeis, lo quieren completo y muy barato... (supongo que cuanto menos gasten, mas tienen para el nuevo mercedes  :D). Quizas se podria haber hecho con un monton de pines con jumper (bueno, segun las combinaciones seria inmenso, ni una centarl nuclear), pero creo que van a ir a parar a los tecnicos de mantenimientos que estan en las instalaciones in-situ y como los deben considerar como tontos lo quieren sencillo, aunque a mi tambien me deben considerar lo mismo, pero lo mio es con razon  :D


Vale, lo quieren sencillo, barato y además totalmente configurable de cualquier pin de entrada de los 30 posibles a las 4 señales del SPI + GND.

Con jumpers, no, serían tropecientos mil (creo que 150 jumpers, de 30 entradas a 5 del SPI+GND), algo poco elegante y muy lioso. Pero SI puedes hacerlo con cables Dupont,  pones un conector de entrada con 30 pines macho de paso 2.54mm, pones otro conector macho de 5 pines 2.54mm  con las señales de un único SPI por hardware + GND (CS, SDI, SDO, CLK, GND) ruteadas al SPI del microcontrolador.

Ahora con cables Dupont hembra-hembra, que el usuario pinche los 5 cables de un conector a otro, eligiendo el ruteado de las 5 señales a su elección. Conforme averigües que pines usa cada placa, les preparas un plano (en papel, en un A4 caben montones de configuraciones). O si lo quieres complicar un poco, pero dejarlo más bonito, conéctale, al microcontrolador, una pantalla TFT de 4 pulgadas (algo con un ILI9341, por ejemplo), que saque ese plano de conexiones, con un menú para elegir la placa, y arreando.

Supongo que usando un CPLD o un FPGA lo podrás hacer, pero si tienes tantas placas todavía sin identificar, cada vez que surja una nueva, tendrás las mismas, no podrán usar tu invento hasta que no programes la nueva placa. Mientras que con un par de conectores y 5 cables dupont, el producto es 100% universal y de uso inmediato para cualquier combinación, además si tu presupuesto no puede pasar de 10€, no creo que tengas muchas alternativas.
« Última modificación: 02 de Julio de 2017, 17:37:39 por planeta9999 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #17 en: 02 de Julio de 2017, 17:44:32 »

Ahora con cables Dupont hembra-hembra, que el usuario pinche los 5 cables de un conector a otro, eligiendo el ruteado de las 5 señales a su elección. Conforme averigües que pines usa cada placa, les preparas un plano (en papel, en un A4 caben montones de configuraciones). O si lo quieres complicar un poco, pero dejarlo más bonito, conéctale, al microcontrolador, una pantalla TFT de 4 pulgadas (algo con un ILI9341, por ejemplo), que saque ese plano de conexiones, con un menú para elegir la placa, y arreando.

Supongo que usando un CPLD o un FPGA lo podrás hacer, pero si tienes tantas placas todavía sin identificar, cada vez que surja una nueva, tendrás las mismas, no podrán usar tu invento hasta que no programes la nueva placa. Mientras que con un par de conectores y 5 cables dupont, el producto es 100% universal y de uso inmediato para cualquier combinación.

Es que creo que hasta ahora eso estan haciendo. Conectandolo con cables ( y soldandolos ), bueno en realidad aca se estan ahorrando esa parte.. la de soldarlos.
Aun asi es MUY pero MUY propenso a errores, vos tenes que pensar que eso puede ser agarrado por cualquier persona. Ya que segun el autor del propio hilo:

Citar
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 exactamente se le pide una PCB, ahora dice que posee una placa Xilinx.
A mi parecer yo intentaria en esa placa con el FPGA:

- Crear el multiplexado para todos los pines ( los 40 )
- Crear el SPI
- Crear una conexion USB.

Una ves realizado todo esto en la placa de prueba de la FPGA, revisaria cuantos recursos son necesarios para realizar esto. De alli elegiria un FPGA con recursos acorde al proyecto.

Como lidiar con varias placas sin que otras personas que no tienen idea toquen algo que puede romper tu PCB.
Creo que nadie quisiera que alguien elija el pin y se ponga a probar, ya que de seleccionar en el multiplexor una salida en donde existe una salida (placa en prueba), te enfrentas al problema de un cortocircuito. Entonces no quisieras que nadie juegue con los pines.
Pienso que deberia desarrollar un pequeño software que segun el modelo de placas estudiadas elija pines pre-definidos, en caso de querer agregar mas placas, tanto si es para un cliente o para la fabrica, solo deberia actualizar un archivo que es el que le dice que pin es cada cosa. Previamente estudiado esa PCB.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #18 en: 02 de Julio de 2017, 20:03:19 »
Es que creo que hasta ahora eso estan haciendo. Conectandolo con cables ( y soldandolos ), bueno en realidad aca se estan ahorrando esa parte.. la de soldarlos.
Aun asi es MUY pero MUY propenso a errores, vos tenes que pensar que eso puede ser agarrado por cualquier persona.

¿ Errores, conectar 4 hilos ??, para eso ni siquiera hace falta ser inteligente, con que sean seres humanos capaces de atarse los cordones de los zapatos, es suficiente.

Ahora, si tienen contratados a cabreros, es otra cosa, pero si es así, peor me lo pones, porque tampoco tendrán ni idea de manejar un ordenador, para desde software seleccionar la placa. Es una contradicción, pensar que alguien es incapaz de conectar 4 hilos, y si va a ser capaz de manejar un ordenador. O son unos burros para manejar ambas soluciones, o son seres normales capaces de lidiar con algo tan simple en ambos casos.


Citar
Y exactamente se le pide una PCB, ahora dice que posee una placa Xilinx.
A mi parecer yo intentaria en esa placa con el FPGA:

- Crear el multiplexado para todos los pines ( los 40 )
- Crear el SPI
- Crear una conexion USB.

Una ves realizado todo esto en la placa de prueba de la FPGA, revisaria cuantos recursos son necesarios para realizar esto. De alli elegiria un FPGA con recursos acorde al proyecto.

¿ Todo eso, con un presupuesto que no supere los 10€ por placa ?.  :mrgreen: :mrgreen: :-/ :-/ :-/ :mrgreen: :mrgreen:

« Última modificación: 02 de Julio de 2017, 20:08:48 por planeta9999 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #19 en: 02 de Julio de 2017, 20:35:53 »
¿ Errores, conectar 4 hilos ??, para eso ni siquiera hace falta ser inteligente, con que sean seres humanos capaces de atarse los cordones de los zapatos, es suficiente.

Ahora, si tienen contratados a cabreros, es otra cosa, pero si es así, peor me lo pones, porque tampoco tendrán ni idea de manejar un ordenador, para desde software seleccionar la placa. Es una contradicción, pensar que alguien es incapaz de conectar 4 hilos, y si va a ser capaz de manejar un ordenador. O son unos burros para todo, o son seres normales para todo.

Y si planeta, teniendo un conector de 40 pines no me extraña que alguien conecte el pin del lado, tampoco conoces cual es el destinatario de esta PCB, ya que no se lo dijeron a la persona que se lo encargaron, seleccionar una opcion de una lista, es MUCHO mas simple que conectar cablecitos, cualquier persona puede usar una PC. Si lo piensan hacer para ellos, entonces van a seguir a cablecitos. Y no necesitamos hablar mas, ya que seria un solo micro con USB y nada mas.

¿ Todo eso, con un presupuesto que no supere los 10€ por placa ?.  :mrgreen: :mrgreen: :-/ :-/ :-/ :mrgreen: :mrgreen:

Pensandolo mejor no, en realidad FPGA hay desde los 2.8 dolares en digikey por unidad, teniendo unos de 5.7 dolares mejores FPGA con 65K RAM 1000LE y 160LABs.
La PCB seria pequeña, con tecnologia TQFP por lo cual no deberias tener una tecnologia costosa para crearla. Ya que routearias los pines a pines disponibles y luego que dentro de la FPGA se encargue de todo.
El problema es la interfaz. Ya que la FPGA tiene un voltaje de 1.2V o 3.3V en algunas un poquito mas caras.
Y finalmente como te decia, no se que cantidad de LAB/LE van a consumir generar todos esos multiplexores/SPI/USB. Si es posible con esta FPGA o deba irse a una mucho mas grande, aumentando el costo.
Una FPGA con un micro no esta en la discusion ya que son mucho mas caros.

La otra es usar un micro con USB + un SPI en hardware. Y luego de alli multiplexarlo como dijimos, cada multiplexor 8:1 (MC74HC151A) son 0.37 dolares ( por unidad ), o sea 1.85 dolares por entrada, hay multiplexores 16:1 pero son mas caros, y encima tenes las salidas (MC74HC238A ), las cuales estan casi al mismo precio, ya con las 2 entradas y 2 salidas ya tenes casi 8 dolares (Suponete 7 dolares por comprar de a 20 o mas). Y encima necesitarias una PCB mucho mayor area, con mas cantidad de vias por el routeado de esos 40 a todos lados, etc. Esta opcion permite un cambio de tension distinto del FPGA que se complica mucho mas realizarlo.

Y finalmente la opcion mas barata que es la que planteas vos. Y que simplemente es usar un micro + cables, pero te digo que si esto es para algun consumidor, no es muy lindo que la persona deba estar contando pines uno por uno para conectar los 4 cables. Y si yo te ofresco la opcion de 6 dolares y vos tenes que conectar los cables uno por uno, y te ofresco otra opcion que sale 15 dolares donde conectas y te olvidas, creo que vas a tener mayor demanda la de 15 dolares que la de 6. La de 6 la va a comprar el pobre que arregla 1 placa con suerte. Pero el que trabaja con esas placas simplemente quiere perder el menor tiempo posible, entonces no se va a poner a buscar que pines en esa placa eran los del SPI, luego buscar el manual de cual era cada cablecito y finalmente ponerse a contar sobre el conector o tratar de recordar como se enumeran los pines sobre ese conector.

En fin.. el problema aca es que no sabemos que grado de comodidad pretende. Todas las opciones de tratar de poder configurar los 40 pines de forma automatica superan los 10€ facilmente. Y si no tiene que ir a la placa esa que comentas. Pero para eso directamente siguen con su Arduino y con sus cablecitos.
« Última modificación: 02 de Julio de 2017, 20:51:21 por KILLERJC »

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #20 en: 03 de Julio de 2017, 08:47:42 »
Hola

Muchas gracias a todos por las respuestas, de verdad.

Me estoy dando cuenta que os estoy mareando para un problema que ni tan siquiera deberia tenerlo yo, y mas que ayuda casi me lo estais diseñando y no os deberia quitar tiempo con mis "tonterias", he estado viendo los io expander de microchip que se usan por SPI y creo que va a ser lo mas rapido y sencillo de implementar, al menos para salir del paso... Así que no os voy a marear más, voy a intentar hacerlo con eso y si sale del presupuesto que tengan pues que se busquen alguien que se lo haga, que yo estoy contratado para "reparar" no para otras cosas. Asi que voy a decirles que pidan lo mas facil de conseguir y programar, sin mirar el precio y si les interesa ya saben, sino...

De todas formas de forma personal voy a mirar de hacerlo con otras formas y ya os informare como ha quedado, mas que nada ya por interes personal  ;-). Gracias de nuevo.

Saludos

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #21 en: 03 de Julio de 2017, 12:04:37 »
Hola de nuevo

Una pregunta (posiblemente sea otra tonteria lo que pregunto), he estado pensando ya por tema personal (y mande un email a mi amigo  :D), que a nivel profesional va como dije, ya les mande email a mis "jefes" ¿Puedo atacar el cableado con dos circuitos? Me explico:

Si utilizo un microcontrolador con muchos pines, puedo unirlos todos al conector del cable plano y luego mediante software utilizar los pines para el bus de datos que necesite y aparte, utilizar los cuatro pines de spi a algun integrado o cpld que este unido tambien a todos los pines del cable, asi solo habria que enrutar 4 señales a todos los pines del cable plano, entiendo que habria que usar unos pines mas para direccionar las señales en caso de multiplexores/demultiplexores.

Lo que quiero preguntar es si puede haber algun problema y dañarse a nivel de hardware, no van a esta simultaneamente, pero por ejemplo al estar unidos los pines del micro y el sistema que enruta, si cuando se comunique via SPI (sistema enrutador) puede retornar al microcontrolador señal (y viceversa) ¿habria que poner algun tipo de resistencia o algo o puede ir a "pelo"?

Bueno, la clave va a ser que me pida un par de micros y en casa haga pruebas, quemando cosas se aprende  :D

muchas gracais.

saludos
antonio

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 258
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #22 en: 03 de Julio de 2017, 13:10:07 »
Suena medio peligroso.

Viendo la situación y por la falta de recursos lo que haría sería una PCB con con 3 conectores, como lo muestro en la siguiente imágen



El micro ahí puede ser cualquiera que tenga SPI o puedes hacer unos sockets para colocar un arduino (mciro o nano) o la tarjeta con el stm32f103c8t6 que sale muy económica.

Las conexiones las realizarías a mano con cables hembra-hembra, entre el primer y segundo conector. Entre el segundo y el tercer conector estaría cableados pin a pin en el PCB. Es algo que hasta te puedes hacer la PCB en casa.
« Última modificación: 03 de Julio de 2017, 13:12:14 por tsk »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #23 en: 03 de Julio de 2017, 19:20:00 »
Si utilizo un microcontrolador con muchos pines, puedo unirlos todos al conector del cable plano y luego mediante software utilizar los pines para el bus de datos que necesite y aparte, utilizar los cuatro pines de spi a algun integrado o cpld que este unido tambien a todos los pines del cable, asi solo habria que enrutar 4 señales a todos los pines del cable plano, entiendo que habria que usar unos pines mas para direccionar las señales en caso de multiplexores/demultiplexores.

Lo que quiero preguntar es si puede haber algun problema y dañarse a nivel de hardware, no van a esta simultaneamente, pero por ejemplo al estar unidos los pines del micro y el sistema que enruta, si cuando se comunique via SPI (sistema enrutador) puede retornar al microcontrolador señal (y viceversa) ¿habria que poner algun tipo de resistencia o algo o puede ir a "pelo"?

Bueno, la clave va a ser que me pida un par de micros y en casa haga pruebas, quemando cosas se aprende  :D


Menudo galimatías, yo ya he perdido el hilo de lo que quieres hacer. Al final terminarás haciendo lo más simple, que es lo que yo comenté, con dos conectores y 5 cables dupont, más aún teniendo un presupuesto de 10€/placa. Usar un CPLD o un FPGA para esto es matar mosquitos a base de misiles Tomahawk (que son más caros que los cañonazos).

Si te incomoda mezclar o compartir señales, puedes aislarlas entre si con buffers, por ejemplo el CD4050, y para prevenir barrabasadas que terminen quemando los buffers, yo los pondría pasantes en zócalo. Como parece que los operarios son tan manazas, como se ha comentado, mejor prevenir que curar (le das a cada operario un saquito de CD4050, y cuando los quemen que los cambien).

Y sobre mi idea, añadir, que en vez de poner una pantallita de 4 pulgadas para mostrar el plano de conexiones para la placa seleccionada, puesto que se va a controlar por USB desde el PC, se puede mostrar el plano de conexión de los 5 hilos en la misma pantalla del PC. Asi que con un micro STM32, conector USB, placa con 2 conectores de paso 2.54, y 5 cables dupont hembra-hembra, va que chuta, y seguramente cumpliendo el presupuesto de no pasarse de 10€ (aunque aún así, lo veo algo justo, que rácanos son)
« Última modificación: 03 de Julio de 2017, 19:25:48 por planeta9999 »

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #24 en: 04 de Julio de 2017, 20:24:49 »
Si, si yo te contara que racanos son... Han llegado a perder contratos importantes por no gastar x dinero que estaba por contrato... O meter personal y furgonetas de menos que lo contratado ¡ Asi mas dinero de beneficios ! Lo de los cables no lo veo por una razon, yo no es que sea mas espabilado, que posiblemente este a la misma altura, pero los de mantenimiento han llegado a traer placas electronicas de instalaciones a mas de 300km y dejando la maquina del cliente fuera de servicio, con el coste que ello conlleva para este, por tener un cable suelto o un terminal roto en otro  y no pegarle una soldadura (viendose el cable colgando), asi que...

Al final tragaran con el presupuesto que sea, siempre que no sea exagerado, porque sino saben que es dejar maquinas fuera de servicio porque como no hay repuestos... Eso que se ahorran, ahora bien, tendran que formar a los tecnicos para hacer eso...

Les dije para hacerlo con esos io expander de microchip, de momento no han dicho nada, aunque a titulo personal, en mi casa y ratos libres voy a ver si puedo hacer algo "mas pro" con STM32.

Saludos
antonio

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #25 en: 04 de Julio de 2017, 23:02:39 »
Es que con los I/O expander no lo vas a poder hacer.

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #26 en: 05 de Julio de 2017, 13:09:23 »
De momento les pedi eso y los integrados que me comentasteis (menos fpga y demas, que sino les da un infarto, ademas no tengo ni puñetera idea de usarlas) para hacer pruebas/prototipos, solo falta que sus majestades me los hagan llegar... Igual estan haciendo numeros para ver si se pasan de los 10€ :D (que triste de empresa...), con eso tiene para unos litros de los mercedes jejeje

Saludos

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re:Micro para implementar SPI en diferentes patillas
« Respuesta #27 en: 05 de Julio de 2017, 13:44:14 »
Que tal Kid_Bengala,

Como bien mencionas por tu propia persona, es claro que no tienes idea de como hacer el hardware para esta aplicación y desde ya te puedo decir que con 10 Euros no podras realizarla. Algunos diran que sí con el uso de FPGA o de CPLD, pero el caso es que tú lo tienes que hacer y pues tampoco tienes el conocimiento para esto. Como bien te comentaron anteriormente, lo más fácil es que hagas uso del 74HC4066 y con el uso de demux como el 74HC138 realizar la lógica de control/selección. Esto implicara varios integrados de este tipo. Esto parece un trabajo sencillo y lo es a nivel de lógica, pero para el interconexionado en el PCB, esto sera una pesadilla.
No quiero en ninguna forma desanimarte, sino mas bien ponerte en la perspectiva correcta según lo que tus propias palabras expresan.

elreypic.


 

anything