¿Cuáles son mis opciones para la interconexión de codificadores incrementales ** 30 ** a una MCU?

1

Antecedentes: estoy familiarizado con la interconexión de algunos encoders incrementales / en cuadratura a un solo chip MCU. Mi chip al inicio STM32F10x puede decodificar 4-5 codificadores incluso en un paquete LQFP64 (por ejemplo, STM32F100R8T6 tiene 4), que siempre ha sido más que suficiente para mí ... hasta ahora .

Problema: quiero un ATXMEGA128 para sondear efectivamente los conteos de los 30 codificadores a 1kHz (por ejemplo, manteniendo contadores de 16 bits). No puedo cambiar el ATXMEGA128 a otra MCU, pero puedo agregar otra MCU para interactuar con ella.

La conclusión es que podría oprimir un FPGA (por ejemplo, Spartan3E) y hacerlo hablar con MCU a través de SPI o en paralelo, pero me gustaría considerar algunas alternativas antes de seguir este camino (por razones no técnicas) . El número puede reducirse a 15 si 30 parece demasiado difícil sin FPGA.

    
pregunta Yin Zhong

4 respuestas

0

Al final, la decisión fue agruparlos por 4 como @ spehro-pefhany sugirió en el comentario, y conectarlos a un grupo de MCU, que luego pueden comunicarse en el bus SPI.

La principal ventaja es que no hay problemas con los cables, ya que puedo colocar las MCU cerca de los codificadores.

    
respondido por el Yin Zhong
1

Un pequeño FPGA es el camino a seguir aquí. Necesitaría un CPLD muy grande para administrar esta cantidad de codificadores; no son útiles para mucho más que la lógica de cola. En general, un CPLD te da un flip-flop por pin. Un FPGA tiene recursos lógicos que están diseñados específicamente para construir cosas como acumuladores y registros de desplazamiento, y muchos más que un CPLD con el mismo número de pines. Para 30 codificadores con contadores de 16 bits en cada uno, eso es un mínimo de 480 flip flops solo para los contadores, sin contar el procesamiento del codificador y la interfaz SPI. Yo sugeriría un pequeño Spartan 3 o Spartan 6 - están disponibles en TQFP y deberían ser fáciles de conectar.

    
respondido por el alex.forencich
0

¿Por qué no usar chips decodificadores en cuadratura? El LSI LS7366R es un decodificador de cuadratura de 32 bits que también admite la señal de índice si es necesario. Todo lo que necesitas está dentro de ese chip y se lee a través de SPI.

También existe el antiguo estándar Avago, anteriormente Agilent, anteriormente HP HCTL -2032-SC . Utiliza una interfaz de bus paralelo de la vieja escuela y está en un paquete PDIP grande. Lo estoy poniendo aquí como referencia, ya que lo he visto usado en muchos controladores CNC antiguos.

    
respondido por el Mister Tea
0

Esta solución es muy extensible, pero crea una gran cantidad de cables.

Puede conectar un codificador con dos 74HC193 s y usar un montón de extensor GPIO I2C para leerlos. Esto te permitirá agregar tantos codificadores como desees.

    
respondido por el Maxthon Chan

Lea otras preguntas en las etiquetas