29 votos

microcontrolador frente a sistema en chip

Estoy empezando a programar microcontroladores y estuve leyendo documentación y libros de texto. Estoy un poco confundido en cuanto a cuál es la diferencia entre un Micro-controlador y un Sistema en chip?

Algunos documentos utilizan estos dos términos de forma intercambiable. Sin embargo, la mayoría de los libros de texto señalan que utilizar los dos términos de forma intercambiable NO es correcto, por lo que debe haber alguna diferencia notable...

Gracias.

6 votos

Gracias por aceptar mi respuesta, pero te recomiendo que la próxima vez esperes más tiempo antes de aceptarla. Es probable que otros tengan opiniones y puntos de vista diferentes, pero a menudo pueden pasar por alto una pregunta que ya tiene una respuesta aceptada; sé que a mí me pasa. Conviene dejar algo de tiempo para llegar a un consenso, sobre todo cuando se trata de una pregunta que aborda una zona gris.

0 votos

@Olin Genial, lo tendré en cuenta la próxima vez.

31voto

RelaXNow Puntos 1164

Un microcontrolador es un procesador que lleva incorporada su memoria de programas y datos. Estos chips están pensados para pequeñas aplicaciones de control embebidas, por lo que dejar los pines para E/S y no necesitar un bus de memoria externo es muy útil. Algunos microcontroladores tienen tan sólo 6 pines, y pueden hacer cosas útiles. Contrasta eso con un procesador informático de propósito general destinado a un PC. Esas cosas tienen cientos de pines en una matriz y requieren una amplia circuitería externa.

En cuanto al sistema en un chip, es un término menos definido. Cyprus denomina PSOC (Programmable System on Chip) a algunas de sus piezas. Se trata básicamente de un microcontrolador con una pequeña FPGA en el mismo chip. En lugar de tener periféricos integrados, se puede hacer lo que se quiera con los recursos disponibles de la FPGA.

En general, creo que un sistema en un chip es un microcontrolador con alguna lógica supuestamente a nivel de sistema integrada en él. Por supuesto, cuanto más se intente profundizar en el sistema, menos probable será que cualquier conjunto de hardware adicional resulte útil, por lo que algún tipo de configurabilidad es muy útil. Sin embargo, por ahora "sistema en chip" es más un término de marketing que algo real.

23voto

System On a Chip (o SoC) es una frase comodín que utiliza la gente de marketing y que en realidad no significa gran cosa. También hay muchas variaciones como:

PSoC: Programmable System On a Chip, de Cypress Semiconductor.

SOPC: Sistema en un chip programable, de Altera

En esencia, un SOC es un único chip que hace todo lo que antes ocupaban varios chips. No hay nada que diga que tiene que incluir una CPU o RAM. Así que, debido a que podemos tener más transistores en un chip y a que cada vez tenemos más funcionalidad en nuestros chips, casi todo puede llamarse SoC si lo comparamos con lo que hacíamos hace 10 o 20 años.

Para empeorar las cosas: hay muchos ejemplos de cosas que se llaman SoC y que necesitan varios chips para ser útiles. A menudo tendrás algún tipo de CPU + periféricos que aún requieren Flash externa, RAM y cosas de energía. Así que incluso el nombre SoC es engañoso.

Una MCU es probablemente el ejemplo más conciso de lo que debería ser un SoC, pero es un ejemplo muy limitado.

12voto

user4245 Puntos 324

En general, se considera que un microcontrolador es un dispositivo integrado que se programa internamente para realizar una tarea específica. La interacción con el usuario es mínima y la flexibilidad, escasa o nula. Un microcontrolador suele tener una potencia bastante baja y sólo dispone de pequeñas cantidades de memoria y ROM (flash).

En cambio, un sistema en chip es el otro extremo del espectro. Está más orientado a la flexibilidad total y la interacción con el usuario. Suele incluir controladores IO para hardware de mayor tamaño (como discos duros, etc.) e incluso, a veces, un adaptador gráfico. Un System-on-Chip es más parecido a un sistema informático completo, sí, en un chip.

