INTRODUCCIN A LOS CControlador: Dispositivo empleado para el controlautomtico de un conjunto de procesos
Implementaciones de los controladores digitales: Lgica discreta
Baja densidad de integracinDiseo sencillo/medio/complejo (Hw)Poco generalizableCoste bajo/medio/alto
PLC (Programmable Logic Controller)Mayor densidad de integracinDiseo sencillo (Sw)Muy generalizableCoste elevado
P+RAM+ROM+Perifricos(A/D,Timers...)Elevada densidad de integracinDiseo medio/complejo (Sw+Hw)GeneralizableCoste bajo/medio
C:Muy elevada densidad de integracinDiseo sencillo/medio (Sw+Hw)Muy generalizableBajo coste
Controlador digital: Controlador con lgica de controldigital.
Ventajas de los diseos basados en C:Reduccin del tamao y precio: El elevado grado de integracin de un P+Perifricos en un IC permite una elevada funcionalidad por rea a bajo coste, y un menor tamao del PCB.Elevada flexibilidad:Un mismo C puede ser usado para un elevado nmero de aplicaciones variando slo el Sw.Rapidez de desarrollo: La adaptacin de un C a otra aplicacin puede consistir en adaptar el Sw y muy poco Hw.Aumento de la fiabilidad: La disminucin de Ics del PCB aumenta el riesgo de averas y ajustes.Buenas prestaciones: Los C usan P que permiten la ejecucin eficiente de algoritmos de control.
Aplicaciones tpicas de C:JuguetesElectrodomsticos (TV, W, DVD, ...)Comunicaciones, telefona celular...Impresoras, modems, perifricos de ordenador...Sistemas electrnicos del automvil (ABS, airbags, ...)Instrumentacin electrnicaMquinas de venta automticaControladores, PLCsRobticaTarjetas inteligentes (smart-cards)Cualquier sistema electrnica que requiera inteligencia
ARQUITECTURA C
CPUP
ROMEPROME2PROMFLASH
E2PROMFLASH
SFR
PortsI/O
TimerCounter
SerialCom
A/D
Watchdog
C
R
RAM
Los pins del encapsulado suelen ir multiplexados ocompartidos por varios perifricos para reducir tamaoy coste
Brown-out
VDD
HALT
INT
CPU (Central Process Unit). Es el P del sistema.Clasificacin en funcin del tamao de datos:
4-bit. Aplicaciones muy sencillas y muy econmicas.8-bit. Aplicaciones sencillas/medias y econmicas. Es el tipo de C dominante en el mercado.16-bit. Aplicaciones medias y coste medio.32-bit. Aplicaciones complejas y elevado coste.
Clasificacin en funcin del conjunto de instrucciones:RISC (Reduced Instruction Set Code). Instrucciones sencillas y de rpida ejecucinCISC (Complex Instruction Set Code). Instrucciones ms complejas de mayor tiempo de ejecucin
Clasificacin en funcin de la arquitectura de buses:Von Newmann: Buses de datos y @ compartidos por la memoria de datos y de programa. Simplifica el diseo y coste.
Harvard: Buses de datos y @ diferentes para la memoria de datos y de programa. Permite acceso simultneo.
CPUMemoria
DatosMemoriaPrograma
8 12/14/16
d p
8
12/14/16
2d 2p
CPUMemoria
Programa yDatos
m
n
n
2m
Puertos I/O:Entrada/Salida de datos al exterior por sus patillasGeneralmente son de 8 bitsPueden incorporar resistencias pull-up
Memoria de programa:ROM: Dispositivo OTP grabado en fbrica. EPROM: Dispositivo OTP o borrable (con ventana). E2PROM: Dispositivo regrabable in-system con Vpp=12vFLASH: Dispositivo regrabable in-system.
Memoria voltil de datos:RAM: Almacenamiento de variables del programa.SFR: Special Function Registers usados para manejar los perifricos, configuraciones, interrupciones...
Memoria no voltil de datos:E2PROM o FLASH
WatchDog:Temporizador especial que realiza reset peridico del C. Necesario introducir cdigo dentro del programa para su reinicializacin.
Brown-out:Circuito detector de fallo de alimentacin que paraliza el sistema.
ADC:Conversin A/D desde el exterior al PResolucin media (8 a 12 bits)Multi-canal mediante multiplexor
DAC:Conversin D/A desde el P al exterior
PWM (Pulse Width Modulator):Generador de pulsos de anchura variable
Comparadores analgicos:Comparador de tensin externa con una referencia
Comunicaciones serie:SPI (Serial Peripherical Interface)I2C (Inter-Integrated Circuit)UART (Universal Asynchronous Reciever-Transmiter)USART(Universal Synchronous-Asynchronous R-T)CAN (Controller Area Network)USB (Universal Serial Bus)
Contador/Timer:Contador de pulsos externos recibidos por una patillaTimer: Contador de ciclos de una seal de reloj internaSuelen incluir pre-scaler
CONSIDERACIONES DE CEl nmero de C vendidos (1997) es ms de 30 veces superior al de los P para PCs. Las aplicaciones basadasen C se denominan habitualmente como embedded2500 Millones de C/ao75 Millones de P/ao para PCs
La eleccin del C para una aplicacin especfica determina el coste, tamao y prestaciones del sistema.Factores a tener en cuenta:Velocidad de proceso. Depende de la CPU y fCLK usadaCantidad de memoria de ROM, RAM, E2PROMConsumo y modos de bajo consumo.Conjunto de instrucciones. Sencillez y potenciaHerramientas y lenguajes de desarrollo de alto nivel.Coste del dispositivo, herramientas, programador...Versiones ROM, OTP, EPROM, EEPROM, FLASHProgramacin ISP (In System Programming) para desarrollo rpido de aplicaciones.Disponibilidad. La rpida evolucin de la e trae como consecuencia la substitucin frecuente de CFabricantes de dispositivos compatiblesEncapsulados, patillaje y recursos de I/OPosibilidad de expansin externa (arquitectura abierta)Perifricos integrados (Timers, DACs, Puertos I/O...)Interrupciones externas/internas.Bibliografa disponible
HERRAMIENTAS PARA C
EnsambladorTraduce cdigo ensamblador a cdigo mquinaPermite gran eficiencia (tamao-velocidad) del cdigo ejecutableBajo coste o gratuitoNecesario conocimiento profundo del CNo portable a otras familias
CompiladorTraduce lenguaje de alto nivel (C, Basic...) a cdigo mquinaPermite elevada productividadCoste medio/altoElevado nivel de abstraccin y nmero de librerasElevada portabilidad a otras familias
LinkadorUne los ficheros objeto y libreras en un ejecutable
DesarrolloEnsambladorCompiladorLinkador
DepuracinSimuladorEmuladorMonitorICD
ProgramacinGrabadorBorrador UV
EmuladorSistema basado generalmente en FPGAs, que permite la ejecucin de la aplicacin sin ocupar recursos del CDispone de un pod que se aplica al zcalo destinado al CPermite la ejecucin real de la aplicacinLa mejor opcin para la depuracin de la aplicacinSistema muy caro
SimuladorSimula el funcionamiento del C sobre un ordenadorSistema de bajo coste y de cmodo manejoNo permite ejecucin real de aplicaciones
MonitorPrograma que se ejecuta sobre el C, ejecutando comandos lanzados desde un ordenador para la monitorizacin de la aplicacinCoste medioPermite la ejecucin real de aplicacionesOcupa recursos del C
ICD (In Circuit Debugger)Solucin intermedia entre emulador y monitorPrograma monitor sobre C que ejecuta la aplicacin sobre el zcalo destinado a esteCoste medio, ejecucin real, ocupa recursos del C
GrabadorGrabacin del programa de la aplicacin sobre un C con memoria de programa EPROM, E2PROM o FLASHRealiza el borrado del programa antes, si est basado en E2PROM o FLASH
Borrador UVBorrado del programa de la aplicacin sobre un C con memoria de programa EPROM, con encapsulado con ventana
ALGUNAS FAMILIAS DE CIntel 8051/8052CISC 8-bitsDesarrollada por IntelLa ms extendidaMuchas variantes (IP)Variantes RISC y 16bitsDiferentes fabricantes
Microchip PICRISC 8-bitsMuy extendidaBuena prestacin/precio
Motorola 68HC05 /HC08/HC11RISC 8-bits
SGS-Thomson ST62X/ST78-bits
Atmel AVRRISC 8-bits
Zilog Z80CISC 8-bits
TI (Texas Instr.) TMS3708-bits
SGS-Thomson ST10RISC 16-bits
ARMRISC 32-bitsDisponible en IP para soluciones embedded
Intel EXCISC 16, 32-bitsBasados en P para PCPermite usar Sw para PC
Philips XAeXtended Architecture de la 805116 bits Motorola 683XX
16/32, 32-bitsBasado en 68000
Top Related