Diseño de una PCB para la implementación de un receptor ...

114
◆◆◆

Transcript of Diseño de una PCB para la implementación de un receptor ...

Tesis Final de Máster

Diseño de una PCB para laimplementación de un receptor

digital coherente basado en FPGAu u u

A PCB design for the implementation of

an FPGA-based digital coherent receiver

por:

Martí Sales Llopis

para la obtención del título en los estudios de:

Máster en Ingeniería Electrónica

Dirigido por:

Juan José Vegas Olmosy

José Antonio Lázaro Villa

11 de julio de 2013

A sa meva germana petita, Paquita.

Índice

Colaboraciones xiii

Agradecimientos xv

Resumen del proyecto xvii

Resum del projecte xix

Abstract xxi

1. Introducción 1

1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Conceptos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3.1. Transmisión por bra óptica . . . . . . . . . . . . . . . . . . 3

1.3.2. Perturbaciones de la bra . . . . . . . . . . . . . . . . . . . 5

1.3.3. Esquemas de detección . . . . . . . . . . . . . . . . . . . . . 7

1.4. El receptor digital coherente . . . . . . . . . . . . . . . . . . . . . . 8

1.4.1. Subsistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4.2. Algoritmos de procesado . . . . . . . . . . . . . . . . . . . . 10

1.4.3. Proyectos e investigaciones previas . . . . . . . . . . . . . . 12

1.5. Objetivo del proyecto Dicore . . . . . . . . . . . . . . . . . . . . 13

2. Metodología y Diseño 15

v

ÍNDICE ÍNDICE

2.1. Diseño esquemático . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2. Diseño de la PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2.1. Conceptos Básicos . . . . . . . . . . . . . . . . . . . . . . . 17

2.2.2. Diseño para alta velocidad . . . . . . . . . . . . . . . . . . . 18

2.2.3. Denición del stack-up . . . . . . . . . . . . . . . . . . . . . 24

3. Especicacones de Dicore 25

3.1. Estructura del sistema . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2. Etapa de conversión . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2.1. Modelo y encapsulado . . . . . . . . . . . . . . . . . . . . . 27

3.2.2. Funcionamiento del ADC . . . . . . . . . . . . . . . . . . . 28

3.2.3. Intercalado y demultiplexado . . . . . . . . . . . . . . . . . 30

3.2.4. Registros de conguración . . . . . . . . . . . . . . . . . . . 30

3.2.5. Comunicación serie . . . . . . . . . . . . . . . . . . . . . . . 31

3.3. Reloj: generación y distribución . . . . . . . . . . . . . . . . . . . . 32

3.3.1. PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.3.2. Distribución del reloj . . . . . . . . . . . . . . . . . . . . . . 36

3.3.3. Comunicación serie . . . . . . . . . . . . . . . . . . . . . . . 38

3.4. Núcleo del sistema: la FPGA . . . . . . . . . . . . . . . . . . . . . . 39

3.4.1. ¾Qué FPGA escoger? . . . . . . . . . . . . . . . . . . . . . . 39

3.4.2. Encapsulado y conguración de pines . . . . . . . . . . . . . 40

3.4.3. Conguración de la FPGA . . . . . . . . . . . . . . . . . . . 41

3.4.4. Transceptores GTX . . . . . . . . . . . . . . . . . . . . . . . 43

3.4.5. Bancos E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.5. Unidad de memoria RAM . . . . . . . . . . . . . . . . . . . . . . . 47

3.5.1. Conguración . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.5.2. Topología . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.5.3. Tensión de referencia y terminación . . . . . . . . . . . . . . 50

3.6. Comunicación serie USB . . . . . . . . . . . . . . . . . . . . . . . . 51

3.6.1. Diseño de la interfaz ULPI . . . . . . . . . . . . . . . . . . . 52

vi

ÍNDICE ÍNDICE

3.6.2. Alimentación del bus . . . . . . . . . . . . . . . . . . . . . . 53

3.7. Fuentes de alimentación . . . . . . . . . . . . . . . . . . . . . . . . 53

3.7.1. Voltajes del sistema . . . . . . . . . . . . . . . . . . . . . . . 54

3.7.2. Circuitos de alimentación . . . . . . . . . . . . . . . . . . . 55

3.8. Interfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3.8.1. Elementos indicadores . . . . . . . . . . . . . . . . . . . . . 62

3.8.2. Controles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

3.8.3. Monitor de temperatura . . . . . . . . . . . . . . . . . . . . 64

4. Layout del circuito 65

4.1. Elección del stack-up . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.2. Colocación de los componentes . . . . . . . . . . . . . . . . . . . . . 68

4.3. Enrutado de señales diferenciales . . . . . . . . . . . . . . . . . . . 70

4.4. Ajuste de longitud de líneas . . . . . . . . . . . . . . . . . . . . . . 72

4.5. Planos de alimentación y tierra . . . . . . . . . . . . . . . . . . . . 74

4.6. Red de desacoplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5. Sumario 83

5.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.2.1. Simulación y análisis de integridad de la señal . . . . . . . . 84

5.2.2. Fabricación y ensamblado de la PCB . . . . . . . . . . . . . 85

5.2.3. Implementación en VHDL . . . . . . . . . . . . . . . . . . . 86

Bibliografía 92

vii

Índice de Figuras

1.1. Esquema de un receptor digital coherente . . . . . . . . . . . . . . . 10

2.1. Tipos de líneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.2. Supresión de ruido electromagnético en una línea diferencial . . . . 21

2.3. Tipos de líneas diferenciales en una PCB . . . . . . . . . . . . . . . 22

2.4. Ajuste de longitud en el par diferencial . . . . . . . . . . . . . . . . 23

3.1. Esquema técnico del sistema Dicore . . . . . . . . . . . . . . . . 25

3.2. Conguración de los pines del ADC . . . . . . . . . . . . . . . . . . 28

3.3. Conguración de pines del LMX2541 . . . . . . . . . . . . . . . . . 33

3.4. Diseño implementado para el chip LMX2541 . . . . . . . . . . . . . 34

3.5. Implementación del oscilador externo al PLL . . . . . . . . . . . . . 35

3.6. Adaptación entre la salida del PLL y la entrada del distribuidor . . 35

3.7. Conguración de pines del LMK1010 Encapsulado LLP de 48 pines 36

3.8. Diagrama de bloques funcional del LMK1010 . . . . . . . . . . . . . 37

3.9. Adaptación de conexiones auxiliares . . . . . . . . . . . . . . . . . . 39

3.10. Conguración de pins de la FPGA XC7K410T . . . . . . . . . . . . 41

3.11. Diseño de la conexión JTAG a la FPGA . . . . . . . . . . . . . . . 42

3.12. Conexionado de la memoria Flash de conguración . . . . . . . . . 43

3.13. Señales de control de conguración . . . . . . . . . . . . . . . . . . 44

3.14. Encapsulado del chip de 2GB de RAM . . . . . . . . . . . . . . . . 48

3.15. Topología y-by usada para los chips de memoria . . . . . . . . . . 50

ix

ÍNDICE DE FIGURAS ÍNDICE DE FIGURAS

3.16. Implementación del regulador para VREF y VTT . . . . . . . . . . . 51

3.17. Circuito de la interfaz USB . . . . . . . . . . . . . . . . . . . . . . 52

3.18. Conversión de la tensión del bus USB a 3.3V para la interfaz ULPI 53

3.19. Circuito con el regulador TPS54620 . . . . . . . . . . . . . . . . . . 56

3.20. Circuito con regulador TPS54426 . . . . . . . . . . . . . . . . . . . 57

3.21. Circuito con regulador TPS56121 . . . . . . . . . . . . . . . . . . . 58

3.22. Primera etapa de regulación conmutada . . . . . . . . . . . . . . . . 59

3.23. Segunda etapa de conversión lineal . . . . . . . . . . . . . . . . . . 61

3.24. Conexionado de la pantalla LCD . . . . . . . . . . . . . . . . . . . 63

3.25. Circuito monitorizador de temperatura . . . . . . . . . . . . . . . . 64

4.1. Sección transversal de la placa con la distribución de capas . . . . . 66

4.2. Distribución de los componentes en la placa . . . . . . . . . . . . . 69

4.3. Ajustes de longitud de línea en un par diferencial . . . . . . . . . . 71

4.4. Cambio momentáneo necesario de la geometría diferencial . . . . . . 71

4.5. Camino más corto para el encuentro de las señales . . . . . . . . . . 72

4.6. Ecualización de la longitud en las líneas de un bus . . . . . . . . . . 73

4.7. Serpentinas en fase para reducir crosstalk . . . . . . . . . . . . . . . 73

4.8. Isla en el plano de tierra para el oscilador que precede al PLL . . . 74

4.9. Isla en el plano de tierra del conector USB . . . . . . . . . . . . . . 75

4.10. Vacío del plano de tierra debajo del pad del conector. (Vista 3D) . . 75

4.11. Planos de alimentación en la capa IN3 . . . . . . . . . . . . . . . . 76

4.12. Planos de alimentación en la capa IN4 . . . . . . . . . . . . . . . . 77

4.13. Desacoplo del PLL y distribuidor . . . . . . . . . . . . . . . . . . . 78

4.14. Desacoplo de uno de los ADC s . . . . . . . . . . . . . . . . . . . . 78

4.15. Desacoplo de la FPGA . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.16. Modelo 3D de Dicore - cara frontal . . . . . . . . . . . . . . . . . 80

4.17. Modelo 3D de Dicore - cara trasera . . . . . . . . . . . . . . . . . 81

x

Índice de Tablas

3.1. Los 4 modos de operación del ADC . . . . . . . . . . . . . . . . . . 31

3.2. Valores recomendados por TI para f=1500MHz . . . . . . . . . . . 34

3.3. Utilización de las salidas del distribuidor . . . . . . . . . . . . . . . 38

3.4. Opciones de conguración. . . . . . . . . . . . . . . . . . . . . . . . 43

3.5. Transceptores GTX habilitados . . . . . . . . . . . . . . . . . . . . 45

3.6. Relojes externos para los GTX . . . . . . . . . . . . . . . . . . . . 45

3.7. Tipo y utilización de los bancos de la FPGA . . . . . . . . . . . . . 47

3.8. Direccionamiento de 2GB de RAM . . . . . . . . . . . . . . . . . . 49

3.9. Tensiones de alimentación del sistema Dicore . . . . . . . . . . . 55

4.1. Grosores de las láminas del stack-up . . . . . . . . . . . . . . . . . . 67

4.2. Geometría para las pistas de diferentes capas y señales . . . . . . . 68

xi

Colaboraciones

Este proyecto ha sido denido y desarrollado en su totalidad en:

Grupo Metro-Access & Short-Range Systems del departamento de IngenieríaFotónica de la Universidad Técnica de Dinamarca.

Por tanto, en nombre de esta institución cabe mencionar los siguientes colabo-radores y su aportación:

Dirección del proyecto: Dr. Juan José Vegas OlmosIdea promovida por: Dr. Idelfonso Tafur MonroySoporte en la especicación: PhD. Robert Borkowski

xiii

Agradecimientos

Mis primeras palabras de agradecimiento se las quiero dedicar a la persona quemás cerca de mí ha estado estos meses: mi novia, Lourdes. Gracias por habermeacompañado y por haberte ido conmigo lejos de casa. Por haber sido paciente ycomprensiva cuando menos tiempo he tenido para dedicarlo a nosotros. T'estimpajarell!

Gracias también a mi familia, Papá, Mamá y a mis hermanas Mari Carmeny Paquita. Por estar siempre ahí y por intentar siempre hacerme creer que valgomucho. Por demostrarme que no importa cuánto tiempo pase sin que yo tenga ladecencia de hacer una llamada a casa, que seguiréis cogiendo el teléfono con lamisma ilusión. Y por animarme siemper a que continúe hacia adelante. Gracias decorazón.

Por supuesto gracias a quienes me dieron la oportunidad de embarcarme eneste proyecto. José Antonio Lázaro por conar en mí desde el primer momento,valorando más mis ganas de aprender que mis nulos conocimientos en comunica-ciones ópticas por aquel entonces. A J.J. por llevarme consigo y haber sido mipunto de referencia, quien además de mi responsable y jefe ha sido un buen amigo.Gracias a los dos por brindarme esta oportunidad.

Siento muchísimo agradecimiento también hacia Idelfonso, quien como líderdel grupo en el departamento, supo escucharme cuando me había quedado sin unobjetivo claro y propuse diseñar una placa que el departamento tenía intención deadquirir. Idelfonso no dudó en darme vía libre, conando en mis posibilidades yen mi convicción desde el mismo día en que se lo dije. Aún hoy me sorprende yadmiro esa decisión. Gracias Idelfonso, eres un gran líder.

Si hay alguien cuya ayuda en mi diseño es incalculable, ése es Robert Borkows-ki. Fue paciente conmigo, recibiendo continuas interrupciones en su ocina parapreguntar cosas que me explicaba tranquilamente y que demostraba verdadera pa-sión por lo que hace. Gracias a su aportación el diseño de Dicore pudo cogerforma rápidamente, permitiendo que pudiera acabar el diseño a tiempo. GraciasRobert por tu gran ayuda.

xv

Agradecimientos

Por último quiero dar las gracias a todas las personas con las que he tenidoel placer de coincidir en Dinamarca, con las que aparte de trabajar, he podidodisfrutar de breves recreos y vida social. Debo citar a Arturo, Miguel, Lucía, Anna,Alex el ruso, Alex el griego, Raquel, Xiaodan, Silvia, Valeria, Antonio, Roberto,Javi, Gerson, y de nuevo, en este caso en calidad de amigos, Robert y J.J.

xvi

Resumen del proyecto

Este documento recoge el procedimiento que se ha seguido para diseñar unsistema electrónico pensado para su funcionamiento como unidad de proceso de unreceptor digital coherente. Previamente al proceso de diseño se realizó un trabajode documentación sobre las comunicaciones por bra óptica, especialmente enaquellas con detección coherente, y se obtuvieron los conocimientos necesariossobre sus principales características así como las perturbaciones que afectan a latransmisión por bra óptica, para poder denir los requisitos y especicacionestécnicas del sistema a diseñar.

Una vez denida la idea principal y conocidas las especicaciones del sistema,se divide en módulos que serán más facilmente tratados por separado y se describeel proceso de selección de los componentes disponibles en el mercado que, con unpresupuesto razonable y buena accesibilidad, se ajustan mejor a las necesidadesdel sistema.

Algunos de los principales componentes que forman el sistema son: conversoresanalógico-digital de alta velocidad (ADC), FPGA de alto rendimiento, memoriaRAM de alta densidad y varios elementos de conectividad e interfaz de usuario.

A partir de las hojas de especicaciones de los fabricantes de cada componente,se realiza el diseño esquemático del circuito, añadiendo los componentes pasivosexternos que cada circuito necesita para garantizar el correcto funcionamiento.

Finalmente, se describe el proceso del dibujo físico de las diferentes capas quetendrá la placa de circuito impreso (PCB) y la distribución espacial de los com-ponentes sobre la misma.

xvii

Resum del projecte

Aquest document recull el procediment que s'ha duit a terme per dissenyar unsistema electrònic pensat per al seu funcionament com a unitat de processamentd'un receptor digital coherent. Previament al procès de disseny es va realitzar untreball de documentació sobre les comunicacions per bra òptica, especialment ambles que funcionen amb detecció coherent, i es varen obtenir els coneixements mínimsnecessaris sobre les seves principals característiques, així com de les perturbacionsque afecten a la transmissió per bra òptica, per a poder denir els requisits iespecicacions tècniques del sistema que es volia dissenyar.

Una vegada s'ha denit la idea principal i són conegudes les especicacions delsistema, es divideix en mòduls que seran tractats més fàcilment per separat i esdescriu el procès de selecció dels components disponibles al mercat que, a dinsd'un pressupost raonable i amb una bona accessibilitat, s'adjusten millor a lesnecessitats del sistema.

Alguns dels principals components que conformen el sistema són: conversorsanalògic-digital d'alta velocitat (ADC), FPGA d'alt rendiment, memòria RAMd'alta densitat i diversos elements de connectivitat i de la interfície de l'usuari.

A partir dels fulls d'especicacions dels fabricants de cada component, es rea-litza el disseny esquemàtic del circuit, afegint els components passius externs quecada circuit necessita per garantir el seu correcte funcionament.

Finalment, es descriu el procès del dibuixat físic de les diverses capes amb quecomptarà la placa de circuit imprès (PCB) i la distribució espacial dels componentsa sobre d'aquesta.

xix

Abstract

This document describes the procedure that has been followed to design anelectronic system which purpose of functionality is as a processing unit for a digitalcoherent receiver. Before the design was started, a previous task of research anddocumentation was carried on in order to establish a minimum knowledge aboutber optic transmissions, especially those relying on a coherent detection scheme,discovering its features and impairments, so that the requirements and technicalspecications of the system can be dened.

Once the main idea is dened and the system specicatins are known, the fullsystem is divided into modules that will be more easily handled separately andthen it is described the selection process of available components in the marketthat, adjusted to a moderate budget and to a good accessibility, best t the systemneeds.

Some of the main components the system consists on are: high speed analog-to-digital converters (ADC), high performance FPGA, high density RAM memoryand several connectivity and user interface elements.

According to the dierent vendors' datasheets for every component, the sche-matic circuit is drawn, adding the corresponding external passive elements thatevery circuit requires to ensure the proper functionality.

Finally, it is exposed the layout design procedure for all the dierent layers ofthe printed circuit board (PCB) and the spatial distribution of the componentsupon it.

xxi

Capítulo 1

Introducción

1.1. Motivación

Los ingenieros e investigadores en fotónica dedican grandes esfuerzos a desarro-llar algoritmos de procesado de señal orientados a unos objetivos claros: mejorar laeciencia espectral, reducir la tasa de error (gura de mérito BER) y/o aumentarla inmunidad al ruido, entre otros.

Estos algoritmos son extensamente testeados en plataformas de simulación (co-mo pueden ser Matlab, VPI, etc) y evaluados según el modelo del sistema imple-mentado en dicha simulación. Es frecuente que resultados satisfactorios en lassimulaciones sean motivo suciente para justicar la publicación de un artículo.

Cabe decir, no obstante, que no todos los resultados de la simulación provienende datos generados por ordenador. Generalmente, se realizan experimentos en ellaboratorio con sistemas reales, generando una transmisión de señales ópticas queson convertidas al dominio eléctrico mediante fotodiodos para ser nalmente mues-treadas y almacenadas en un osciloscopio digital (DSO). Por tanto, los algoritmosque están siendo evaluados sí que trabajan sobre señales reales, es decir, sobremuestras de señales generadas y captadas en un laboratorio mediante dispositivosreales.

La principal ventaja de este procedimiento es que permite determinar con unalto nivel de exactitud la validez de un algoritmo para conseguir su objetivo, puesse puede conar en que los datos originales sobre los que ha sido aplicado son dela misma naturaleza que aquéllos con los que se encontraría en un sistema real.

Por otra parte, la principal desventaja del mismo procedimiento radica en que

1

2 1. Introducción

es un proceso lento debido a que se desarrolla sobre una plataforma software1, loque se traduce en que una cantidad de muestras correspondiente a un intervalo delorden de minutos de una señal requiera de horas o incluso días2 de simulación enel ordenador.

Como se ha dicho, la efectividad de un determinado algoritmo bajo un entornode simulación es una buena (si no la mejor) aproximación para predecir que elmismo algoritmo se comportará de igual manera en un dispositivo electrónico fun-cionando en tiempo real. Aún así, es imposible garantizar al cien por cien que elrendimiento y efectividad vayan a ser los mismos, ya que en un sistema electrónicode alta velocidad aparecerán efectos de segundo orden probablemente no contem-plados en el modelo de simulación, como por ejemplo retraso y atenuación en laslíneas de cobre, ruido en las señales de reloj (jitter), interferencias electromagné-ticas, etc.

Parece obvio que la alternativa ideal consiste en implementar el algoritmo desa-rrollado directamente sobre un sistema electrónico capaz de recibir las señales eléc-tricas provenientes del/los fotodiodo(s) y procesarlas. Sin embargo esta alternativacon frecuencia no es posible, por diversas razones:

Falta de recursos por parte de la institución o departamento para dotar asus laboratorios con el equipamiento electrónico necesario para la realizaciónde esta clase de experimentos.

Carencia de experiencia y conocimientos necesarios en electrónica y progra-mación hardware para la implementación de los algoritmos en dispositivoscomo FPGA (Field Programmable Gate Array) o DSP (Digital Signal Pro-cessor).