Hay mucho cruce entre los dos: ¿cuándo deja de ser un microcontrolador y empieza a ser un sistema en chip? De ahí viene gran parte de la confusión.

Básicamente, si puede hacer lo mismo que un ordenador, se trata de un sistema en chip. Si está orientado, por ejemplo, a la gestión de la lista de contactos de un teléfono de sobremesa, a un sistema de entrada por teclado o al funcionamiento de los motores de una máquina CNC, entonces es un microcontrolador.

p.d., no me cite a mí en esto - como digo hay mucho cruce entre los dos.

5voto

Alex Andronov Puntos 178

La distinción está en cierto sentido más relacionada con el marketing que con la técnica, pero yo sugeriría que, en general, la parte "programable" de un microcontrolador se limita a una única y relativamente estrecha "corriente de conciencia". Esencialmente, en un momento dado, la siguiente operación relativamente pequeña del microcontrolador vendrá determinada por cómo esté programado, pero el resto de la lógica del sistema está cableada y funcionará tal y como está construida. Algunas cosas como los temporizadores pueden proporcionar algunas opciones de configuración (por ejemplo, contar a una velocidad fija frente a contar pulsos en una entrada), pero en general el cableado del sistema será fijo. Si se desea que alguna señal de salida cambie en respuesta a alguna señal de entrada, y no existe hardware explícito para hacerlo, el programa tendrá que mirar periódicamente la señal de entrada y, si ha cambiado, cambiar la señal de salida. Si se desea que una tensión analógica de salida cambie en respuesta a una tensión analógica de entrada, el procesador podría muestrear la tensión de entrada, calcular la respuesta deseada y solicitar la tensión de salida deseada. Prácticamente, el tipo de estímulo/respuesta deseada podría producirse haciendo que el procesador mire las entradas y calcule las salidas, pero los tiempos de respuesta serían en general órdenes de magnitud más lentos que los que podrían producirse con hardware dedicado.

La idea general de un sistema en chip es dotar a los circuitos de suficientes multiplexores y otros dispositivos de encaminamiento, de modo que las señales puedan encaminarse a través de los circuitos para producir muchos tipos útiles de patrones de estímulo/respuesta sin intervención del procesador. Estos circuitos no pueden producir patrones de estímulo/respuesta tan rápidos como los que podría producir un procesador, pero en muchos casos pueden ser órdenes de magnitud más rápidos que cualquier cosa que pudiera hacer un procesador.

2voto

avs099 Puntos 130

En mi opinión, SoC es un término con muchas definiciones, que de hecho seguirán cambiando con el tiempo. Por otro lado, el microcontrolador se definirá de la misma manera dentro de una década que ahora. Cuando hablamos de un microcontrolador, nos referimos a que incluye algunos elementos básicos en un único chip, como memoria, puertos de E/S, temporizadores y contadores, etc... Pero cuando se habla de un SoC, no hay ninguna norma específica sobre el tipo de circuitos que debe contener. Por ejemplo, la principal aplicación en la que se está intentando introducir el SoC es el Smartphone. En el escenario actual, un teléfono inteligente debe contener algunas cosas básicas a bordo como,

  1. NFC
  2. GPS
  3. Acelerómetro y giroscopio
  4. WiFi
  5. Una CPU y una GPU

En la situación actual, si quiero fabricar un smartphone, tengo que hacerme con una CPU y una GPU y conectarlo todo a ella. Pero el SoC se basa en el concepto de chip único que tendrá todo lo anterior y sí tiene capacidad para evolucionar (aunque de forma muy básica). Además, he dicho que la definición de SoC cambia constantemente porque los requisitos básicos de un smartphone, un ordenador o cualquier dispositivo electrónico van a aumentar día a día y la definición de SoC cambiará con esos requisitos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X