Pregunta sobre la producción del periférico USB de la computadora [cerrado]

2

Tengo un controlador de juego. Este controlador tiene un cable USB y cuando está conectado, la computadora lo reconoce instantáneamente. Quería saber de qué se trataba, así que abrí el estuche y encontré el chip "STM32F103C8T6". Busqué en Google y encontré: enlace

  • Al principio, pensé que el interior debía tener un tipo de "chip de joystick" o algo así, pero en realidad es una computadora de propósito general. (¿Probablemente con un programa personalizado cargado en él?) ¿Entonces, la capacidad de interactuar con la computadora depende únicamente del programa cargado en este MCU?

  • ¿Otros dispositivos de computadora (mouse, teclado, controlador MIDI, etc.) tienen este tipo de computadora dentro?

  • Si también quisiera producir una computadora, ¿dónde debería comenzar a obtener la placa de circuito completa al final? El chip parece que no se puede quitar del tablero y la conexión es muy pequeña. Supongo que debe ser ensamblado por la máquina automática de precisión de fábrica solamente. (No el que puedes comprar por separado y montar como ATMEGA en Arduino. Ese es mucho más grande y puedes contar todos los pines con tu ojo)

  • ¿Cómo puede el fabricante (¿quién? ¿Fábrica?) programarlo en primer lugar?

  • Encontré varias "placas de descubrimiento" que tienen este chip y también un puerto USB para que puedas programar en ellas. Entonces, ¿significa que también puedo volver a programar en este chip STM en mi controlador de juegos? Porque, después de todo, estoy usando una conexión USB para usar el controlador, y este USB se conecta a la MCU. Creo que este mismo USB debería poder "usar" y "programar".

pregunta 5argon

2 respuestas

5

Toda tu publicación es un poco amplia. Pero tomadas por separado, cada pregunta es respondible en sí misma, así que ...

  

... ¿esta es en realidad una computadora de propósito general, con un programa personalizado cargado en ella? Entonces, ¿la capacidad de interactuar con la computadora depende únicamente del programa cargado en esta MCU?

En este caso particular, tienes toda la razón en ambos puntos.

  

¿Otros dispositivos de computadora (mouse, teclado, controlador MIDI, etc.) tienen este tipo de computadora adentro?

Todos tienen un chip controlador. En algunos casos, es un MCU genérico, como en su ejemplo específico aquí. Pero en otros casos (por ejemplo, un ratón barato de alto volumen de ventas), es un chip específico como usted pensó que era (y en este caso, el chip no suele estar documentado).

  

Y si algún día también quisiera producir una computadora, ¿dónde debería comenzar a obtener la placa de circuito completa al final? El chip parece que no se puede extraer de la placa y la conexión es muy pequeña. Supongo que debe ser ensamblado por la máquina automática de precisión solo de fábrica. (No es el que puedes comprar por separado y montar como ATMEGA en Arduino. Ese es mucho más grande y puedes contar todos los pines con tu ojo)

El chip que viste (STM32F103C8T6) es un LQFP48. Los que tienen clavijas expuestas, por lo que aún son relativamente fáciles de soldar a mano (en comparación con QFN), incluso si el paso está bien. Pero sí, por supuesto, dado el volumen, se ensamblan mediante un proceso automatizado (máquina de selección y colocación, soldadura por reflujo). Pero incluso las placas arduino que utilizan DIL se ensamblan mediante un proceso automatizado.

  

Por lo tanto, también me pregunto cómo puede el fabricante (¿quién? ¿Fábrica?) en primer lugar.

Lo hacen en el circuito de programación. Hacen trazas en el PCB que van desde los pines de depuración del chip a algún encabezado personalizado. Luego, durante la fabricación, hay un paso en el que un usuario (generalmente chino y no paga mucho, o, para volúmenes muy altos nuevamente, una máquina) coloca un cable en esta cabecera y hay una computadora que luego inicializa el código del programa. El microcontrolador flash. A veces, ni siquiera hay un encabezado, solo se trata de almohadillas en la PCB y utilizan pines pogo.

  

Encontré varios "tableros de descubrimiento" que tienen este chip y también un puerto USB para que puedas programar en ellos. Entonces, ¿significa que también puedo volver a programar en este chip STM en mi controlador de juegos? Porque después de todo, estoy usando una conexión USB para usar el controlador, y este USB se conecta a la MCU.

Sí, las placas de descubrimiento de ST (¿o son las placas de núcleo? - de todos modos) tienen una parte de "programación" y una parte de "demo". La parte de demostración contiene la MCU para mostrar y algunos periféricos de ejemplo. La parte de programación contiene otro chip que hace que el puente pase del USB al protocolo de depuración para que pueda programar chips ST con él. En estas tarjetas, puede deshabilitar la parte de demostración y conectar otra tarjeta a la parte de programación. Así que puedes usar eso para reprogramar tu controlador de juego. También hay dispositivos independientes y baratos (con la marca "ST-LINK v2") que pueden hacerlo. Sin embargo, debe identificar dónde están disponibles los pines de depuración en su tarjeta de demostración (el "encabezado personalizado" o las "almohadillas expuestas" de las que hablé anteriormente).

Podría haber otra solución para reprogramar el controlador de juegos, que es aprovechar el cargador de arranque que ya está en la ROM. En ese caso, ni siquiera necesita hardware adicional específico. Solo debe configurar los pines BOOT de la MCU al nivel apropiado (consulte la hoja de datos, pero también debe identificar dónde se puede acceder a este pin en la PCB) y debe poder descargar el nuevo código de firmware directamente desde el teclado del juego. Puerto USB en sí.

Pero volver a desarrollar un firmware, incluso para un panel de juegos, no es una tarea sencilla. Y tendrás que hacer mucha ingeniería inversa en el hardware del teclado del juego. No es imposible, pero no empezaría con un desafío así.

    
respondido por el dim
2

Este microcontrolador es un microcontrolador de propósito general con algún hardware USB incorporado. Puede ser un programa para trabajar como muchas cosas. En general, estos dispositivos USB utilizan las descripciones genéricas del Dispositivo de interfaz humana (HID) USB y se anuncian como joystick o gamepad. Es bastante simple. Google USB HID joystick para un montón de ejemplos. Casi todos los sistemas operativos tienen controladores para dispositivos HID USB genéricos.

El propio IC es un paquete QFN o LLP, dispositivo de montaje en superficie (SMD). La lata y, a menudo, se sueldan a mano, pero cualquier dispositivo de producción en masa se realiza mediante reflujo, un proceso de soldadura SMD. Mayormente automatizado.

Para programarlos, se usa un programador antes de soldarlos, o implementan puntos de prueba o un encabezado para el Programa de circuitos en serie (ICSP). Esto también se puede hacer como parte del proceso de fabricación, mediante máquinas automatizadas.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas