Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clasificación y tecnologías:
• Desarrollo a medida:
o Los sistemas de propósito especifico se basan en diseño a medida de hardware, software, o ambos→ Ejemplo de los
Sistemas empotrados
o La aplicación y sus requisitos determinan el hardware a utilizar y el perfil del equipo de trabajo
• Opciones de desarrollo: Hay que equilibrar entre los requisitos y experiencia del equipo de
desarrollo, una solución de bajo nivel es mas complicada
o Procesadores de propósito general (GPPs, General Purpose Processors)
o Circuitos de propósito especifico (ASICs, Application Specific Integrated Circuit)
o Procesadores específicos de aplicación (ASIP, Application Specific Instruction set
Processor)
• Field Programmable Gate Array (FPGAs):
o No se consideran ASICs
o Compuestas por bloques programables muy simples, con interconexiones programables y entradas y salidas para
procesamiento de datos.
o Los recursos se miden en # de Flip-Flops y LUTs, así como en circuitos específicos (bloques de memoria,
serializadores, DSPs…)
o La lógica síncrona requiere de una señal de reloj para poder funcionar, y realizará las funciones en los flancos de
reloj. El reloj y la sincronía aumentan el consumo energético
o Camino critico: El camino más largo desde la entrada de unos datos hasta la salida de estos. La lógica combinacional
introduce retardo variable, para tener en cuenta para el resto de las etapas
• Hoy en día, el número de puertas lógicas en un sistema es inmenso, y muchas veces la mayoría de ellas no son usadas.
Ejemplos actuales:
Metodologías de diseño:
VHDL/Verilog
• Orientado a diseño de SoCs: Se usa una librería de componentes virtuales o bloques IPs que se integran.
• Primitivas: procesadores, cores de comunicación, control de memoria, librerías, middleware…
• Personalización basada en:
o Conexión de los bloques IP
o El diseño de bloques IP propios (DSPs, ASIPs, hardware a medida…)
o Escritura de software empotrado
o SW: Llamadas por valor/referencia | Hardware: Uso de buses, protocolos de handshaking, fifos…
• Otras aproximaciones:
o Diseño software convencional usando procesadores/microcontroladores.
o Diseño basado en MDD, (Model-Driven Development)
o Metodología basada en modelos, no programas.
o Diseño basado en arquitecturas multicore
• Metodología basada en multicore:
o Solución alternativa al diseño SoC para aumentar las prestaciones de un dispositivo
o Requiere usar lenguajes como OpenMPI, OpenMP, CUDA o OpenCL.
o Valor diferencial en el software
o Reducción de costes o potencia discutible
• Multicore→ Orientado a desarrolladores no tradicionales, no de HW
• FPGA→ Orientado a programadores software
Conclusiones
• Dos aproximaciones:
o Soluciones basadas en SoCs heterogéneos→ Requiere programación de bajo nivel y diseñadores HW
o Soluciones basadas en multinúcleo→ Requiere programación paralela
• Tendencia→ SoC multinúcleo y heterogéneo
• Los sistemas actuales son cada vez más exigentes
• Los procesadores empotrados están ganando peso frente a procesadores de escritorio:
o Optimizan las prestaciones/vatio
o Acercan las técnicas de programación y diseño entre sistemas de propósito general y especifico
• Una adecuada selección del nivel de abstracción y herramientas de diseño es vital para la productividad y competitividad de la
compañía
• La plataforma optima depende del problema y perfil del equipo de desarrollo
Conversión AD/DA
• Métodos de modulación:
o Tenemos una señal de baja frecuencia y queremos enviarla en alta frecuencia
o Modulación: Proceso de superponer una señal de baja frecuencia con una portadora de alta frecuencia
o Hay tres esquemas de modulación:
▪ Modulación en amplitud (AM): La amplitud de la portadora varía según la amplitud de la señal de
información
▪ Modulación en frecuencia (FM): La frecuencia de la portadora varía de acuerdo con la señal de
información
▪ Modulación en fase (PM): La fase de la portadora lleva la información de la señal
• Preámbulo: Patrón de 0 y 1 que se repite y que se puede usar por el receptor para
obtener la RSSI (Received Signal Strength Information): Usado para Carrier Sense
(CS), y para sincronizar los sistemas
• Para velocidad de menos de 500kbps, un preámbulo de 4bits es suficiente,
mientras que, si es de 500kbps, se recomienda uno de 8
• El envió de información es asíncrono, no se envía la señal de reloj, pero se
recupera a partir de la Sync Word, palabra de si sincronización
• Comunicaciones inalámbricas de corto alcance→
• Capas de protocolos: Es necesario tener el cuenta el modelo del integrado para
ver que estamos comprando y qué tiene este implementado y que debemos
implementar nosotros
• Integración en sistemas de comunicación: Diseño a medida, integración de
módulos o diseño con SDR
• ¿Qué es SDR?
o Tecnología donde los módulos de software corren en una plataforma de hardware genérica, compuesta por
DSPs y un microprocesador de uso general que implementa funciones de radio como la modulación,
transmisión y demodulación
• Motivación: Existencia de redes diferentes en cada país que impide la creación de redes globales, problemas al desarrollar
nuevos productos por la presencia de usuarios que siguen usando tecnología antigua
• Mercados objetivo: Infraestructura de comunicaciones inalámbricas (Receptores MIMO, Redes públicas, SDR), Aeroespacial y
defensa, o adquisición de datos.
• Componentes típicos de un SDR:
o Emisor receptor de RF en el rango de los 200MHz hasta los GHz
o A/D y D/A de alta velocidad para convertir gran parte del espectro
o Front end procesador digital de señales para mezclar, filtrar y decimar o
convertir la señal
o Capaces de realizar procesado especifico de cada protocolo (OFDM, W-
CDMA), Frequency hopping, codificación/decodificación…
o Interfaz de comunicaciones, generalmente con ARM o un procesador
PowerPC/RTOS
• Ejemplo de implementación en Zynq SDR con un SoC
• GNU Radio: Herramienta de desarrollo libre que provee bloques de procesamiento
de señal para implementar sistemas RDS. Puede usarse con HW de bajo coste para
crear radios definidas por software, o bien solo para simulaciones
El futuro
Conclusiones
• Proyecto White rabbit: Desarrollado en el CERN, es Open HW y SW. Estilo de licencia CERN OHL
• No decirle a un equipo que haga algo sin ninguna marca temporal, mejor decirle que haga algo en cierto instante para que así
todo este sincronizado. Sincronización con eventos temporales que requiere sincronización de reloj
• Se requiere sincronización de reloj, y los eventos de reloj deben de ser claros.
• Da determinismo en el sistema, confiabilidad en este y QoS
• Los switches son de nivel 2 y no interfieren con las capas superiores, pueden comunicarse con routers normales también
• Ventajas de Open SW: Diseño revisado, puede ser reutilizado
Tecnología
Determinismo y fiabilidad
• Determinismo: Garantía de que el tiempo de transmisión de un paquete entre dos estaciones nunca pasará cierto limite
• El limite superior puede ser verificado y analizado con el código publico
• Fiabilidad: La habilidad del sistema de proporcionar servicio a los usuarios en condiciones rutinarias y en condiciones
anormales. Se consigue mediante:
o Redundancia de la topología
o Resiliencia de la información: Con FEC como Reed Solomon o con códigos Hamming. Se soporta además el
protocolo RSTP
Determinismo y fiabilidad
Dispositivos y redes