Vous êtes sur la page 1sur 8

A General Purpose FPGA Based

Radar Controller and Signal Processor


Charles Martin*, Eric Loew, Chris Burghart
National Center for Atmospheric Research, Boulder, Colorado

1. Introduccin
1 implementaciones de radar comenzaron como sistemas completamente
analgicos. Las tecnologas digitales han ocupado puestos importantes durante
muchos aos, pero hasta las ltimas dos dcadas la funcionalidad digitales
importante comenz en gran medida en el analgico al digital y digital para
conversiones analgicas que se produjeron en la banda base. Seal abajo y
conversin ascendente, as como formacin de impulsos especializada, se
realizaron con mdulos de hardware discretos. Como convertidores analgicos
se convirtieron capaz de operar a frecuencias de muestreo de FI, se hizo
posible migrar el procesamiento de SI en el mundo digital. Normalmente, esto
se realiz mediante placas de circuito de encargo diseado en torno a
componentes especializados, junto con procesadores de seal digital a bordo.
Esta solucin de software integrado de hardware y luego realizar las funciones
de procesamiento de seal hacia arriba y hacia abajo de conversin y otros, y
se les permite la comunicacin con el ordenador central de ocurrir a
frecuencias de muestreo de banda base.
En la ltima dcada, las nuevas capacidades han surgido en el mbito digital,
debido al aumento de capacidades de la Field Programmable Gate Array
(FPGA). Este dispositivo proporciona una base para la construccin de hardware
de propsito general que se puede adaptar a las necesidades de
procesamiento de seales de radar o muchos tipos (u otro) sistemas. Debido a
que la FPGA es un re-configurable, dispositivo de computacin genrico, y de
alto rendimiento, puede servir como el componente central en un control de
propsito general y la seal de subsistema de procesador. De hecho, ahora hay
transceptores comerciales disponibles que pueden ser utilizados en tan slo de
esta manera. Los diseadores de sistemas de radar pueden configurar una
tarjeta de transceptor comprado, en lugar de tener que desarrollar hardware
complejo y especializado. El propsito de este trabajo es resumir uno de estos
proyectos, y proporcionar orientacin para aquellos que estn explorando la
idea de desarrollar capacidades similares. Una breve introduccin a la FPGA se
da primero, seguido por una descripcin de la arquitectura del procesador.
Ejemplos de algunos diversa direccin de Autor para la correspondencia *:
Charles Martin, del Centro Nacional de Investigacin Atmosfrica, P.O.
2 El FPGA
El FPGA es simplemente un circuito integrado con un nmero extremadamente
grande de celdas lgicas digitales genricas. Estas clulas pueden ser
dinmicamente conectadas para crear bloques de construccin capaces de
funciones digitales bsicos. Estos componentes se combinan para producir una
lgica ms sofisticada, y as sucesivamente hasta que se realiza una
funcionalidad muy compleja. Por ejemplo, los dispositivos con la complejidad
de las CPU completa, controladores de memoria DMA, y controladores de
interfaz de bus PCI pueden ser sintetizados por FPGAs modernas. De hecho una
nica FPGA menudo se estar presentando todas estas funciones y ms de una
vez. El FPGA es tambin muy adecuado para la aplicacin de clculos pipeline
que pueden ser altamente paralelizado, como el filtrado, conversin de
frecuencia, y de la transformada rpida de Fourier. Estos nos permiten
implementar muchas de las funciones, originalmente ubicada en componentes
digitales analgicas o discretas, en el entorno digital reconfigurable de la FPGA.
El dispositivo FPGA tendr conexiones I / O digitales para traer las seales
dentro y fuera del chip. El nmero de lneas de E / S digitales pueden contarse
por cientos de los dispositivos ms grandes. Procesamiento en el FPGA es
impulsada por numerosas seales de reloj, que los datos digitales a travs de
la puerta de las clulas configurados. GESTIN reloj es uno de los aspectos
ms desafiantes de diseo de firmware, cuando se trata de aplicaciones de
frecuencias mixtas. Esto es comn para los diseos que se conectan las
seales que se derivan de si las tasas para los autobuses de computadoras,
memorias, etc. Afortunadamente las herramientas de desarrollo FPGA ofrecen
capacidades para gestionar correctamente la interseccin de dominios de reloj.
3 El FPGA Workflow
La configuracin de la FPGA se especifica comnmente con un lenguaje de
especificacin de hardware, tales como el VHSIC Hardware Description
Language (VHDL). Una muestra de cdigo VHDL se presenta en la figura 1. El
desarrollador crea descripciones de texto que definen las conexiones y
operaciones de entidades tales como seales, registros y buses. Operaciones
lgicas y numricas bsicas, por ejemplo, de enganche, la suma y el cambio,
se define en el lenguaje. Componentes computacionales sofisticados se
construyen a partir de estos bloques de construccin. Estos componentes son
entonces "conectados" juntos para implementar un sistema de control y
procesamiento de seal completa. La configuracin de la FPGA completa se
definir en una coleccin de archivos de texto VHDL que se puede modificar
con cualquier editor de texto de cdigo fuente.
Sin embargo, la actividad de edicin se lleva a cabo generalmente dentro de un
entorno de desarrollo integrado. El Medio Ambiente Sistema Integrado de Xilinx
(ISE) es un paquete de esarrollo muy conocido. Proporciona una coleccin
integrada de herramientas que gestionan el flujo de trabajo FPGA completa. La
secuencia tpica del desarrollo es el siguiente:
Editar el archivo VHDL (s)
Prueba a travs de la simulacin
Sintetizar un flujo de bits
Descargar el flujo de bits a la FPGA
Probar y depurar
Volver a la edicin
Algunos de estos pasos puede ser bastante largo, y as un ciclo a travs del
flujo de trabajo puede llevar mucho tiempo. La simulacin es esencial para el
desarrollo FPGA eficiente. Un vector est de entradas simuladas son creados y
conectado al componente, y la entrada de reloj es impulsado con el fin de
ejecutar la simulacin. Las salidas se verifican para el comportamiento
correcto. Mdulos Higherlevel compuestos de mltiples componentes se
simulan y se ensayaron de la misma manera.
Herramientas para facilitar la simulacin son proporcionados por el entorno de
desarrollo. Las simulaciones son suficientemente preciso que, en general, si el
VHDL simula correctamente, y la etapa de sntesis est libre de errores, el
firmware generada ejecutar correctamente en la FPGA. Crafting y que pasan
con xito los bancos de pruebas de simulacin son fundamentales para la
creacin de diseos rmware FPGA fiables.
La etapa de sntesis es donde la descripcin VHDL se convierte en una
especificacin para las conexiones celulares digitales en el FPGA. Hay varios
sub-pasos de este proceso. Primero el lenguaje de descripcin se traduce en
una red de especificaciones registro lgicas. La especificacin del registro se
asigna luego a los tipos de componentes bsicos disponibles en la FPGA
particular que se utilice. Por ltimo, esta red lgica debe ser asignado a las
celdas lgicas reales dentro de la FPGA fsica. Esta ltima actividad se conoce
como "lugar y la ruta", y es un reto computacional significativo. La tarea lugar
y la ruta es a la vez combinatoria y heurstica, y no hay garanta de que la
herramienta ser capaz de llegar a una solucin que satisfaga las limitaciones
de tiempo de diseo. Las herramientas de desarrollo proporcionan
instalaciones que permiten al ser humano para proporcionar alguna
orientacin, como sugiriendo lugares lgicos para colocar los componentes
principales del diseo. El algoritmo lugar y la ruta es iterativo, como el software
intenta converger en una solucin que cumple con los requisitos de
temporizacin. No es raro para el lugar y la tarea ruta a requieren 12 horas o
ms en una estacin de trabajo capaz. Para este proyecto, el lugar y la ruta se
ejecuta en unos 20 minutos. La parte de sntesis del flujo de trabajo puede
hacer que el flujo de trabajo FPGA a ser tedioso. Esta es otra razn por la
simulacin puede mejorar en gran medida el ciclo de desarrollo. El producto de
la sntesis es el "flujo de bits", que es la especificacin de nivel ms bajo de las
conexiones FPGA. El flujo de bits ahora debe ponerse a disposicin de la FPGA.
Se puede descargar directamente a la FPGA, pero es ms comn para
"quemar" en una memoria no voltil tal como una EEPROM, que
posteriormente se carga en la FPGA voltil. En cualquier caso, la descarga se
puede realizar a travs de un nterface JTAG, que proporciona una conexin
directa por hardware al dispositivo FPGA. Si la FPGA es parte de una tarjeta se
encuentra en plano posterior de un ordenador central, a menudo habr un
mecanismo para cargar el FPGA directamente a travs del bus de host. Esto
elimina la necesidad de hardware especializado para apoyar la capacidad JTAG.
En algunos casos, slo la carga FPGA voltil se puede realizar a travs de la
placa posterior de acogida, y la capacidad de JTAG an se requiere para la
programacin del almacenamiento no voltil. Una vez que la FPGA se ha
configurado con el flujo de bits, las pruebas del sistema y depuracin se puede
realizar. Si se detectan problemas FPGA, la depuracin puede ser iniciado. Por
lo general, esto debe hacerse indirectamente, tal como mediante la alteracin
de la configuracin del sistema con el fin de exponer y diagnosticar el
comportamiento FPGA. Xilinx tambin proporciona un mtodo muy potente
(ChipScope) para la insercin de sondas de firmware en el cdigo VHDL para
que el comportamiento lgica puede ser rastreado directamente dentro de la
FPGA operativo. Existe otra tcnica de gran alcance para la creacin de
componentes de firmware. Un algoritmo de procesamiento puede estar escrito
en un lenguaje de alto nivel, como Matlab. Este cdigo se compila a
continuacin, para producir un componente firmware que se puede integrar
con el cdigo VHDL. Matlab proporciona un conjunto de herramientas completo
para la elaboracin de elementos de procesamiento de seales, tales como
filtros, transformadas de Fourier rpidas, etc. La funcionalidad completa de
Matlab est disponible para investigar y caracterizar el rendimiento de estos
componentes.
4 Transceptor Tarjetas
El FPGA proporciona la base de clculo para un procesador controlador radar y
la seal, pero debe integrarse con otros equipos. Es necesaria una tarjeta
transceptor que puede proporcionar recibir, transmitir y controlar las funciones
de seal. Vendedores comerciales proporcionan productos que proporcionan
esta funcionalidad de propsito general. El FPGA se combina tpicamente con
analgico-digital y digital-analgico convertidores, la memoria local, digital I / O
lneas e interfaces de bus. El Pentek Modelo 7142 (Figura 2) se utiliz para este
proyecto. Como es comn con estos productos, esta tarjeta compacta se basa
en el formato de tarjeta intermedia Portable (PMC). Una amplia variedad de
tarjetas de soporte estn disponibles para acoger el PMC en placas madre de
ordenador comn.
El proveedor de hardware normalmente ofrece un paquete de tablero de
soporte, lo que proporciona a los conductores y bibliotecas de aplicaciones
para el sistema host, y el cdigo fuente del firmware para el FPGA. Los dos
primeros ofrecen facilidades de acceso a la tarjeta en diversos sistemas
operativos. El paquete de firmware puede ser una versin de cdigo VHDL que
se ejecutar en la FPGA y proporcionar funcionalidad de lnea de base, por lo
que la tarjeta se puede utilizar en algunos casos sin ningn desarrollo VHDL. El
usuario final puede personalizar el VHDL suministrado para sus fines
especficos.
Cabe sealar que la calidad del paquete de firmware tendr un impacto
significativo en el xito del desarrollo. Se debe lgicamente organizada y bien
documentado, tanto en los archivos VHDL y con otros documentos. Dibujos
esquemticos tipo tienen un valor incalculable. Lo ideal es que vendr con una
especificacin de proyecto completo para un entorno de desarrollo como el ISE.
Los mejores paquetes contendrn bloques de usuario explcitas incrustados en
el flujo de datos, para facilitar la insercin de un tratamiento personalizado. El
soporte de la tarjeta para la tarjeta Pentek se encontr que era de primera
clase en este sentido.
5 Implementaciones de radar
Diagramas de alto nivel que representan los sistemas de radar con y sin una
tarjeta de transceptor basado en FPGA se muestran en la Figura 3. La tarjeta
transceptor sustituye a un gran nmero de componentes discretos. Esta
consolidacin tiene varios beneficios. El diseo, construccin y ensayo de
algunas secciones analgicas caros son completamente eliminados. Debido a
que la conversin de frecuencia y el filtrado se producen en el dominio digital,
las respuestas de procesamiento estn completamente emparejados y
caracterizados sin ningn procedimiento de medicin. Lo ms importante, sin
embargo, es que todas estas funciones se pueden adaptar para aplicaciones
especficas, sin ninguna modificacin de hardware adicional.
6 El Digital de Down Software-Defined
Converter (SD3C) El SD3C es un framework que implementa las funciones de
procesamiento y control de seales de radar. Se basa en: (a) el firmware que
opera en una tarjeta de transceptor Pentek 7142, y (b) las bibliotecas de
soporte de software para el sistema informtico central. Estos dos subsistemas
interactan a travs del bus de computadoras que la tarjeta est conectada.
La implementacin SD3C se describe aqu en trminos de la tarjeta Pentek que
actualmente se ejecuta en, pero debe tenerse en cuenta que una arquitectura
muy similar podra realizarse usando muchas de las tarjetas transceptoras
disponibles comercialmente disponibles. Gran parte del firmware se puede
reutilizar con otro hardware vendedor.
6.1 SD3C Firmware
La figura 4 presenta un diagrama de alto nivel de la tubera SD3C de
procesamiento de seales. El firmware SD3C se basa en la infraestructura
"GateFlow" Pentek. GateFlow ofrece un diseo de firmware referencia que es
capaz de ejecutar la tarjeta transceptor con muestreo bsico A / D, D / A de
salida y la E / S digital. La tarjeta Pentek es muy sofisticado, que proporciona
capacidades flexibles para la captura de memoria interna, enrutamiento de
datos y la configuracin del dispositivo.
GateFlow proporciona "bloques de usuario" especficos que interceptan el flujo
de datos a travs de la FPGA, y en la que el usuario puede insertar un
tratamiento personalizado. Los bloques de usuario cumplen algunas pero no
todas las necesidades SD3C. La conversin hacia abajo, filtrado adaptado,
marcado el pulso, la integracin coherente y procesamiento de cdigo de
cortesa se implementan en componentes VHDL que se crean instancias de los
bloques de usuario.
GateFlow est orientada hacia el procesamiento de las comunicaciones, y por
lo tanto no proporciona inherentemente las funciones necesarias para los
sistemas de impulsos.
Esto requiri otras reas de GateFlow a ser modificados de manera que las
seales de datos de conversin descendente podran ser muestreados en la
repeticin de impulsos frecuencia (PRF) lmites. Del mismo modo, el impulso de
transmisin es generada por la alimentacin de los valores de banda de base a
la convertidor elevador, y era GateFlow modificado para permitir tambin que
esto se sincroniza con la PRF.
Un componente temporizador programable VHDL fue creado con el fin de
generar seales de temporizacin. Mltiples copias del temporizador se crean
instancias de las seales de temporizacin requeridas, como el, supresor, y el
control de potencia del amplificador PRF. Estas seales se pueden usar dentro
de la FPGA a la puerta del procesamiento de la seal, y se dirigen a los pines
de E / S FPGA I, donde pueden ser llevados fuera integrado para conectar a
otros equipos. El diseo actual ofrece ocho temporizadores independientes. Si
se requieren seales adicionales, es una cuestin simple para crear instancias
de temporizadores adicionales.
Muchas de las funciones personalizadas dentro del SD3C son configurables.
Parmetros tpicos incluyen coeficientes de filtro, perodos de temporizador,
intervalos de integracin, etc. GateFlow tiene un mdulo de registro de control
que permite que el software de host de escribir y leer registros de
configuracin para las funciones GateFlow existentes. Este mdulo fue
ampliado para permitir que la misma configuracin para las funciones SD3C. La
Tabla 1 resume las funciones VHDL SD3C personalizados que se incorporan a la
base GateFlow.
6.2 SD3C software host
La tarjeta transceptor y su firmware proporcionan el componente de hardware
para el SD3C. Una infraestructura de software implementa una capacidad de
alto nivel para el equipo host para interactuar con la tarjeta. Como es comn
con la mayora de las tarjetas de transceptores comerciales, el vendedor
comercializa una interfaz de software de bajo nivel que controla las funciones
de las tarjetas bsicas. En este caso, Pentek ofrece el paquete "ReadyFlow"
para apoyar el P7142. ReadyFlow permite al usuario configurar y capturar
datos de acceso directo a memoria (DMA) traslados en autobs, y para
configurar otras funciones en la FPGA.
El paquete se basa en ReadyFlow SD3C para crear una interfaz de
programacin que representa las caractersticas de un procesador de radar, y
gestiona las capacidades personalizadas del firmware SD3C. Esto toma la
forma de una biblioteca C ++ clase, cuya clase jerarqua se muestra en la
Figura 5. Las funciones de las clases primarias se describen en la Tabla 2. Estas
tres clases son todo lo que se requiere con el fin de operar el transceptor como
un sistema de radar. La secuencia tpica programa es el siguiente:
Crear un objeto p7142sdc3, lo que representa una tarjeta Pentek P7142.
Crear un p7142Up arriba-convertidor de objeto, para la configuracin de la
generacin de pulsos de transmisin.
Crear p7142sd3cDn abajo-convertidor de objetos, uno por canal.
Configure los temporizadores en el p7142sdc3.
Emitir una orden de arranque a la p7142sdc3.
Loop en lectura () llama a cada uno de los objetos p7142sd3cDn, la ingestin
de los datos de banda base recibida.
Debido a que los antepone SD3C identificacin de etiquetas a cada impulso
recibido, la clase p7142sd3cDn es capaz de detectar si los datos se dejan caer
durante la transferencia de DMA entre el transceptor y el sistema anfitrin.
Esto puede convertirse en un problema en un host muy cargado con un ancho
de banda de datos de gran tamao. Las etiquetas tambin permiten sellos de
tiempo precisos que han de aplicarse a los impulsos, que de otro modo sera
ambiguo debido a retardos de transmisin de datos a travs del sistema.
Uso de la biblioteca de clases ++ SD3C C, un sistema de radar completa puede
ser desarrollado. Una arquitectura tpica software de host se muestra en la
Figura 6. El proceso de transceptor digital (DRX) controla la tarjeta de
transceptor, lee los datos de banda base de la misma, y publica la corriente en
tiempo real a mltiples abonados. Los suscriptores son la visualizacin,
archivado y procesos de productos derivados. Algunos de estos procesos
pueden publicar los resultados para otros suscriptores de aguas abajo. La
segregacin de las funciones utilizando un modelo de publicacin / suscripcin
permite el procesamiento a distribuir entre varios hosts de la red, segn sea
necesario. La Figura 7 ilustra una aplicacin de visualizacin en tiempo real.
La experiencia tambin ha demostrado que la separacin de funciones
especficas en los procesos independientes conduce a un sistema que es ms
simple de construir,
ms robusto y ms fcil de solucionar. Es importante que el esquema de
distribucin de datos permite que las conexiones entre dos procesos que
vengan arbitrariamente y van, sin impactar negativamente en cualquiera de
los procesos. El NCAR 449 MHz de perfil del viento ha empleado con xito este
arquitectura, utilizando el servicio de distribucin de datos abierta (OpenDDS)
como mecanismo de transporte de datos.
7 Aplicaciones Ejemplo SD3C
El SD3C se emplea actualmente en tres radares operacionales, cuyas
caractersticas se resumen en la Tabla 3. Estos sistemas cubren una
amplia gama de capacidades. Imgenes del anfitrin transceptor FPGA, las
antenas, y observaciones de la muestra se presentan en las figuras 8 a 16 para
cada sistema.
8 Conclusiones
Desarrollo FPGA ha sido por lo general el dominio de los equipos especializados
de ingeniera de hardware digitales. Por el contrario, el proyecto SD3C fue
ejecutado por un grupo muy pequeo de sistemas y software de RF ingenieros,
que tuvieron que aprender la tecnologa "sobre la marcha". La curva de
aprendizaje es
desafiante y requiere ganando experiencia en conceptos VHDL y diseo de
sistemas FPGA. El flujo de trabajo de desarrollo es intrincada y hora
consumiendo, y las herramientas de apoyo son complicadas y muchas veces
no intuitiva. Depuracin y prueba puede ser muy difcil. Basndonos en nuestra
experiencia, se pueden hacer las siguientes recomendaciones a los ingenieros
que recin comienzan con esta tecnologa:
Ganar confianza partiendo de los conceptos bsicos de VHDL, la aplicacin de
componentes muy simples que pueden rpidamente el trnsito del flujo de
trabajo, y que se puede probar fcilmente.
Hacer el diseo tan modular como sea posible, y reutilizar cdigo VHDL
siempre que sea posible.
Crear y ejecutar los bancos de pruebas de simulacin para todos los
componentes.
Hacer un uso completo de sondas VHDL incrustados (por ejemplo ChipScope)
para diagnosticar problemas de la derecha en el chip FPGA.
El uso de la tecnologa FPGA transforma muchos aspectos del desarrollo del
sistema de radar en una actividad de software importante. En este trabajo se
beneficia en gran medida por el empleo de prcticas de ingeniera de software
estndar. Disear desde la perspectiva de la arquitectura de software,
utilizando herramientas como integrada entornos de desarrollo, control de
cdigo fuente de revisin y seguimiento de errores, y la creacin de
documentacin incrustado mejorarn todos en gran medida la productividad
del proyecto. El proyecto SD3C ha demostrado que una solucin FPGA, basado
en hardware comercial, trae muchos beneficios a la evolucin del sistema,
tales como los descritos aqu. El FPGA es capaz de rendimiento de
procesamiento de seal muy alta, mitigando as grandes anchos de banda de
datos y cargas de CPU host. La tecnologa facilita aplicaciones muy flexibles: el
mismo hardware se puede personalizar para satisfacer completamente
diferentes requisitos simplemente cargando el firmware especfico de
aplicacin. Los costes totales del sistema se reducen mediante el
aprovechamiento de la utilizacin de una sola tarjeta FPGA entre varios
sistemas, y por la consolidacin de las funciones de muchos componentes de
hardware discretos en una sola tarjeta.

Vous aimerez peut-être aussi