microcontrolador vs. Sistema en chip

23

Estoy empezando a programar microcontroladores y estaba leyendo algunos documentos y libros de texto. Estoy un poco confundido en cuanto a cuál es la diferencia entre un microcontrolador y un sistema en chip?

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

Gracias!

    
pregunta rrazd

6 respuestas

25

Un microcontrolador es un procesador que tiene su programa y su memoria de datos incorporados. Estos chips están diseñados para pequeñas aplicaciones de control integrado, por lo que es muy útil dejar los pines para E / S y no requerir un bus de memoria externo. Algunos microcontroladores tienen tan solo 6 pines y pueden hacer cosas útiles. Contraste esto con un procesador informático de propósito general destinado a una PC. Esas cosas tienen cientos de pines en una matriz y requieren una amplia gama de circuitos externos.

En cuanto al sistema en un chip, este es un término menos definido. Chipre llama a algunas de sus partes PSOC (Sistema Programable en Chip). Estos son básicamente un microcontrolador con FPGA pequeño en el mismo chip. En lugar de tener periféricos integrados, puedes hacer lo que quieras dentro de los recursos disponibles del FPGA.

En general, creo que un sistema en un chip es un microcontrolador con alguna lógica supuestamente de nivel de sistema integrada con él. Por supuesto, cuanto más intente ir al sistema, menos probable será que algún conjunto de hardware adicional sea útil, por lo que algún tipo de configuración es muy útil. Sin embargo, por ahora, "sistema en chip" es más un término de marketing que nada real.

    
respondido por el Olin Lathrop
20

El sistema en un chip (o SoC) es una frase que todos los usuarios de marketing usan y no significa mucho. También hay muchas variaciones como:

PSoC: Sistema programable en un chip, de Cypress Semiconductor.

SOPC: Sistema en un chip programable, por Altera

En esencia, un SOC es un solo chip que hace todo lo que solía usar múltiples chips. No hay nada allí que diga que tiene que incluir una CPU o RAM. Entonces, debido al hecho de que podemos obtener más transistores en un chip y que hemos estado obteniendo más y más funcionalidad en nuestros chips, casi todo puede llamarse SoC en comparación con lo que estábamos haciendo hace 10 o 20 años. !

Para empeorar las cosas: hay muchos ejemplos de cosas que se llaman SoC que aún requieren múltiples chips para que sean útiles. Muchas veces tendrás algún tipo de CPU + Periféricos que aún requieren Flash externo, RAM y cosas de energía. Así que incluso el nombre de 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.

    
respondido por el user3624
12

En general, se considera que un microcontrolador es un dispositivo integrado que está programado internamente para realizar una tarea específica. Hay una interacción mínima con el usuario y poca o ninguna flexibilidad. Por lo general, un microcontrolador es bastante bajo y solo tiene pequeñas cantidades de memoria y ROM (flash).

A la inversa, un sistema en chip es el otro extremo del espectro. Está más orientado hacia la completa flexibilidad y la interacción del usuario. A menudo incluye cosas como controladores de E / S para hardware más grande (como discos duros, etc.) e incluso a veces un adaptador de gráficos. Un sistema en chip es más como un sistema informático completo, sí, en un chip.

Hay muchos cruces entre los dos: ¿cuándo deja de ser un microcontrolador y comienza a ser un sistema en chip? De ahí es de donde viene mucha confusión.

Básicamente, si puede hacer lo que puede hacer una computadora, entonces es un sistema en chip. Si está orientado a, por ejemplo, estar sentado dentro de un teléfono de escritorio gestionando su lista de contactos, o en un sistema de entrada por teclado, o haciendo funcionar los motores en una máquina CNC, entonces es un microcontrolador.

p.s., no me cites sobre esto, ya que digo que hay muchos cruces entre los dos.

    
respondido por el Majenko
5

En cierto sentido, la distinción está más relacionada con el marketing que con la técnica, pero sugeriría que, en general, la parte "programable" de un microcontrolador está limitada a una "corriente de conciencia", relativamente estrecha. Esencialmente, en un momento dado, la siguiente operación relativamente pequeña del microcontrolador estará determinada por la forma en que está programada, pero todas las demás lógicas del sistema están programadas y funcionarán tal como están construidas. Algunas cosas, como los temporizadores, pueden proporcionar algunas opciones de configuración (por ejemplo, contar a una tasa fija en lugar de contar los pulsos en una entrada) pero en general el cableado del sistema será fijo. Si se desea que haya un cambio en la señal de salida en respuesta a alguna señal de entrada, y no existe un hardware explícito para hacer eso, el programa tendrá que mirar periódicamente la señal de entrada y, si ha cambiado, cambiar la salida. señal. Si se desea tener un cambio de voltaje analógico de salida en respuesta a un voltaje analógico de entrada, el procesador podría muestrear el voltaje de entrada, calcular la respuesta deseada y solicitar el voltaje de salida deseado. Se podría producir prácticamente el tipo de estímulo / respuesta deseado haciendo que el procesador vea las entradas y las salidas de cómputo, pero los tiempos de respuesta serían en general órdenes de magnitud más lentos de lo que podrían producirse con hardware dedicado.

