Un microcontrolador es una CPU que se puede programar con algún tipo de kit de desarrollo de software y, según el dispositivo, puede tener una variedad de periféricos integrados, como puertos SPI o I2C, temporizadores, etc.
Un FPGA también es un dispositivo programable pero en un nivel fundamentalmente más bajo: la “programación” en realidad define la funcionalidad en el nivel de puerta lógica. Si desea implementar una CPU, puede hacerlo. (Hay módulos de código abierto que emularán CPU simples populares como un Z80, por ejemplo), y los SDK de los fabricantes también incluyen algunas CPU de “núcleo blando” programables en C más capaces. Por otro lado, si desea implementar bloques lógicos discretos para realizar alguna función en la que la lógica dedicada crea una ventaja al acelerar su funcionamiento, también puede hacerlo.
La programación de FPGA es un trabajo fundamentalmente mucho más complejo y orientado a los detalles que un microcontrolador común, por lo que para los principiantes, creo que es preferible obtener algo de experiencia en microcontroladores antes de dar ese salto.
- ¿Por qué algún software Thin Client utiliza Windows Embedded en lugar de Linux?
- ¿Cuál es la diferencia entre los ingenieros de software integrados y los ingenieros de hardware integrados?
- ¿Qué controlador es mejor para desarrollar productos?
- Dado un sistema integrado que tiene múltiples CPU, ¿cómo podemos diseñar un sistema para la comunicación entre procesadores?
- Cómo conectar una fuente de alimentación a un microcontrolador