Estas razones fueron la fuerza motriz que dio lugar a la idea de desarrollar unsistema electrónico integrado que brinde la posibilidad a los investigadores de im-plementar sus algoritmos en una plataforma hardware y, lo que es más importante,testearlos en tiempo real. Se trata de un proyecto ambicioso y, en caso de resultarexitoso, podría proporcionar una gran ayuda para el desarrollo de mejores y máspotentes algoritmos en investigaciones futuras.

1Obviamente el ordenador utilizado para la simulación es un elemento hardware pero, en estecaso, los elementos que lo forman (CPU, memoria, etc) sirven principalmente para la ejecuciónde un programa que emula al algoritmo testeado, es decir, los recursos hardware del ordenadorno estan íntegramente dedicados a la ejecución del algoritmo.

2Esta medida es muy relativa, ya que depende del número de muestras por segundo que seobtengan de la señal, de la potencia del ordenador utilizado y, en menor grado, del programautilizado para la simulación.

1.2. Estructura del documento 3

1.2. Estructura del documento

1.3. Conceptos básicos

Para poder dar más sentido a la lectura de los siguientes capítulos y para poderentender mejor la funcionalidad y necesidad de los algoritmos que se pretendenimplementar en el sistema a diseñar, es necesario primero dar una breve explicaciónsobre las propiedades de la comunicación por bra óptica, sus ventajas y el tipo deproblemas por los que se ve afectada. A continuación se explican algunos de estosdetalles.

1.3.1. Transmisión por bra óptica

La comunicación por bra óptica consiste en un intercambio de informaciónentre un emisor y un receptor mediante el envío y recepción de pulsos de luz através de un medio transparente conocido como bra óptica. Esta bra consisteen un hilo o cable cuyo interior es transparente3 y el exterior o cobertura que esopaco, de manera que el haz de luz queda connado dentro de la bra durantetoda la trayectoria entre el emisor y el receptor.

El proceso de comunicación por un canal óptico puede ser resumido en estastres fases:

1. El emisor posee un láser que al ser estimulado eléctricamente genera lospulsos de luz que codican la información. El haz de luz es proyectado haciael interior del extremo de la bra que se halla en el lado del emisor.

2. Durante el recorrido, que puede ser del orden de incluso varios miles dekilómetros, debe garantizarse que la potencia del haz de luz está dentro deunos límites para su correcta recepción, pudiendo ser necesaria la colocaciónde amplicadores ópticos en puntos intermedios.

3. Finalmente, el receptor recibe el haz de luz que llega a través del otro extre-mo de la bra óptica conectado a él. El receptor cuenta con un dispositivollamado fotodiodo, el cual se encarga de convertir la potencia óptica recibidaen una señal eléctrica. La corriente eléctrica producida es proporcional4 a lapotencia de la luz incidente y se conoce como transimpedancia al coecientede conversión.

3En realidad el interior de la bra se compone de dos capas con diferentes índices de refracción4Dentro de un régimen lineal

4 1. Introducción

Desde su aparición en los años 70, las comunicaciones ópticas han experimen-tado y siguen experimentando un rápido y continuo desarrollo, en parte porquepresentan una serie de ventajas sobre las tradicionales comunicaciones eléctricassobre cobre y en parte porque la incesante demanda de tráco en Internet y redesmóviles sólo puede ser satisfecha gracias al potencial que proporciona la luz comocanal de transmisión. He aquí algunas de las ventajas de la bra óptica sobre elcanal eléctrico:

Inmunidad a interferencias electromagnéticas

Material más ligero, lo que resulta de gran importancia por ejemplo en apli-caciones aeronáuticas.

No irradia ondas electromagnéticas y además es prácticamente imposible suinterceptación, ya que la ruptura de la bra provoca su inutilidad y por tantoes mucho más segura ante el espionaje.

Presenta mayor resistencia a la corrosión ya que no está hecha de materialesmetálicos.

No produce chispas, por lo que no presenta un riesgo en entornos inamableso explosivos.

Sin embargo, la óptica no puede, de momento5 desvincularse de la electrónica.Al n y al cabo, la óptica ocupa su lugar como canal de comunicación entre equiposque son puramente electrónicos y son éstos los que imponen la mayor limitación develocidad en cuanto a velocidad de transmisión. Además, para comunicaciones acorta distancia y relativamente reducido ancho de banda, la transmisión eléctricasuele ser mejor opción debido a ciertas razones:

Material de bajo coste, cuando no se requieren grandes cantidades

Dispositivos transmisores y receptores de menor coste

Capacidad para transportar energía eléctrica y señales (en cables apropiada-mente diseñados)

Facilidad de los transductores de operar en modo lineal

5Un futuro en el que los dispositivos prescindan de la electrónica se nos antoja de ciencia-cción, aunque se están haciendo logros en el desarrollo de switches ópticos y procesadores ópticosde señal (refcita)

1.3. Conceptos básicos 5

Describir los fenómenos que explican cómo es posible la transmisión de datosmediante un haz de luz a través de una bra óptica puede llegar a ser una tareaverdaderamente compleja. Profundizar en los detalles requiere un amplio conoci-miento sobre teoría de ondas para poder describir y entender las ecuaciones querigen la propagación de la luz. Y eso sin mencionar las complicadas técnicas demodulación desarrolladas para incrementar la velocidad de transmisión sobre unmismo ancho de banda que requieren, además, de un sólido conocimiento de teoríade la información.

Este tipo de detalles van más allá del propósito de este documento, que estáorientado principalmente al campo de la electrónica. Sin embargo, sí que se preten-de dejar unas bases claras para poder justicar y entender, de manera funcional,el objetivo del proyecto y la nalidad del sistema que en los capítulos siguientesse describe.

En la sección siguiente se exponen de manera cualitativa algunos de los fenó-menos que aparecen en el canal óptico y que afectan, en mayor o menor medida,a la transmisión satisfactoria de la señal.

1.3.2. Perturbaciones de la bra

A menudo, la primera impresión sobre la bra óptica resulta ser la de unmedio de transmisión perfecto con apenas limitaciones de ancho de banda. En lapráctica, sin embargo, la propagación de la luz a través de la bra está sujeta avarias limitaciones, especialmente al incrementar la distancia de transmisión.

A medida que los sistemas de transmisión ópticos han ido incrementando lasdistancias y las tasas de transmisión, los efectos lineales de la bra como la ate-nuación y la dispersión se han convertido en importantes factores limitadores. Enotros sistemas más avanzados, como los que utilizan multiplexación por divisiónde longitud de onda (WDM, wavelength division multiplexing) que son capacesde transmitir diferentes portadoras (con diferente longitud de onda, λ) sobre lamisma bra, es donde los efectos no lineales en la bra comienzan a representaruna limitación importante.

Por tanto, el éxito de una transmisión de alta velocidad a muy larga distanciadepende enormemente de cómo son tratados estos efectos limitadores. A estosefectos se los conoce como perturbaciones de la bra, o más comúnmente conocidosen inglés como ber impairments.

Antes de enumerar los diferentes tipos de perturbaciones de la bra, cabe men-cionar que existen dos tipos de bra óptica: bra de modo único (SMF, single-modeber) y bra multi-modo (MMF, multi-mode ber). La principal diferencia entre

6 1. Introducción

ambas radica en el tamaño del diámetro del núcleo, siendo de entre 50µm y 100µmpara la bra multi-modo y de entre 8′5µm y 10µm para la bra de modo único.Esto se traduce en que la primera resulta más barata y apropiada para distanciascortas y baja velocidad de transmisión, mientras que la segunda es utilizada entransmisiones de alta velocidad entre centrales de datos a larga distancia. El sis-tema desarrollado en este proyecto está destinado para su uso con bra de modoúnico, por tanto, en adelante el texto se referirá siempre a este tipo de bra.

A continuación se exponen algunas de las principales perturbaciones de la -bra óptica, su naturaleza y la manera en la que repercuten negativamente a latransmisión, restringiendo la capacidad alcanzable del canal óptico.

Algunos ejemplos de efectos lineales son:

Atenuación: La atenuación causa la disminución de la fuerza de la señal, pérdidade la potencia lumínica a media que la señal se propaga a través de la bra. Laatenuación es un efecto lineal provocado por factores intrínsecos como dispersión(scattering) y absorción, y por factores extrínsecos como el estrés en el proceso defabricación, el entorno o la deformación física.

Dispersión cromática: Los pulsos de luz que representan datos tienen un deter-minado ancho espectral. Debido a la dispersión cromática en una bra óptica lasdiferentes longitudes de onda se desplazan a diferentes velocidades, provocandoun ensanchamiento temporal del pulso. Si no se trata debidamente, este ensan-chamiento se traduce en una interferencia intersimbólica (ISI ) debido a que sesolapan pulsos consecutivos, llevando nalmente a errores en la recuperación delos bits transmitidos.

Dispersión por modo de polarización: Una vez que la dispersión cromáti-ca ha sido controalda, la dispersión por modo de polarización se convierte en elefecto lineal dominante que limita la capacidad del canal. La bra óptica de modoúnico soporta dos tipos de polarización, los cuales se propagan a traves de la braortogonalmente entre sí. El hecho de que durante el proceso de fabricación de labra ésta no sea perfectamente circular y simétrica provoca que ambas polariza-ciones se vean afectas por diferentes constantes de propagación, lo cual causa unensachamiento del pulso y una degradación en el rendimiento de la transmisión através de interferencias intersimbólicas.

Interferencia cruzada o crosstalk : se trata de un efecto muy común en todotipo de sistema de transmisión y se produce cuando dos canales presentan un

1.3. Conceptos básicos 7

acoplamiento mutuo debido a la corta distancia que los separa, de manera queparte de la energía electromagnética en un canal interere en el canal adyacente.En sistemas de comunicación ópticos conWDM, el crosstalk producido por canalesadyacentes es muy signicativo y limita la mínima separación espectral de doscanales adyacentes con una penalización aceptable.

Dos ejemplos de efectos no lineales son:

Modulación de autofase (self-phase modulation, SPM ): En una bra demodo único, incluso una única onda de luz puede ser afectada por esta no lineali-dad puesto que su fase se ve modulada por uctuaciones de la intensidad óptica enla misma onda. Este efecto junto con la dispersión hace que diferentes componen-tes espectrales se propaguen a diferente velocidad ocasionando el anteriormentemencionado ensanchamiento del pulso, lo que conlleva a errores en la transmisión.

Modulación por fase cruzada (cross-phase modulation, XPM): En sis-temas ópticos con WDM las uctuaciones de intensidad en un canal modulan lafase de otros canales que se copropagan en la misma bra. Surge por las mismasrazones que el SPM, pero en este caso es más relevante puesto que existen general-mente muchos más canales para generar desplazamientos de fase y uctuacionesde intensidad.

1.3.3. Esquemas de detección

Según la forma en la que la señal óptica es modulada, la manera en que va a serdetectada por el receptor y posteriormente demodulada también cambia. Análoga-mente a las transmisiones eléctricas, donde la señal portadora puede ser moduladaen amplitud, frecuencia, fase o una combinación de éstas, en las transmisiones óp-ticas también se presentan varias posibilidades sobre la magnitud o magnitudes dela onda que se van a modular, dando lugar a dos posibles esquemas de detecciónque se describen brevemente a continuación:

Directa: en el esquema de detección directa, la información se modula sobreel nivel de intensidad óptica de la señal (intensity modulation, IM ) siendo el casomás simple el de asignar un valor positivo de intensidad para codicar un valor debit 1 y un valor nulo para codicar un 0 (modulación conocida comúnmenteen inglés como on-o keying, OOK. En este caso el nombre de detección directaproviene de que en el receptor, el fotodiodo generará una corriente eléctrica ante

8 1. Introducción

la presencia de señal portadora óptica y no generará corriente ante la ausencia deésta, pudiendo ser fácilmente decodicada en el dominio eléctrico.

Coherente: La ventaja principal de este tipo de detección es que la infor-mación puede ser modulada no sólo en la intensidad de la señal portadora sinotambién en su fase. Esto permite el uso de tipos de modulación avanzados quebrindan un mayor aprovechamiento espectral y, por consiguiente, una mayor tasade transmisión.

En un esquema de detección coherente, para poder recuperar la informacióncontenida en la fase de la portadora, es preciso superponer la señal óptica recibidacon una señal óptica generada por un oscilador local. La frecuencia del osciladorlocal no tiene por qué ser exactamente igual a la de la portadora, siendo general-mente la diferencia entre ambas del orden de 1 GHz. Las propiedades matemáticasde esta superposición demuestran que es posible recuperar una señal cuya frecuen-cia equivale a dicha diferencia y, junto con ella, la información codicada en sufase.

De aquí en adelante el documento se centra principalmente en este tipo dedetección y en la sección siguiente se describe en qué consiste y con qué elementoscuenta un receptor digital coherente.

1.4. El receptor digital coherente

El denominado receptor digital coherente o receptor óptico coherente digital, esel resultado de la combinación del procesado digital de señales (DSP), la deteccióncoherente y los formatos de modulación espectralmente ecientes.

Han sido los modernos avances tecnológicos en el área de los semiconductores,y el desarrollo de conversores analógico-digitales (ADC ) con elevadas velocidadesde muestreo [1], los que han permitido que se puedan implementar ideas teóricaspublicadas en los tempranos años 90 [2, 3].

Aparte de la mejora en la sensibilidad, el receptor digital coherente ha permi-tido superar los inconvenientes de las perturbaciones en la bra expuestas en lasección 1.3.2 y desarrollar sistemas de alta velocidad, batiendo récords en máxi-ma capacidad (32 Tb/s) [4], datos por longitud de onda (5,1 Tb/s) [5] y máximoproducto capacidad-distancia (112 Pbkm/s) [6].

Ya desde el principio se bautizó el proyecto como Dicore , tratándose deuna recursión a Digital Coherent Receiver. Para poder entender qué es lo que sepretende con el proyecto Dicore , es decir, en qué consiste el sistema que se quiere

1.4. El receptor digital coherente 9

diseñar, conviene dividirlo en subsistemas y denir cuáles son los elementos quevan a ser necesarios para su construcción. Luego también deben considerarse losalgoritmos que posteriormente se tiene intención de implementar sobre el sistemapara poder así dimensionar y escoger con acierto los componentes mencionados.

Así pues, el siguiente apartado describe los subsistemas en que se compone, lue-go el apartado 1.4.2 enumera los principales algoritmos que podrán ser implemen-tados a posteriori y nalmente el apartado 1.4.3 recoge algunos de los interesantesproyectos desarrollados y publicados con anterioridad a este trabajo.

1.4.1. Subsistemas

La Figura 1.1 muestra un diagrama global de un receptor digital coherente. Deizquierda a derecha se pueden identicar tres partes que se corresponden con losdiferentes subsistemas y que se enumeran a continuación:

1. Interfaz óptico: es la parte que se encarga de recibir la señal óptica ymapearla al dominio eléctrico mediante los fotodiodos. Además, para la de-tección coherente cuenta con elementos ópticos como un PBS (polarizationbeam splitter) para separar las dos polarizaciones, un PS (power splitter)para dividir el haz del oscilador local en dos copias iguales, y acopladoreshíbridos para extraer las componentes I y Q de cada polarización.

2. Conversión analógico-digital: Los ADC s se encargan de convertir la señaleléctrica generada por los fotodiodos en un conjunto de muestras digitalesque son pasadas a la siguiente etapa para su procesado. El parámetro másimportante de la conversión es la tasa de muestreo, medida en muestras porsegundo (samples/s), aunque en sistemas de alta velocidad se acostumbra amedir en el orden de 109 (Gigasamples/s o GSa/s).

3. Procesado de señal: nalmente los datos muestreados son procesados conlos algoritmos desarrollados especícamente para contrarrestar los efectos delas perturbaciones de la bra. Estos algoritmos son implementados a nivelde software en dispositivos como DSP o FPGA de altas prestaciones y congran potencia de computación, siendo las FPGAs aquellas que han acogidomayor interés como se puede extraer de los ejemplos en la sección 1.4.3debido a la combinación de exibilidad, velocidad y coste que proporcionan.

10 1. Introducción

Figura 1.1: Esquema de un receptor digital coherente

1.4.2. Algoritmos de procesado

Los algoritmos que se presentan a continuación son los que generalemnte se im-plementan en un receptor digital coherente. Puede ser que de todo el conjunto dealgoritmos sólo se desee evaluar uno de ellos por lo que es posible implementarlosindividualmente para evaluar su rendimiento, relajando en gran medida la cargacomputacional del sistema. Aunque cada sistema en particular puede requerir deun orden determinado en el que los algoritmos se aplican, el orden en el que seenumeran es en el que se aplican de manera más habitual. Hay que tener en cuentapues, de querer evaluar un algoritmo en concreto, puede ser necesaria la implemen-tación de los algoritmos que preceden a éste o de lo contrario se podrían extraerconclusiones no válidas acerca de su rendimiento. Dado que no es el objetivo de estetrabajo, no se va a entrar en los detalles matemáticos que rigen el funcionamientode cada algoritmo, limitándose pues a su enumeración y breve descripción de sufuncionalidad junto con alguna referencia a artículos que amplian su descripción.

Sincronización (deskew): es muy común que las distancias que recorren lasseñales en la interfaz óptica no sean perfectamente iguales. Por tanto el objetivode este algoritmo es el de sincronizar las señales que presentan una desviación tem-poral la una con respecto a la otra. Esta desviación puede ser medida o estimadamediante el cálculo de la correlación cruzada de las señales [7].

1.4. El receptor digital coherente 11

Ortonormalización: debido a que con frecuencia el comportamiento de los aco-pladores híbridos no es óptimo, las dos componentes a su salida (I y Q) presentanun ángulo ligeramente desviado a los 90 grados ideales. La ortonormalización es elproceso para corregir esta desviación. Existen varios algoritmos propuestos, siendoel más extendido el de Gram-Schmidt [8], aunque para formatos de modulación conmayor densidad espectral, otros algoritmos como los de Lödwin [9] o el propuestopor Schweinler y Wigner en [10] ofrecen interesantes alternativas.

Ecualización estática: los algoritmos de ecualización estática se utilizan paracompensar los efectos de la dispersión cromática. Se caracteriza por grandes ltrosestáticos, existiendo implementaciones con ltros de respuesta innita al impulso(IIR) [11]. Sin embargo, debido a que es más eciente en el dominio frecuencial esmás habitual el uso de ltros FIR, como por ejemplo en [12]. Otras alternativasque requierean menos recursos han sido probadas [13] y siguen siendo el foco deatención de investigaciones actuales.

Ecualización dinámica: en este caso se trata de compensar los efectos o per-turbaciones que varían con el tiempo, como por ejemplo el estado de la polarizacióno la dispersión por modo de polarización (PMD). En [14] se utiliza un conjunto de4 ltros FIR para compensar estos efectos dinámicos. Por otra parte, el popularalgoritmo de módulo constante o CMA propuesto por Godard en 1980 [15] ha sidoextendido para su utilización en este tipo de sistemas, como muestra por ejemploKikuchi en [16].

Temporización: una vez que ecualizado el canal frente a las perturbaciones sepuede proceder al proceso de temporización, que consiste en compensar la diferen-cia entre el periodo de los símbolos y la frecuencia de muestreo del conversor AD.Una primera etapa de interpolación es necesaria [17, 18] seguida de algoritmos derecuperación de la temporización. Entre éstos encontramos asistidos y no asistidospor datos en [19] y [20] respectivamente.

Recuperación de portadora: esta etapa suele dividirse en dos fases, obtenien-do en primer lugar una estimación aproximada de la frecuencia de la portadora,con algoritmos como los propuestos en [21] y [22], y posteriormente calculando lafase residual de la portadora, siendo para tal efecto el popular algoritmo de Viterbi& Viterbi [23] el más recurrido.

12 1. Introducción

1.4.3. Proyectos e investigaciones previas

En los últimos años se han venido desarrollando varios receptores digitalescoherentes basados en FPGA los cuales han sido un buen punto de partida paradar forma al proyecto Dicore que aquí se presenta. La mayoria de estos diseñosprevios han demostrado la validez de utilizar una o varias FPGA como elementode procesado de señal. Al mismo tiempo sirven de referencia para estimar dóndese hallan los límites de capacidad computacional, especialmente para trabajar entiempo real y muestran cómo realizar algunas modicaciones en los algoritmos pararelajar la carga computacional con penalizaciones aceptables en el rendimiento.

En 2009, Geyer et al. presentan un receptor CP-QPSK a 43 Gb/s basado enFPGA y procesado de bloques [24]. El sistema cuenta para la etapa de conversióncon 4 ADC de 3 bits de resolución a 5.4 Gb/s cada uno, con multiplexación 1:4a la salida y con una velocidad de muestreo equivalente a 2 muestras por símbolo(21.5 GSa/s). El sistema implementa gran parte de los algoritmos enumerados enel apartado 1.4.2 y consigue resultados satisfactorios aún siendo la resolución delos ADC de sólo 3 bits. El modelo de FPGA utilizado es un Stratix II GX, hoyen día algo desactualizado. Debido a las limitaciones de velocidad tuvieron querealizar un procesado por bloques, agrupando datos en paquetes de 4096 símbolos yprocesando uno de cada 32 paquetes con una paralelización de orden 4, descartandoel resto.

Después, en 2010 un receptor coherente para señales de 112 Gb/s es propuestopor Tanimura et al. [25]. En este caso, el sistema basado también en FPGA (esteartículo no menciona el modelo utilizado) está orientado a la evaluación rápida dealgoritmos para compensar pérdidas y dispersión dependientes de la polarización,siendo éstas introducidas mediante un emulador multietapa. Aquí los autores noproclaman un funcionamiento en tiempo real sino una rápida reducción en el tiem-po de evaluación de los algoritmos comparándolo con el tiempo empleado por unordenador.

Uno de los proyectos más ambiciosos publicado hasta el momento es el presen-tado en 2012 por Dutisseuil et al. [26]. Se trata además de uno de los proyectos queha contado con más presupuesto ya que incorpora 4 FPGAs Stratix IV de Alteralo que no es de extrañar considerando que se desarrolló en los laboratorios Belly 4 ADC s de 5 bits a 20 GSa/s. Cada pareja de ADC s se conecta a una FPGAdiferente que se encarga de la sincronización, una tercera FPGA se encarga delprocesado para la corrección de los efectos de las perturbaciones gracias a la granpotencia de procesado de la que dispone y la cuarta se encarga de implementarla interfaz del sistema con un ordenador y de la monitorización de los resultados.Todo ello diseñado sobre una PCB de 16 capas y consiguiendo detectar señales

1.5. Objetivo del proyecto Dicore 13

PDM-QPSK a 34 Gb/s.

1.5. Objetivo del proyecto Dicore

Para poder dar forma a la idea del proyecto fue necesario realizar un sondeoentre los propios investigadores en fotónica quienes, al n y al cabo son los futurosusuarios del proyecto. Como resultado de esta comunicación cruzada surgieron lascaracterísticas que preferiblemente debería presentar sistema. Si bien la mayoríafueron concretadas desde el principio, otras fueron añadidas durante el proceso dediseño. A continuación se enumeran estas propiedades y en el capítulo siguiente seda una descripción a más bajo nivel de las especicaciones técnicas:

Las señales con las que se proveerá al sistemas estarán en el dominio eléctri-co, pues en el laboratorio ya se cuenta con los dispositivos para implementarel front-end óptico, liberando así al proyecto de la necesidad de tratar direc-tamente con señales ópticas.

Debe estar preparado para recibir señales de dos polarizaciones distintas, loque supone un total de 4 señales de entrada (componentes I y Q para cadapolarización).

La velocidad de muestreo debe ser capaz de muestrear señales transmitidas a1 Gbaudio/s y teniendo en cuenta que se necesitan dos muestras por baudio,el ADC debe trabajar al menos a 2 GSa/s.

Debido a que se ha demostrado el buen funcionamiento con resoluciones tanbajas como 3 bits, este requisito no es muy relevante, aunque preferiblementese desea una resolución igual o mayor a 5 bits.

Debe existir una vía de realimentación entre la FPGA y la señal de relojque rige el muestreo de los ADC s para poder ajustar en tiempo real lasincronización con las señales de entrada

Es importante la presencia de una memoria externa auxiliar para poder al-macenar o bien resultados o bien datos que necesiten se procesados con pos-terioridad.

Es deseable la incorporación de controles manuales de propósito general comobotones o interruptores para poder, por ejemplo, variar el valor de ciertosparámetros de los algoritmos durante su funcionamiento.

14 1. Introducción

Al mismo tiempo debe contar con elementos indicadores visuales que permi-tan ser programados para dar información sobre el estado del sistema.

Se valorará que requiera de una única entrada de alimentación, integrandoen el sistema los diferentes reguladores que generen los diferentes voltajes.

Finalmente debe existir la posibilidad de conectar el sistema Dicore conun ordenador, bien para la interactuación en tiempo real o bien para lacarga/descarga o-line de datos pre/post-procesados. Una conexión USB esla sugerida.

Capítulo 2

Metodología y Diseño

Alcanzar el éxito en el desarrollo de un ambicioso proyecto como el sistemaDicore requiere la imposición de una estricta metodología, donde queden cla-ras las diferentes etapas y los pasos a seguir. En el entorno de una empresa, escomún que las tareas sean relegadas a diferentes departamentos o personas conespecialidades diferentes. Es trivial la comunicación y retroalimentación entre lasdiferentes unidades de trabajo para garantizar el correcto seguimiento y desarrollodel trabajo. En el caso de este proyecto debe tenerse en cuenta que todo el procesoha sido llevado a cabo por la misma persona. Esto conlleva la desventaja de que alser una carga de trabajo mayor, menor es el nivel de especialización alcanzado encada campo. La ventaja es que se suprime la necesidad de reunirse y comunicarsede manera periódica, pudiéndose haber realizado el proyecto en relativamente pocotiempo (5 meses).

A continuación se enumeran las diferentes tareas que se deben llevar a cabo enun proceso completo de diseño. Debido a la envergadura del proyecto y al tiempodisponible solamente las 3 primeras forman parte del objetivo de este proyecto,quedando las 2 últimas relegadas a una futura ampliación del mismo:

1. Especicación y selección de componentes: aunque a menudo se par-te de una especicación técnica para luego elegir los componentes que seajustan a ella, en este caso se han tratado estas dos etapas de manera con-junta. Partiendo de unos requisitos mínimos comentados en el apartado 1.5,se realizó un sondeo de componentes disponibles en el mercado y se eligióaquellos que cumpliendo con las necesidades mínimas ofrecían otras ventajasde diseño dentro de un presupuesto moderado. No es hasta haber elegidolos componentes que se puede especicar con detalle las características delsistema.

15

16 2. Metodología y Diseño

2. Diseño del circuito: consiste en el diseño esquemático del circuito, el cualno es más que una representación gráca de símbolos (los componentes) ylíneas que los conectan entre sí (las conexiones eléctricas entre los comonen-tes). La sección 2.1 explica algo más sobre los conceptos generales del diseñoesquemático y en el capítulo 3 se detalla cómo se ha llevado a cabo en elproyecto Dicore .

3. Diseño de la placa: se trata de dibujar lo que va a ser la materializaciónfísica del proyecto nal. Aquí los símbolos pasan a ser la representación físicaa escala de los componentes y las líneas pasan a ser las pistas de cobre quelos interconectan. Son muchas las consideraciones que intervienen en esteproceso y en la sección 2.2 se explican algunos de estos conceptos básicos yotros avanzados mientras que en el capítulo 3 se detalla el procedimiento dediseño realizado en Dicore .

4. Simulación: simular el comportamiento de un diseño dado es una piezaclave para el éxito del mismo y además presente en todo el proceso. Desgra-ciadamente y principalmente por insuciencia de tiempo en la programacióndel proyecto, la simulación ha sido postpuesta a etapas futuras. Lo que entodo caso debe evitarse es proceder a la fabricación y ensamblado nal delproducto sin haber realizado previamente las simulaciones pertinentes.

5. Fabricación y testeo: una vez aprobado el diseño, habiendo sido simuladoa nivel funcional y a nivel de integridad de la señal, es cuando puede serfabricado el primer prototipo para luego someterlo a las primeras pruebasexperimentales: chequeo de los correctos niveles de tensión, temperatura yrespuesta de los diferentes elementos del circuito.

2.1. Diseño esquemático

La herramienta imprescindible para llevar a cabo un buen diseño electrónico esun programa informático CAD. Existen muchas alternativas a gusto del diseñador,aunque las mejores opciones son alguna de las desarrolladas por las principalescompañías que llevan desarrollando este tipo de software: Cadence, Altium, Eagleo MentorGraphics están entre las más usadas. Se puede suponer que las licenciasde uso de estos programas tienen un elevado coste, no estando al alcance de todoel mundo, aunque cada vez más ofrecen una solución integrada para el desarrollode un producto de principio a n.

Para el desarrollo de Dicore se ha utilizado la herramienta Altium Desig-ner v.2012. Esta nueva versión del programa cuenta con una aplicación integrada

2.2. Diseño de la PCB 17

mediante la cual se pueden hacer búsquedas online tanto a repositorios desarro-llados por la comunidad como a las bases de datos de los propios fabricantes decomponentes. Así pues, resulta muy fácil encontrar un determinado componente,compararlo con componentes similares (características, stock, precio,...) y descar-gar los correspondientes símbolos para el dibujo esquemático del circuito.

Además, el programa permite realizar diseños de manera jerárquica, pudiendoguardar diferentes partes del circuito en archivos diferentes (hojas) lo que resul-ta que sea más facil llevar un seguimiento ordenado y detectar rápidamente uncomponente concreto. Además se pueden realizar conexiones unidireccionales obidireccionales entre diferentes hojas mediante elementos llamados puertos.

Por otra parte, tanto a los componentes como a las conexiones se les puedenasignar diferentes clases o directivas, las cuales pueden estar sujetas a determinadasreglas de diseño que el programa tendrá en cuenta en la etapa posterior y seránaplicadas automáticamente. Por ejemplo, se pueden seleccionar un conjunto delíneas y asignarlas a una clase llamada power, denir una regla para que las líneasque pertenezcan a esta clase se enruten con un grosor de 2mm y automáticamentese aplicará este grosor de pista cuando se vaya a enrutar cualquiera de estas líneas.

2.2. Diseño de la PCB

2.2.1. Conceptos Básicos

La tecnología en que las PCBs se fabrican no ha cambiado signicativamenteen las últimas décadas. Un material aislante (generalmente FR4, un compuestode resina epoxy y cristal) laminado con cobre en una o ambas caras, es atacadomecánica o químicamente para eliminar partes de cobre y formar así caminos con-ductores. Posteriormente diferentes laminados se apilan siendo presionados entresí junto con láminas aislantes adicionales y se forman las placas multicapa. Luegose mecanizan diferentes estructuras con diferentes nalidades. Estas estructurasson:

Pistas: son las líneas de metal (cobre) que establecen una conexión eléctricaentre dos o varios puntos del circuito.

Plano: es una supercie ininterrumpida de cobre que cubre toda la superciede la placa. También puede haber planos que cubren sólo una determinada áreade la placa. Se usan para distribuir la potencia entre numerosos puntos de la

18 2. Metodología y Diseño

placa y también son útiles para el apantallamiento de señales contra interferencias,proporcionando además un camino de retorno de corriente para pistas en capasadyacentes.

Vías: son agujeros cuya supercie interior ha sido metalizada de manera queproporcionan una manera de interconectar las diferentes capas de la placa. Esdecir, representan una conexión en el eje Z.

Pads y Antipads: los pads son pequeñas supercies de cobre que permitenla soldadura de los componentes de montaje supercial en las capas externas dela placa, o la conexión entre una pista y una vía. Un antipad es el cobre que hasido eliminado alrededor de un pad para evitar que éste entre en contacto con unplano u otras pistas.

2.2.2. Diseño para alta velocidad

Con las reglas vistas en el apartado anterior puede ser suciente para llevara cabo una gran cantidad de circuitos electrónicos cuyo funcionamiento sea satis-factorio. No obstante, cuando en un circuito intervienen señales de alta velocidad(como en este caso) hay una serie de consideraciones muy importantes que debenser tenidas en cuenta para garantizar un funcionamiento correcto del sistema.

Líneas de transmisión

¾Qué se entiende por alta velocidad? Bien, se puede decir que una señal delorden de unas decenas de megahercios ya presenta los síntomas propios de la altavelocidad que se explican en este apartado. Sin embargo, que una señal sea o node alta velocidad depende de cierta relación entre su frecuencia o longitud de onday la distancia que esta señal debe recorrer. Una pista de cobre o un cable porel que viaja una señal donde se cumpla esta relación se considera una línea detransmisión.

En circuitos digitales, el primer parámetro para determinar si una señal es dealta velocidad es el tiempo de subida, tr, y se mide como el tiempo entre que la señalsupera el 10% hasta que alcanza el 90% de su recorrido en un anco de subida.El segundo parámetro es el retardo de la línea D y es el inverso de la velocidadde propagación de la señal a través de la línea, por lo que se mide en unidades desegundos por metro o más comúnmnente picosegundos por milímetro (ps/mm).Finalmente podemos calcular la distancia l que ocupa el tiempo de subida de un

2.2. Diseño de la PCB 19

anco digital sobre la línea mediante

l =trD

Si la longitud L de la pista donde va a viajar la señal digital cumple que L < l/6,la pista debe tratarse como una línea de transmisión [32].

Impedancia característica, reexión y terminación

Otra de las propiedades de una línea de transmisión es su impedancia carac-terística, Z0. Lo más importante a tener en cuenta cuando se diseña una línea detransmisión entre un emisor y un receptor, es que las impedancias de salida delreceptor, la caracterísitca de la línea y la de entrada del receptor deben estar adap-tadas. Si no se ajusta bien esta adaptación de impedancias se producen reexionesy oscilaciones dentro de la misma línea provocando una degradación de la señal oincluso el fallo completo de la comunicación.

La impedancia característica es una propiedad de la línea de transmisión quedepende únicamente de su geometría (alto, ancho, forma...) y de las propiedades delmaterial dieléctrico que la rodea (aire, FR4, etc.) siendo totalmente independientede la longitud de la línea. Por tanto es importante que la línea de transmisiónpreserve su forma y geometría durante todo el recorrido de la señal para manteneruna continuidad en su impedancia característica.

El concepto de terminación surge cuando la impedancia de salida del emisor,Zout, diere de la Z0 de la línea, o ésta de la impedancia de entrada del receptor, Zin,donde es preciso colocar componentes pasivos como resistencias o condensadoresen uno o ambos extremos de la línea. A este hecho se le llama terminar una línea.Existen varias topologías de terminación que varían entre colocar los componentesen serie, paralelo o una combinación de ambos.

En una PCB los parámetros de fabricación como el grosor del laminado decobre y el grosor y constante dieléctrica del material aislante, son los que nosvan a permitir calcular la geometría de la línea para conseguir la impedanciacaracterística deseada. La Figura 2.1 muestra dos ejemplos que vamos a encontraren el diseño de Dicore : el caso (a) presenta una línea que se encuentra en unade las capas externas de la placa (microstrip) y el caso (b) presenta una línea quese encuentra en una de las capas interiores de la placa.

En la literatura se pueden encontrar diversas fórmulas que aproximan el cálculode la impedancia para uno u otro caso. A modo de ejemplo, en 2004 la organizaciónIPC publicó el siguiente modelo para una línea microstrip en [33]:

20 2. Metodología y Diseño

(a) Microstrip (b) Stripline

Figura 2.1: Tipos de líneas

Z0,microstrip =η0

2√

2π√εr,eff + 1

ln

1 + 4h

w′

4

(14εr,eff + 8

11εr,eff

)h

w′+

√16

(14εr,eff + 8

11εr,eff

)2(h

w′

)2

+εr,eff + 1

2εr,effπ2

donde η0 ≈ 377 Ω es la impedancia de onda en el vacío, w′ es el ancho efectivo

de la línea:

weff = w +

(t

π

)· ln

4e√(th

)2+(

twπ+1.1tπ

)2 · εr,eff + 1

2 · εr,eff

y

εr,eff =

εr+12

+ εr−12·[√

ww+12h

+ .04(1− w

h

)2]si w

h< 1

εr+12

+ εr−12·√

ww+12h

si wh≥ 1

donde w es el ancho de la pista, t es el grosor de la pista, h es la separación entrela pista y el plano de referencia y εr es la permitividad relativa del dieléctrico.

Aunque estas fórmulas proporcionan unos resultados muy apurados (∼ 2 %),en la práctica de diseños avanzados se recurre al uso de programas conocidos eninglés como eld solvers que simulan la estructura 3D del circuito y que mediantemétodos numéricos analizan las líneas de campo electromagnético presentes en lapista bajo observación. Así se consigue ademas detectar cambios de impedanciaproducidos en una misma pista bien por la presencia de vías, pads o discontinui-dades en el plano de referencia, entre otras razones.

2.2. Diseño de la PCB 21

Crosstalk :

La interferencia debida a la inuencia mutua entre dos pistas paralelas lo su-cientemente cerca se conoce como crosstalk. La pista que produce la interferencia sedenomina la agresora mientras que la que recibe la interferencia es la víctima.Debido a la presencia de un campo electromagnético, la víctima sufre un acopla-miento inductivo y capacitivo que tienden a generar una corriente hacia adelantey otra hacia atrás. En un medio homogéneo, como es el caso de una línea stripline,ambas corrientes se cancelan mientras que en el caso de una línea microstrip elefecto inductivo tiende a ser más fuerte que el capacitivo. Para minimizar el efectodel crosstalk es aconsejable mantener las líneas separadas dos veces su grosor.

Señales diferenciales:

Una señal se transmite en modo diferencial cuando viaja a través de dos líneasacopladas, presentando teóricamente la misma magnitud en ambas y signo opuesto.La desventaja del crosstalk se convierte en una ventaja en una línea diferencial yaque los campos electromagnéticos se cancelan entre sí.

Una de las principales ventajas de las señales diferenciales es su superior inmu-nidad al ruido frente a las señales individuales. Cuando una interferencia electro-magnética afecta a la señal diferencial, afecta a las dos líneas por igual y, puestoque en el receptor se mide la diferencia entre ambas, se suprime el efecto del ruido yse puede recuperar fácilmente la señal original. La Figura 2.2 ilustra esta propiedaden un ejemplo de una línea diferencial que recibe una interferencia mientras estátransmitiendo un pulso. Otra propiedad es la tolerancia a pequeños cambios de

Figura 2.2: Supresión de ruido electromagnético en una línea diferencial

22 2. Metodología y Diseño

potencial en la tierra del circuito. Se debe a que el receptor sólo mide la diferenciade potencial entre las dos líneas e ignora los potenciales individuales de cada líneacon respecto a tierra.

Además, las señales diferenciales permiten niveles de voltaje más bajos, algoque se adapta muy bien a las nuevas tecnologías móviles donde la tendencia es lade disminuir las tensiones de alimentación para disminuir el consumo. Debido aque en las líneas el potencial es igual y opuesto en signo, el rango total es el de dosveces el voltaje aplicado en una sola línea. Esto se traduce en una doble inmunidadal ruido (en este caso ruido no correlacionado en las dos líneas).

En Dicore la mayoría de las señales de alta velocidad se transmiten en mododiferencial. Al igual que las líneas individuales, las líneas diferenciales tambiénpresentan una impedancia característica, Z0,diff . En este caso también se calculaen función de la geometría del par diferencial y de las propiedades del dieléctrico,interviniendo pues un nuevo factor que es la separación entre las líneas.

Existen varias alternativas a la hora de implementar una línea diferencial enuna PCB. La Figura 2.3 muestra varios ejemplos: el caso (a) presenta una líneadiferencial microstrip en el cual las pistas se encuentran en la capa externa dela placa y presentan un acoplamiento horizontal. Los casos (b) y (c) son un pardiferencial stripline con acoplamiento horizontal y vertical respectivamente. Estosúltimos se encuentran siempre en capas interiores de la placa.

Nuevamente, para calcular la impedancia característica de este tipo de líneases preciso recurrir a algunas de las muchas fórmulas publicadas, incluso aplica-ciones online [34, 35] que permiten introducir los parámetros geométricos de unaestructura dada y proporcionan un cáculo muy aproximado de la impedancia ca-racterística.

(a) Microstrip (b) Stripline horizontal (c) Stripline vertical

Figura 2.3: Tipos de líneas diferenciales en una PCB

En Dicore se han diseñado todas las líneas diferenciales con acoplamientohorizontal, siendo la mayoría de ellas del tipo stripline minimizando el recorridoque por fuerza deben hacer en las capas externas.

Es muy importante que ambas líneas dentro de un par diferencial midan la

2.2. Diseño de la PCB 23

misma longitud para evitar así que las señales lleguen a su destino a destiempo(skew). Para ello a menudo es preciso añadir una porción extra a una de laslíneas (ver Figura 2.4), pues después de realizar algunos giros siempre recorre uncamino más corto la línea que recorre el interior de la curva. Además, las líneasde un par diferencial deben recorrer todo su camino juntas, manteniendo siemprela distancia calculada entre ellas para evitar discontinuidades en la impedanciacaracterística. Si es inevitable una separación, debe minimizarse el trayecto querealizan separadas.

Figura 2.4: Ajuste de longitud en el par diferencial

En cuanto a los giros de las líneas, deben evitarse los giros de 90 grados yen su lugar utilizar dos giros consecutivos de 45 grados. Esto es debido a que ungiro de 90 grados causa más radiación puesto que en la esquina hay una mayorconcentración de capacidad parásita, lo que provoca cambios en la impedancia dela línea.

Corrientes de retorno

Uno de los aspectos que a menudo se pasa más por alto es el de considerarla corriente de retorno de una señal. Un circuito eléctrico siempre es un circuitocerrado, lo que signica que una corriente que circula por una línea desde su origenhasta su destino implica que existe una corriente que vuelve en sentido contrario,generalmente a través del plano de tierra de referencia.

En corriente continua, la corriente de retorno elige siempre el camino más corto,es decir, el que ofrece menos resistencia. Sin embargo, para una señal de altafrecuencia, la corriente de retorno busca el camino que ofrece menos impedancia yéste es aquél que encierra un área más pequeña en todo el circuito cerrado. Estosignica que una corriente de retorno de una señal de alta frecuencia seguirá lamisma trayectoria que el camino de ida, pero por debajo (o sea, en el plano detierra).

Debido a esto, el diseñador debe poner especial atención en asegurarse que laslíneas de alta velocidad cuentan con un camino de retorno justo por debajo de ellas

24 2. Metodología y Diseño

y libre de obstáculos. Si la corriente de retorno se encuentra con que el plano detierra tiene una discontinuidad, deberá tomar un camino alternativo aumentandoasí el área encerrada por el circuito y afectando nalmente a la impedancia de lalínea.

2.2.3. Denición del stack-up

Como se ha mencionado en el apartado 2.2.1, la estructura de una PCB es lade un conjunto de láminas de cobre apiladas y separadas por un material aislante.La manera en la que se distribuyen estas capas, junto con sus respectivos grosoresy materiales utilizados se conoce como el stack-up de la placa.

El diseñador de la PCB debe decidir el número de capas a utilizar para suplaca y contará con información provista por el fabricante acerca de los materia-les disponibles, los estándares con los que cuenta en stock y las especicacionestécnicas sobre las propiedades eléctricas de estos materiales.

Debe asumirse un compromiso entre calidad y presupuesto. Existen diversosmateriales dieléctricos y elegir uno de altas prestaciones (como los de Rogers oNelco, especializados en materiales para alta frecuencia) en lugar de un estándarFR4, encarece considerablemente su fabricación.

También es posible elegir el grosor de los laminados de cobre, siendo los valoresestándar de 9µm, 18µm, 35µm y 70µm. Es posible optar a grosores mayores bajopetición especial.

La distribución funcional de las diferentes capas es otra de las decisiones quemás van a inuir en el diseño. Consiste en decidir qué capas contendrán señales,cuáles planos de tierra y cuáles planos de alimentación. Existen muchas combina-ciones posibles y no hay nada escrito acerca de cuál es la opción correcta. Cadacombinación presenta una variedad distinta en el compromiso entre radiación elec-tromagnética, integridad de la señal e impedancia en la red de desacoplo, entreotros aspectos.

En la Sección 4.1 del Capítulo 4 se expone el stack-up elegido y utilizado enDicore .

Capítulo 3

Especicacones de Dicore

3.1. Estructura del sistema

La Figura 3.1 muestra un esquema que representa una visión global del sistemaDicore y los principales parámetros que lo denen. A la izquierda se encuentra la

Figura 3.1: Esquema técnico del sistema Dicore

etapa de conversión donde 4 entradas diferenciales se corresponden con las compo-

25

26 3. Especificacones de Dicore

nentes I y Q de cada polarización (X e Y). El ADC seleccionado para la conversiónes capaz de muestrear 2 canales a 1.5 GSa/s cada uno, o un solo canal a 3 GSa/scon una resolución máxima de 8 bits. El sistema cuenta con dos ADC s de este tipo,uno para cada polarización. En la sección 3.2 se exponen con detalle el modelo ylas características del ADC, su funcionamiento y su implementación en el sistema.

La señal de reloj para el muestreo se genera mediante un PLL (Phase-LockedLoop) de alta precisión, el cual recibe una señal de referencia desde un VCO (Vol-tage Controlled Oscilator). La señal de reloj original es distribuida hacia los dosADC s gracias a un circuito distribuidor que está especialmente diseñado paratrabajar de forma conjunta con el PLL elegido. Los modelos de chips y el funcio-namiento de esta etapa se detallan en la sección 3.3.

En el centro se encuentra el núcleo del sistema o centro de procesado: la FPGA.Se trata del componente más caro del sistema y el que más trabajo de diseñoconlleva. Todo lo relacionado con el diseño de la FPGA se explica en la sección 3.4junto con aquellos elementos que están directamente relacionados y que son:

4 Transceivers integrados, donde cada uno consiste en un transmisor y unreceptor y cuya máxima tasa de transmisión/recepción teórica es de 10 Gbps.

Una conexión estándar JTAG para congurar la FPGA externamente.

Una memoria Flash de 128 Mb para guardar la conguración de la FPGA yrestablecerla después de cada encendido sin necesidad de intervención exter-na.

Como unidad de memoria principal, se ha dotado al sistema con un total de8 GB de memoria RAM DDR3, compuesta por 4 chips de 2 GB cada uno. Puedefuncionar con una señal de reloj de hasta 800 MHz que, al tratarse de tecnologíaDouble Data Rate, los datos se envían a frecuencias de hasta 1600 MHz. La sec-ción 3.5 detalla cómo se ha implementado este módulo de almacenamiento externo.

En la parte superior se observa la implementación de un puerto USB 2.0, el cualdotará al sistema de la posibilidad de comunicarse con un ordenador y permitiráel intercambio en tiempo real de información como resultados o parámetros deconguración de los algoritmos. La sección 3.6 recoge los detalles del diseño yfuncionamiento de esta interfaz.

Debido a que la FPGA requiere de diversas tensiones de alimentación e inclusobajo la recomendación de proveer las tensiones para la lógica de la FPGA y paralos transceivers desde fuentes diferentes, resultaba mucho más práctico implemen-tar los diferentes reguladores en la misma placa a partir de una única fuente de

3.2. Etapa de conversión 27

alimentación externa. Todos los circuitos reguladores presentes en Dicore seexplican en la sección 3.7.

Finalmente, la sección 3.8 recoge y explica los diferentes elementos de controle interfaz de usuario: monitorización de temperatura, elementos indicadores comoLEDs y una pantalla LCD y elementos de control como botones y microinterrup-tores.

3.2. Etapa de conversión

3.2.1. Modelo y encapsulado

El modelo de ADC que se ha escogido para el diseño es el ADC08D1520 fa-bricado por Texas Instruments (TI ). Algunas de sus principales característicasson:

Conversión dual analoógica-digital de 8 bits con frecuencia de muestreo dehasta 1.7 GSa/s o de 3 GSa/s en modo intercalado.

Bajo consumo (1.6W a 1 GSa/s con alimentación de 1.9V)

Generación de patrones para funciones de testeo

Fase ajustable de la señal de reloj y diferentes modos de multiplexación desalida

Salidas LVDS con voltaje en modo común ajustable entre 0.8V y 2V

Dispone de modo de bajo consumo en uno o ambos canales (típ. 3.5mW)

Sistema de autocalibrado

La Figura 3.2 muestra una representación simbólica del chip. El encapsulado en elque se presenta es HQLFP de 128 pines.

Los siguientes apartados dan una descripción técnica y funcional de los aspectosmás relevantes de la implementación del ADC en el diseño. Para obtener una des-cripción completa de todas sus características eléctricas, temporales y funcionaleses necesario referirse a la hoja de especicaciones del producto [].

28 3. Especificacones de Dicore

Figura 3.2: Conguración de los pines del ADC

3.2.2. Funcionamiento del ADC

Calibrado El ADC cuenta con un sistema de autocalibrado que ajusta tantola impedancia de las entradas analógicas a un valor de 100 Ω como las corrientesde polarización internas y es, por tanto, necesario para que el rendimiento cumplacon las especicaciones. El calibrado se lleva a cabo en dos posibles situaciones:siempre después de aplicar alimentación al circuito o bajo petición del usuario. Elprimero se lleva a cabo siempre que el pin PD (26) no se encuentre activo, ya quenunca se lleva a cabo en el modo de bajo consumo. Además, se espera un tiempodespués de recibir alimentación para calibrar. Este tiempo puede tomar dos valoresy se especica mediante el pin CALDLY (127) siendo de, medido en ciclos de reloj,236 para CALDLY =0 y de 232 para CALDLY=1. Esta función es útil cuando latensión de alimentación requiere de cierto tiempo para alcanzar su valor nominal.La segunda manera de calibrar el circuito es por orden del usuario. Se puede hacermediante el pin CAL (30) o mediante escritura en registro (ver apartado 3.2.4).En el primer caso, el pin CAL debe tomar los valores 1 y 0 durante 1280 ciclosde reloj cada uno para que el calibrado se ejecute. Por último, la recomendaciónes que aparte del calibrado inicial, se realicen calibrados adicionales después de

3.2. Etapa de conversión 29

20 segundos del encendido o cuando se modique el valor de FSR (14), Full ScaleRange.

Adquisición de las entradas Las entradas I y Q del ADC son diferenciales. Sise introducen con acoplamiento AC, el pin VCMO (7) debe ser conectado a tierra,mientras que si se introducen con acoplamiento DC, dicho pin debe dejarse otante.En la placa se han incorporado dos jumpers (VCMOX y VCMOY), uno para cada ADC,de manera que el usuario puede cerrarlos para forzar la conexión a tierra o dejarloabierto (otante).

El pin FSR (14) permite seleccionar entre dos rangos de entrada (Full ScaleRange), siendo de 870mVpp para FSR=1 y de 650mVpp para FSR=0. El valor delrango de entrada puede ser también modicado mediante los registros de congu-ración, permitiendo ajustes graduales en pasos de ±0.176mV.

Reloj de muestreo El ADC es provisto de una señal de reloj diferencial conacoplamiento AC proporcionada por el PLL explicado en la sección 3.3. Una salidadiferencial proporciona una nueva señal de reloj sincronizada con los datos, DCLK,y es la que se utiliza para capturar los datos digitales en la FPGA.

Además, el ADC tolera señales de reloj con ciclos de trabajo de hasta 20%-80%, permitiendo también el uso de un corrector de ciclo de trabajo integradocongurado por registros.

Modos SDR y DDR Se corresponden con Single Data Rate y Double DataRate respectivamente. El primero indica que los datos de salida se sincronizan conun único anco de la señal DCLK mientras que el segundo indica que los datosestán sincronizados con ambos ancos de |DCLK|. Por tanto, operando en DDRla frecuencia de DCLK es la mitad que si lo hace en SDR. Mediante el pin (4) sepueden seleccionar las siguientes opciones:

Flotante: se activa el modo DDR

1: modo SDR y datos sincronizados con anco de subida de DCLK

0: modo SDR y datos sincronizados con anco de bajada de DCLK

Sincronización de múltiples ADC s Una propiedad interesante del ADC esque permite resetear la relación existente entre el reloj de muestreo y el relojsincronizado con los datos DCLK. Esto se consigue mediante la aplicación de un

30 3. Especificacones de Dicore

pulso en la entrada DCLK_RST (15). Esto permite que múltiples ADC s en un sistematengan sus datos sincronizados con la misma señal de reloj compartida.

En Dicore , la señal DCLK_RST puede ser generada desde la FPGA, ya quela conexión de esta línea hasta los dos ADC s está ajustada en longitud para lacorrecta sincronización entre ambos.

3.2.3. Intercalado y demultiplexado

Para cada canal de entrada, I y Q, el ADC hay dos salidas de datos de 8 bitscada una: DI y DId para I, DQ y DQd para Q. Todas estas salidas son utilizadasen el diseño y enrutadas hacia la FPGA. El ADC puede operar de 4 manerasdiferentes en función de las opciones seleccionadas sobre cómo se muestrea y cómose multiplexan las salidas. A continuación se describen estas dos opciones:

Intercalado (DES, Dual Edge Sampling) Es posible que una de las entradasI o Q se muestree con ambos ancos del reloj, dejando la otra entrada inutilizada.Así pues, si se muestrea con un reloj de 1.5 GHz, se obtendrán 3 GSa/sde unasola entrada. Si se activa esta opción por defecto la entrada I será la que se utilice,aunque es posible seleccionar la entrada Q mediante los registros de conguración.Para activar el modo de doble anco (dual edge sampling) es preciso dejar el pin|DES| (127) otante.

Demultiplexado En este caso también existen dos opción: salida demultiplexa-da o no demultiplexada. Con la salida no demultiplexada, la salida digital corres-pondiente a la entra I estará disponible sólo en la salida DI (y sólo en DQ para laentrada Q) mientras que con la salida demultiplexada, los datos estarán disponiblesen DI y en DId pero a la mitad de frecuencia (y análogamente para Q).

A modo de resumen, la tabla 3.1 muestra los 4 posibles modos de operación yel valor que corresponde a las salidas. Nótese además, que los datos digitales salenretrasados entre 13 y 14 ciclos con respecto al reloj de muestreo (dato mostradoentre paréntesis).

3.2.4. Registros de conguración

Algunos de los pines del ADC tienen doble función. La manera en que sedetermina cuál es la función que aplica en cada pin depende del modo de controlutilizado. Existen dos modos de control: normal y extendido. En el modo normal,

3.2. Etapa de conversión 31

DES Demux Canal DI DId DQ DQd

SeleccionadoNo No - I(14) Z Q(13.5) ZNo Sí - I(13) I(14) Q(13) Q(14)Sí No I/Q I/Q(14) Z I/Q(13.5) ZSí Sí I/Q I/Q(13) I/Q(14) I/Q(13.5) I/Q(14.5)

Tabla 3.1: Los 4 modos de operación del ADC

la conguración se ajusta mediante el control de los pines que se han nombradoen los apartados previos y para las cuales se ha dotado a la placa de jumperspara que el usuario pueda controlarlos libremente. El modo extendido proporcionaconguraciones adicionales a través de un puerto de comunicación serie y 9 registrosinternos.

El modo de control extendido se activa poniendo el pin ECE (41) a 0. Si ECEse deja sin conectar y el pin (52) tiene un valor alto, el pin (14) servirá alternati-vamente para activar el modo extendido dejándolo también otante. Algunas delas funcionalidades que permite el modo de conguración extendido se enumerana continuación:

En modo DDR, ajuste de la fase de la señal DCLK con respecto a los datos

Ajuste de hasta 512 intervalos del rango de amplitud de entrada

Ajuste de hasta 512 intervalos de oset en la señal de entrada

Permite seleccionar el canal Q para muestreo de doble anco (DES )

Permite generar un patrón de datos en las salidas digitales

Ajuste de fase de la señal de reloj de muestreo

3.2.5. Comunicación serie

Cuando se controla el ADC en modo extendido, el acceso de sólo lectura a losregistros se realiza medianto un puerto serie formado por tres líneas: datos, SDATA(4), reloj SCK (3) y activación de bus SCS (127).

Cada uno de los dos ADC s tiene estas tres líneas (6 en total) conectadas ala FPGA de manera que sea posible programar una rutina de conguración enVHDL. Además, se ha colocado un jumper en cada una de las líneas de manera

32 3. Especificacones de Dicore

que el usuario pueda dejarlas abiertas en caso de que no entre en el modo deconguración extendido.

3.3. Reloj: generación y distribución

La generación y distribución de la señal de muestreo se divide en 3 etapas: unVCO que genera una señal de referencia precisa y estable, un PLL que se enganchaa esta señal para generar la señal de reloj del circuito y un circuito distribuidorque toma la señal del PLL y crea copias para distribuirlas a los dos ADC s. Lasdos primeras etapas se explican a continuación y la tercera etapa se explica en elapartado 3.3.2.

3.3.1. PLL

Como circuito sintetizador de la señal de reloj para el muestreo se ha utilizado elcircuito integrado LMX2541-3030 de Texas Instruments. Algunas de las principalescaracterísticas con las que este chip se presenta son:

Ruido de fase normalizado de -225 dBc/Hz

VCO integrado y opción de usar uno externo

Divisor de frecuencia del VCO de 1 a 63

Potencia de salida programable

Filtro de realimentación parcialmente integrado

Modo de bajo consumo por hardware y software

La Figura 3.3 muestra la representación simbólica del chip con la nomenclaturautilizada en el patillaje. El encapsulado es un WQFN de 36 pines. En [] se puedeencontrar una descripción completa del LMX2541, donde además presentan variosdiseños de referencia en función de si se utiliza el oscilador interno o uno externo.La Figura 3.4 muestra el diseño esquemático del circuito diseñado en Dicore , elcual se corresponde para el uso de un oscilador externo. Como oscilador externo seha utilizado el VCXO de Crystek Crystals model CVHD-950-100, el cual consisteen un cristal oscilador controlado por voltaje de 100MHz con tecnología HCMOSalimentado a 3.3V. Presenta un ruido de fase muy bajo de hasta -168 dBc/Hz.La Figura 3.5 muestra la implementación de este oscilador. La tensión de control

3.3. Reloj: generación y distribución 33

Figura 3.3: Conguración de pines del LMX2541

V_CTRL se establece ja a 1.65V mediante el divisor de tensión formado por R54 yR55 para jar la frecuencia de salia a 100MHz. Las resistencias R62 a R65 formanla red de adaptación de impedancia de la salida del oscilador a la entrada del PLL.La dos líneas etiquetadas Osc.Ext. se dirigen directamente a la entrada con elmismo nombre en el circuito de la Figura 3.4.

Conguración de la frecuencia de salida En primer lugar, el registro internoOSC_FREQ debe ser congurado correctamente acorde a la frecuencia del osciladorde entrada. De lo contrario, el VCO interno puede tener problemas para engan-charse a la frecuencia correcto puesto que su calibración depende del contenido dedicho registro.

El divisor R divide la frecuencia del oscilador a la entrada. El detector de fasecompara las salidas de los divisores R y N y genera una corriente proporcional alerror de fase. Esta bomba de corriente de carga se puede congurar por 32 hasta32 niveles diferentes. La frecuencia del detector de fase fPD se calcula como

fPD =fOSCinR

El divisor N se congura mediante estos 3 parámetros: PLLN , PLLNUM y

34 3. Especificacones de Dicore

Figura 3.4: Diseño implementado para el chip LMX2541

PLLDEN , los cuales son programables. El valor total de N se calculará como

N = PLLN +PLLNUMPLLDEN

El VCO integrado toma el voltaje del ltro de retorno y lo convierte en fre-cuencia. El ltro de retorno está parcialmente integrado, pudiendo congurarseel valor de los componentes integrados mientras que la otra parte se implementamediante los componentes externos C1_LF, C2_LF y R2_LF que aparecen en laFigure 3.4. Para el diseño de Dicore se han utilizado los valores recomendadospor Texas Instruments para una frecuencia de 1500MHz mostrados en la Tabla 3.2.

C1_LF C2_LF R2_LF56pF 4.7nF 560Ω

Tabla 3.2: Valores recomendados por TI para f=1500MHz

La frecuencia del VCO se relaciona con los divisores de la siguiente manera:

fV CO = fPD ×N = fOSCin ×N

R

3.3. Reloj: generación y distribución 35

Figura 3.5: Implementación del oscilador externo al PLL

Finalmente, se puede programar un divisor para el VCO, VCO_DIV con cual-quier valor entre 2 y 63 así como ordenar que se ignore este divisor. Finalmente, lafrecuencia fRFout de la salida en el pin RFout (36) puede calcularse con la siguientefórmula:

fRFout =fV CO

V CO DIV

La salida PLL_LD (20) es utilizada para monitorizar el estado del PLL. Alactivarse esta salida indica que el PLL está enganchado a la frecuencia del oscilador.Este pin se conecta a la FPGA para indicar de su estado y además se ha conectado,a través de un transistor, a un diodo LED para que el usuario pueda ver tambiénel estado.

La Figura 3.6 muestra la línea de salida RFout (36) junto con la red de adap-tación de impedancia para la entrada del circuito de distribución que se expone enel próximo apartado (valores de diseño proporcionados por TI ).

Figura 3.6: Adaptación entre la salida del PLL y la entrada del distribuidor

36 3. Especificacones de Dicore

3.3.2. Distribución del reloj

Cuando es necesario distribuir una señal de reloj hacia varios componentes enun circuito digital de alta velocidad, es mala idea simplemente bifurcar la línea entantas ramas como son necesarias ya que degrada seriamente la integridad de laseñal, hasta el punto de que puede quedar inutilizable. Para ello existen circuitosespecialmente diseñados (clock drivers) para tomar una señal y generar diferentescopias con las mismas propiedades. Para el diseño de Dicore se escogió el circuitointegrado LMK1010 (ver Figura 3.7, porque al ser fabricado por TI es la parejaideal para el PLL LMX2541. Además, existe una muy buena documentación yayuda al diseño lo cual es un valor añadido a la hora de minimizar el tiemponecesario para su implementación.

Figura 3.7: Conguración de pines del LMK1010Encapsulado LLP de 48 pines

El LMK1010 cuenta con 2 entradas, lo que es ideal pues permite utilizar unapara la señal del PLL y otra para proveer al sistema Dicore de una entradaalternativa de reloj. También se ha escogido este modelo debido a que dispone de8 salidas y todas ellas en formato LVDS que es el tipo de señalización que utilizantanto los ADC s a sus entradas como la que se utiliza en la FPGA.

Del mismo modo que los otros dos circuitos integrados expuestos hasta aho-ra, el LMK1010 también dispone de registros internos de conguración accesibles

3.3. Reloj: generación y distribución 37

mediante un puerto de comunicación serie comentado en el apartado 3.3.3. La

Figura 3.8: Diagrama de bloques funcional del LMK1010

Figura 3.8 muestra la estructura interna del LMK1010. El diagrama mostrado re-sulta interesante porque permite resumir a simple vista todas las posibilidades delcircuito. Se observa que es posible seleccionar entre una de las dos posibles señalesde reloj (en este caso PLL y externa). Luego, para cada una de las 8 posiblessalidas, CLKout0 a CLKout7, es posible obtenerla en 4 variaciones:

La señal de reloj original sin alterar (salvo desviaciones intrínsecas al circuito)

La señal con frecuencia dividia por un factor N

La señal con frecuencia dividida por N y añadido un retardo D

La señal con frecuencia original y añadido un retardo D

Aquellas salidas que no se vayan a utilizar pueden ser desactivas a través dela conguración interna de los registros. Además, el pin GOE (11) permite la des-activación de todas las salidas cuando es puesto a valor bajo. Este pin ha sidoconectado a la FPGA para poder desactivar las salidas por software.

El pin SYNC (27) se utiliza para sincronizar todas las salidas que estén utilizandoel divisor de frecuencia. Para activar la sincronización, SYNC debe ponerse a 0,

38 3. Especificacones de Dicore

momento en el que todas las salidas se establecen también a 0. Cuando se vuelvea liberar SYNC las salidas aparecen de nuevo sincronizadas con el siguiente ancode subida del reloj.

Aunque en principio no eran necesarias las 8 salidas CLKoutX, al nal se lesasignó una función a cada una, algunas necesarias y otras de carácter auxiliar. LaTabla 3.3 muestra la dirección que toma cada una de las salidas.

CLKout0 Reloj para el tranceptor 2 (Tx2/Rx2) en la FPGACLKout1 Reloj para el tranceptor 1 (Tx1/Rx1) en la FPGACLKout2 Reloj auxiliar en el banco 13 de la FPGACLKout3 Reloj de muestreo en ADC XCLKout4 Reloj de muestreo en ADC YCLKout5 Salida auxiliar para el usuarioCLKout6 Reloj para el tranceptor 4 (Tx4/Rx4) en la FPGACLKout7 Reloj para el tranceptor 3 (Tx3/Rx3) en la FPGA

Tabla 3.3: Utilización de las salidas del distribuidor

Como se ha mencionado, una de las entradas del distribuidor de reloj provienede una conexión externa proporcionada por el usuario. En este caso, para rela-jar la necesidad de que el usuario deba introducir la señal en modo diferencial,se ha provisto de un solo conector EXTCLKy se ha colocado un balun, un peque-ño transformador que adapta una señal única a una señal balanceada diferencial(Figura 3.9a), con una impedancia característica de 100 Ω.

Del mismo modo, la salida CLKout5 diferencial del distribuidor, pasa a travésde un balun idéntico pero funcionando de forma inversa (Figura 3.9b), convirtiendopues la señal a una sola línea de impedancia característica 50 Ω. De este modo elusuario puede obtener esta salida auxiliar desde un único conector.

3.3.3. Comunicación serie

Tal y como se ha visto, tanto el PLL LMX2541, como el distribuidor LMK1010cuentan con una serie de registros de conguración que permiten numerosas po-sibilidades a la hora de generar, ajustar y distribuir las señales de reloj. Amboschips se basan en su puerto de comunicación serie para llevar a cabo la progra-mación de estos registros. Una de las posibilidades que sugiere el fabricante y quehan sido aprovechadas e incorporadas en el diseño es la de combinar el puerto decomunicación de ambos chips para reducir el número de líneas.

Así pues, ambos chips se conectan mediante su puerto serie a la FPGA, com-

3.4. Núcleo del sistema: la FPGA 39

(a) Entrada para señal de reloj auxiliar

(b) Salida de señal auxiliar del distribuidor

Figura 3.9: Adaptación de conexiones auxiliares

partiendo las líneas de reloj y datos: DATA (pines 32 y 5) y SCK (pines 33 y 4).Aparte, cada chip tiene su respectiva línea LE (latch enable, pines 34 y 6) activapor nivel bajo, que les sirve para saber a cuál van dirigidos los datos en el bus.

3.4. Núcleo del sistema: la FPGA

3.4.1. ¾Qué FPGA escoger?

Si hay un elemento en el cual recae todo el peso del sistema Dicore es laFPGA. Sin ella ningún otro elemento de la placa podría funcionar debidamente(salvo los reguladores de alimentación). Incluso los ADC s y el PLL que en principiono necesitan un contacto continuo con la FPGAnecesitan de ser programados alinicio de la operación para operar correctamente.

Escoger la FPGAadecuada no es tarea fácil. En principio, lo ideal es tener muybien denido lo que se va a programar en ella, tener implementado todo el códigoen VHDL y realizar una compilación previa con alguno de los programas propor-cionados por los propios fabricantes para averiguar qué modelo de FPGAdisponede los recursos lógicos y de las características temporales sucientes y necesariospara garantizar la viabilidad del proyecto.

40 3. Especificacones de Dicore

Sin embargo, en el contexto de este proyecto esta solución no era viable, prin-cipalmente por falta de tiempo. Recopilar todos los algoritmos potencialmenteimplementables desarrollados por los compañeros del departamento y realizar sutraducción a lenguaje VHDL hubiera llevado varios meses de trabajo y probable-mente sería justicación suciente para realizar un proyecto paralelo.

Se planteó una solución alternativa: tratar de estimar la carga computacionalde los algoritmos en algún tipo de unidad que fuera fácilmente interpretable entérminos de recursos hardware, como por ejemplo GMAC/s, siendo 1 GMAC/s lacantidad de 109 multiplicaciones-acumulaciones por segundo. Esta medida es muyutilizada por los fabricantes de FPGAs y DSPs para reejar la potencia compu-tacional de sus dispositivos. Lamentablemente esta alternativa también fracasóporque también requería más tiempo del que se disponía.

Finalmente, la decisión se tomó en base al factor presupuesto. Al n y al cabo,de poco habría servido realizar los pasos anteriores para descubrir que se necesitauna FPGA que excede el presupuesto disponible. Por tanto, se jó un límite y seescogió el chip que sin superar ese precio ofreciese las mejores características. Contodo esto, se llegó a la elección del modelo XC7K410T-2FFG900C, de la familiaKintex7 de Xilinx y cuyo precio es ligeramente superior a los 2000 euros.

La Kintex 7 pertenece a la familia de las recientes 7-Series de Xilinx, estandoArtix7 de bajo precio y menores prestaciones, Virtex7 de altas prestaciones ytambién un precio elevado y en la gama media Kintex7 con una moderada relacióncalidad-precio.

3.4.2. Encapsulado y conguración de pines

El modelo de FPGA seleccionado se presenta en un encapsulado ip-chip BGAde alta densidad con un total de 900 pines, que se encuentran distribuidos en formade rejilla cuadrada de 30 las por 30 columnas. El pitch o separación entre los pineses de 1mm.

Este tipo de encapsulado es apropiado cuando se dispone de un gran númerode E/S, en este caso el modelo dispone de un total de 500. El total de pines de E/Sestá distribuido en bancos. La Figura 3.10 muestra el mapa de la conguración delos pines de la FPGA. Se pueden distinguir los diferentes bancos por su color ypor su numeración.

3.4. Núcleo del sistema: la FPGA 41

Figura 3.10: Conguración de pins de la FPGA XC7K410T

3.4.3. Conguración de la FPGA

Toda FPGAnecesita ser congurada para funcionar. Para ello existen diferentesmaneras y siempre interviene un elemento conectado externamente. En Dicore sehan implementado dos posibles maneras de congurar la FPGA: mediante JTAGy mediante memoria Flash. Estos dos métodos y su implementación se exponen acontinuación.

JTAG Se trata de una interfaz de 4 pines usada frecuentemente con nalidadesde testeo y depuración. Al tratarse Dicore de un proyecto prototipo era im-prescindible incorporar la interfaz JTAG en el diseño. La Figura 3.11 muestra laconexión realizada a nivel esquemático.

La conexión JTAG no sólo sirve para congurar la FPGA sino que es totalmentecompatible con el protocolo de testeo de dispositivos denido en el estándard IEEE1149.1.

42 3. Especificacones de Dicore

Para poder utilizar este puerto y gestionar la conexión desde el ordenador seránecesario adquirir además el cable JTAG-USB proporcionado por Xilinx [].

Figura 3.11: Diseño de la conexión JTAG a la FPGA

Memoria Flash Una vez que una determinada conguración ha sido testeaday se ha comprobado que funciona correctamente, puede resultar tedioso y lentotener que recongurar la FPGA cada vez que se apaga y enciende el sistema. Paraevitar esto se decidió incorporar al diseño una memoria externa no volátil quealmacenase la conguración una sola vez para luego proporcionársela a la FPGAcada vez que se aplique alimentación al sistema.

La primera consideración a tomar es el tamaño de la memoria. La hoja técnicaUG470 [] proporciona el dato de que el la cantidad de bits necesarios para laconguración completa de la FPGA es de 127.023.328. Como las memorias sevenden con capacidades del orden de 2n bits, el tamaño mínimo de memoria es de128Mb.

El chip seleccionado es el modelo N25Q128A11ESE40G de Micron []. Se tratade una memoria Flas NOR de 128Mb con comunicación serie y que funciona a1.8V. La Figura 3.12 muestra el esquema con el conexionado entre el chip dememoria (U19) y el banco 14 de la FPGA. También las resistencias de pull-up quepor especicación requieren las líneas SPI_D2, SPI_D3 y SPI_FCS.

Controles de conguración Cuando la FPGA recibe alimentación, lo primeroque hace es comprobar el estado de sus entradas M0 (AB5), M1 (AB2) y M2 (AB1)para determinar el modo en que va a ser congurada. En la placa se han conectado

3.4. Núcleo del sistema: la FPGA 43

Figura 3.12: Conexionado de la memoria Flash de conguración

estos tres pines a unos microinterruptores que el usuario debe posicionar segúncorresponda. La Tabla 3.4 muestra las posibles combinaciones.

M0 M1 M2 Vía de conguración Rol FPGA1 0 1 JTAG Esclavo0 0 1 Memoria Flash Maestro

Tabla 3.4: Opciones de conguración.

Si al iniciarse la FPGA detecta el modo de conguración por JTAG asumirá elrol de esclavo y esperará a que se le envíen los datos junto con la señal de reloj. Porel contrario, si detecta el modo por memoria Flash entonces asumirá el rol maestroy generará la señal de reloj CCLK (B10) que recibirá como entrada la memoria.

La Figura 3.13 muestra el resto de elementos relacionados con la conguración.La señal INIT_B se encuentra internamente en estado alto y sólo vale 0 unosinstantes antes de iniciar la conguración. El usuario puede forzar que esta señalvalga 0 mediante el microinterruptor y retrasar así el proceso de conguraciónhasta que este pin se libere.

La señal DONE indica por nivel alto que la FPGA ha sido congurada, en nivelbajo en caso contrario. Se conecta al ánodo de un LED a tierra y a alimentación atraves de una resistencia, de modo que el LED indique el n de la conguración.

Por último la señal PROGRAM_B se conecta a un botón que permite al usuarioresetear la FPGA e iniciar una reconguración.

3.4.4. Transceptores GTX

La nueva familia de FPGAs de 7-Series cuenta con unos transceptores de muyalta velocidad: GTX, GTH y GTZ. Concretamente el modelo usado en Dicore

44 3. Especificacones de Dicore

Figura 3.13: Señales de control de conguración

cuenta con 16 transceptores GTX con capacidad para alcanzar transmisiones digi-tales de 12.5 Gbps, siendo compatible con modernos protocolos como PCI-Expresso SATA, entre otros.

En principio, Dicore debe ser un receptor digital coherente con capacidadpara recibir y convertir las señales analógicas de entrada. No obstante, ya quela FPGA iba a contar con estos transceptores, se consideró que valía la penaintentar aprovechar alguno de estos canales y se decidió implementar algunas desus características de manera experimental.

Esto signica que se ha dedicado un tiempo mínimo para estudiar los aspectosde diseño necesarios para habilitar su funcionalidad pero sin realizar consideracio-nes ni asunciones sobre los protocolos que serán implementados ni la funcionalidadque se le dará en el futuro. No obstante se creyó que de estar presentes y habilita-dos, podrían resultar útiles en algún momento.

Los 16 transceptores GTX están, internamente en la FPGA, agrupados engrupos de 4 llamados quads : MGT15, MGT16, MGT17 y MGT18. Cada quad cuenta con4 transmisores, 4 receptores y además 2 entradas de reloj. Por tratarse de algoexperimental y por reducir también la densidad de pistas y conexiones en la placa,se ha habilitado sólo una parte consistente en 4 transmisores, 4 receptores y 6señales de reloj. La Tabla 3.5 describe qué GTX se han habilitado y la Tabla 3.6recoge qué señales de reloj se utilizan en cada quad.

Las consideraciones de diseño y las reglas que se han seguido de las especi-caciones técnicas de Xilinx para garantizar la habilitación de los transceptores

3.4. Núcleo del sistema: la FPGA 45

Quad Tx RxMGT15-0 TX1 -MGT15-1 - -MGT15-2 - -MGT15-3 - RX1MGT16-0 TX2 -MGT16-1 - -MGT16-2 - -MGT16-3 - RX2MGT17-0 - RX3MGT17-1 - -MGT17-2 TX3 -MGT17-3 - -MGT18-0 - RX4MGT18-1 - -MGT18-2 TX4 -MGT18-3 - -

Tabla 3.5: Transceptores GTX habilitados

Quad Reloj 0 Reloj 1MGT15 - CLKout1

MGT16 EXTCLK0 CLKout0

MGT17 EXTCLK1 CLKout7

MGT18 - CLKout6

Tabla 3.6: Relojes externos para los GTX

mencionados son las siguientes:

Proveer de alimentación a los quads con reguladores independientes del restode la FPGA (ver sección 3.7)

Disponer de la resistencia externa de calibrado (R72, 100Ω 1%) entre lospines MGTAVTTRCAL (W7) y MGTRREF (W8), trazando las pistas a ambos pinescon mismo grosor y longitud.

Alimentar VCCAUX_IO con 2V en lugar de 1.8V, necesario para velocidades>10.3 Gbps

Uso de líneas diferenciales con impedancia característica de 100Ω

46 3. Especificacones de Dicore

Condensadores en serie con las líneas para acoplamiento AC (100nF)

Los pines de transmisión y de reloj no utilizados dejados sin conectar

Los pines de recepción no utilizados conectados a tierra

3.4.5. Bancos E/S

La FPGA cuenta con dos tipos de bancos de E/S: 3 x HP (high performance)y 8 x HR (high range). El primer tipo presenta unas características temporalesalgo mejores que el otro, siendo adecuado para aplicaciones que requieran unamayor tasa de transmisión. Cada banco cuenta con 50 pines de E/S los cuales sepueden utilizar como 50líneas individuales o como 24 pares diferenciales y 2 líneasindividuales. Sin embargo ciertos pines concretos pueden tener funcionalidadesespeciales.

Algunos de los pines de cada banco son líneas con capacidades especiales parael tratamiento de señales de reloj. Estas líneas pueden ser SRCC (single regionclock capable) o MRCC (multi-region clock capable). El segundo tipo posee unconexionado interno el cual permite distribuir una señal de reloj a un mayor númerode regiones en la lógica interna de la FPGA.

Además, dos pines de cada banco pueden ser utilizados como entradas de vol-taje de referencia V_REF el cual es a veces necesario para aplicaciones de altavelocidad que requieren de una sensibilidad algo más elevada. Otro tipo de pinesson los capaces de funcionar como E/S de señalización de datos DQS (data strobe),utilizados por ejemplo en la interfaz de la memoria RAM (sección 3.5).

Por otra parte, cada banco tiene sus propios pines de alimentación, y el voltajea aplicar depende del tipo de señalización al que se va a destinar ese banco. Porejemplo 2.5V para LVDS, 3.3V para elementos de interfaz de usuario, etc

La Tabla 3.7 sumariza todos los bancos presentes en la FPGA, su tipo y losrecursos queDicore hace de cada uno de ellos, así como la tensión de alimentaciónaplicada.

Además de los bancos mencionados y descritos, la FPGA también tiene el banco0, el cual se trata del banco especíco que contiene las señales necesarias para laconguración, programación y reseteo del chip. El banco 0 puede ser alimentadocon diferentes tensiones, las cuales inuyen en la posterior elección de la memoriade conguración. En Dicore el banco 0 se ha alimentado con 1.8V, igual que laconexión JTAG y la memoria Flash para reducir el consumo.

3.5. Unidad de memoria RAM 47

Banco Tipo Interfaz VCCO #SE ∗ #Dif Vref Total pines12 HR ADC-X 2.5V 0 17 0 3413 HR ADC-X 2.5V 0 18 0 3614 HR USB, ADC-X ctrl. 1.8V 29 0 0 2915 HR ADC-Y ctrl. 1.8V 12 0 0 1216 HR ADC-Y 2.5V 0 16 0 3217 HR ADC-Y 2.5V 0 18 0 3618 HR IdU y PLL ctrl. 3.3V 48 0 0 4832 HP RAM datos 1.5V 36 4 4∗∗ 4833 HP RAM control 1.5V 24 2 4∗∗ 3634 HP RAM datos 1.5V 36 4 4∗∗ 48

Tabla 3.7: Tipo y utilización de los bancos de la FPGA

∗SE se reere a single ended, es decir líneas individuales∗∗De estos 4, 2 son conexiones a tensión de referencia y 2 a resistencias de calibradointerno.

En total se han conectado 359 pines de E/S de los 500 que dispone la FPGA,lo que se traduce en un 72% de utilización.

3.5. Unidad de memoria RAM

La capacidad de dotar al sistema con una memoria externa como la que seexpone aquí tampoco fue una de las consideraciones iniciales. Al tratarse la primeraidea de desarrollar un receptor digital en tiempo real, no suponía la incorporaciónde memoria auxiliar. Sin embargo, aún a riesgo de incrementar la complejidad delsistema y la densidad del enrutado de la placa, así como su coste (en menor grado),se decidió implementar una memoria externa de alta capacidad y velocidad parabrindar la posibilidad de almacenar datos digitales capturados por los ADC s yprocesarlos de manera diferida. Todo un desafío.

Se escogió el tipo de memoria RAM por su superioridad en velocidad de trans-misión y se escogío el formato DDR3 por la posibilidad de implementar la topologíay-by, la cual permite utilizar un único bus de direcciones y control para todos loschips de memoria.

48 3. Especificacones de Dicore

3.5.1. Conguración

En total se han implementado 8GB de memoria, formados por 4 chips de 2GBcada uno. El modelo de chip utilizado es el MT41J128M16JT-125 fabricado porMicron. La Figura 3.14 muestra una representación del encapsulado y conguraciónde los pines del chip. Se trata de un encapsulado BGA (Ball Grid Array) de 96pines.

Figura 3.14: Encapsulado del chip de 2GB de RAM

Cuenta con 14 líneas de dirección (A[13..0]) y 3 líneas de selección de banco(BA[2..0]).La Tabla 3.8 describe la distribución interna de la memoria y cómose realiza el direccionamiento.

Por otra parte el tamaño del bus de datos de cada chip es de 16 bits. Al accedersimultáneamente a 4 chips, el bus de datos de la memoria del sistema se expandea 64 bits (DQ[63..0]).El bus se dimensionó de esta manera para poder enviar a

3.5. Unidad de memoria RAM 49

Parámetro ValorConguración 16M × 16 × 8 bancos

Contador de refresco 8KDireccionamiento de la 16K (A[13..0])

Direccionamiento de banco 8 (BA[2..0])Direccionamiento de columna 1K (A[9..0])

Tamaño de página 2KB

Tabla 3.8: Direccionamiento de 2GB de RAM

través del bus de datos un conjunto completo de lecturas muestreadas por los dosADC s, es decir DI (8), DId (8), DQ (8) y DQd (8) para un único ADC que sumanun total de 32 bits y que se dobla a 64 bits al añadir los datos del segundo ADC.

Se ha provisto de un oscilador de cuarzo de 200MHz que entrega una señalde referencia a la FPGA. El controlador de memoria, deberá implementarse demanera que tome esta señal como referencia para generar el reloj principal CK queserá el que se utilice para la transmisión de datos en el bus. Dado el modelo deFPGA, la utilización de los bancos HP (32, 33 y 34) para el conexionado de lamemoria y el modelo de memoria RAM escogido, es posible generar un reloj dehasta 800MHz. Puesto que la tecnología DDR sincroniza datos com ambos ancosdel reloj, la velocidad efectiva del bus puede ser de hasta 1600MHz.

3.5.2. Topología

Uno de los cambios más signicativos en la tecnología DDR3 frente a versionesanteriores (DDR, DDR2 ) es la posibilidad de conectar los chips de memoria enmodo y-by y la utilización de Write Leveling para la sincronización de datos.

La Figura 3.15 muestra un ejemplo de la topología y-by que es la que seha implementado en el sistema Dicore . Se observa que las señales de controly direccionamiento son compartidas por todos los chips del módulo de memoria,saliendo del controlador (aquí la FPGA), pasando por todos los chips y acabandoen la terminación de línea. Gracias a esta topología se reduce en gran medida elnúmero de líneas que salen del controlador y que deben ser trazadas en la PCB.

El Write Leveling es un procedimiento que se lleva a cabo entre la memoria yel controlador para sincronizar la línea de reloj CLK con la la línea de señalizaciónde datos DQS. Como consecuencia de usar la topología y-by la longitud física de lalínea de reloj desde el contolador hasta cada chip de memoria es signicativamentemás larga que la distancia de la señal DQS de cada chip hasta el controlador. Por

50 3. Especificacones de Dicore

Figura 3.15: Topología y-by usada para los chips de memoria

este motivo la señal eléctrica tarda más tiempo en llegar al pin en el primer caso.

El procedimiento de Write Leveling se lleva a cabo al inicio de operación. Eneste modo es el único momento en que las señales DQS funcionan como entrada enlos chips de memoria, usadas para capturar el estado de CLK y la salida DQ es usadapara reportar al controlador el estado del reloj en el momento de la captura. Elproceso se reitera de manera que cada vez el controlador añade un pequeño retardoen DQS hasta que el reporte que recibe detecta la transición en el reloj. Finalmenteel controlador registra el valor de retardo correspondiente y comienza el modo deoperación normal, donde ahora el controlador tendrá en cuenta el retardo conocidoa la hora enviar y recibir datos.

3.5.3. Tensión de referencia y terminación

Para reducir la cantidad de componentes externos necesarios, la especicaciónDDR3 incluye la función ODT (on die termination) que consiste en que las en-tradas del bus de datos del chip cuentan con terminaciones internas integradas yque sólo requieren de una resistencia externa (RZQ) para su calibrado. El valor deRZQ es de 240Ω ±1% e internamente se congura un registro con un valor n quepuede valer 2, 4, 6, 8 o 12. El valor de la resistencia de terminación, RODT en lospines se calibrará para valer

RZQ

n

de modo que RODT podrá valer 120Ω, 60Ω, 40Ω, 30Ω ó 20Ω respectivamente paracada valor de n. Se deberá escoger aquél valor que se adapte a la impedancia dela línea (en Dicore de 40Ω) o el que muestre una mejor integridad de la señal.

3.6. Comunicación serie USB 51

Por otra parte, las línes del bus de direcciones y control no cuentan con estacaracterística y deben ser terminadas apropiadamente una vez que salen del úl-timo chip en la cadena. Las líneas no diferenciales son terminadas mediante unaresistencia de 39Ω a VTT , la tensión de terminación. Para reducir el número decomponentes y el espacio en la PCB, se han utilizado encapsulados con resistenciasagrupadas en lotes de 8.

Todo el módulo de memoria RAM se alimenta con una tensión de 1.5V, tanto laFPGA como los chips de memoria. Existen otras dos tensiones que intervienen enel módulo de memoria y que se obtienen a partir de esta tensión de alimentación:VREF y VTT , ambas igual a 0.75V. Sin embargo, debido a que tienen funcionesdiferentes y para evitar acoplamiento de ruido entre una y otra, deben ser generadaspor separado. Para tal propósito se ha incorporado en el diseño el chip LP2998,también de Texas Instruments. Este circuito está diseñado especícamente paraser compatible con módulos de memoria DDR, DDR2 y DDR3 que requieren deuna tensión de terminación y referencia separadas e iguales a la mitad de la tensiónde alimentación VDDQ/2. La Figura 3.16 muestra el diseño esquemático realizadopara la generación de VREF y VTT a partir de los 1.5V de alimentación.

Figura 3.16: Implementación del regulador para VREF y VTT

3.6. Comunicación serie USB

El Universal Serial Bus, USB, es uno de los protocolos de comunicación másextendido en el mercado por su exibilidad, velocidad y relativa facilidad en sudiseño y conguración. En su especicación 2.0 soporta velocidades full-duplex dehasta 480Mbps.

En su especicación original, la interfaz física UTMI (USB Transceiver Ma-

52 3. Especificacones de Dicore

crocell Interface) contaba con un total de 23 líneas entre control y datos, lo quesuponía que los circuitos integrados que la implementaban tuvieran un patillaje deentre 64 y 80 pines. En marzo de 2004, se publica la especicación ULPI [], (UTMILow Pin Interface) que consiste en una modicación de la especicación originalbasada en que ciertas líneas nunca se usan simultáneamente según el modo deoperación. ULPI consigue reducir el número de líneas en 12, pudiéndose integrarla interfaz completa en chips de sólo 32 pines. Uno de estos chips es el USB3343de SMSC. Se presenta en un encapsulado QFN de 24 pines.

3.6.1. Diseño de la interfaz ULPI

La Figura 3.17 muestra el diseño esquemático de la interfaz USB implementadaen Dicore . A la izquiera, el componente K30 representa el conector estándarUSB hembra para soldadura en PCB. A la derecha el chip USB3343. Los datosentre ambos se transmiten a través del par diferencial USB_D_P y USB_D_N cuyaimpedancia característica debe ser de 90Ω.

Figura 3.17: Circuito de la interfaz USB

El USB3343 requiere de un oscilador externo de 26MHz para generar la señalde reloj interna de 60MHz que será la que entregará a la FPGA a través de la salidaCOUT para la transmisión de los datos. Todas las salidas del USB3343, etiquetadascomo ULPI_xxx,son enviadas a la FPGA donde se deberá implementar una interfazde enlace para proporcionar la comunicación entre Dicore y un ordenador.

3.7. Fuentes de alimentación 53

3.6.2. Alimentación del bus

Por otra parte se deseaba que el circuito de la Figura 3.17 sólo estuviera ac-tivo cuando existiera una conexión física con un ordenador, pudiendo aliviar elconsumo de la placa al no haber ninguna conexión. Para ello es preciso utilizarla alimentación que provee el bus en la línea USB_PWR y que proviene del equipohost, en este caso el ordenador. Como la tensión proporcionada por el bus es de5V y el USB3343 se alimenta con 3.3V, se ha añadido un regulador lineal pequeñoy adecuado para esta conversión, el LP3878. La Figura 3.18 muestra esta etapa deconversión para la alimentación de la interfaz USB.

Figura 3.18: Conversión de la tensión del bus USB a 3.3V para la interfaz ULPI

Para dimensionar las resistencias R128 y R129 de modo que se obtenga latensión de salida VOUT se utiliza la fórmula

VOUT = VADJ ·(

1 +R128

R129

)y siendo VADJ = 1V , se han calculado los siguientes valores:

R128 = 2.32KΩR129 = 1KΩVOUT = 3.32V

3.7. Fuentes de alimentación

A menudo sucede que cuando un sistema requiere varios voltajes el usuariodebe disponer de varias fuentes de alimentación y proporcionarlos externamentecada uno por separado. Como se ha mencionado en la sección 1.5, uno de los

54 3. Especificacones de Dicore

objetivos de Dicore consiste en que se permita al usuario disponer de una únicafuente de alimentación y que en la placa se encuentren los diferentes reguladoresque obtengan cada uno de los niveles de tensión necesarios.

Para poder diseñar bien el sistema de alimentación de un sistema hay que ca-racterizar con detalle los valores de tensión y los consumos de corriente de cadacircuito, conocer las tolerancias aceptadas al rizado en estas tensiones y en deni-tiva el consumo total. Para los elementos críticos que componen Dicore como laFPGA o los ADC s las especicaciones son claras acerca de estos niveles de tensióny rizado tolerado para un rendimiento máximo. Además, la potencia consumidapor un ADC también está bien caracterizada en su hoja técnica para una utili-zación máxima del circuito (máx. 2.35W), sin embargo en el caso de la FPGA esalgo menos predecible.

En el caso de la FPGA su consumo va a depender de factores como la canti-dad de recursos utilizados, la naturaleza de los algoritmos implementados y de lafrecuencia de trabajo que puede ser diferente en diferentes regiones de la FPGA.Xilinx proporciona una herramienta [] que permite la estimación del consumo desus FPGA. Sin embargo se basa en un código previamente implementado y delcual aquí no se dispone. Por otra parte, Xilinx y Texas Instruments proporcionanalgunos diseños de referencia para la compatibilidad con toda la familia de FPGAs7-Series.

A continuación, el apartado 3.7.1 resume las características de los diferentescircuitos reguladores implementados y a qué módulos de la placa va a alimentar.Después, en la sección 3.7.2 se exponen los circuitos diseñados para cada regulador,los chips utilizados así como otras consideraciones.

3.7.1. Voltajes del sistema

La Tabla 3.9 contiene un resumen de los diferentes voltajes generados en laplaca a partir de la entrada de alimentación proporcionada por el usuario, VIN ,que se ha establecido en 12V.

El voltaje para el circuito auxiliar de E/S de la FPGA tiene un valor nominal de1.8V en las especicaciones, sin embargo Xilinx indica que en el caso concreto deque se vaya a implementar un controlador de memoria RAM con frecuencia de reloja partir de 800MHz, una tensión de 2.0V proporcionará mejor sensibilidad. Delmismo modo, un voltaje de 1.05V para la alimentación interna de los transceptoresGTX en lugar del valor nominal de 1.0V es aconsejable para transmisiones de másde 10.3 Gbps.

Por otra parte, Xilinx también especica que se utilicen diferentes reguladores

3.7. Fuentes de alimentación 55

V Circuito(s) Nodo I ±∆V P1.0 V Interno FPGA 1V0_VCCINT 6A 6% 6W1.8 V Auxiliar FPGA 1V8 6A 10% 11.8W2.0 V Auxiliar E/S FPGA 2V0 2A 6% 4.1W1.05 V Interno GTX 1V05_MGTAVCC 6A 6% 6W1.2 V Terminación GTX 1V2_MGTAVTT 4A 6% 4.9W1.8 V Auxiliar GTX 1V8_MGTAVCCAUX 6A 10% 11.1W1.5 V DDR3 RAM 1V5 4A 5% 6W1.9 V ADC s 1V9A 3A 5% 5.7W2.5 V FPGA E/S LVDS 2V5 8A 5% 21W3.3 V PLL, IdU 3V3_PLL, 3V3 8A 5% 26.4W

Tabla 3.9: Tensiones de alimentación del sistema Dicore

para la lógica interna de la FPGA y para los transceptores aunque compartan elmismo valor nominal de voltaje.

3.7.2. Circuitos de alimentación

De los 10 circuitos de alimentación, todos excepto el de los ADC s se han imple-mentado con un regulador conmutado, que ofrece buena eciencia y bajo rizado.Para el ADC se ha utilizado un regulador conmutado y uno lineal. En los siguien-tes apartados se exponen los diseños que incorporan los diferentes reguladoresutilizados.

Regulador TPS54620

El chip TPS54620 se ha utilizado para 4 circuitos reguladores conectados alos siguientes nodos: 1VO_VCCINT, 1V8, 1V05_MGTAVCC y 1V8_MGTAVCCAUX. Comotodos siguen el mismo patrón, a continuación se expone el diseño de uno de loscircuitos y se expone el dimensionamiento de sus componentes.

La Figura 3.19 muestra el esquema del circuito de conversión de 12V a 1V parael nodo 1VO_VCCINT,para una corriente de hasta 6A. La resistencia R1 de 100 kΩconectada al pin RT/CLK(1) determina la frecuencia de conmutación del circuitofSW =480kHz, que es una frecuencia moderada con un buen compromiso entreeciencia y tamaño de componentes externos.

La tensión deseada de salida se ajusta mediante las resistencias R7 y R8 según

56 3. Especificacones de Dicore

Figura 3.19: Circuito con el regulador TPS54620

la fórumula

VOUT = VREF ·(

1 +R7

R8

)VREF = 0.8V viene dado por diseño, y con los valores de R7= 2.49K y R8= 10Kse obtiene VOUT = 0.9992V ≈ 1V

A continuación, la inductancia de salida se puede calcular mediante la siguientefórmula:

LOUT =VIN − VOUTIOUT · 0.3

· VOUTVIN · fSW

=12− 1

6 · 0.3· 1

12 · 480000= 1.06µH

Por tanto, el valor estándar de L1= 1µH se ajusta a las especicaciones. Apartese calcula el valor del rizado de corriente IL,ripple y el valor pico de corriente IL,peakcomo sigue

IL,ripple =VIN − VOUT

L1

· VOUTVIN · fSW

= 1.91A

IL,peak = IOUT +IL,ripple

2= 6.95A

El inductor utilizado VLP8040T-1R0N tiene una corriente de saturación de 9.4Ay está por encima del valor de pico. Finalmente la capacitancia de salida se calculapara garantizar que el valor de la tensión de rizado se encuentre dentro del margenespecicado ante variaciones de la corriente de salida debidas a cambios en la carga.La capacidad de salida CO debe cumplir

CO >2 ·∆IOUT

fSW ·∆VOUT>

2 · 1480000 · 0.03

> 139µF

3.7. Fuentes de alimentación 57

Sin embargo, para prevenir ante posibles transitorios abruptos de corriente mayoresque 1A y la variación de la capacitancia con el tiempo y la temperatura, se hacolocado una capacitancia total de salida de 400µF (4x100µF), que además ayudaa restringir aun más el rizado de la tensión en un nodo clave del circuito, laalimentación interna de la FPGA.

Regulador TPS54426

Este otro regulador es el implementado para los circuitos con una menor de-manda de corriente máxima de I = 4A. Se ha utilizado para alimentar los nodos2V0, 1V2_MGTAVTT y 1V5.Igual que en el apartado anterior, los 3 circuitos siguenel mismo patrón y aquí se ejemplicará el diseño con uno de ellos. La Figura 3.20muestra el circuito regulador para el módulo de memoria RAM de 1.5V.

Figura 3.20: Circuito con regulador TPS54426

La tensión de salida se calcula a partir del divisor formado por R43 y R44como

VOUT = 0.765 ·(

1 +R43

R44

)= 0.765 ·

(1 +

21000

22100

)= 1.492V

La inductancia de salida como

LOUT =VIN − VOUTIOUT · 0.3

· VOUTVIN · fSW

=12− 1.5

4 · 0.3· 1.5

12 · 700000= 1.56µH

Y la capacitancia de salida como

CO >2 ·∆IOUT

fSW ·∆VOUT>

2 · 1700000 · 0.075

> 38.1µF

58 3. Especificacones de Dicore

Regulador TPS56121

Para los circuitos que requieren un nivel más alto de tensión y un mayor sumi-nistro de corriente se ha utilizado el regulador TPS56121. Este circuito alimentalos nodos 2V5 y 3V3. La Figura 3.21 ilustra el circuito para el segundo caso.

Figura 3.21: Circuito con regulador TPS56121

La tensión de salida se regula mediante las resistencias R48 y R51 según larelación

VOUT = VFB ·(

1 +R51

R48

)= 0.6 ·

(1 +

20500

4530

)= 3.31V

La inductancia de salida como

LOUT =VIN − VOUTIOUT · 0.3

· VOUTVIN · fSW

=12− 3.3

8 · 0.3· 3.3

12 · 500000= 1.99µH

3.7. Fuentes de alimentación 59

Y la capacitancia de salida como

CO ≥LOUT ·∆I2OUTVOUT ·∆VOUT

≥ 52 · 2.7µH3.3 · 0.165

≥ 123.9µF

Regulación de los ADC s

La tensión de alimentación de 1.9V para los ADC s se compone de dos etapas.La primera consiste en un regulador conmutado basado en el circuito LM25576 queconvierte los 12V de entrada en una tensión intermedia de 2.5 V. Esta primeraetapa aprovecha la eciencia de la conmutación para producir gran parte de laconversión. La segunda etapa se basa en el circuito LP38513 que es un reguladorlineal cuya misión es realizar la menor parte de la conversión pero obteniendo unmuy bajo nivel de rizado, propio de los reguladores lineales.

Figura 3.22: Primera etapa de regulación conmutada

La Figura 3.22 muestra el circuito de la primera etapa de conversión mientrasque la Figura 3.23 muestra la etapa nal que conecta con el nodo 1V9A.Este nodocuenta con un jumper que por razones de protección el usuario puede abrir o cerrar.

En la primera etapa R14 determina la frecuencia de conmutación según lafórmula:

fSW =1

RT · 135 · 10−12 + 580 · 10−9=

1

20000 · 135 · 10−12 + 580 · 10−9= 305kHz

Para calcular el valor de la inductancia de salida de la primera etapa hay queconsiderar un máximo que sea menor que el doble de la mínima corriente de salida

60 3. Especificacones de Dicore

o de 0.5A:

LOUT =VOUT (VIN − VOUT )

Iripple · fSW · VIN=

2.5 (12− 2.5)

0.5 · 305000 · 12= 11.3µH

El condensador C31 necesario para la emulación de rampa del circuito se calculacomo sigue

CRAMP = LOUT × 10−5 = 10µH × 10−5 = 100pF

La tensión de salida se obtiene con

VOUT = 1.225 ·(

1 +R17

R16

)= 1.225 ·

(1 +

10000

10000

)= 2.25V

Y el rizado de la tensión de salida a partir de la expresión

∆VOUT = ∆IL ·(ESR +

1

8 · fSW · COUT

)= 0.5 ·

(24m+

1

8 · 305k · 270µ

)∆VOUT = 13mV

3.7. Fuentes de alimentación 61

Figura 3.23: Segunda etapa de conversión lineal

Ya en la segunda etapa de conversión (Figura 3.23) se impone el requisito deintroducir capacidades en la entrada y en la salida de al menos 10µF. La tensiónde salida se obtiene a partir de R18 y R21 y de VADJ=0.5V como

VOUT = VADJ ·(

1 +R18

R21

)= 0.5 ·

(1 +

2.320

806

)= 1.94V

62 3. Especificacones de Dicore

3.8. Interfaz de usuario

Para facilitar la manipulación del sistema por parte del usuario una vez quelos algoritmos estén implementados, se ha dotado de algunos elementos de controlde propósito general así como de otros elementos indicadores visuales que puedenser programados para proporcionar algún tipo de información útil sobre el estadointerno del sistema. A continuación es explican en qué consisten los elementos deinterfaz de usuario (IdU).

3.8.1. Elementos indicadores

Existen dos tipos de elementos indicadores: 11 diodos LED y una pantallaLCD. En primer lugar, los diodos LED se encuentran distribuidos de la siguientemanera:

8 de propósito general agrupados en una la, siendo 4 de ellos verdes, 2amarillos y 2 rojos. Se encuentran conectados a la FPGA a través de un driverpara no cargar sus salidas. Sólo se podrán encender a través de programaciónprevia.

1 verde que indica cuándo el PLL se encuentra enganchado a la señal deloscilador

1 verde que indica cuándo la FPGA ha nalizado el proceso de conguracióny está operativa

1 verde que indica que el sistema recibe alimentación

El segundo elemento indicador es una pantalla LCD con dos líneas de 20 ca-racteres cada una. La Figura 3.24 muestra el esquema con el conexionado de lapantalla. Ésta se comunica con la FPGA a través de un bus de baja velocidadde 8 líneas de datos LCD_DB[7..0] y 3 de control LCD_RS, LCD_RW y LCD_EN. Elpotenciómetro POT1regula la intensidad de la retroiluminación de la pantalla.

3.8.2. Controles

El sistema cuenta con tres tipos de controles pensados para que el usuariopueda interactuar de una forma cómoda y exible con la FPGA y con los ADC s:jumpers, botones y microinterruptores. A continuación se enumeran la cantidad yfuncionalidad de los controles que se encuentran en el sistema:

3.8. Interfaz de usuario 63

Figura 3.24: Conexionado de la pantalla LCD

Jumpers : hay 14 para la conguración de los ADC s descrita en la sección 3.2(7 para cada ADC ) más otro por cada uno para la introducción de unatensión en modo común VCMO o su puesta a tierra. También hay 3 jumperspor cada línea del bus serie de los ADC s (6 en total).

Botones: se han incorporado un total de 7 botones. Hay 5 dispuestos enforma de cruz con uno central a modo de echas de dirección y función deintro. Obviamente esta funcionalidad así descrita deberá ser programadapara darle sentido. Un sexto botón está etiquetado como Reset pero esun reset virtual ya que si no se programa no actúa como tal, a diferenciadel séptimo botón, etiquetado como Program que sí provoca un reseteo yreconguración de la FPGA.

Microinterruptores: hay dos grupos, uno contiene 8 posiciones y son depropósito general. El otro contiene 4 posiciones y están etiquetados comoM0, M1, M2 y INIT. Su función es la de seleccionar el modo de función de laFPGAo retrasar su inicialización y se ha explicado en la sección 3.4.3.

64 3. Especificacones de Dicore

3.8.3. Monitor de temperatura

La FPGA y los dos ADC s cuentan entre sus pines con dos salidas que co-rresponden a los terminales del diodo termosensor que llevan incorporado. Parahacer uso de esta funcionalidad se ha incluido en el diseño de Dicore el circuitointegrado LM95234, el cual permite monitorizar de forma remota la temperaturade los chips en base a la diferencia de potencial que presentan los diodos en susterminales. La Figura 3.25 muestra el circuito implementado para monitorizar latemperatura de la FPGA y de los dos ADC s.

Figura 3.25: Circuito monitorizador de temperatura

El LM95234 permite controlar la temperatura de hasta 4 circuitos integradospero en este caso sólo se han utilizado 3. Cuenta con un bus serie de 2 líneas (SMBDATy SMBCLK) que se conectan directamente a la FPGA para que posteriormente sepueda programar el comportamiento del circuito monitorizador. Concretamentese deben programar los valores de temperatura que se denen como críticos. Elmonitor cuenta con 3 salidas, TCRIT1, TCRIT2 y TCRIT3 que se activan cuando secumple una condición de riesgo predenida por el usuario. Estas salidas de avisoestán conectadas a la FPGA que podrá desactivar o poner el circuito en riesgo enmodo de bajo consumo.

Capítulo 4

Layout del circuito

En este último capítulo referente al diseño del sistema se pasa ya al dominiofísico de la implementación. Es decir, la denición y dibujo de los elementos consus dimensiones físicas reales. Este proceso se conoce como el layout de la placa.Las secciones siguientes describen cómo se seleccionó la estructura y material queconstituye el conjunto de capas, la distribución de los componentes sobre la placa,el trazado de las líneas que los interconectan con las consideraciones pertinentespara las líneas de alta velocidad y los aspectos de la distribución de la alimentacióna todos los elementos del sistema.

4.1. Elección del stack-up

Cuando se va a diseñar una placa con varias capas y con líneas de alta velocidadel primer paso a dar es denir el stack-up o como mínimo una buena aproximaciónde él. Para ello se deben tener en cuenta factores como presupuesto, integridad dela señal y distribución de la energía.

En cuanto a presupuesto es inmediato deducir que a mayor número de capasmayor va a ser el coste de fabricación. No obstante, para una placa con una den-sidad de líneas tan alta como en Dicore , el número de capas suele encontrarseentre 8 y 16. Por ejemplo, la FPGA es un chip de 31x31 mm con 900 pines, se-parados 1mm entre ellos, aunque teniendo en cuenta que los pads son superciescirculares de 0.5mm de diámetro, el espacio entre ellos para poder pasar líneases de 0.5mm. Esto conlleva que haciendo uso de una gran parte de los pines seaimposible escapar de la FPGA a través de una o incluso sólo dos capas.

Referente a la integridad de la señal es muy importante la denición de capas

65

66 4. Layout del circuito

Figura 4.1: Sección transversal de la placa con la distribución de capas

internas dedicadas a señales críticas de alta velocidad, que deben ser apantalladaspor capas adyacentes formadas por planos de tierra o alimentación. Incluso a veceses necesario establecer capas de señales que viajan en sentido horizontal y capasde señales en sentido vertical, para que las señales sean ortogonales entre sí y seconsiga reducir el efecto del crosstalk.

Finalmente en cuanto a distribución de la energía interesa tener parejas decapas formadas por tierra-alimentación ya que establecen una capacidad mutuaque ayuda a la estabilización de la alimentación a lo largo de toda la placa. Además,en casos en los que hay muchos voltajes distintos y no es suciente un único planode alimentación, puede requerirse la adición de más capas para insertar los planosnecesarios.

No existe una única teoría acerca de cuál es la mejor distribución de capassino que es algo que depende del sistema y de la tolerancia a sacricar un factorpor la mejora de otro dentro de un presupuesto dado. Con frecuencia, los mejoresaliados del diseñador para una buena denición del stack-up son la experiencia, laintuición y los programas de simulación.

En el diseño de Dicore , inicialmente se denieron 12 capas, pero durante elproceso se pudo reducir a 8 y nalizar la placa con sólo 8 capas. No obstante, sien las futuras simulaciones se detectan efectos no deseados resulta muy sencilla laadición de nuevas capas, bien sea la inserción de planos de tierra adicionales o biendesplazar un conjunto de líneas de una capa a otra recién añadida.

La Figura 4.1 muestra una representación de la sección transversal de la placay se puede observar la estructura que sigue el conjunto de capas. Como se observa,

4.1. Elección del stack-up 67

existen dos planos de tierra (GND), dos capas de planos de alimentación (PWR),dos capas para señales críticas (SIG-HS) y nalmente las capas externas paraseñales menos críticas y para la soldadura de los componentes de supercie (TOPy BOT).

Lo que se ha perseguido con esta estructura es que todas las capas que contienenseñales tengan un plano de tierra de referencia adyacente. Por otra parte se habuscado también que las señales críticas de alta velocidad no se encuentren en capascercanas, habiendo dos capas de planos de alimentación entre ellas, y por tantorestar prioridad al hecho de que tengan que viajar de forma ortogonal. Además,cada capa de planos de alimentación sirve de plano de referencia secundario parala capa de señal crítica que tiene adyacente.

Sin embargo, se ha tenido que sacricar el aspecto de la capacitancia mutuaentre planos tierra-alimentación, ya que no se encuentran en capas adyacentes y portanto su capacitancia mutua decrece con la distancia que los separa. Por otra parte,esta pérdida se intenta compensar posteriormente con una buena distribución decapacidades de desacoplo a lo largo de toda la placa.

Nombre Señal Lámina Grosor (µm)TOP normal cobre 18 (µm)- - prepreg 78 (µm)

IN1 GND cobre 18 (µm)- - core 200 (µm)

IN2 crítica cobre 18 (µm)- - prepreg 125 (µm)

IN3 PWR cobre 35 (µm)- - core 200 (µm)

IN4 PWR cobre 35 (µm)- - prepreg 125 (µm)

IN5 crítica cobre 18 (µm)- - core 200 (µm)

IN6 GND cobre 18 (µm)- - prepreg 78 (µm)

BOT normal cobre 18 (µm)

Tabla 4.1: Grosores de las láminas del stack-up

Una vez conocidas las capas por donde se van a trazar las líneas conviene escogerlos grosores de las láminas de resina que separan las capas de cobre. Estas láminasse distinguen entre bases (cores, verde en la imagen) y preimpregnados (prepregs,blanco). Se comercializan en grosores estandarizados, así como sus porcentajes de

68 4. Layout del circuito

resina epoxy y cristal que determinan la permitividad eléctrica del material (εr).Estos parámetros serán los que posteriormente permitirán calcular la geometríacon la que se deben diseñar las líneas para obtener las impedancias característicasrequeridas. La Tabla 4.1 detalla los grosores escogidos para cada una de las láminas.

Con la ayuda de herramientas de simulación 2D ([36] online y [37, 38] paradescargar) se fue ajustando la geometría necesaria para las líneas de cada capa demanera que se consiga una impedancia característica deseada. Nótese que al serun stack-up completamente simétrico, los valores calculado para las capas externasTOP y BOT y para las capas críticas internas IN2 e IN5 son exactamente losmismos. La Tabla 4.2 recoge la geometría calculada (w: ancho y s: separación enmm) para cada tipo de señal, teniendo en cuenta su impedancia objetivo y si setrata de línea individual o diferencial.

Tipo Z0 Circuito TOP y BOT IN2 e IN5Individual 50Ω RAM, CLKs w =0.1 w =0.11Diferencial 75Ω CK en RAM w =0.15, s =0.2 w =0.18, s =0.2Diferencial 90Ω USB w =0.11, s =0.2 -Diferencial 100Ω ADC, GTX w =0.1, s =0.16 w =0.1, s =0.2

Tabla 4.2: Geometría para las pistas de diferentes capas y señales

4.2. Colocación de los componentes

Antes de empezar a trazar las pistas hay que estimar las dimensiones de la placa,suciente para dar cabida a todos los componentes y permitir su interconexión,así como mantener a cierta distancia aquellos que tiendan a generar más calor.

La Figure 4.2 muestra una impresión de las capas mecánicas donde se puededistinguir la colocación de los diferentes componentes. La posición ideal para laFPGA es en el centro, ya que las líneas que salen de ella se distribuyen radialmentehacia los componentes que la rodean. El resto de componentes está distribuido enfunción de la posición que tienen los diferentes bancos en la FPGA. Por ejemplolos bancos HP se encuentran arriba a la derecha y por eso justo encima y a laderecha de la FPGAse encuentran los 4 chips de memoria RAM.

Los ADC s están colocados a la izquierda de la FPGA, uno por encima y otropor debajo. Además están colocados diagonalmente para optimizar la longitud delas líneas digitales que salen de 3 de sus lados hacia la FPGA. Los bancos 12, 13,16 y 17, donde llegan los datos de los ADC s, se eligieron a propósito para queencontraran en las esquinas superior e inferior izquierda de la FPGA. Las entradas

4.2. Colocación de los componentes 69

analógicas de los ADC s se encuentran en el lado opuesto al que mira hacia laFPGA, lo cual era ideal para colocar las conexiones esternas en el borde izquierdode la placa con una simetría prácticamente perfecta.

Figura 4.2: Distribución de los componentes en la placa

Justo entre los dos ADC s se encuentra la cadena de generación de reloj, deizquierda a derecha: oscilador, PLL y distribuidor. La posición es idónea porqueel distribuidor se encuentra a la misma distancia de ambos ADC s y de la FPGApor lo que las líneas de reloj requieren un mínimo ajuste de longitud. El circuitoregulador de los ADC s se encuentra arriba a la izquierda en la placa, alejado delresto, lo que permitirá distinguir la zona de alimentación analógica de la digital.

El resto de circuitos reguladores bordean la placa desde arriba a la derecha(entrada VIN), bajando por el borde derecho y el inferior. Se han ordenado demanera que se optimizase la distribución de los planos que salen de cada reguladorhasta su respectivo módulo.

En el borde superior, en vertical desde la FPGA se encuentra la conexión USB,que forzosamente debía situarse en un borde. La interfaz ULPI se ha colocado

70 4. Layout del circuito

muy cerca del conector para minimizar la longitud del par diferencial USB_D_P yUSB_D_N.

Los controles de interfaz de usuario se han colocado en lugares accesibles paratener buena operabilidad y además lejos de la FPGA ya que las líneas no se consi-deran críticas. Abajo a la izquierda están los jumpers de control de los ADC s, losmicrointerruptores y los botones y arriba hacia el centro se encuentra la pantallaLCD.

Como los bancos de los GTX se encuentran en la mitad derecha de la FPGA,el hueco de la mitad derecha de la placa era ideal para colocar todos los conectoresde los 4 transceptores y los 2 relojes externos (4 x TX + 4 x Rx + 2 x ExtClk sondíez líneas diferenciales y por tanto 20 conectores SMA).

Las dimensiones de la placa son de aproximadamente 21x16 centímetros; tiene6 agujeros de montaje separados por múltiplos de pulgada, ya que es el patrón quesiguen las mesas del laboratorio instaladas en el departamento de fotónica. La placatendría un grosor de 1.2 mm de acuerdo a las medidas expuestas anteriormente enla Tabla 4.1.

4.3. Enrutado de señales diferenciales

Equivocarse a la hora de realizar el conexionado de pistas utilizando un pro-grama de diseño asistido como Altium Designer o prácticamente cualquiera de sushomólogos es algo que roza lo imposible. Posee un potente motor y una base dedatos donde registra todos los nodos y las conexiones entre ellos y puede chequearsi existe una conexión física que alerta al usuario si faltan nodos por conectar osi hay nodos conectados donde no deben. Aún más, con una moderada densidadde nodos y componentes, el programa puede hacer todo el trabajo de enrutado deforma automática.

El problema es que uno nunca se puede ar de que el criterio del programasea el óptimo a la hora de elegir los caminos. Además, la imperfección de losautoenrutadores se acentúa cuando se trata de líneas críticas de alta velocidad,que deben trazarse de forma diferencial y teniendo en cuenta, no sólo el caminode la pista, sino la de su corriente de retorno.

Aparte de considerar el camino de retorno, otras de las consideraciones a teneren cuenta con el enrutado de líneas diferenciales son:

Ajustar la longitud de las dos líneas que pertenecen a un mismo par dife-rencial. En la Figura 4.3 se muestra un ejemplo de cómo en algunos pares

4.3. Enrutado de señales diferenciales 71

diferenciales hay que añadir un trazado extra para compensar el exceso delongitud de la otra línea.

Figura 4.3: Ajustes de longitud de línea en un par diferencial

Mantener la continuidad en la impedancia característica del par diferencialdurante todo el recorrido. Si no se puede evitar realizar un cambio, comointroducir una vía, debe aplicarse a ambas líneas por igual. La Figura 4.4muestra un ejemplo en el que el par diferencial no tiene espacio para pasarentre dos pads, entonces se modican las dos líneas en igual medida y serestablece la geometría original en cuanto se hace posible.

Figura 4.4: Cambio momentáneo necesario de la geometría diferencial

72 4. Layout del circuito

Cuando las dos líneas de un par diferencial nacen muy separadas, por ejemplodebido al gran tamaño de los conectores, deben salir una al encuentro de laotra por el camino más corto posible. Ver el ejemplo de la Figura 4.5.

Figura 4.5: Camino más corto para el encuentro de las señales

4.4. Ajuste de longitud de líneas

Cuando varias señales de alta velocidad pertenecen a un mismo grupo o bus dedatos que funcionan de forma síncrona, es importante que todas tengan la mismadistancia eléctrica, es decir, que las señales eléctricas lleguen todas dentro de unpequeño intervalo de tiempo que garantice la temporización del circuito. Idealmen-te deben de llegar todas a la vez. A menudo, estas señales se encuentran, en línearecta, a diferentes distancias cada una de su destino. Por ello es preciso forzar aque las líneas más cortas realicen un recorrido extra para igualar al recorrido dela línea más larga del grupo.

En Dicore esta práctica se ha tenido que llevar a cabo tanto con las líneasde los ADC s, las cuales se han equalizado para que todas midan entre 70 y 71mi-límetros, y con las líneas de la memoria RAM. En este último caso, solamentelas líneas pertenecientes a un mismo byte de datos se han tenido que ecualizarentre sí, gracias a que la técnica del Write Leveling permite ajustar retardos entrediferentes chips de memoria.

La Figura 4.6 muestra cómo mediante la técnica de acordeón o serpentina seequalizan las líneas de dos de los buses de datos del ADCY.

Otra consideración es que si dos líneas ecualizadas en forma de acordeón via-jan relativamente cerca, es apropiado que sus formas estén en fase, para evitar lomáximo posible los recorridos en paralelo que podrían provocar crosstalk. La Fi-gura 4.7 muestra un ejemplo de dós líneas diferenciales equalizadas con serpentinaviajando en fase.

4.4. Ajuste de longitud de líneas 73

Figura 4.6: Ecualización de la longitud en las líneas de un bus

Figura 4.7: Serpentinas en fase para reducir crosstalk

74 4. Layout del circuito

4.5. Planos de alimentación y tierra

Como se ha explicado en la Sección 4.1, de las 8 capas con que cuenta laPCB, 2 son planos de tierra y 2 son para planos de alimentación. Una de lasrecomendaciones principales para los planos de tierra es que sean supercies decobre ininterrumpida que cubran toda la placa. De hecho en este diseño esto es asípara las capas IN1 e IN6 con tres excepciones:

1. La Figure 4.8 muestra una isla dentro del plano de masa conectada a éstesolo por un punto. Esta isla se encuentra justo debajo del oscilador del PLLy de esta manera se asegura que ninguna otra corriente que no pertenezcaa la de la señal de retorno del oscilador perturbe la tierra de referencia deloscilador.

Figura 4.8: Isla en el plano de tierra para el oscilador que precede al PLL

2. Exactamente por el mismo principio se ha creado otra isla justo debajo de laconexión USB tal y como muestra la Figure 4.9. El punto de conexión conel plano de tierra general coincide justo por debajo de donde entra el pardiferencial USB_D_P, USB_D_N.

3. El último caso se basa en un motivo diferente. Si se observa la Figura 4.10se puede ver cómo se ha eliminado una porción de plano de tierra justodebajo del pin central del conector SMA montado en el borde de la placa.Esto es debido a que cuando la línea de pequeñas dimensiones, conguradapara obtener una Z0 de 50Ω, llega a la gran supercie del pad del conectorse encuentra con un cambio de impedancia abrupto debido a la capacidadparásita que contiene la supercie del pad con el plano de tierra que haydebajo. Eliminando esta porción de plano se reduce esta capacidad parásitay por tanto el cambio de impedancia abrupto [39].

4.5. Planos de alimentación y tierra 75

Figura 4.9: Isla en el plano de tierra del conector USB

Figura 4.10: Vacío del plano de tierra debajo del pad del conector. (Vista 3D)

Las 3 excepciones que se acaban de citar se cumplen para los dos planos detierra, es decir, ambos planos en las capas IN1 e IN6 son copias idénticas.

Por otra parte, las capas destinadas a los planos de alimentación en las capasIN3 e IN4 son totalmente diferentes, pues se reparten el espacio disponible entrelas dos para repartir todos los niveles de tensión a todas las partes del circuito.

La primera capa de planos de alimentación, IN3, se ilustra en la Figura 4.11donde se aprecian los diferentes planos y donde se ha etiquetado cada uno con elvoltaje que suministra. La segunda y última capa de planos de alimentación semuestra en la Figura 4.12. Debido a la complejidad del sistema ha sido imposibleevitar que existan discontinuidades entre planos y que por tanto las señales tenganque circuilar sobre estas discontinuidades. Sin embargo los planos de referencia

76 4. Layout del circuito

principales son los de tierra, y en los de alimentación se ha intentado minimizar elespacio que separa los planos y se han ampliado para dar cobertura al recorridode todas las señales de alta velocidad.

Figura 4.11: Planos de alimentación en la capa IN3

4.6. Red de desacoplo

Todos los componentes cuentan con sus condensadores de desacoplo. La reglaprincipal seguida ha sido la de dotar de un condensador de 100nF a cada pin dealimentación colocado lo más cerca posible del mismo. Para componentes pequeñosque sólo cuentan con una entrada de alimentación al chip resulta sencillo colocarel condensador de desacoplo en la cara superior de la placa justo al lado del com-ponente, como en el caso de la memoria Flash o del monitor de temperatura. Sinembargo otros componentes con varios pines de alimentación y con un mayor nú-mero de componentes externos es necesario colocar los condensadores en la parte

4.6. Red de desacoplo 77

Figura 4.12: Planos de alimentación en la capa IN4

posterior de la placa, esto es justo debajo de los componentes y accediendo a suspines a través de vías. La Figura 4.13 muestra la parte posterior del PLL y cir-cuito distribuidor donde se observa cómo se han colocado los condensadores quecorresponden a cada pin. La Figura 4.14 muestra el caso para uno de los ADC s,ya que en ambos se ha diseñado de la misma manera.

78 4. Layout del circuito

Figura 4.13: Desacoplo del PLL y distribuidor

Figura 4.14: Desacoplo de uno de los ADC s

4.6. Red de desacoplo 79

Por otra parte, en el caso de la FPGA, Xilinx directamente recomienda lacantidad de condensadores de desacoplo que se deben proveer, incluso sugiere losfabricantes y modelos, ya que cumplen con requisitos de calidad en cuanto a ESR,ESL y degradación de la capacidad con el tiempo y la temperatura. Lo más impor-tante es que cada rango de valores de capacitancia son útiles en unos márgenes defrecuencia inuyendo pues en la distancia a la que se deben colocar de la FPGA.Mientras que los condensadores con valores más elevados pueden encontrarse prác-ticamente en cualquier punto alrededor de la FPGAo incluso de la placa, los máspequeños deben colocarse lo más cerca posible de los pines de alimentación. Estoes especialmente complicado en un encapsulado BGA pues hay una gran cantidadde vías justo debajo del chip y cuesta mucho ubicar todos los condensadores ensu sitio idóneo. La Figura 4.15 muestra la parte posterior de la FPGA donde sepueden ver los condensadores más pequeños ocupando el centro y los más grandesubicados perimetralmente.

Figura 4.15: Desacoplo de la FPGA

Para terminar, las dos últimas imágenes muestran una reproducción del re-sultado obtenido. Aunque sólo sean un modelo en 3D representa muy elmenteel aspecto que tendrá una vez fabricada y ensamblada. La Figura ?? muestra laparte frontal y la Figura 4.17 la parte trasera del sistema Dicore .

80 4. Layout del circuito

Figura 4.16: Modelo 3D de Dicore - cara frontal

4.6. Red de desacoplo 81

Figura 4.17: Modelo 3D de Dicore - cara trasera

Capítulo 5

Sumario

5.1. Resumen

En este trabajo se ha descrito el proceso que se ha llevado a cabo para diseñarun sistema electrónico sobre una PCB, llamado Dicore , para su futura imple-mentación como receptor digital coherente (Digital Coherent Receiver). Una veznalizado el diseño será evaluada la posterior fabricación de la placa.

En última instancia, el sistema pretende servir como una herramienta expe-rimental donde puedan ser implementados algoritmos de recuperación de señalesópticas que hasta ahora sólo pueden ser testeados en plataformas software. Conello se ganaría agilidad a la hora de simular grandes cantidades de datos en un en-torno hardware que consumen una gran cantidad de tiempo cuando son simuladosen ordenador. También permitiría extraer conclusiones sobre el comportamientode los algoritmos en un dispositivo electrónico real, donde pueden aparecer efectosque pasen desapercibidos en la simulación.

Este documento realiza un breve recorrido sobre los conceptos adquiridos sobrecomunicaciones ópticas, previo a la puesta en marcha del diseño. Posteriormentese han expuesto los conceptos básicos sobre la teoría y práctica del diseño decircuitos electrónicos asistido por ordenador. Se ha hecho especial hincapié en lasconsideraciones a tener en cuenta y reglas a seguir cuando un diseño trabaja conseñales de alta velocidad, en conceptos como la impedancia característica de unalínea de transmisión y su efecto cuando aparecen discontinuidades. Se ha insistidotambién en la importancia de considerar las corrientes de retorno en señales dealta velocidad, un concepto muy a menudo menospreciado.

Una vez se han introducido los conceptos básicos sobre el diseño se expone laidea global del sistema que se quiere desarrollar y sus especicaciones técnicas,

83

84 5. Sumario

para entrar a profundizar en cómo se ha resuelto el diseño de cada una de suspartes por separado. Todo a nivel esquemático o de alto nivel, se ha descrito lafuncionalidad de los diferentes componentes que integran el sistema y se ha idojusticando la necesidad de ciertos componentes externos.

Finalmente, el documento se centra ya en el diseño a bajo nivel o en el dominiofísico, donde los componentes antes representados por símbolos tienen ahora formay tamaño. Se han descrito los pasos desde dar forma a la placa, decidir qué capasse van a utilizar y como se distribuyen los componentes sobre ella. Se han descritolas principales técnicas de enrutamiento y equalización de líneas individuales ydiferenciales utilizadas y se ha expuesto cómo se han gestionado las capas dedicadasa planos de tierra y alimentación. Se comenta como última regla fundamental lanecesidad de que todo circuito integrado esté provisto de capacidad de desacoplo,ya se de alta como de baja frecuencia y cómo deben situarse en la placa.

5.2. Trabajo futuro

5.2.1. Simulación y análisis de integridad de la señal

Llegados a este punto, el siguiente paso en este proceso de diseño es claramen-te uno: la simulación. Si realmente se pretende invertir en el proyecto para quesiga adelante y asumir los costes de su fabricación los cuales estarían entre los5.000 y los 7.000 euros con sólidas garantías de funcionalidad, es prácticamenteimprescindible simular el circuito en varios aspectos.

La gran ventaja de no haberse precipitado a la fabricación de la placa sinprevia simulación es que se está a tiempo de recticar. Si una determinada líneapresenta reexiones es relativamente sencillo modicar el diseño para añadir unaterminación, o puede resultar cuestión de minutos añadir dos nuevos planos detierra si se llega a la conclusión de que compensa el benecio en rendimiento conel incremento de coste.

Un primer paso importante sería poder contar con algunos de los algoritmosimplementados en VHDL, para así poder estimar con más precisión los requisitosque la FPGA debe cumplir en cuanto a recursos lógicos. Otra gran ventaja deldiseño es que el encapsulado y el patillaje de la FPGA implementada enDicore estotalmente compatible con todas las FPGAs de su misma familia, incluidas aquellasde más alta gama. Por lo tanto, decidir a última hora que se desea cambiar elmodelo de FPGA por otro más potente y compatible ni siquiera requeriría realizarningún cambio en el diseño.

5.2. Trabajo futuro 85

Por otra parte, también sería muy interesante realizar simulaciones de integri-dad de la señal. Este tipo de simulaciones no son de carácter funcional sino decarácter físico. Actualmente los fabricantes proporcionan modelos de simulaciónde sus circuitos integrados en unos archivos llamados IBIS. Estos archivos no con-tienen información de sobre cómo funciona el circuito sino que consisten en unmapeado muy completo de niveles de tensión y corriente en los pines de entraday salida del chip. De este modo, un simulador 3D de campos electromagnéticos,toma por un lado la información proporcionada por el archivo IBIS y por otro ladoanaliza la estructura formada por la pista de cobre que viaja desde un pin hastaotro. Con esto, es capaz de simular cómo aparece un impulso eléctrico en un pin desalida, qué alteraciones sufre durante su recorrido por la placa y cómo es recibidoen el pin del receptor. Realizar este tipo de simulación sobre las líneas que salende los ADC s hacia la FPGA, y de ésta a los chips de memoria RAM resultaría degran ayuda para conrmar la validez del diseño o para indicar qué modicacionesdeben hacerse para validarlo.

Por último, otro tipo de simulaciones parecidas a las del caso anterior sonlas de integridad de la potencia. El simulador de estructuras 3D puede analizarel sistema de distribución de la alimentación y calcular la impedancia que éstepresenta al circuito. Este valor de impedancia se traduce en rizado de las tensionesde alimentación debido a cambios abruptos en la corriente por cambios en la cargay que pueden degradar la integridad de la señal. También pueden aorar efectosde resonancias dentro de los mismos planos de tierra y alimentación, resonanciasa frecuencias cuya longitud de onda está relacionada con las dimensiones físicasde los planos. Así pues, los resultados de la simulación pueden desvelar la mejormanera de compensar este tipo de efectos mediante la adición de componentespasivos como condensadores o inductancias que contrarresten la componente deimpedancia no deseada.

5.2.2. Fabricación y ensamblado de la PCB

Sólo cuando las especicaciones y restricciones del sistema se cumplen por si-mulación es el momento para enviar el diseño a fabricación. Fabricar una PCBdeestas características es particularmente costoso cuando es una tirada pequeña o,concretamente, un solo prototipo. Durante el desarrollo del proyecto he tenido quecontactar con fabricantes, solicitar asistencia técnica, consejo y varios presupues-tos. Sin embargo la experiencia no fue del todo agradable ya que, quizá por notratarse de pedidos grandes, no parecían demostrar mucho entusiasmo por lo quehacían.

Desde que se tiene el diseño nalizado hasta que se tiene la PCBen las manos,

86 5. Sumario

se puede decir que hay que realizar 3 operaciones comerciales. La primera es la deenviar los archivos del diseño a una empresa de manufactura para que proceda ala fabricación de la placa. Las reglas de diseño para fabricación, como por ejemploel ancho mínimo de una pista, el mínimo diámetro de una vía, u otros aspectosmás avanzados como el uso de microvías, vías ciegas y vías enterradas, son consi-deraciones que se deben cumplir y aclarar con la empresa para garantizar que vaa poder fabricar el diseño realizado.

La segunda operación a realizar es la compra de componentes. Si bien todos loscomponentes discretos y la mayoría de circuitos integrados están en permanentedisponibilidad, algunos componentes más exclusivos como la FPGA o los ADC spueden estar sujetos a fabricación bajo pedido y por lo tanto conllevar demoras enla recepción de varias semanas. Es posible que este paso deba hacerse antes que elprimero si se desea minimizar el tiempo total transcurrido hasta que se obtiene laplaca nalizada.

Y por último está el ensamblado de la placa. Consiste en montar y soldar todoslos componentes en la placa. Aunque algunos componentes pueden ser realmentesoldados a mano con un soldador estándar, los diseños de alta densidad de inter-conexión, con componentes miniaturizados y circuitos integrados en encapsuladosBGA requieren de técnicas más complejas para el soldado. El proceso más comúnconsiste en realizar perforaciones con láser a una plantilla de metal que se usa comomáscara sobre la PCB para depositar una pasta de soldar. Luego los componentesse sueltan en su sitio de la placa donde quedan sujetos por esta pasta aún semilí-quida. Si bien componentes pasivos pueden ser soltados a mano con unas pinzas,otros componentes con espacio entre pines de menos de 1mm requieren de brazosrobóticos con inspección visual para depositar el componente con precisión sobresu sitio. Finalmente, la PCB es introducida en un horno especial con temperaturacontrolada y la soldadura se produce dentro del horno. Además, la fuerza tensorialde la pasta de soldar al fundirse corrige las pequeñas desviaciones que se puedenhaber producido al soltar el componente sobre la pasta.

5.2.3. Implementación en VHDL

Por último, y no menos importante, es la programación de la placa. Aun ha-biendo realizado los dos pasos anteriores de simulación y fabricación, tener la PCBen mano recién hecha será todo un desafío. Hay que tener en cuenta que sin pro-gramar la FPGA la placa es prácticamente inútil. Todo está conectado a la FPGAsalvo los reguladores de alimentación y el LED de encendido.

Por tanto, antes de aspirar a programar algoritmos de procesado para señalesrecibidas por bra óptica, habrá algunas tareas prioritarias, básicamente de testeo

5.2. Trabajo futuro 87

y caracterización. Los diferentes elementos de Dicore , no son módulos que sepuedan controlar solo con pines de entrada y salida, sino que requieren la imple-mentación de una interfaz de comunicación por la que se puedan congurar losregistros de los diferentes circuitos integrados. Aparte de un buen conocimientodel lenguaje VHDL también va a ser necesaria una documentación más exhaustivaque este documento acerca del conexionado interno y el mapeado de pines de laFPGA a los diferentes dispositivos. Quizá sea en la segunda edición.

Bibliografía

[1] P. Schvan, J. Bach, C. Fait, P. Flemke, R. Gibbins, Y. Greshishchev, N. Ben-Hamida, D. Pollex, J. Sitch, Shing-Chi Wang, and J. Wolczanski. A 24GS/s6b ADC in 90nm CMOS. In Solid-State Circuits Conference, 2008. ISSCC2008. Digest of Technical Papers. IEEE International, pages 544634, 2008.

[2] F. Derr. Coherent optical QPSK intradyne system: concept and digital recei-ver realization. Lightwave Technology, Journal of, 10(9):12901296, 1992.

[3] J.H. Winters. Equalization in coherent lightwave systems using a fractionallyspaced equalizer. Lightwave Technology, Journal of, 8(10):14871491, 1990.

[4] Xiang Zhou, Jianjun Yu, Ming-Fang Huang, Yin Shao, Ting Wang, P. Magill,M. Cvijetic, L. Nelson, M. Birk, Guodong Zhang, S. Ten, H. B. Matthew,and S.K. Mishra. 32Tb/s (320x114Gb/s) PDM-RZ-8QAM transmission over580km of SMF-28 ultra-low-loss ber. In Optical Fiber Communication -incudes post deadline papers, 2009. OFC 2009. Conference on, pages 13,2009.

[5] C. Schmidt-Langhorst, R. Ludwig, D. D. Gross, L. Molle, M. Seimetz,R. Freund, and C. Schubert. Generation and coherent time-division demulti-plexing of up to 5.1 Tb/s single-channel 8-PSK and 16-QAM signals. In Op-tical Fiber Communication - incudes post deadline papers, 2009. OFC 2009.Conference on, pages 13, 2009.

[6] M. Salsi, H. Mardoyan, P. Tran, C. Koebele, E. Dutisseuil, G. Charlet, andS. Bigo. 155x100Gbit/s coherent PDM-QPSK transmission over 7,200km.In Optical Communication, 2009. ECOC '09. 35th European Conference on,volume 2009-Supplement, pages 12, 2009.

[7] T. Tanimura, S. Oda, T. Tanaka, T. Hoshida, Zhenning Tao, and J.C. Ras-mussen. A simple digital skew compensator for coherent receiver. In OpticalCommunication, 2009. ECOC '09. 35th European Conference on, pages 12,2009.

89

90 BIBLIOGRAFÍA

[8] Simon Haykin. Adaptive Filter Theory. Englewood Clis, NJ: Prentice-Hall,2001.

[9] I. Mayer. On Löwdin's method of symmetric orthogonalization. InternationalJournal of Quantum Chemistry, 90(1):6365, October 2002.

[10] I. Mayer. Orthogonalization methods. J. Math. Phys., 11(5):16931694, 1970.Disponible: http://jmp.aip.org/resource/1/jmapaq/v11/i5/p1693_s1.

[11] G. Goldfarb and Guifang Li. Chromatic Dispersion Compensation UsingDigital IIR Filtering With Coherent Detection. Photonics Technology Letters,IEEE, 19(13):969971, 2007.

[12] Maxim Kuschnerov, F.N. Hauske, K. Piyawanno, B. Spinnler, M.S. Alad,A. Napoli, and B. Lankl. DSP for Coherent Single-Carrier Receivers. Light-wave Technology, Journal of, 27(16):36143622, 2009.

[13] K.-P. Ho. Subband equaliser for chromatic dispersion of optical bre. Elec-tronics Letters, 45(24):12241226, 2009.

[14] R. Raheli and G. Picchi. Synchronous and fractionally-spaced blind equali-zation in dually-polarized digital radio links. In Communications, 1991. ICC'91, Conference Record. IEEE International Conference on, pages 156161vol.1, 1991.

[15] D. Godard. Self-Recovering Equalization and Carrier Tracking in Two-Dimensional Data Communication Systems. Communications, IEEE Tran-sactions on, 28(11):18671875, 1980.

[16] K. Kikuchi. Polarization-demultiplexing algorithm in the digital coherentreceiver. In IEEE/LEOS Summer Topical Meetings, 2008 Digest of the, pages101102, 2008.

[17] Floyd M. Gardner. Interpolation in digital modems. I. Fundamentals. Com-munications, IEEE Transactions on, 41(3):501507, 1993.

[18] L. Erup, Floyd M. Gardner, and R.A. Harris. Interpolation in digital modems.II. Implementation and performance. Communications, IEEE Transactionson, 41(6):9981008, 1993.

[19] K. Mueller and M. Muller. Timing Recovery in Digital Synchronous DataReceivers. Communications, IEEE Transactions on, 24(5):516531, 1976.

[20] Floyd M. Gardner. A BPSK/QPSK Timing-Error Detector for Sampled Re-ceivers. Communications, IEEE Transactions on, 34(5):423429, 1986.

BIBLIOGRAFÍA 91

[21] Andreas Leven, N. Kaneda, Ut-Va Koc, and Young-Kai Chen. FrequencyEstimation in Intradyne Reception. Photonics Technology Letters, IEEE,19(6):366368, 2007.

[22] S. Homann, Suhas Bhandare, T. Pfau, O. Adamczyk, C. Wo?rdeho, R. Pe-veling, M. Porrmann, and R. Noe. Frequency and Phase Estimation for Cohe-rent QPSK Transmission With Unlocked DFB Lasers. Photonics TechnologyLetters, IEEE, 20(18):15691571, 2008.

[23] A. J. Viterbi and A. M. Viterbi. Nonlinear estimation of PSK-modulated ca-rrier phase with application to burst digital transmission. Information Theory,IEEE Transactions on, 29(4):543551, 1983.

[24] J.C. Geyer, C. R S Fludger, T. Duthel, P. Presslein, C. Schulien, and B. Sch-mauss. 43Gb/s CP-QPSK Realtime Receiver Demonstrator based on FPGAsand block-processing. In Optical Communication, 2009. ECOC '09. 35th Eu-ropean Conference on, pages 12, 2009.

[25] T. Tanimura, Y. Aoki, H. Nakashima, T. Hoshida, Jianqiang Li, ZhenningTao, and J.C. Rasmussen. FPGA-based 112Gb/s coherent DP-QPSK recei-ver and multi-stage PMD-PDL emulator for fast evaluation of digital signalprocessing algorithms. In Optical Communication (ECOC), 2010 36th Euro-pean Conference and Exhibition on, pages 13, 2010.

[26] E. Dutisseuil, J.-M. Tanguy, A. Voicila, R. Laube, F. Bore, H. Takeugming,F. de Dinechin, F. Cerou, and G. Charlet. 34 Gb/s PDM-QPSK coherentreceiver using SiGe ADCs and a single FPGA for digital signal processing.In Optical Fiber Communication Conference and Exposition (OFC/NFOEC),2012 and the National Fiber Optic Engineers Conference, pages 13, 2012.

[27] S.J. Savory. Digital Coherent Optical Receivers: Algorithms and Subsystems.Selected Topics in Quantum Electronics, IEEE Journal of, 16(5):11641179,2010.

[28] N.A. Olsson. Lightwave systems with optical ampliers. Lightwave Techno-logy, Journal of, 7(7):10711082, 1989.

[29] D. O. Caplan. Laser communication transmitter and receiver design. J.Optical Fiber Communications, 4:225, 2007.

[30] International Telecommunication Union (ITU). http://www.itu.int/home/index.html.

92 BIBLIOGRAFÍA

[31] G. P. Agrawal. Fiber-Optic Communication Systems. John Wiley & Sons,New York (2002).

[32] Howard Johnson and Marting Graham. High Speed Digital Design: A Hand-book of Black Magic. Upper Saddle River, NJ: Prentice-Hall, 1993.

[33] IPC-2141A. Design Guide for High-Speed Controlled Impedance CircuitBoards, march 2004.

[34] Inc Hughes Circuits. Impedance calculator tool.http://www.hughescircuits.com/index.php/en/support/.

[35] Inc. UltraCAD Design. Calculators, Apps & Tools. http://www.ultracad.com/calc.htm.

[36] Isola. isoDesign, a web-based stackup design application. https://

isodesign.isola-group.com/.

[37] Saturn PCB Design, Inc. PCB Design Toolkit. http://saturnpcb.com/pcb_toolkit.htm.

[38] Kirby Goulet. Multiple Dielectric Impedance Calculator. http://mdtlc.

sourceforge.net/.

[39] Altera. Optimizing Impedance Discontinuity Caused by Surface Mount Padsfor High-Speed Channel Designs, May 2008. Application Note 530, AN530.