La idea general con un sistema en chip es permitir que los circuitos cuenten con suficientes multiplexores y otras instalaciones de enrutamiento de manera que las señales puedan enrutarse a través de los circuitos para producir muchos tipos útiles de patrones de estímulo / respuesta sin la intervención del procesador. Dichos circuitos no pueden producir patrones de estímulo / respuesta que sean tan rápidos como lo que podría producir un procesador, pero en muchos casos pueden ser órdenes de magnitud más rápidos de lo que podría hacer un procesador.

    
respondido por el supercat
2

En mi opinión, SoC es el término con muchas definiciones, que de hecho seguirá cambiando con el tiempo. Por otro lado, el microcontrolador se definirá de la misma manera después de una década como lo está ahora. Cuando dices un microcontrolador, viene con algunas cosas básicas en un solo chip, como, memoria, puertos IO, temporizadores y contadores, etc. Pero cuando dices un SoC, no tiene ningún estándar específico sobre qué Tipo de circuito que debe contener. Por ejemplo, la aplicación principal en la que están tratando de traer SoC es 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 Gyro
  4. WiFi
  5. Una CPU y una GPU

En la situación actual, si quiero fabricar un teléfono inteligente, debo recoger una CPU y una GPU e interconectarlo todo. Pero SoC se basa en el concepto de chip único que tendrá todo lo anterior y tendrá la capacidad de evolucionar (aunque de una manera muy básica). Además, dije que SoC tiene una definición que cambia constantemente porque los requisitos básicos para un teléfono inteligente, una computadora o cualquier dispositivo electrónico aumentarán día a día y la definición de SoC cambiará con esos requisitos.     

respondido por el krushna ratnaparkhi
0

Sí. SoC es básicamente un término de mercadeo que se usa con más frecuencia. Hay terminología de dispositivo y host. Son los grandes fabricantes de PC como Dell, HP, IBM, etc. Usaron la CPU en su interior generalmente hecha por Intel, AMD, etc. .Así que básicamente proporcionan CPU o SoC en la placa madre (llamada CPU), algunos también proporcionan CPU + SoC (con un propósito particular para descargar la actividad de los periféricos, como sensores o dispositivos GPS, que de otro modo hubieran sido muy buenos). hambriento de energía si se hubieran conectado directamente a la CPU). SoC a veces también se llama un coprocesador cuyo trabajo es el mismo que el que escribí anteriormente. Ahora a las MotherBoards están conectados varios periféricos (que están conectados básicamente a la CPU o SoC), estos periféricos están básicamente conectados directamente a ellos (SOC o CPU) a través del bus de suma - i2c, SPI, USB o generalmente están conectados a los microcontroladores .También se conecta un microcontrolador al SoC o estos dispositivos se conectan directamente al bus. Ahora la Qs es la razón por la cual los periféricos se conectarán a los microcontroladores y no al bus directamente, bueno, hay una razón si los fabricantes de periféricos están También los fabricantes del microcontrolador intentarán sin duda empujar sus periferias junto con los microcontroladores no solo para obtener un mejor beneficio sino también para obtener mejores soluciones, ya que las características en el microcontrolador darán doble impulso a su solución. Imagínese si están proporcionando un El periférico bluetooth, pero conectarlo con un microcontrolador hará que ofrezcan una solución de microcontrolador bluetooth de bajo consumo de energía y rendimiento rápido. Solución tanto para el dispositivo (periférico, fabricantes de controladores) como para los fabricantes de PC, ya que están obteniendo los mejores dispositivos (periférico + microcontrolador). Entonces, el punto principal es el término del microcontrolador que verás más a menudo en el lado del dispositivo (el que se está interconectando con el SoC (ahora sabes lo que es un SOC), y el SoC en el lado del host (el lado de la PC). ). Se puede decir que la CPU es el padre que delega parte de su trabajo a SoC para mejorar las capacidades de alimentación de los dispositivos (Micro + periféricos). Básicamente, los bloques tienen más memorias para alojar un sistema operativo, por ejemplo, microcontroladores que pueden, como máximo, admitir los RTO. p>     

respondido por el Raulp

Lea otras preguntas en las etiquetas