politechnika warszawska · danych wchodzą procesory, układy fpga, cpld itp.. systemy kontroli...

131
Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Systemów Elektronicznych HUBERT KASPRZYK 236488 Praca Inżynierska PROJEKT SPECJALIZOWANEJ PŁYTY PCB ZAWIERAJĄCEJ UKŁADY FPGA DLA ZASTOSOWAŃ APLIKACJI KOSMICZNYCH Praca wykonana pod kierunkiem: PROF. NZW. DR HAB. INŻ. KRZYSZTOF POŹNIAK Warszawa, 2014

Upload: others

Post on 17-Jul-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

Politechnika Warszawska

Wydział Elektroniki i Technik Informacyjnych

Instytut Systemów Elektronicznych

HUBERT KASPRZYK

236488

Praca Inżynierska

PROJEKT SPECJALIZOWANEJ PŁYTY PCB

ZAWIERAJĄCEJ UKŁADY FPGA DLA

ZASTOSOWAŃ APLIKACJI KOSMICZNYCH

Praca wykonana pod kierunkiem:

PROF. NZW. DR HAB. INŻ. KRZYSZTOF POŹNIAK

Warszawa, 2014

Page 2: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie
Page 3: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

Składam serdeczne podziękowania:

Rodzicom za cierpliwość,

dr inż. Maciejowi Linczukowi, dr inż. Grzegorzowi Kasprowiczowi,

mgr inż. Rafałowi Graczykowi, za cenne wskazówki i rady,

Firmie Astri Polska, za umożliwienie wykonania pracy inżynierskiej,

Kolegom, za współpracę w firmie Astri Polska.

Page 4: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie
Page 5: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

Hubert Kasprzyk

Kierunek: Elektronika, Informatyka i Telekomunikacja.

Specjalizacja: Elektronika i Inżynieria Komputerowa.

Data urodzenia: 17.05.1990 rok.

Data rozpoczęcia studiów: 01.10.2010 rok.

Urodziłem się 17.05.1990 roku w Ostrowcu Świętokrzyskim (woj. Świętokrzyskie).

W 1997 roku rozpocząłem naukę w Szkole Podstawowej w Waśniowie. Sześć lat później

zostałem uczniem Gimnazjum w Waśniowie. Podczas nauki w Szkole Podstawowej

i Gimnazjum uczestniczyłem w wielu konkursach i olimpiadach z takich przedmiotów jak:

matematyka, informatyka, geografia, chemia, technika, religia.

W 2006 roku rozpocząłem naukę w Technikum nr 3 w Ostrowcu Świętokrzyskim, na

kierunku Technik Elektronik. Ucząc się w technikum startowałem w olimpiadach technicznych,

takich jak: Olimpiada Wiedzy Technicznej (6 miejsce w Polsce), Olimpiada Innowacji

Technicznych (finalista), Olimpiada Wiedzy o Wynalazczości (awans do finału), Ogólnopolska

Olimpiada Wiedzy Elektrycznej i Elektronicznej, Olimpiada Wiedzy Elektrycznej

i Elektronicznej „Euroelektra” (półfinalista), Konkurs Elektrotechniczny (drużynowo 4 miejsce

w Polsce). Poza olimpiadami technicznymi startowałem również w takich konkurencjach jak:

Mistrzostwa Pierwszej Pomocy PCK (finalista), Olimpiada o Diamentowy Indeks AGH

(półfinalista), a także wiele konkursów mniejszej rangi, z takich przedmiotów jak: matematyka,

fizyka, biologia, j.polski, przysposobienie obronne. Uczestnictwo w olimpiadach dało mi dwa

indeksy na uczelnie wyższe, w tym najbardziej prestiżowa - Olimpiada Wiedzy Technicznej,

dzięki której zyskałem możliwość studiowania na dowolnej uczelni technicznej w Polsce.

W 2009 roku odbyłem zagraniczne praktyki zawodowe w Maladze, w Hiszpanii, co za

skutkowało zdobyciem dokumentu „Europass Mobility”. Rok później ukończyłem szkołę

z wyróżnieniem, zdałem maturę, a także egzamin zawodowy, uzyskując tytuł Technika

Elektronika.

W 2010 roku rozpocząłem studia na Wydziale Elektroniki i Technik Informacyjnych, na

kierunku Elektronika, Informatyka i Telekomunikacja. Po dwóch latach studiowania wybrałem

specjalizację „Elektronika i Inżynieria Komputerowa” w Instytucie Systemów Elektronicznych,

gdzie obecnie kończę pracę inżynierską.

Od 2007 roku jestem wolontariuszem PCK. Początkowo jako Społeczny Instruktor

Młodzieżowy, a później jako ratownik Grupy Ratownictwa PCK. Posiadam kwalifikacje

w zakresie Kwalifikowanej Pierwszej Pomocy i stopień Ratownika PCK.

Page 6: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie
Page 7: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

PROJEKT WIELOWARSTWOWEJ PŁYTY PCB ZAWIERAJĄCEJ TRZY UKŁADY

FPGA DLA ZASTOSOWAŃ APLIKACJI KOSMICZNYCH

Projekt HPC (High Performance Computing for Space Application) ma na celu zaprojektowanie,

wyprodukowanie i przetestowanie systemu pracującego w przestrzeni kosmicznej.

Podstawowym zadaniem jest przetwarzanie obrazu z satelity geostacjonarnego, np. jego

stabilizacja.

Obrazy przesyłane do systemu są wysokiej rozdzielczości: 7000px : 8500px, o głębi 36

bitów (12 bit na każdy kanał RGB). Prędkość transmisji to 10 kl/s. Przetwarzanie jest w czasie

rzeczywistym, w związku z tym urządzenie przetwarzające jest wysokiej wydajności. Sercem

układu są 3 układy FPGA firmy Xilinx: Virtex 6, które umożliwiają szybką obróbkę danych

i przesyłanie ich do urządzeń peryferyjnych z prędkościami kilkudziesięciu Gb/s.

Opracowany układ jest prototypem. Aby była możliwość testowania różnych interfejsów,

których wspólna realizacja nie byłaby możliwa na płycie PCB (ze względu na ograniczone

zasoby Virtex’ów) zostały podłączone 2 gniazda FMC HPC ( FPGA Mezzanine Card High Pin

Count) w standardzie VITA 57.1 [1]. Pozwala to na późniejsze opracowanie rozszerzających

system płyt PCB z wymaganymi interfejsami i ich łatwą wymianę w razie konieczności.

Projekt płyty PCB został zrealizowany na 16 warstwach, z których 8 warstw jest

sygnałowych, 4 warstwy płaszczyzn zasilania i 4 płaszczyzny masy.

Page 8: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie
Page 9: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

PCB MULTILAYER PROJECT CONTAINING THREE FPGA SYSTEMS FOR

IMPLEMENTATION IN SPACE

HPC Project (High Performance Computing for Space Application) aims to design, manufacture

and trial a system working in space. The fundamental task is to process the image of

a geostationary satellite, an example of which can be its stabilization.

Images sent to the system are of high definition: 7000px: 8500px, with the depth of 36 bits

(12 bits for each RGB channel). Transmission speed is 10 frames / s. The processing comes in

the real time, therefore the processing device presents a remarkable efficiency. The three FPGAs

type from Xilinx: Virtex 6 serve as the underpinning of the system, which altogether enable

rapid data processing and transfer it to other peripheral devices at the speed of several dozen of

Gb /s.

The designed system serves as a prototype. In order to test a selection of interfaces, which

joint implementation would not be possible on the PCB (mainly due to the limited resources of

Virtexs) the two sockets HPC FMC were connected to the system (FPGA Mezzanine Card High

Pin Count) at the standard of VITA 57.1 [1]. This serves as a spur to develop the PCB system

expansion with the required interfaces and easy replacement if there comes such a necessity.

The PCB design was completed on 16 layers, 8 of which are signal ones, 4 ones of power

planes and 4 of them of GND plane.

Page 10: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie
Page 11: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

11

1. WSTĘP ........................................................................................................................................... 15

1.1. Rozwój inżynierii kosmicznej w Polsce .................................................................................. 15

1.2. Podstawowe wymagania stawiane projektowi realizowanemu w ramach niniejszej pracy. 15

1.3. Rozwiązania stosowane w budowaniu elektronicznych urządzeń kosmicznych .................. 16

1.4. Analiza sprzętu możliwego do zastosowania w projekcie .................................................... 19

2. GENEZA, CEL, ZAŁOŻENIA .............................................................................................................. 22

2.1. GENEZA PRACY ...................................................................................................................... 22

2.2. CEL PRACY ............................................................................................................................. 24

2.3. ZAŁOŻENIA PRACY ................................................................................................................. 24

3. KONCEPCJA MODUŁU STABILIZACJI OBRAZU ............................................................................... 26

3.1. WYBÓR ELEMENTÓW UKŁADU ............................................................................................. 26

3.1.1. Wstęp ............................................................................................................................ 26

3.1.2. FPGA .............................................................................................................................. 27

3.1.3. Flash konfiguracyjny ...................................................................................................... 28

3.1.4. Pamięć RAM – DDR3 ..................................................................................................... 29

3.1.5. Oscylatory ...................................................................................................................... 29

3.1.6. Konwertery napięcia ..................................................................................................... 30

3.1.7. Warstwa fizyczna interfejsu Gigabit Ethernet ............................................................... 31

3.1.8. Układ buforowania i rozgałęziania sygnału zegara ....................................................... 31

3.1.9. Układ pamięci flash wykorzystywanej przez układy FPGA ............................................ 32

3.1.10. Źródło napięcia referencyjnego dla pamięci DDR3 ....................................................... 32

3.1.11. Bufor sygnałów interfejsu JTAG .................................................................................... 32

3.1.12. Stabilizator napięcia referencyjnego dla układów Virtex 6 ........................................... 33

3.1.13. Zastosowanie przerzutnika typu D w celu synchronizacji włączania napięć ................. 33

3.1.14. Pozostałe elementy zastosowane w projekcie.............................................................. 33

4. REALIZACJA KONCEPCJI ................................................................................................................. 36

4.1. SCHEMAT ELEKTRYCZNY ........................................................................................................ 36

4.1.1. Wstęp ............................................................................................................................ 36

4.1.2. Zasilacze ........................................................................................................................ 39

4.1.3. Sygnały zegarowe .......................................................................................................... 43

4.1.4. Konfiguracja ................................................................................................................... 44

4.1.5. Przechowywanie danych ............................................................................................... 48

4.1.6. Pamięć DDR3 ................................................................................................................. 49

4.1.7. Złącza FMC ..................................................................................................................... 51

4.1.8. Złącza FMC ..................................................................................................................... 53

Page 12: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

12

4.1.9. GTX ................................................................................................................................. 53

4.1.10. Gigabit Ethernet ............................................................................................................ 54

4.1.11. Handshake ..................................................................................................................... 57

4.1.12. Zasilanie FPGA ............................................................................................................... 58

4.1.13. Masa FPGA ..................................................................................................................... 60

4.1.14. Złącza SMA ..................................................................................................................... 60

4.1.15. Złącza ERF ...................................................................................................................... 61

4.1.16. Złącza testowe ............................................................................................................... 62

4.2. PCB ......................................................................................................................................... 63

4.2.1. Masa (GND) ................................................................................................................... 63

4.2.2. Zasilanie ......................................................................................................................... 66

4.2.3. Linie transmisyjne .......................................................................................................... 66

4.2.4. Impedancja charakterystyczna ...................................................................................... 67

4.2.5. Laminat .......................................................................................................................... 68

4.2.6. Stos – laminat FR-408 .................................................................................................... 69

4.2.7. Linie sygnałowe ............................................................................................................. 73

4.3. OPIS ZŁĄCZ, PINÓW I PRZEŁĄCZNIKÓW ................................................................................ 77

4.3.1. Rozruch systemu ............................................................................................................ 77

4.3.2. Podłączenie baterii pod układy Virtex ........................................................................... 79

4.3.3. Opis pozostałych złącz „goldpin” ................................................................................... 80

5. URUCHOMIENIE I PODSTAWOWE TESTY PŁYTY PCB ..................................................................... 87

5.1. Wstęp..................................................................................................................................... 87

5.2. Uruchomienie i pomiary napięć zasilających. ........................................................................ 88

5.3. Obserwacja sygnałów zegarowych z oscylatorów. ................................................................ 90

5.4. Konfiguracja układów FPGA .................................................................................................. 94

5.5. Komunikacja pomiędzy układami FPGA (transceivery GTX) .................................................. 95

5.6. Pamięć RAM – DDR3 .............................................................................................................. 96

6. PODSUMOWANIE .......................................................................................................................... 99

7. LITERATURA ................................................................................................................................. 101

8. DODATKI ...................................................................................................................................... 104

8.1. Parametry układów FPGA .................................................................................................... 104

8.2. Specyfikacja układów pamięci flash XCF128XFTG64C: ........................................................ 107

8.3. Specyfikacja zastosowanego układu pamięci H5TQ4G63MFR-H9C .................................... 107

8.4. Specyfikacja oscylatorów ..................................................................................................... 108

8.5. Specyfikacja układów przetwornic napięcia ........................................................................ 108

Page 13: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

13

8.6. Specyfikacja układu warstwy fizycznej obsługującej łącze interfejsu Gigabit Ethernet ...... 108

8.7. Specyfiakcja bufora zegarowego ......................................................................................... 109

8.8. Specyfikacja układu pamięci flash ....................................................................................... 109

8.9. Specyfikacja układu regulatora napięcia LTC3413EFE#PBF ................................................ 110

8.10. Specyfikacja układu bufora ............................................................................................. 110

8.11. Specyfikacja układu bufora napięcia ............................................................................... 111

8.12. Specyfikacja układu przerzutnika typu D ........................................................................ 111

8.13. Lista schematów znajdujących się na płycie DVD ........................................................... 112

8.14. Statusy układów FPGA odczytane po koniguracji ........................................................... 113

8.15. Wykresy „oka” dla transceiverów GTX łączących układy FPGA między sobą ................. 118

8.16. Wyniki testów pamięci RAM ........................................................................................... 130

Page 14: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

14

Page 15: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

15

1. WSTĘP

1.1. ROZWÓJ INŻYNIERII KOSMICZNEJ W POLSCE

Inżynieria kosmiczna jest bardzo intensywnie rozwijającą się dziedziną współczesnej nauki.

Rozwój jej jest wspomagany nowymi technologiami i możliwościami jakie niosą ze sobą

współczesne urządzenia elektroniczne. Osiągnięcia inżynierii kosmicznej oraz współczesnej

elektroniki są wykorzystywane w codziennym życiu, np. system GPS.

Rozwojem inżynierii kosmicznej w Polsce zajmuje się Centrum Badań Kosmicznych

Polskiej Akademii Nauk (CBK PAN) w Warszawie. W 2012 roku Polska stała się

pełnoprawnym członkiem Europejskiej Agencji Kosmicznej ESA. Dzięki temu w CBK PAN

są prowadzone projekty badawcze będące częścią większych europejskich i światowych

projektów naukowych. W dniu 25 lipca 2014 roku, Sejm Rzeczypospolitej Polskiej uchwalił

ustawę o powstaniu Polskiej Agencji Kosmicznej. POLSA (Polska Agencja Kosmiczna) ma

wspomagać polskie firmy i instytucje badawczo – rozwojowe. Jednym z głównych celów

POLSY będzie poprawienie współpracy pomiędzy ośrodkami naukowymi, a przemysłem. W

przyszłości ma to skutkować większym udziałem polskich firm w projektach kosmicznych, co

z kolei przekładać się będzie na pozyskiwanie większych środków finansowych z ESY, do

której Polska wpłaca rocznie ok. 20 mln euro, natomiast odzyskuje w postaci projektów

niewielką część tych pieniędzy (w październiku 2013 roku zawarto 8 pierwszych umów w

ramach projektów finansowanych przez ESA, które opiewały na łączną kwotę ok. 5 mln

euro).

1.2. PODSTAWOWE WYMAGANIA STAWIANE PROJEKTOWI

REALIZOWANEMU W RAMACH NINIEJSZEJ PRACY.

Niniejsza praca powstała jako część europejskiego projektu badawczego pt. „High

Performance Computing for Space Application”. Celem tego projektu jest zbudowanie

urządzenia elektronicznego będącego na wyposażeniu satelity geostacjonarnego i służącego

do stabilizacji położenia satelity, na podstawie widoku nieba.

Stabilizacja obrazu jest ważnym elementem pracy satelity obserwacyjnego. Dzięki temu

łatwiejsza staje się identyfikacja poszczególnych elementów na obrazie. Optyka satelity

będzie przechwytywać obrazy o rozdzielczości 7000px x 8500px. Obraz będzie podzielony na

3 kanały monochromatyczne RGB. Każdy kanał będzie przechwytywał zdjęcia z prędkością

10 kl/s. Jednym z wymagań stawianych projektowanemu urządzeniu będzie przystosowanie

Page 16: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

16

go do przetwarzania obrazu w czasie rzeczywistym. Interfejsy wejściowe i wyjściowe będą

musiały umożliwiać transmisję sygnału z następującą prędkością:

Wzór nr 1.1

gdzie:

V – prędkość transmisji,

s – rozdzielczość obrazu (7000px x 8500px),

h – głębia obrazu (12 bit/kanał),

f – częstotliwość przechwytywania obrazu,

n – liczba kanałów.

Podstawiając powyższe parametry do wzoru nr 1.1 otrzymuje się:

Wymiana danych wewnątrz układów pracujących na projektowanej płycie PCB również

musi zapewniać powyższą wydajność. Możliwe jest zastosowanie kilku rozwiązań

umożliwiających taką przepustowość.

1.3. ROZWIĄZANIA STOSOWANE W BUDOWANIU ELEKTRONICZNYCH

URZĄDZEŃ KOSMICZNYCH

Urządzenia pracujące w przestrzeni kosmicznej muszą być przystosowane do

panujących tam warunków. Głównymi problemami są: promieniowanie kosmiczne, duże

różnice temperatur, problemy ze źródłami zasilania i tracenia mocy.

Do obserwacji Ziemi, typowo są używane architektury obsługujące urządzenia

mikrofalowe i optyczne. Nauki i badania kosmiczne pozwalają na wyspecjalizowanie

elementów elektronicznych odpowiednich do pracy w kosmosie. Urządzenia pracujące w

kosmosie składają się z urządzeń, podzielonych na trzy grupy:

Systemy przetwarzania i transmisji danych,

Systemy kontroli,

Systemy oprogramowania.

Podział taki jest wprowadzony ze względu na różne wymagania co do bezpieczeństwa

i bezawaryjności pracy poszczególnych podzespołów. W skład systemów przetwarzania

danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne

czujniki, które zbierają informacje z otoczenia. Następnie za pomocą systemów transmisji

(odpowiednich interfejsów) są one przesyłane do systemów przetwarzania danych. Po

przetworzeniu dane takie są wysyłane na Ziemię. Systemy oprogramowania to najczęściej

Page 17: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

17

wbudowane w urządzenie układy przechowujące oprogramowanie i umożliwiające

konfigurację urządzeń, a także ich rekonfigurację.

W jednym urządzeniu możliwa jest instalacja systemów pochodzących od różnych

producentów. W takim przypadku, konieczne jest wcześniejsze przetestowanie współpracy

pomiędzy tymi systemami, aby mieć pewność, że całe urządzenie będzie działać niezawodnie

i nie będzie problemów z interfejsami służącymi do komunikacji pomiędzy tymi systemami.

Najprostsza architektura przedstawiająca zbieranie informacji i ich transmisję na

Ziemię, przedstawiona jest na rysunku poniżej.

Interfejs sterowania

Rys. 1.1 – podstawowa architektura zbierania i transmisji danych.

W związku z koniecznością zwiększania przepustowości transmisji danych,

produkowane są nowe generacje urządzeń służących do obserwacji ziemi i badań

kosmicznych. Wprowadzają one większą funkcjonalność do układów zarządzania danymi.

Jednym z rozwiązań stosowanych w tym celu, jest implementacja algorytmów

przetwarzających dane na satelicie. Algorytmy takie pełnią następujące funkcje:

Filtrowanie danych – pozwala to zmniejszenie ilości przetwarzanych danych,

Kompresja danych – pozwala tę samą ilość danych zapisać w mniejszej

objętości pamięci, dzięki wykorzystaniu korelacji pomiędzy tymi danymi,

Selekcja danych – pozwala na wybranie jedynie potrzebnych danych do dalszej

obróbki i wysłanie ich na Ziemię,

Szyfrowanie danych.

W celu implementacji tego typu algorytmów wprowadza się pomiędzy urządzenie

zbierające dane, a multiplexer, cyfrowy układ przetwarzania danych (DPU – Digital

Processing Unit).

System zbierania danych 1

System zbierania danych 2

System zbierania danych N

M U L T I P L E X E R

Pamięć

Interfejs wyjściowy

Transmiter

Page 18: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

18

System komputerowy przeznaczony do pracy w kosmosie, powinien osiągać duże

wydajności obliczeniowe, przy niewielkim poborze prądu. Ważną cechą jest elastyczność

takiego systemu, aby istniała możliwość przydzielania mu różnych zadań w czasie pracy

w przestrzeni kosmicznej. Typowy system powinien posiadać następujące rozwiązania

technologiczne:

Szybkie i bardzo szybkie linie transmisji danych oraz interfejsy sieciowe,

Komputery typu payload (zbieranie, przetwarzanie danych oraz wysyłanie

informacji),

Cyfrowe procesory sygnałowe,

Moduły rekonfigurowanych procesorów,

Pamięci masowe (do przechowywanie informacji systemu payload),

Kompresja danych,

Szybkie szyfrowanie danych.

Szybkie linie transmisji danych są wykorzystywane do komunikacji pomiędzy układami

zainstalowanymi w obrębie jednego systemu. Zależnie od potrzeb szybkości transmisji

danych mogą być wykorzystywane różnego rodzaju technologie. SpiceWire jest bardzo

dobrze przyjętym i szeroko używanym standardem zapewniającym przepustowości do

160 Mbit/s na kanał. Jeżeli system wymaga większej przepustowości linii transmisyjnych,

powinien być użyty inny standard. Typowo systemy takie oparte są na komercyjnych

rozwiązaniach i przystosowane do pracy w przestrzeni kosmicznej. SpaceFibre zapewnia

transmisję danych rzędu kilku Gbit/s, jednak aby zachować wysoką wydajność, musi być

odpowiednio zoptymalizowany do pracy w przestrzeni kosmicznej. Nad taką optymalizacją

trwają już prace, co daje nadzieje, że w niedługim czasie stanie się on szeroko

wykorzystywanym protokołem w urządzeniach kosmicznych, zapewniającym transmisję

danych do kilku Gbit/s.

Komputery typu payload często są wykorzystywana jako ICU (Instrument Control

Units), które zapewniają interfejsy i funkcje kontrolne urządzenia. Kompletny komputer

powinien zawierać dodatkowy zdalny terminal zapewniający telemetrię i dystrybucję

instrukcji odebranych z jednostki ICU. Oprócz funkcji kontrolnych komputery typu payload

często wykorzystywane są do innych zadań, takich jak: przetwarzanie danych, pośrednia

pamięć, formatowanie i telemetria danych.

Jednym z głównych kryteriów projektowania komputerów kosmicznych jest ich

elastyczność, tak aby mogły być wykorzystywane w wielu różnych projektach kosmicznych.

Prowadzi to do znacznych ograniczeń związanych z wyborem elementów przetwarzających

Page 19: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

19

dane (procesory, układy FPGA, itp.), a także odpowiednich interfejsów (CAN, SpW, PCI,

itp.). Ograniczenia te są narzucone, ze względu na zachowanie kompatybilności z innymi

urządzeniami, z którymi ewentualnie mogą współpracować, a także odporność na warunki

panujące w przestrzeni kosmicznej.

Aplikacje przetwarzające i wysyłające dane, takie jak aplikacje telekomunikacyjne czy

systemy obserwacji Ziemi, wymagają układów rekonfigurowalnych, które zapewniają dużą

moc obliczeniową i wysoką sprawnością energetyczną. Systemy takie w zależności od

potrzeb są odpowiednio przystosowywane do pełnionych funkcji. Układy te muszą zapewniać

wysoką przepustowość danych (rzędu kilkuset Mb/s, a nawet kilkunastu Gb/s), sprawność, a

także powinny być odpowiednio zoptymalizowane pod kątem efektywnej transmisji danych.

Technologia taka może być wykonana przy pomocy układów pośredniczących,

współpracujących pomiędzy wieloma procesorami i układami FPGA, co zapewnia wysoką

wydajność.

Specjalną klasą modułów przetwarzających dane, są moduły RPM (Reconfigurable

Processing Modules). Takie moduły jeszcze nie są oferowane w sprzedaży, jednak

w przyszłości mogą być doskonałym rozwiązaniem, dla wielu aplikacji kosmicznych. Moduły

takie są oparte na rekonfigurowalnych układach FPGA lub podobnej technologii

umożliwiającej używanie tego samego urządzenia dla wielu różnych aplikacji kosmicznych.

Ostatnie generacje układów FPGA oferują ogromne ilości zasobów logicznych, co pozwala

uzyskiwać tak dobre wydajności obliczeniowe jak sprzętowe realizacje algorytmów

obliczeniowych. Możliwe to jest dzięki implementacji projektu nowego urządzenia na bazie

tego samego układu FPGA, w zależności od zadania pełniącego przez układ. Implementacja

taka jest realizowana poprzez rekonfigurację układu FPGA. Umożliwia to projektowanie

aplikacji na urządzenia znajdującego się już w przestrzeni kosmicznej i w czasie trwania całej

misji zmianę ich zadań. Po zakończeniu jednej misji, ten sam sprzęt może zostać

rekonfigurowany i przydzielony do kolejnej misji, wykonując w niej inne operacje niż

dotychczas.

1.4. ANALIZA SPRZĘTU MOŻLIWEGO DO ZASTOSOWANIA W PROJEKCIE

Satelity obserwacyjne nie są powszechnie dostępne. W ich posiadaniu są jedynie Stany

Zjednoczone Ameryki Północnej. W Europie powstał pomysł stworzenia systemu obserwacji

nieba oraz Ziemi z satelity geostacjonarnego. Projekt został uruchomiony w lutym 2013 roku,

a w jego realizacji biorą udział firmy z Polski i Francji. Polska część projektu jest realizowana

przez Centrum Badań Kosmicznych PAN i firmę Astri Polska, których zadaniem jest

stworzenie systemu stabilizacji obrazu, na satelicie geostacjonarnym. Na rynku jest dostępne

Page 20: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

20

wiele komputerów z szerokimi możliwościami wydajnościowymi. Mając szeroki wybór

urządzeń przetwarzających dane można by się pokusić o poszukiwanie odpowiedniego

urządzenia wśród gotowych produktów. Jednym z zasadniczych problemów

uniemożliwiających wykorzystanie gotowych urządzeń jest ich brak przystosowania do pracy

w przestrzeni kosmicznej. W satelicie obserwacyjnym ważnym zadaniem jest ciągła praca.

Taki wymóg to kolejny problem, z którym wiele dostępnych urządzeń nie radzi sobie, gdyż

istnieje potrzeba rekonfiguracji układów w czasie ich pracy. Brak odpowiedniego urządzenia

na rynku wpłynął na decyzję o projektowaniu własnej płyty PCB, spełniającej stawiane

wymagania.

Projektowanie urządzeń kosmicznych jest podzielone na wiele etapów. Na tych etapach

budowane są różne modele urządzeń. Pierwszy etapem jest stworzenie modelu ziemnego,

nielotnego. Składa się on z elementów ogólnie dostępnych, które posiadają swoje

odpowiedniki kosmiczne. Taki model urządzenia jest budowany w ramach projektu. Kolejne

modele lotne składają się z elementów przystosowanych do pracy w kosmosie. Przykładem

elementów stosowanych w modelu ziemnym są ogólnie dostępne układy FPGA serii Virtex,

które w modelach kosmicznych, lotnych są zamieniane na odpowiednie układy FPGA,

jednokrotnego programowania. W urządzeniach kosmicznych bardzo często stosujemy

powielenie identycznych układów w celu zwiększenia niezawodności. W sytuacji

uszkodzenia jednego z układów, do dyspozycji pozostaje reszta układów. Budując urządzenia

pracujące na Ziemi, wymiana uszkodzonego podzespołu jest tania. W przestrzeni kosmicznej

jest ona niewykonalna. W kosmosie uszkodzone elementy wyłącza się, a ich zadania

przydziela się innym układom. Promieniowanie radiacyjne jest czynnikiem, który negatywnie

wpływa na różnego rodzaju urządzenia, zwiększając ryzyko awarii.

System przetwarzający obraz musi zawierać układ, który będzie wykonywał procesy

przetwarzania. Na rynku dostępnych jest wiele układów, które mogłyby zostać użyte do tego

celu, np.:

Procesory,

Mikrokontrolery,

Układy FPGA,

Układy CPLD.

Procesory są uniwersalnymi urządzeniami, umożliwiające wykonywanie operacji

w szerokim zakresie. Szeroki zakres możliwości przekłada się na spowolnienie ich pracy.

Wybranie procesora nie byłoby zatem najbardziej optymalną formą realizacji przetwarzania

obrazu.

Page 21: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

21

Mikrokontrolery zawierają szereg wbudowanych zasobów, jednak nie są przystosowane

do pracy w przestrzeni kosmicznej.

Układy FPGA mogą wydajnie przetwarzać sygnały, poprzez zaprogramowanie ich do

wykonywania dedykowanych operacji. Dzięki temu wykorzystując mniejszą ilość mocy niż w

przypadku procesorów, czy mikrokontrolerów, możliwe jest zrealizowanie wydajnego

urządzenia. Firma Xilinx oferuje układy FPGA, które mogą pracować stabilnie w przestrzeni

kosmicznej. Układy FPGA firm: Xilinx i Altera były testowane przez CBK. Większą

stabilnością i niezawodnością wykazały się układy firmy Xilinx. Układy FPGA firmy Xilinx

są dopuszczone do pracy w kosmosie przez Europejską Agencję Kosmiczną ESA.

Układy CPLD mogą wydajnie przetwarzać sygnały. Ich cechy są podobne do układów

FPGA, posiadają swoje kosmiczne odpowiedniki, jednak zasoby tych układów są mniejsze

w porównaniu z układami FPGA i niewystarczające do zrealizowania niniejszego projektu.

Decydując się na wybór konkretnego rozwiązania należy zapoznać się dokumentacją

układu i dobrać do niego odpowiednie układy peryferyjne. Niezależnie od wyboru potrzebna

jest pamięć RAM, a w przypadku układów nieposiadających nieulotnej pamięci, także pamięć

Flash, która będzie przechowywała dane konfiguracyjne dla układu. Konieczne jest

zapewnienie odpowiednich interfejsów komunikacyjnych, a także odpowiedniego systemu

rozprowadzania sygnału zegarowego. Pozostałe układy i złącza jakie należy zapewnić na

płycie PCB, wynikają ze specyfikacji stawianej prototypowi płyty. Taka płyta powinna

zawierać gniazda, umożliwiające podłączanie różnorodnych modułów zewnętrznych, za

pomocą których będzie można testować wiele interfejsów, a następnie wybrać najbardziej

optymalne rozwiązanie. Warto umieścić niektóre interfejsy bezpośrednio na płycie, tak aby

bez żadnych modułów rozszerzeń, możliwe było komunikowanie się bezpośrednio

z urządzeniami zewnętrznymi. Płyta prototypowa powinna zawierać złącza testowe, na

których możliwe będzie dokonanie pomiarów napięć zasilających w czasie pracy urządzenia.

Mając wybrane poszczególne elementy, które będą pracowały na płycie PCB, należy

sprawdzić jakich napięć zasilających i mocy potrzebują. Znając parametry potrzebne do

zasilenia układów, trzeba dobrać odpowiednie układy w bloku zasilacza, tak aby

wytrzymywały zadane obciążenie i zapewniały odpowiednie napięcia dla poszczególnych

układów.

Page 22: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

22

2. GENEZA, CEL, ZAŁOŻENIA

2.1. GENEZA PRACY

Znając wymagania projektowe stawiane przez firmę Airbus Military przystąpiono do

pracy. Osoba odpowiedzialna w projekcie za implementacje algorytmów, oszacowała

zapotrzebowanie na zasoby płyty. Ze względu na równolegle prowadzone prace nad

algorytmami oraz częścią sprzętową płyty, wymagania te były sformułowane dość ogólnie, ze

sporym zapasem.

Początkowo zostały wybrane układy przeznaczone do przetwarzania obrazu. Należało

wziąć pod uwagę wymagania wydajnościowe systemu, a także ograniczenia wynikające

z przeznaczenia systemu do pracy w przestrzeni kosmicznej. Do przetwarzania obrazu zostały

wybrane układy FPGA Virtex 6 [2][3][4][5][6][7]. Szczegółowe informacje dotyczące

wyboru układów FPGA znajdują się w podrozdziale 3.1.1.

Kolejnym etapem było opracowanie architektury systemu, która została zaakceptowana

przez programistę systemu. Zostały wybrane trzy układy Virtex, współpracujące ze sobą.

Jeden z układów FPGA, komunikuje się z pamięcią flash, w której są przechowywane

strumienie danych konfiguracyjnych dla wszystkich układów. Pozostałe dwa układy FPGA,

strumienie konfiguracyjne odbierają z układu Virtex, który jest podłączony do pamięci flash.

Ważnym etapem i decydującym na temat wyboru układów i współpracujących z nimi

układów peryferyjnych było oszacowanie przepustowości systemu. Na urządzeniach

pracujących w przestrzeni kosmicznej, obraz będzie przetwarzany w czasie rzeczywistym.

Wymusza to konieczność uzyskania przepustowości wejściowych i wyjściowych

pozwalających na transmisję obrazów w czasie rzeczywistym (20Gb/s). Komunikacja

pomiędzy układami Virtex, a także z pamięcią RAM, musi być na tyle wydajna, aby możliwe

było przetwarzanie obrazów w czasie rzeczywistym. Po oszacowaniu wydajności konieczne

było oszacowanie pojemności i architektury pamięci DDR3 koniecznej dla prawidłowej pracy

układu. W celu pobierania danych z kamery, a także wysyłania ich do zewnętrznych

urządzeń, konieczne jest użycie odpowiednich interfejsów. Układy Virtex umożliwiają

realizację wielu interfejsów. Najlepszym sposobem na wybranie najbardziej optymalnych

interfejsów jest ich przetestowanie. Ze względu na możliwość testowania różnych interfejsów

powstał pomysł użycia gniazd FMC, umożliwiających rozszerzenie płyty w fazie testów

i przetestowanie różnych interfejsów. Projektując prototyp została przewidziana możliwość

przechowywania dodatkowych ważnych danych w układzie (np. dokumentacji błędów

systemowych oprogramowania, generowanych przez zaimplementowane oprogramowanie).

Page 23: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

23

Dane takie mogą być wykrywane i zapisywane w pamięci flash lub na karcie SD. Zbieranie

takich danych umożliwia ich późniejszą weryfikację i wprowadzenie odpowiednich

poprawek. Szczegółowe informacje dotyczące wyboru pamięci flash służącej do konfiguracji

układów, pamięci flash służącej do przechowywania danych, karty SD, pamięci RAM

i gniazd FMC znajdują się w podrozdziałach 3.1.2, 3.1.3, 3.1.8, 3.1.13.

Mając opracowaną architekturę całego systemu, należało przystąpić do wyboru

elementów. Poszczególne elementy musiały współpracować z wybranymi układami FPGA

i posiadać swoje odpowiedniki, umożliwiające pracę w przestrzeni kosmicznej. Szczegółowe

informacje na temat wyboru wszystkich elementów znajdują się w podrozdziale 3.1.

Po wyborze elementów należało przeanalizować ich dokumentacje i oszacować pobór

mocy, a także sprawdzić wymagane napięcia zasilające. Znając te dane, możliwe było

dobranie odpowiednich źródeł zasilania, którymi były przetwornice napięcia, konwertujące

potencjał 5 V, na mniejsze wymagane wartości. Szczegółowe informacje na temat wyboru

przetwornic napięcia znajdują się w podrozdziale 3.1.5.

Na tym etapie zakończyła się faza koncepcji projektu. Należało przystąpić do realizacji

układu. Realizacja koncepcji rozpoczęła się od projektowania schematów ideowych. Zostały

stworzone schematy opisujące połączenia pomiędzy wszystkimi elementami użytymi

w projekcie. Wprowadzane były elementy dyskretne zgodne ze specyfikacjami elementów.

Szczegółowe informacje dotyczące projektowania schematów znajdują się w podrozdziale

3.2.

Po zakończeniu projektowania schematów należało przystąpić do określenia rozmiarów

płyty i rozmieszczenia na nim elementów. Na tym etapie konieczne było oszacowanie liczby

warstw sygnałowych potrzebnych do prowadzenia ścieżek. Mając te dane, możliwe było

zaprojektowanie odpowiedniego stosu warstw, na podstawie którego zostały wyliczone

szerokości ścieżek sygnałowych. Szerokości te musiały być odpowiednie w celu zachowania

wymaganej impedancji charakterystycznej. Szczegółowe informacje dotyczące

zaprojektowane stosu warstw znajdują się w podrozdziale 3.3.6.

Projektowanie połączeń na PCB zostało rozpoczęte od rozprowadzenia napięć

zasilających i masy na płaszczyznach. Warstwy te separują od siebie warstwy sygnałowe.

Konieczność rozprowadzenia dużej ilości napięć, wymagała użycia 4 warstw przeznaczonych

na płaszczyzny zasilania. Dodatkowo użyto czterech warstw przeznaczonych na płaszczyzny

masy, aby odseparować od siebie wszystkie warstwy sygnałowe. Mając rozprowadzone

napięcia i masę, podłączono wszystkie piny zasilające do odpowiednich warstw. Następnie

były łączone piny sygnałowe zgodnie z wcześniej zaprojektowanymi schematami.

Szczegółowe informacje dotyczące linii sygnałowych znajdują się w podrozdziale 3.3.7.

Page 24: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

24

Ostatnim etapem pracy było zweryfikowanie poprawności projektu regułami DRC

(Design Rule Check) i wprowadzenie odpowiednich poprawek, a następnie wygenerowanie

dokumentacji produkcyjnej, na podstawie której została wyprodukowana płyta PCB.

2.2. CEL PRACY

Celem pracy było stworzenie płyty PCB zawierającej trzy układy FPGA umożliwiającej

implementację algorytmów estymacji przesunięcia obrazu oraz spełniającej wymagania

projektu „High Performance Computing for Space Application”.

Zgodnie ze specyfikacją dostarczoną przez firmę Airbus Military (francuski partner

w projekcie), należy skonstruować model ziemny urządzenia. Urządzenie to powinno

zawierać:

kilka rekonfigurowalnych układów z logiką programowalną – użycie kilku układów

FPGA w przestrzeni kosmicznej gwarantuje większą niezawodność systemu.

Konfiguracja z pamięci Flash – układy FPGA posiadają ulotną pamięć, a więc po

wyłączeniu zasilania tracą zawartość swojej pamięci,

Wewnętrzną komunikację pomiędzy układami FPGA,

Komunikację z urządzeniami zewnętrznymi poprzez wybór odpowiednich interfejsów,

np.: CAN, Gigabit Ethernet, SpaceFibre, SpW, HSSL,

Zastosowanie gniazda FMC, umożliwiającego rozszerzenie systemu w czasie testów,

Zasoby urządzenia mają wystarczyć do zaimplementowania algorytmów stabilizacji

obrazu.

2.3. ZAŁOŻENIA PRACY

Analizując cele i genezę pracy wybrano odpowiednie oprogramowanie do projektowania płyt

PCB. Zdecydowano się wykorzystać oprogramowanie Altium Designer.

Projekt „High Performance Computing for Space Application” firmy Airbus Military

jest realizowany przez wielu inżynierów równolegle. Praca w tym projekcie polegała także na

współpracy z wieloma inżynierami i uzgadniania wspólnych koncepcji rozwiązań.

W projekcie równocześnie prowadzono prace nad oprogramowaniem i sprzętem.

Optymalizacja projektu wymagałaby najpierw przeprowadzenia prac nad oprogramowaniem,

a następnie wykonania projektu płyty optymalnego dla danych algorytmów. Z powodu ram

czasowych narzuconych w projekcie ten model prac nie mógł zostać zaakceptowany, prace

prowadzono równolegle nad oprogramowaniem i sprzętem. Z tego powodu zaprojektowana

płyta nie jest optymalna pod względem zasobów i kosztów produkcji. Dzięki temu projekt

płyty jest uniwersalny i może być zastosowany w innych projektach badawczych.

Page 25: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

25

W chwili pisania niniejszej pracy projekt „High Performance Computing for Space

Application” nie został jeszcze zakończony. Kolejnymi etapami projektu będą: uruchamianie

i testowanie komponentów sprzętowych na płycie, a także uruchamianie finalnych

algorytmów. Przewidywane jest wykonanie kolejnej wersji płyty, z poprawkami

sugerowanymi przez elektroników piszących pliki konfiguracyjne dla układów FPGA.

Page 26: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

26

3. KONCEPCJA MODUŁU STABILIZACJI OBRAZU

3.1. WYBÓR ELEMENTÓW UKŁADU

3.1.1. Wstęp

Wybór elementów układu opierał się na wstępnych założeniach, opracowanych

w specyfikacji na podstawie wymagań stawianych projektowanej płycie PCB.

Najważniejszym elementem urządzenia elektronicznego, służącego do wykonywania

obliczeń, jest jednostka zajmująca się tymi operacjami. Mogą to być procesory, układy

FPGA, mikrokontrolery lub układy CPLD.

Na wstępie tej pracy została przeprowadzona analiza poszczególnych rozwiązań.

Najlepszym okazało się zastosowanie układu FPGA, ze względu na duże zasoby, możliwość

sprzętowej realizacji algorytmów, a także możliwość rekonfiguracji układu w czasie

rzeczywistym.

Układy FPGA mogą być konfigurowane za pomocą interfejsu JTAG (wymagane jest do

tego podłączenie układu pod komputer) lub przy pomocy układów zamontowanych na płycie

PCB i bezpośrednio połączonych z układem FPGA. Najlepszym i jednocześnie najprostszym

rozwiązaniem jest zastosowanie pamięci flash, z której układ FPGA będzie sam pobierał

strumienie danych konfiguracyjnych. Wybór pamięci flash jest uzależniony od układu FPGA.

Niezbędnym elementem umożliwiającym poprawną pracę układu FPGA jest pamięć

RAM. Podobnie jak flash, pamięć RAM, musi być dobrana do układu FPGA, zgodnie z jego

specyfikacją.

Układy FPGA są układami cyfrowymi, co wymusza użycie oscylatorów w systemie.

Oscylatory są źródłami referencyjnego zegara. Częstotliwość ta może być powielana lub

dzielona w układach FPGA, dzięki czemu możliwe jest uzyskiwanie sygnałów zegarowych

o różnych częstotliwościach. Sygnały zegarowe służą do synchronizacji przeprowadzanych

operacji pomiędzy układem FPGA, a układami peryferyjnymi oraz pomiędzy układami

FPGA.

Po dokonaniu wyboru podstawowych elementów peryferyjnych dla układu FPGA,

należało przeanalizować ich dokumentację i ustalić jakie napięcia zasilania będą potrzebne

w projekcie. Znając te napięcia, napięcia wymagane dla układu FPGA i obciążenie prądowe

dla każdego z napięć, należało wybrać źródła napięć. Najprostszym rozwiązaniem było

zastosowanie gotowych przetwornic DC/DC, zapewniających odpowiednią moc.

Page 27: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

27

Pozostałe elementy użyte w projekcie były wymagane w specyfikacji dostarczonej

przez Airbus Defense & Space. Firma Airbus Defense & Space wymagała aby w systemie

znalazły się elementy takie jak: interfejs Gigabit Ethernet, złącza SMA, złącza FMC.

Układy FPGA oraz układy peryferyjne, do poprawnej pracy wymagały zastosowania

dodatkowych elementów.

W związku z koniecznością synchronizacji kilku układów tym samym sygnałem

zegarowym, konieczne było użycie buforów rozgałęziających sygnał zegarowy. Brak takich

buforów powodowałby nadmierne obciążenie i wzrost impedancji linii.

Niekoniecznym ale przydatnym układem jest pamięć flash, umożliwiająca

przechowywanie istotnych informacji, np. zrzucanie błędów w czasie testowania systemu.

Pamięci RAM wymagają napięcia referencyjnego, równego połowie napięcia zasilania.

Wymusiło to konieczność użycia regulatora DC, zapewniającego na wyjściu wymagane

napięcie.

Złącza FMC są podłączane najczęściej w standardzie VITA 57. Standard ten przewiduje

sygnały dla interfejsu JTAG. Zatem możliwe jest testowanie układów podłączonych do złącz

FMC. Do interfejsu JTAG podłączone są układy FPGA znajdujące się na płycie. Interfejs ten,

może być łączony w konfiguracji Daisy-Chain, jednak wymagałoby to aby w złączach FMC

zawsze była wpięta płytka z rozszerzeniami. Aby umożliwić skanowanie za pomocą JTAG

samych układów FPGA, należało interfejs ten zrównoleglić. Równoległe podłączenie kilku

układów pod JTAG spowodowałoby zbyt duże obciążenie linii. Aby temu zapobiec konieczne

było użycie bufora, za pomocą którego sygnały te zostały rozdzielone.

Układy FPGA wymagają odpowiedniej sekwencji włączania napięć. Dobierając

przetwornice napięcia DC/DC należało uwzględnić tę konieczność. Przetwornice napięcia

zastosowane w projekcie mogą być sterowane zewnętrznym sygnałem, który umożliwia

jednoczesne włączanie i wyłączanie wszystkich napięć wyjściowych. Sygnał ten podawany

jest z przerzutnika typu D, którym steruje użytkownik za pomocą przycisku DIP-SWITCH.

3.1.2. FPGA

Układ FPGA był wybierany z rodziny układów Virtex firmy Xilinx. Pod uwagę brane były

cztery serie tych układów: Virtex 4, Virtex 5, Virtex 6 i Virtex 7.

Głównymi czynnikami, które decydowały o wyborze najbardziej odpowiedniego układu były:

Przepustowość bloków szeregowej transmisji danych GTX (min. 5Gb/s),

Cena,

Częstotliwość pracy,

Pozostałe zasoby.

Page 28: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

28

Układ Virtex 4 został wyeliminowany z dalszych rozważań, ponieważ nie spełniał

minimalnych wymagań co do przepustowości bloków typu transceiver GTX. Z wyboru

właściwego układu, został także wykluczony Virtex 7, ze względu na wysoką cenę

w przeliczeniu na jednostkę zasobów (nawet najtańszych modeli).

Pierwsze 3 kryteria spełniły układy Virtex 5, z rodziny FXT, i Virtex 6, z rodziny LXT.

W związku potrzebą wybrania optymalnego układu, przeanalizowano bardziej szczegółowo

modele serii Virtex 5 i Virtex 6. W tabelach 8.1 i 8.2 w dodatku nr 8.1 zostały przedstawione

wszystkie modele tych układów, w zadanym przedziale cenowym.

Uwzględniając wymienione parametry w tabelach 8.1 i 8.2, a także cenę względem tych

parametrów, najbardziej wydajnym i opłacalnym okazał się układ Virtex 6 XC6VLX195T –

1FF1156C [2][3][4][5][6][7].

Podstawowymi elementami systemu są 3 układy FPGA Virtex 6 XC6VLX195T-

1FF1156C.

W dalszej części projektu przeanalizowano parametry wybranego układu mające wpływ

na projekt płyty. W tabeli 8.3 w dodatku 8.1 znajduje się zestawienie podstawowych

parametrów tego układu.

Układy FPGA firmy Xilinx wymagają dużej ilości prądu podczas włączania, w celu

zapewnienia prawidłowej inicjalizacji urządzenia. Rzeczywisty pobór prądu zależy od

kolejności włączania napięć i szybkości zasilacza. Zalecana sekwencja uruchamiania dla

układów Virtex 6 jest następująca: VCCINT, VCCAUX, VCCO. Nie przestrzeganie tej

sekwencji może skutkować fizycznym uszkodzeniem układu FPGA.

Jeżeli zalecana kolejność włączania nie może być przestrzegana, wymagane jest aby

w trakcie konfiguracji, wszystkie piny I/O pracowały w stanie wysokiej impedancji.

Następnie napięcie VCCAUX musi być dostarczone wcześniej niż VCCO lub napięcia te

mogą pochodzić z tego samego źródła.

Podobna sytuacja jest w trakcie wyłączania zasilania. Napięcia zasilające powinny być

wyłączane w odwrotnej kolejności niż przy uruchamianiu.

Szybkość transferu danych przez szeregową linie odbiornika i nadajnika GTX wynosi

5 Gb/s.

3.1.3. Flash konfiguracyjny

Układy FPGA użyte w projekcie posiadają ulotną pamięć, tak więc muszą być konfigurowane

po każdym włączeniu zasilania. Aby możliwa była samodzielna konfiguracja systemu,

należało użyć pamięć flash przechowującą strumienie danych konfiguracyjnych do układów

FPGA. W tym celu został użyta pamięć flash XCF128XFTG64C [4], której charakterystyka

Page 29: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

29

znajduje się w dodatku nr 8.2. Powyższa pamięć została wybrana ze względu na zalecenia

firmy Xilinx, znajdujące się dokumentacji wybranego układu FPGA Virtex 6 [4][7].

3.1.4. Pamięć RAM – DDR3

Układy FPGA Virtex 6, współpracują z różnymi typami pamięci RAM [3], takimi jak:

DDR,

DDR2,

DDR3,

QDR.

Standardy DDR i DDR2 zostały zastąpione przez tańsze, szybsze i wydajniejsze

pamięci DDR3, więc nie były brane pod uwagę w chwili wyboru pamięci RAM. Pamięć QDR

jest bardzo szybką pamięcią. Posiada dwie magistrale danych. Jedna z nich służy do zapisu,

druga do odczytu danych. Takie rozwiązanie umożliwia pracę dwukrotnie wydajniejszą niż

w przypadku pamięci DDR. Wadą tego rodzaju pamięci jest bardzo mała pojemność.

Najlepszym rozwiązaniem okazało się użycie pamięci DDR3, która jest szybka i najbardziej

rozpowszechniona na rynku.

Każdy z układów Virtex posiada własną pamięć RAM. Dwa układy mają podłączone

kości pamięci H5TQ4G63MFR-H9C [8] w obudowach FBGA. Pojemność tych pamięci

wynosi 4 Gb, wykonane są w technologii CMOS. Operacje są wykonywane przy zboczach

narastających i opadających, dzięki czemu uzyskuje się transfer 2 bitów na jednej linii,

w jednym takcie sygnału zegarowego.

Specyfikacja zastosowanego układu pamięci znajduje się w dodatku nr 8.3.

Jeden z układów FPGA ma podłączone gniazdo SO-DIMM, które zapewnia

zainstalowanie modułu pamięci RAM, o pojemności do 8 GB.

3.1.5. Oscylatory

System posiada 3 oscylatory LVPECL [9] zapewniające sygnały zegarowe

o częstotliwościach:

50 MHz – wykorzystywany podczas konfiguracji układów FPGA,

100 MHz – wykorzystywany jako główny sygnał zegarowy,

312,5 MHz – wykorzystywany jako dodatkowy sygnał zegarowy, w przypadku

potrzeby implementacji niektórych interfejsów, wymagających takiej częstotliwości.

Oscylatory te zostały wybrane ze względu parametry zgodne ze specyfikacją układów

Virtex 6. Oscylator 100 MHz może być w łatwy sposób transformowany na inne wartości

częstotliwości w układach MMCM (większość wymaganych wartości częstotliwości to

Page 30: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

30

wielokrotności 50 MHz). W niektórych przypadkach mogą okazać się potrzebne

częstotliwości takie jak 312.5 MHz lub 625 MHz [2]. W celu łatwego uzyskania tych

częstotliwości został użyty oscylator o częstotliwości 312.5 MHz.

Specyfikacja oscylatorów znajduje się w dodatku nr 8.4.

3.1.6. Konwertery napięcia

Wejściowe napięcie zasilające system to 5 V i 12 V. Dla potrzeb poszczególnych układów,

wymagane jest przekonwertowanie napięcia 5 V na kilka innych, mniejszych wartości. Do

tego celu zostały wykorzystane moduły przetwornic PTH05020WAH [10] i PTH05060WAZ

[11]. Układy te konwertują napięcie wejściowe 5 V, na zadaną wartość napięcia wyjściowego.

Wartość napięcia wyjściowego ustawiana jest za pomocą rezystora (podłączonego do pinów

VOADJUST i GND) o odpowiedniej rezystancji. W zależności od wartości rezystancji

RVOADJUST można uzyskać napięcia wyjściowe z zakresu: 0.8 V od 3.6 V.

Rezystancję rezystora Rset, ustalającego zadane napięcie wyjściowe oblicza się ze

wzoru:

Równanie 3.1.

Przetwornica wymaga dołączenia na wejściu kondensatora elektrolitycznego

o pojemności 1000 µF oraz na wyjściu kondensatora tantalowego 330 µF.

Specyfikacja układów przetwornic napięcia znajduje się w dodatku nr 8.5.

Rys. 3.1 – symulacja włączania i wyłączania modułów z kontrolą Track.

Page 31: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

31

3.1.7. Warstwa fizyczna interfejsu Gigabit Ethernet

System posiada 3 interfejsy typu Gigabitowy Ethernet (po jednym dla każdego układu Virtex

6). Pojedynczy blok interfejsu składa się z gniazda Ethernetu i warstwy fizycznej obsługującej

łącze. Warstwa fizyczna jest podłączona do układu FPGA.

Układ scalony w warstwie fizycznej to: Marvell 88E1111 [12]. Układ ten wielokrotnie

był już stosowany do pracy z układami FPGA firmy Xilinx. W związku z tym jest

sprawdzonym układem, co daje gwarancję jego niezawodnej pracy w systemie.

Specyfikacja układu warstwy fizycznej znajduje się w załączniku nr 8.6.

Rys. 3.2 – wykorzystanie układu do pracy z kablem miedzianym (skrętką).

3.1.8. Układ buforowania i rozgałęziania sygnału zegara

Globalne sygnały zegarowe na płycie są doprowadzone do każdego układu FPGA, gdzie

mogą być przetwarzane przez bloki MMCM (menedżery sygnałów zegarowych) na inne

częstotliwości. Każdy sygnał zegarowy, trafia na bufor [13] gdzie jest rozgałęziany na 3 lub 4

sygnały zegarowe, z których każdy jest przesyłany do jednego układu FPGA lub układu

peryferyjnego. Sygnały z oscylatorów są dostarczone do układów Virtex, za pomocą buforów.

Dzięki wykorzystaniu buforów, możliwe było doprowadzenie sygnałów zegarowych do

układów, z jednego generatora LVPECL. Daje to możliwość wykorzystania tego samego

sygnału zegarowego w każdym układzie FPGA, który w tym samym momencie trafia do

każdego z układów.

Wybór odpowiednich buforów był pokierowany koniecznością przesyłania sygnałów

o częstotliwościach kilku GHz, a także możliwość rozgałęziania jednego sygnału na 3 lub

więcej takich samych sygnałów.

Specyfikacja bufora zegarowego znajduje się w załączniku nr 8.7.

Page 32: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

32

3.1.9. Układ pamięci flash wykorzystywanej przez układy FPGA

W celu przechowywania niewielkiej ilości danych przetwarzanych przez system została

zamontowana pamięć FLASH: JS28F00AM29EWLA firmy Micron [14]. Jest to

asynchroniczna pamięć FLASH typu NOR. Kryterium wyboru tej pamięci była pojemność.

Specyfikacja układu zastosowanej pamięci znajduje się dodatku nr 8.8.

3.1.10. Źródło napięcia referencyjnego dla pamięci DDR3

Przetwornice napięcia, które zostały użyte w projekcie umożliwiają uzyskanie na wyjściu

napięcia w zakresie 0.8 V do 3.6 V. Jednak potrzebne jest dodatkowo napięcie o wartości

0.75 V, które służy jako potencjał referencyjny dla pamięci DDR3. Aby uzyskać pożądaną

wartość napięcia równą 0.75 V, należało użyć regulatora napięcia. Regulator

LTC3413EFE#PBF [15] umożliwia przekonwertowanie napięcia 1.5 V, na 0.75 V. Regulator

ten został wybrany ze względu niewielki koszt, wydajność prądową 1 A oraz stabilność pracy.

Specyfikacja układu regulatora napięcia została zamieszczona w dodatku nr 8.9.

3.1.11. Bufor sygnałów interfejsu JTAG

Interfejs JTAG umożliwia konfigurowanie układów FPGA i wgranie strumieni

konfiguracyjnych do pamięci Flash. Oprócz tego, za pomocą JTAG, można testować układy

i moduły rozszerzające podłączone do złącz FMC. Aby była możliwość podłączenia do

interfejsu takiej ilości podzespołów, bez ryzyka wzrostu indukcyjności na liniach

Rys. 3.3 – realizacja interfejsu LVPECL.

Page 33: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

33

transmisyjnych, należało użyć bufora, który w bezpieczny sposób rozdziela sygnały

i umożliwia doprowadzenie ich indywidualnie do każdego z elementów. Bufor użyty

w projekcie posiada 8 par we/wy [16].

Specyfikacja układu bufora znajduje się w załączniku nr 8.10.

3.1.12. Stabilizator napięcia referencyjnego dla układów Virtex 6

System został zaprojektowany tak, aby była możliwość testowania napięć układu FPGA. Do

stabilizacji i poprawnego odczytu tych napięć został zastosowany stabilizator napięcia:

MCP1726-ADJE/SN [17]. Stabilizatory tego typu były testowane przez firmę Xilinx

z układami FPGA Virtex 6.

Specyfikacja układu znajduje się w dodatku nr 3.11.

3.1.13. Zastosowanie przerzutnika typu D w celu synchronizacji włączania napięć

System wymaga odpowiedniej sekwencji włączania napięć zasilających. Realizacja tego

warunku jest wykonana za pomocą sygnału TRACK we wszystkich przetwornicach napięcia.

Włączenie zasilania układu odbywa się poprzez mikroprzełącznik, którego naciśnięcie

powoduje zmianę stanu przerzutnika. Wyjście przerzutnika steruje tranzystorem, który z kolei

wystawia odpowiedni stan (0 lub 1) na wejścia przetwornic konwertujących napięcia

zasilające. Przerzutnik typu D [18], służy do sterowania włączaniem i wyłączaniem zasilania,

za pomocą jednego przycisku. Przerzutnik D został wybrany z tego względu, że poprzez

podłączenie jego wyjścia na wejście D i sterowanie wejściem CLK, możliwa jest zmiana

sygnałów wyjść na przeciwne z każdym zboczem narastającym CLK. Schemat elektryczny

układu znajduje się na rys. 4.5.

Specyfikacja układu znajduje się w dodatku nr 8.12.

3.1.14. Pozostałe elementy zastosowane w projekcie

W projekcie oprócz elementów wymienionych w rozdziałach od 3.1 do 3.12 zastosowano

także następujące elementy:

Cewki – filtracja napięcia zasilającego,

Diody LED: czerwone i zielone – sygnalizacja procesów konfiguracyjnych układów

Virtex 6, a także dowolnych zdarzeń zaprogramowanych w fazie testów,

Koraliki ferrytowe – filtracja napięcia zasilającego,

Gniazda SMA - 32 gniazda umożliwiające przesyłanie sygnałów o częstotliwościach

RF,

Kondensatory o następującym dielektryku:

Page 34: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

34

o elektrolityczne – filtracja napięcia zasilającego, doprowadzonego z zewnętrznego

źródła zasilania,

o tantalowe – filtracja napięcia zasilającego wychodzącego z przetwornic napięcia,

a także filtracja napięcia zasilającego na PCB w miejscach, które wymagały

użycia dużej pojemności (elektrolityczne nie mogły być użyte, że względu na

duży współczynnik ESR i słabe parametry elektryczne dla częstotliwości

wyższych od 100 kHz).

o ceramiczne – filtracja napięcia zasilającego przy każdym z układów systemu,

a także odfiltrowanie składowych stałych z niektórych linii transmisyjnych,

Matryce kondesatorów (scalene w jednej obudowie kilka kondensatorów):

o ceramiczne – filtracja napięcia zasilającego przy układach warstwy fizycznej

interfejsu Gigabit Ethernet.

Rezystory – ustawienie odpowiednich wartości napięć wyjściowych z przetwornic

napięcia, ograniczanie prądów, podciąganie do napięcia zasilającego lub masy

(niektórych pinów) (push-up, push-down).

Przełączniki DIP – SWITCH[19] – używane do ustawiania trybu pracy układów

FPGA, a także włączania i wyłączania niektórych układów:

o 4 przełączane pozycje,

o Konfiguracja przełączników: SPST,

o Max. prąd przepływający przez kontakty: 25 mA,

o Max. napięcie na kontaktach: 24 V,

Złącza typu:

o Header – wyprowadzenie sygnałów pomiarowych, możliwość podłączania

niektórych urządzeń na PCB (poprzez zwarcie odpowiednich pinów):

1 – rzędowe,

2 – rzędowe,

o IDC: T823-114A1S100HEU – złącze dla interfejsu JTAG,

o FMC – HPC (High Pin Count): ASP-134485-01 – możliwość rozszerzania

systemu,

o RJ-45 – gniazda dla interfejsu Gigabit Ethernet,

o Gniazdo kart SD,

o MX-8981-4V-LF – gniazdo prostokątne, służące do podłączenia zewnętrznego

źródła zasilania,

Page 35: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

35

o ERF8-050-05.0-S-DV-TR – gniazdo przystosowane do transmisji szybkich

sygnału, w projekcie poprzez to złącze jest dostęp do niektórych transceiverów

typu GTX,

Tranzystor n-kanałowy BSS138 – służący do sterowania sygnałem TRACK

przetwornic napięcia (sekwencyjne włączanie napięć zasilających),

Mikroprzełączniki DTSM31N [20] – służące do włączania system i resetowania

niektórych układów:

o Konfiguracja przełącznika: SPST-NO,

o Obciążalność prądowa: 50 mA,

o Max. dopuszczalne napięcie na stykach: 12 V,

Tranzystory p-kanałowe FDN304P – służące do sterowania diodami LED,

Rezonator kwarcowy FA-238 [21] – wykorzystywany przez warstwę fizyczną

interfejsu Gigabit Ethernet:

o Częstotliwość: 25 MHz,

o Tolerancja częstotliwości: +/- 50ppm,

o Pojemność 12 pF,

Bateria: VL-1220/VCN:

o Rozmiar: 1220,

o Pojemność: 7 mAh,

o Napięcie wyjściowe: 3 V.

Page 36: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

36

4. REALIZACJA KONCEPCJI

4.1. SCHEMAT ELEKTRYCZNY

4.1.1. Wstęp

Projekt schematu elektrycznego, podobnie jak cała płytka został wykonany w programie

Altium Designer [22][23]. Na rynku dostępnych jest kilka mniej lub bardziej znanych

programów do projektowania PCB. Do najbardziej znanych należą:

Altium Designer,

PADS,

Eagle,

KiCad.

Eagle i KiCad doskonale nadają się do projektowania prostych obwodów drukowanych.

Posiadają licencje typu freeware, dla niewielkich rozmiarów płytek. Prostota obsługi, a także

łatwy dostęp do tych programów przyczyniają się do ich popularyzacji w środowisku

amatorskim elektroników.

PADS i Altium Designer są rozbudowanymi programami, umożliwiającymi

projektowanie zaawansowanych obwodów drukowanych. Oba programy posiadają zbliżone

możliwości i wbudowane narzędzia projektowe. Zdania na temat tych programów są

podzielone. Część elektroników wybiera PADS, a inni wolą pracować w programie Altium.

Zdecydowaną zaletą programu Altium jest zintegrowanie wszystkich modułów w jednym

programie (PADS posiada osobne programy do projektowania schematów, PCB,

symulowania i wykonywania innych czynności). Dzięki integracji w jednym programie

wszystkich modułów łatwiejsze jest eksportowanie połączeń pomiędzy schematami, a PCB

i odwrotnie. Altium Designer jest programem bardziej rozpowszechnionym w Polsce niż

PADS. Wiele firm elektronicznych projektuje płytki w tym środowisku, co wpływa na

łatwiejszy dostęp do licencji oprogramowania.

Schemat elektryczny został zaprojektowany w oparciu o dokumentację techniczną

układów FPGA i każdego z użytych podzespołów peryferyjnych.

Cały projekt zawiera łącznie 31 arkuszy schematów elektrycznych, które zostały

podzielone na następujące bloki:

Zasilacze,

Sygnały zegarowe,

Konfiguracja,

Page 37: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

37

Przechowywanie danych,

Pamięć DDR3,

Złącza FMC,

GTX,

Ethernet,

Handshake,

Zasilanie FPGA,

Masa FPGA,

Złącza SMA,

Złącza ERF,

Złącza testowe.

Etap tworzenia schematów był bardzo ważną częścią, gdyż nawet drobne błędy

popełnione na tym etapie projektu powodują duże problemy podczas uruchamiania całego

urządzenia. Późniejsza eliminacja tych błędów może być trudna lub niemożliwa do

przeprowadzenia. Dlatego ważną częścią projektu było dokładne prześledzenie dokumentacji

wszystkich wykorzystanych elementów i podzespołów oraz stworzenie schematu blokowego,

który znacznie ułatwił późniejsze prace nad schematami elektrycznymi.

Wyprowadzenia rozbudowanych układów, takich jak Virtex 6, są podzielone na banki.

Na schemacie ideowym każdy taki bank jest reprezentowany przez oddzielny blok. Dzięki

temu możliwe jest umieszczanie niewielkiej części schematu (związanej z jednym bankiem)

na jednym arkuszu schematu. Dzięki temu tworzone schematy są znacznie bardziej

przejrzyste. Podział na bloki jest zrealizowany w taki sposób, aby wszystkie piny występujące

w danym bloku fizycznie znajdowały się blisko siebie. Każdy blok ma indywidualnie

podłączone napięcie zasilające, dzięki czemu możliwe jest podłączanie układów

peryferyjnych wymagających różnych napięć zasilania (dany blok musi być zasilany takim

samym napięciem, jak podłączany komponent, aby była zgodność poziomów logicznych

przesyłanych sygnałów). Podobnie jak zasilania, również sygnały zegarowe mogą być

doprowadzane dla każdego bloku osobno. Sygnały te mogą być zewnętrzne, dostarczane

poprzez piny dostosowane do przesyłania sygnałów zegarowych (oznaczenie *CC pinu).

Sygnał zegarowy także można doprowadzić przez bloki MMCM (menedżer zmiany

częstotliwości sygnałów zegarowych) wewnątrz układu Virtex i przetransformować na

wymaganą częstotliwość.

Poniżej znajduje się schemat blokowy całego układu, a także opisy każdego z arkuszy

schematu elektrycznego.

Page 38: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

38

Rys. 4.1 – schemat blokowy systemu.

Page 39: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

39

4.1.2. ZASILACZE

4.1.2.1. Arkusz przetwornic zasilania

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_1_Power.SchDoc.

Rys. 4.2. przedstawia schemat ideowy przetwornicy [10][11] konwertującej napięcie

5 V na 6 innych napięć potrzebnych w całym systemie: 1.0 V, 1.2 V, 1.5 V, 1.8 V, 2.5 V, 3.3

V. Każdy z układów FPGA posiada osobny moduł zasilający rdzeń, VCCINT = 1.0 V i banki

bloków I/O VCCO = 2.5 V. Dodatkowe napięcie VCCAUX = 2.5 V dostarczane jest do układów

Virtex z dwóch przetwornic. Napięcia dla transceiverów GTX są zapewnione przez osobne

przetwornice, tj. VMGTAVCC = 1.0 V i VMGTAVTT = 1.2 V. Jeden moduł zasila banki GTX

wszystkich trzech układów FPGA. Do uzyskania każdego z napięć: 1.5 V, 1.8 V i 3.3 V użyto

po jednej przetwornicy.

Rys. 4.2 – schemat ideowy przetwornicy napięcia.

Page 40: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

40

Każdy z modułów przetwornic na wejściu ma podłączony kondensator elektrolityczny

o pojemności 1000 µF. Na wyjściach znajdują się kondensatory tantalowe 330 µF, o niskim

współczynniku ESR = 25 mΩ. Tak niski współczynnik ESR jest wymagany dla zasilania

układów FPGA użytych w projekcie. Ustalenie napięcia wyjściowego uzyskuje się poprzez

dobranie rezystora o odpowiedniej wartości zgodnie ze wzorem:

Równanie 4.1

Obliczając rezystancje dla wymaganych napięć zostały uzyskane następujące wyniki:

Tabela 4.1 – rezystancje ustawiające wymagane napięcia na przetwornicach.

UWY [V] RSET [kΩ]

1.0 37.4

1.2 17.4

1.5 8.87

1.8 5.49

2.5 2.21

3.3 0.698

Po podaniu stanu niskiego na bramkę tranzystora Q1 następuję zwarcie linii TRACK do

masy, a tym samym jednoczesne uruchomienie wszystkich przetwornic napięcia. Jeśli na

bramce pojawi się stan wysoki (5 V) wówczas TRACK zostanie odłączony od masy i nastąpi

jednoczesne wyłączenie przetwornic. Proces włączania i wyłączania został przedstawiony na

Rys. 3.3.

4.1.2.2. Arkusz przerzutnika typu D i regulacji napięcia 0.75 V

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_1_Vref.SchDoc.

Poniższy schemat przedstawia realizację przetworzenia napięcia 1.5 V na wymagane

napięcie referencyjne dla pamięci RAM o wartości VREF = 0.75 V. Do wytworzenia tego

napięcia został wykorzystany układ: LTC3413EFE#PBF [15].

Page 41: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

41

Zewnętrzne źródło zasilania jest doprowadzone poprzez złącze MX-8981-4V-LF. Do

złącza są podłączane: 12 V, 5 V i GND.

Rys. 4.3 – schemat ideowy konwertera napięcia (1.5 V → 0.75 V).

Rys. 4.4 – złącze MX-8981-4V-LF

Page 42: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

42

Rys. 4.5 – realizacja ON/OFF za pomocą przerzutnika typu D.

Przerzutnik typu D [18] realizuje funkcję podawania stanu wysokiego lub niskiego na

bramkę tranzystora Q1. Stan początkowy układu jest ustalany poprzez rezystory R254 i R255

oraz kondensator C596. Po dostarczeniu zasilania do przerzutnika następuje ustawienie stanu

wysokiego na wejściu CLR i stanu niskiego na wejściu PRE. Tak więc, zgodnie z Rys. 3.12,

na wyjściu Q pojawia się stan wysoki, który jest podawany na tranzystor Q1. W tej sytuacji

wszystkie przetwornice napięcia są wyłączone. Do upływu czasu naładowania kondensatora

C596 przerzutnik nie reaguje na sygnały podawane na wejścia D i CLK. Po upływie tego

czasu, stan wejścia PRE jest wysoki, a na D jest ten sam stan co na . Wciśnięcie przycisku

S8 powoduje zmianę stanu wyjściowego na przeciwny, a to powoduje uruchomienie

wszystkich modułów zasilających. Wszystkie napięcia wyjściowe przetwornic pojawią się po

ok. 20 ms od czasu podania stanu niskiego na wyjście Q przerzutnika. Kolejne wciśnięcie S8

znowu zmieni stan wyjść na przeciwne i spowoduje to wyłączenie układów zasilających płytę

PCB. Elementy R254 i C596 stanowią układ RC, który odpowiada za resetowanie układu po

włączeniu zasilania. Stała czasowa τ = RC związana jest z czasem ustawienia się

odpowiednich stanów na wyjściach przerzutnika.

Page 43: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

43

4.1.3. Sygnały zegarowe

4.1.3.1. Arkusz rozgałęziania sygnałów zegarowych

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_2_CLK.SchDoc.

Poniższy schemat przedstawia zastosowaną w projekcie metodę rozprowadzenia

globalnych sygnałów zegarowych z oscylatorów [9].

Wyjście pary różnicowej jest podłączone do wejścia bufora [13]. Bufor rozdziela sygnał

na 3 sygnały, które są doprowadzone do każdego z układów FPGA. Kondensatory

umieszczone na schematach służą do filtracji niewielkich tętnień pochodzących od zasilania.

Rezystory R100 i R101, a także R102 i R103 stanowią dzielniki napięcia. Zasilane są z szyny

RAIL_1.5 V, tak więc potencjał pomiędzy rezystorami w jednej parze jest równy 0.5 V, gdyż:

Równanie 4.2

Takie napięcie jest wymagane na pinie VT, jeśli pracuje on z oscylatorem LVPECL, co

wynika ze wzoru:

Równanie 4.3

W tym przypadku zarówno oscylator, jak i bufor są zasilane napięciem równym 2.5 V,

tak więc VT = 0.5 V.

Rys. 4.6 – bufory rozgałęziające sygnały zegarowe

Page 44: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

44

W podobny sposób jak powyżej są rozprowadzone również sygnały zegarowe

wychodzące z MMCM układów Virtex, które są podawane na wejścia buforów. Łącznie

w projekcie użyto 9 buforów. Dwa z nich służą do rozprowadzenia sygnałów referencyjnych,

natomiast na wejścia pozostałych siedmiu buforów doprowadzone są sygnały zegarowe,

wyjściowe z układów FPGA oraz złącz FMC. Cztery bufory służą do doprowadzenia

sygnałów zegarowych z gniazd FMC do układów FPGA, dwa bufory służą do

rozprowadzenia sygnałów służących do synchronizacji układów Virtex 6 pomiędzy sobą, w

czasie ich pracy. Ostatni bufor umożliwia utworzenie dodatkowej częstotliwości będącej

wspólną dla wszystkich układów Virtex, która może być następnie transformowana ponownie

w menedżerach sygnału zegarowego MMCM lub służyć jako dodatkowa synchronizacja. Jest

to nadmiarowy bufor, który został umieszczony ze względu na to, że całe urządzenie jest

prototypem i przewiduje się, że może zaistnieć potrzeba jego wykorzystania w czasie

uruchamiania i testowania urządzenia.

4.1.4. Konfiguracja

4.1.4.1. Arkusz podłączenia układów FPGA do interfejsu JTAG

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_3_Config_JTAG.SchDoc.

Schematy zawierające elementy konfiguracyjne układów Virtex zostały zaprojektowane

na trzech arkuszach. Poniższy rysunek przedstawia bank 0 jednego układu FPGA - V1.

Page 45: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

45

Połączenie kilku układów Virtex z interfejsem JTAG można zrealizować na kilka

sposobów. Jedną z metod jest połączenie typu DaisyChain [5], co oznacza że sygnał

wyjściowy TDO z JTAG trafia na wejście TDI pierwszego układu FPGA. Następnie pin TDO

układu Virtex jest połączony z pinem TDI kolejnego układu. Wyjście TDO ostatniego układu

FPGA trafia na wejście TDI interfejsu JTAG. Sygnały zegara TCK i trybu pracy TMS trafiają

do każdego układu FPGA ze wspólnej linii.

Rys. 4.7 – schemat ideowy banku 0 układu Virtex V1.

Rys. 4.8 – realizacja podłączenia układów Virtex do złącza interfejsu JTAG [5].

Page 46: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

46

Interfejs JTAG został również podłączony do gniazd FMC, jednak istnieje możliwość

całkowitego ich ominięcia, lub podłączenia tylko jednego gniazda. Realizacja tego

rozwiązania zostanie przedstawiona w rozdziale 4.7.1. Każdy układ FPGA może pracować

w kilku trybach konfiguracyjnych [5], takich jak:

Master-Serial,

Slave-Serial,

Master SelectMAP (szyna danych x8, x16),

Slave SelectMAP (szyna danych x8, x16, x32),

JTAG/skanowanie,

Master Serial Peripheral Interface (SPI),

Master Byte Peripheral Interface Up or Down (BPI-UP, BPI-DOWN) (szyna danych

x8, x16).

Powyższe konfiguracje można uzyskać za pomocą przełączników S1, S2 i S3.

W konfiguracji master jednego układu FPGA (V1) pamięć Flash, z której przesyłane są

strumienie konfiguracyjne, otrzymuje sygnał zegarowy z urządzenia ustawionego w tryb

master. Pozostałe układy Virtex muszą w tej sytuacji pracować w trybie slave i podobnie jak

pamięć Flash, sygnał zegara konfiguracyjnego otrzymują z układu FPGA V1, który jest

ustawiony w tryb master. Ustawienie źródła sygnału zegarowego do konfiguracji, wybierane

jest za pomocą zworek J43 i J44. Sygnał zegarowy służący do konfiguracji, generowany

w układzie FPGA V1 ma częstotliwość 33 MHz. Jednocześnie w całym systemie tylko jeden

układ może pracować w trybie master.

Innym rozwiązaniem jest ustawienie wszystkich układów w tryb slave. Wtedy

potrzebny jest zewnętrzny sygnał zegarowy. Taki sygnał został podłączony do wszystkich

układów FPGA, jak również do pamięci Flash. Oscylator konfiguracyjny (1) wystawia sygnał

o częstotliwości 50 MHz (z taką mogą być konfigurowane układy w trybie slave).

Dodatkowym atutem oscylatora jest możliwość jego wyłączenia, jeśli układ Virtex V1 miałby

pracować w trybie master.

W celu wizualizacji procesu konfiguracji diody LED zostały podłączone do pinów

DONE i INIT każdego z układów FPGA.

4.1.4.2. Arkusz podłączenia układu V1 do pamięci konfiguracyjnej typu Flash

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w w dodatku

nr 13: HPC_3_Config_Flash.SchDoc.

Pierwszy z układów FPGA jest konfigurowany bezpośrednio za pomocą pamięci Flash

[4]. Konfiguracje układu FPGA można przeprowadzić w 6 trybach opisanych w poprzednim

Page 47: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

47

rozdziale. W praktyce z wymienionej wcześniej listy trybów, najkorzystniejszymi są

równoległe konfiguracje i to one były wytycznymi podczas projektowania schematów

konfiguracyjnych.

Virtex 6 posiada 2 bloki (24 i 34) służące do konfiguracji układu. Z bloków tych

wyprowadzone są sygnały poprzez dedykowane piny, które odpowiadają za szynę danych

i szynę adresową. Wyprowadzone są także sygnały (także poprzez dedykowane piny)

sterujące konfiguracją. Każdy z tych pinów może pełnić kilka funkcji, np. blok 34 w trybie

Master SelectMAP obsługuje szynę adresową, która jest połączona z pamięcią Flash.

W trybie Slave SelectMAP za pomocą tych samych pinów uzyskujemy dostęp do sygnałów

szyny danych [16…31]. Po skonfigurowaniu się układu, wszystkie piny są wykorzystywane

do transmisji zwykłych sygnałów I/O.

W zaprojektowanej konfiguracji blok 34 generuje sygnały zawierające adresy, pod

którymi znajdują się strumienie danych w pamięci Flash. Do tego bloku są podłączone 2 pary

różnicowe z gniazd SMA, w razie potrzeby służące do doprowadzenia sygnałów zegara

globalnego (piny GC – Global Clock). Na pinie K9 znajduje się programowy sygnał INIT,

który jest pomocny przy konfiguracji pozostałych dwóch układów Virtex.

Blok 24 obsługuje szynę danych, którą są przesyłane strumienie konfiguracyjne

pomiędzy pamięcią Flash i układem Virtex V1. Do tego bloku podłączony jest również

globalny sygnał zegarowy z oscylatora 312.5 MHz, który wykorzystywany jest jako jeden

z referencyjnych oscylatorów, używanych po zakończonym procesie konfiguracji układów

FPGA. Do bloku 24 podłączone są również wyjścia zegarowe MRCC i SRCC, które łączą się

z gniazdami SMA. Wymieniony wcześniej dodatkowy bufor sygnału zegarowego podłączony

jest do bloku 24 układu FPGA V1. Blok ten pełni funkcję sterowania procesem

konfiguracyjnym poprzez sygnały FCS, FOE, FWE i PLATFLASH.

Przełącznikiem S5 można ręcznie zresetować system w sytuacji niepowodzenia procesu

konfiguracyjnego.

Zastosowane rezystory są rezystorami podciągającymi, odpowiednio do masy lub

zasilania. Kondensatory pełnią funkcję odsprzegającą zasilanie.

Wszystkie sygnały szyny adresowej są podłączone poprzez rezystory do masy.

4.1.4.3. Arkusz konfiguracji układów V2 i V3

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_3_Config_V2_V3.SchDoc.

Schemat z arkusza nr 6 przedstawia konfigurację układów Virtex V2 i Virtex V3, które

pobierają strumienie danych z układu Virtex V1. Z tego powodu układy FPGA V2 i V3 nie

Page 48: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

48

wykorzystują szyny adresowej. gdyż pobierają bezpośrednio strumienie danych od układu

V1. Dzięki temu układy V2 i V3 mogą pracować z 32-bitową szyną danych. Układ V1

pobiera strumienie konfiguracyjne dla V2 i V3 z pamięci Flash. Połączenie układu V1

z pamięcią Flash jest zrealizowane za pomocą 16-bitowej szyny danych. Z tego powodu

rozszerzanie szyny danych pomiędzy układami FPGA V1 i V2 oraz V1 i V3 nie miało sensu,

konfiguracja V2 i V3 odbywa się poprzez 16 bitów szyny danych.

Virtex V2 w bloku 24 oprócz danych konfiguracyjnych odbiera również globalny

sygnał zegarowy 312.5 MHz.

Blok 0 jest blokiem obsługującym sterowanie konfiguracją. Na schemacie z arkusza 6,

w blokach 12 i 16 układu V1 znajdują się wszystkie sygnały potrzebne do obsługi bloków 0

układów FPGA V2 i V3.

Konfigurowanie układów FPGA V2 i V3 odbywa się sekwencyjnie, we współpracy

z układem Virtex V1. Kiedy Virtex V1 skonfiguruje sam siebie, wysyła sygnał CSO (Chip

Select Output) z pinu AG30, który jest podawany na CSI (Chip Select Input) układu Virtex

V2. Powoduje to przejście układu V2 w stan odczytu szyny danych. Kilka taktów zegarowych

wcześniej V1 wysyła odpowiednie adresy do pamięci Flash i steruje nią, tak aby

przechwytywać strumienie konfiguracyjne dla układu V2, a następnie przesyła je za pomocą

szyny danych układu V2. Kiedy układ V2 wyśle sygnał DONE, wówczas rozpoczyna się

konfiguracja układu Virtex V3. Virtex V1 wysyła sygnał CSO z pinu F30 na pin odbierający

sygnał CSI w układzie V3. Dalszy proces konfiguracji przebiega dokładnie tak samo jak

w przypadku układu Virtex V2. Po odebraniu sygnału DONE wysłanego z układu V3, cały

system jest skonfigurowany i gotowy do pracy.

Układy V2 i V3 mogą odbierać sygnał zegarowy z zewnętrznego oscylatora 50 MHz,

jak również z układu Virtex V1 poprzez piny AE26 i E31.

4.1.5. Przechowywanie danych

4.1.5.1. Arkusz pamięci FLASH służącej do przechowywania danych

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_4_Data_Flash_V1.SchDoc.

Pamięć Flash [14] została podłączona do układu FPGA V1, aby móc magazynować

przetwarzane informacje. Jeżeli w trakcie testów okaże się, że ilość miejsca w tej pamięci jest

niewystarczalna, istnieje możliwość uzyskania większej ilości miejsca na dane na karcie

pamięci SD, której pojemność może być w dowolnym momencie zmieniona.

Page 49: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

49

Pamięć Flash i karta SD są połączone z blokami 22 i 32 układu Virtex V1. Zapis na

kartę pamięci odbywa się w sposób synchroniczny na szynie 1 lub 4 – bitowej (w zależności

od konfiguracji programowej). Gniazdo karty jest połączone z zasilaniem 3.3 V, gdyż jest to

standardowe napięcie dla kart SD.

Pamięć Flash posiada 26-bitową szynę adresową i 16 bitową szynę danych.

Wszystkie operacje są przeprowadzane asynchronicznie. Podczas operacji zapisu, odczytu

i kasowania pamięć korzysta z napięcia równego 3.3 V, natomiast piny I/O mają podłączone

zasilane równe 2.5 V. Pamięć Flash może być resetowana za pomocą sygnału reset

wysyłanego z pinu AN20 układu FPGA V1.

4.1.6. Pamięć DDR3

4.1.6.1. Arkusz podłączenia pamięci DDR3 do układu V1

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_5_DDR3_V1.SchDoc.

Virtex V1 został podłączony do gniazda SO-DIMM, tak aby mógł korzystać z dużej

ilości pamięci. Początkowo przewidywane było podłączenie kości w obudowach FBGA,

jednak ze względu na ograniczoną ilość miejsca na płycie PCB oraz zapotrzebowanie na

pojemność przynajmniej 4 GB, należało zmienić koncepcję i użyć gniazda SO-DIMM.

Komunikacja pomiędzy podzespołami została tak zaprojektowana, aby można było obsłużyć

moduły pamięci do 8 GB.

Moduł pamięci DDR3 posiada 14 – bitową szynę adresową, która jest obsługiwana

przez bank 26 układu V1. W tym samym banku obsługiwana jest również magistrala wyboru

aktywnych banków pamięci RAM, sterowanie pamięcią i sygnałami zegarowymi

doprowadzanymi do DDR3. Wejściowy sygnał zegarowy 100 MHz wprowadzony jest na

piny A31 i B31.

Rys. 4.9 – schemat ideowy karty pamięci SD

Page 50: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

50

Pozostałe banki: 25, 26 i 36 komunikują się z 64 – bitową szyną danych pamięci RAM.

Sygnały kontrolne i sygnały maskujące doprowadzone są do każdego z tych banków.

Bank 35 ma podłączone 4 diody LED, które są dodatkowymi diodami sygnalizującymi

dowolne zdarzenia. To jakie zdarzenia będą prezentowane wizualnie za pomocą diod LED,

zależy od potrzeb programistów systemu.

Moduł pamięci DDR3 jest zasilany napięciem 1.5 V. Z tego względu banki układu

Virtex V1, komunikujące się z pamięcią zasilane są tym samym potencjałem.

Pamięć wymaga napięcia referencyjnego 0.75 V dla sygnałów szyny adresowej. To

samo napięcie jest również doprowadzone do pinów referencyjnych banków układu V1.

Do złącza P5 doprowadzone są sygnały ZQ wszystkich pamięci na płycie. Poprzez

odpowiednie zwarcie tych pinów można przeprowadzać kalibrację.

Moduły pamięci RAM DDR3 mają zamontowane terminatory, dlatego nie ma

konieczności wprowadzania do układu dodatkowych rezystorów. Moduły takie są wykonane

w technologii fly-by [24], co oznacza, że dla każdej kości pamięci zainstalowanej na płycie

PCB modułu jest wykorzystywana ta sama linia adresowa. Nie ma jednak możliwości

sterowania wyborem aktywnie pracującej kości. Wszystkie pracują jednocześnie, a zapis do

odpowiedniej z nich, odbywa się poprzez uwzględnienie opóźnień propagacji sygnału. Z tego

powodu adresy i dane są wysyłane w sposób ciągły. Transmisja danych odbywa się

z odpowiednimi opóźnieniami dla każdej linii danych, tak aby docierały one do układu

pamięci w momencie, kiedy dotrze do niej adres zapisu tych danych. Sygnały adresu są

przesyłane równocześnie do każdego układu.

4.1.6.2. Arkusze podłączenia pamięci DDR3 do układów V2 i V3

W niniejszym podrozdziale został opisany fragment schematu znajdującego się w dodatku

nr 13: HPC_5_DDR3_V2.SchDoc i nr 10: HPC_5_DDR3_V3.SchDoc.

Schematy przedstawione na arkuszach 9 i 10 zawierają po dwa układy pamięci RAM:

H5TQ4G63MFR-H9C [8], o pojemności 4 Gb każda, które są połączone z układami Virtex

V2 i Virtex V3. Pamięci te są w obudowach FBGA 96 pin.

Podobnie jak w przypadku FPGA V1, do komunikacji z pamięciami DDR3 zostały

użyte te same banki układu V2. W tym przypadku pierwsze dwa banki (25 i 35) komunikują

się z pierwszym układem pamięci, a banki 26 i 36 niezależnie od poprzednich z drugim

układem pamięci. Realizacja osobnych magistral adresowych upraszcza prowadzenie ścieżek,

a także daje jednoczesny i niezależny dostęp do obydwu układów pamięci w tym samym

czasie.

Page 51: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

51

Banki 25 i 26 obsługują magistrale adresowe, a także wysyłają sygnały zegarowe do

pamięci. Do tych banków jest również podłączone sterowanie pamięcią i magistrala wyboru

aktywnych banków pamięci. Bank 25 na pinach A31 i B31 odbiera globalny sygnał zegarowy

z oscylatora 100 MHz. Wszystkie linie adresowe i rozkazów są podłączone przez rezystory

terminujące do napięcia 0.75 V.

Banki 35 i 36 obsługują szyny danych komunikujące się z układami pamięci. Do tych

banków są również podłączone sygnały maski i sygnały kontrolne. Każda szyna danych jest

16 bitowa, a więc łącznie przy 2 kościach, do dyspozycji jest 32 równoległe linie danych.

Układy pamięci pracują z częstotliwością 400 MHz, a informacje są wysyłane zarówno na

narastających i opadających zboczach sygnału zegarowego, co daje łącznie 800 Mb/s

transferu za pomocą jednej linii danych. W związku z 16 bitowymi szynami danych, uzyskuje

się przepustowość 16 x 800 Mb/s = 12800 Mb/s. Możliwe jest wykonywanie tej samej

operacji jednocześnie na obydwu pamięciach, np. zapis danych może być z prędkością 25 600

Mb/s. Jednak ze względu na osobne linie adresowe, może w tym samym czasie być

przeprowadzany zapis do pierwszego układu pamięci oraz odczyt z drugiego układu pamięci.

Wtedy te dwa równoległe procesy odbywają się z prędkościami 12 800 Mb/s.

Do banku 35 są podłączone 4 diody LED. Mogą one służyć do optycznego pokazania

dowolnych komunikatów informujących o ważnych zdarzeniach w czasie pracy całego

systemu.

Wszystkie kondensatory użyte w tych schematach pełnią funkcję integralności

sygnałów.

Układy FPGA V2 i V3 wykorzystują te same banki i te same sygnały są wysyłane do

pinów banków układów V2 i V3. Globalny sygnał zegarowy - 100 MHz, jest podłączony do

pinów A31 i B31 banku nr 25 układu V3. Virtex V3 posiada również podłączone diody LED.

Łącznie w całym systemie zostało umieszone 12 nieprzypisanych diod LED, które poprzez

odpowiednie skonfigurowanie układów FPGA, mogą wysyłać optyczne komunikaty dla

użytkownika.

4.1.7. Złącza FMC

4.1.7.1. Arkusze podłączenia gniazd FMC do układów V2 i V3

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_6_FMC1_V2_Socket.SchDoc i nr 12: HPC_6_FMC2_V3_Socket.SchDoc.

Na arkuszach 11 i 12 przedstawiane są schematy ideowe połączeń gniazd FMC do

układów FPGA V2 i V3. Ze względu na dużą liczbę połączeń schemat połączenia jednego

Page 52: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

52

gniazda został podzielony na dwa arkusze schematów. Pierwszy arkusz zawiera bloki złącza.

Drugi arkusz zawiera bloki układu FPGA, do których podłączone jest dane gniazdo.

Połączenia sygnałów pomiędzy arkuszami zostały zrealizowane za pomocą sygnałów „Net

label”. Cały system zawiera 2 gniazda FMC. Jedno z nich jest podłączone do układu Virtex

V2, natomiast drugie do układu Virtex V3. Realizacja połączeń jest dokładnie taka sama

w obu przypadkach. Wykorzystane są te same bloki układów FPGA, a sygnały są wysyłane

do tych samych pinów użytych bloków. Złącza FMC są połączone zgodnie ze specyfikacją

interfejsu VITA 57.1 [1]. każde gniazdo zawiera 400 pinów, na które składają się:

80 par różnicowych I/O,

8 par różnicowych transmiterów szeregowych GTX,

8 par różnicowych receiverów szeregowych GTX,

4 pary różnicowe sygnałów zegarowych GTX,

Interfejs JTAG,

Zasilanie,

GND.

Złącze FMC HPC (High Pin Count) jest kompatybilne ze złączem FMC LPC (Low Pin

Count). FMC LPC zawiera 160 pinów, których sygnały są umiejscowione w tych samych

miejscach na FMC HPC. Mechaniczne rozmiary gniazd są dokładnie takie same w obu

przypadkach. Dzięki realizacji takich gniazd możliwe jest rozszerzanie interfejsów systemu,

zarówno poprzez złącze 400 – pinowe, jak i 160 – pinowe.

Głównym napięciem zasilającym doprowadzonym do gniazd jest 2.5 V, jednak

występują też napięcia 3.3 V i 12 V.

W dolnej części schematu z arkuszu 12 widoczne jest złącze 14 – pinowe typu IDC,

które służy do zewnętrznej komunikacji z interfejsem JTAG. Obok znajduje się bufor

rozdzielający sygnały JTAG, takie jak TCK (sygnał zegarowy), TMS (wybór trybu pracy)

i TDI (szeregowe wejście danych). Rozdzielanie sygnału jest zastosowane ze względu na

podłączenie gniazd FMC do interfejsu. W podstawowej konfiguracji z interfejsem JTAG będą

komunikowały się jedynie układy FPGA. Jednak poprzez odpowiednie ustawienie zworek na

J14 i J15, można przesłać sygnał przez jedno lub oba złącza FMC. W sytuacji kiedy sygnał

interfejsu ma przepływać przez oba gniazda FMC, musi być włączony jeden przełącznik na

S4 ze schematu: HPC_3_Config_JTAG.SchDoc (arkusz 4). Sygnał FMC_HPC_TDI może

być rozłączany od bufora przełącznikiem S4, tak była możliwość całkowitego odseparowania

gniazd FMC, wtedy kiedy nie będzie potrzeba skanowania ich poprzez JTAG.

Page 53: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

53

4.1.8. Złącza FMC

4.1.8.1. Arkusze podłączenia sygnałów z gniazd FMC do układów V2 i V3

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_6_FMC1_V2.SchDoc i nr 14: HPC_6_FMC2_V3.SchDoc.

Schematy na arkuszach 13 i 14 przedstawiają bloki układów Virtex V2 i Virtex V3,

które są połączone z gniazdami FMC z wcześniejszego podrozdziału. Do komunikacji ze

złączem wykorzystane są banki: 12, 13, 14, 22, 23 układów V2 i V3. Wszystkie sygnały są

parami różnicowymi. Banki 12, 13 i 14 obsługują sygnały dostępne tylko za pomocą złącza

FMC HPC. Banki 22 i 23, są podłączone do pinów gniazda, które mogą być wykorzystywane

w urządzeniu nakładkowym wyposażonym w złącze FMC LPC.

4.1.9. GTX

4.1.9.1. Arkusz transceiverów GTX układu V1

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_7_GTX_V1.SchDoc.

Blok GTX zawiera wszystkie banki układów typu transceiver GTX występujących

w jednym układzie FPGA. Łącznie jest to 5 banków, po 4 transmitery, 4 receivery i 2 pary

różnicowe sygnałów zegarowych w każdym banku. Jeden GTX umożliwia transmisję danych

z prędkością 5 Gb/s, tak więc cały bank GTX umożliwia transmisję danych z prędkością 100

Gb/s. Blok banków GTX jest zasilany napięciem 1.2 V.

Kondensatory użyte na wejściach receiverów służą do odfiltrowania napięcia stałego

z sygnałów.

Bank 112 nie jest wykorzystywany wewnątrz systemu płyty PCB. Cały bank jest

podłączony do złącz SMA, poprzez które może być zrealizowana komunikacja z peryferiami

spoza płyty PCB.

Bank 113 podobnie jak 112 nie komunikuje się z żadnym interfejsem, ani

komponentem na płycie. Jego wyprowadzenia są połączone z gniazdem ERF, poprzez które w

fazie przeprowadzania testów może być podłączone dowolne urządzenie (interfejs) zgodne

z zastosowanym przez programistę standardem komunikacyjnym. W celu zwiększenia

przepustowości pomiędzy układami GTX mogą się one łączyć z wyprowadzeniami

transceiverów z innych układów FPGA na płycie.

Bank 114 zawiera podłączenie jednej pary gniazd SMA i doprowadzenie sygnałów

z szeregowego interfejsu Ethernet [12]: SGMII. Jeden z interfejsów Ethernet ma możliwość

Page 54: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

54

pracy w trzech trybach: SGMII, GMII i RGMII. Bardziej szczegółowo każdy z tych trybów

zostanie omówiony przy okazji opisu interfejsu Ethernet w podrozdziale 4.10.1.

Bank 115 służy do komunikacji w czasie pracy pomiędzy układami Virtex V1 i V2.

Przepustowość tej magistrali wynosi 20 Gb/s.

Bank 116 służy do komunikacji w czasie pracy pomiędzy układami FPGA. Łączy on

układy V1 z V3 i posiada przepustowość 20 Gb/s.

4.1.9.2. Arkusze transceiverów GTX układów V2 i V3

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_7_GTX_V2.SchDoc i HPC_7_GTX_V3.SchDoc.

Arkusz 16 przedstawia schemat ideowy bloku banków GTX układu Virtex V2. W taki

sam sposób są zrealizowane połączenia w układzie V3, co jest zaprezentowane na arkuszu 17

schematów elektrycznych.

Bloki 112 i 113 w obydwu układach służą są podłączone do złącza FMC, dając 40 Gb/s

transferu dla każdego ze złącz.

Bloki 114 układów V2 i V3 nie są wykorzystywane wewnątrz PCB. Ze względu na

dużą wydajność transceiverów GTX, zostały wyprowadzone na złącze ERF. Planowane jest

wykorzystanie sygnałów z tego złącza w późniejszym czasie projektując płytkę

z odpowiednimi interfejsami. Innym sposobem wykorzystania tych sygnałów jest połączenie

między sobą transceiverów w celu zwiększenia przepustowości pomiędzy układami FPGA.

Blok 115 układu Virtex V2 służy do komunikacji w czasie pracy pomiędzy układami

V2 i V3, z przepustowością 20 Gb/s.

Blok 116 układu V2 jest połączony z układem V1 i służy do wymiany danych w czasie

pracy operacyjnej systemu. Magistrala ma przepustowość 20 Gb/s.

Blok 115 układu V3 łączy się z blokiem 115 układu V2.

Blok 116 układu Virtex V3 jest podłączony do układu FPGA V1 wymieniając z nim

dane w czasie obróbki sygnałów, z prędkością 20 Gb/s.

4.1.10. Gigabit Ethernet

4.1.10.1. Arkusze podłączenia interfejsów typu Gigabit Ethernet

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_6_Ethernet_V1.SchDoc, HPC_8_Ethernet_V2 i HPC_8_Ethernet_V3.SchDoc.

Schematy interfejsu Ethernet [12] przedstawione są na powyższych arkuszach.

Page 55: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

55

Arkusz HPC_6_Ethernet_V1.SchDoc przedstawia schemat połączeń kontrolera

interfejsu Gigabit Ethernet z układem Virtex V1, który może pracować w 3 następujących

konfiguracjach:

GMII/MII – Gigabit Media Independent Interface. Tryb MII obsługuje prędkości

transmisji 10 i 100 Mb/s, natomiast GMII umożliwia transmisję danych

z prędkościami 10, 100 i 1000 Mb/s. Interfejs ten zapewnia transmisję i odbiór danych

8 bitową ścieżką, która może pracować w trybach half-duplex i full-duplex. GMII

zapewnia 2 sygnały kontrolne: jeden wskazuje na obecność pakietu, a drugi na brak

kolizji. Tryb ten umożliwia podłączenie kilku typów kabli, jednak w przypadku tego

projektu wykorzystywany będzie ekranowany kabel UTP, popularnie nazywany

skrętką.

RGMII – Reduced Gigabit Media Independent Interface. Interfejs ten wykorzystuje

zredukowaną o połowę liczbę pinów, w stosunku do GMII. Redukcja ta została

uzyskana poprzez usunięcie sygnałów kontrolnych, a także transfer danych na obydwu

zboczach sygnału zegarowego. Max. liczba pinów w tej konfiguracji wynosi 12.

SGMII – Serial Gigabit Media Independent Interface. W tym trybie pracy jest

wykorzystywany różnicowy sygnał zegarowy o częstotliwości 625 MHz.

W odróżnieniu do poprzednich konfiguracji, tryb ten wymaga najmniejszej ilości

pinów i charakteryzuje się najmniejszym poborem mocy. Dane przesyłane są jedną

parą różnicową, natomiast drugą parą różnicową transmitowany jest sygnał zegarowy.

Interfejs ten podłączony jest do szeregowego transceivera GTX.

Rysunek 4.9 prezentuje diody LED sygnalizujące tryb pracy, a także zworki do wyboru

trybu pracy. Diody informują o pracy w trybach: TX, RX lub podwójnej – DUPLEX, a także

o prędkości transmisji: 10, 100, 1000 Mb/s.

Page 56: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

56

Ustawienia trybów pracy wymagają zwarcia ze sobą odpowiednich zworek, zgodnie

z tabelą 4.2

Tabela 4.2 – ustawienia zworek dla poszczególnych trybów interfejsu.

Tryb Ustawienia zworek

J1 J2 J3

GMII/MII Zworka na 1-2 Zworka na 1-2 Brak

RGMII Zworka na 1-2 Brak Zworka na 1-2

SGMII Zworka na 2-3 Zworka na 2-3 Brak

Do komunikacji z interfejsem Gigabit Ethernet został wykorzystany bank 33 w każdym

z układów FPGA. Do tych banków podłączone są wszystkie sygnały warstwy fizycznej

oprócz szeregowego interfejsu SGMII, który został podłączony do transceivera GTX układu

Virtex V1.

Tranzystory Q6 i Q7 służą do sterowania jedną z diod LED znajdujących się w złączu

RJ-45. Użyte złącze posiada 2 diody LED, z których jedna może świecić dwoma kolorami,

w zależności od kierunku przepływu prądu. Stąd sterowanie kierunkiem przepływu prądu

odbywa się za pomocą tych tranzystorów. Gniazdo RJ-45 wymagało podłączenia koralika

ferrytowego do ekranu.

Rys. 4.10 – diody LED i zworki współpracujące z

interfejsem Gigabit Ethernet.

Page 57: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

57

Do pinów XTAL jest podłączony rezonator o częstotliwości 25 MHz. Piny

wykorzystywane przez interfejs SGMII posiadają szeregowo włączone kondensatory pełniące

rolę filtrów składowej stałej. Pozostałe pojemności użyte w tej części projektu to

kondensatory pełniące funkcję integralności sygnału. Rezystory znajdujące się tuż przy

samym układzie 88E1111 pełnią funkcję terminatorów. Diody LED zostały podłączone do

zasilania rezystory ograniczające prąd przepływający przez diody, tak aby nie uległy

uszkodzeniu. Do pinów HSDAC podłączona jest para goldpinów, do których są wysyłane

sygnały testowe z modułu.

4.1.11. Handshake

4.1.11.1. Arkusz handshak-u pomiędzy układami FPGA

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_9_Handshake.SchDoc.

Układy FPGA wymagają sygnałów sterujących, za pomocą których mogą wysyłać do

siebie rozkazy w czasie pracy (np. transmisja, odbiór danych). W tym celu został

zaprojektowany handshake pomiędzy układami FPGA. Cały interfejs komunikacyjny

wykonywany jest w języku opisu sprzętu, jednak koncepcja zastosowania tego typu

handshake-u została zaczerpnięta ze standardu protokołu AXI4 [25] zaprojektowanego przez

firmę ARM.

Tabela 4.3 - Sygnały użyte w projektowaniu handshaku

Sygnał Źródło Opis

ARESET - Asynchroniczny reset globalny. Aktywny w stanie

niskim.

WLAST Master Sygnał ten informuje o ostatnim transferze w procesie

zapisu.

WVALID Master

Sygnał ten informuje o prawidłowym zapisie danych.

Jeśli jest w stanie wysokim dane są dostępne. Jeśli jest w

stanie niskim, dane są niedostępne.

WREADY Slave

Sygnał ten informuje o gotowości do zapisu urządzenia,

do którego mają być wysłane dane. Jeśli jest w stanie ‘1’

to urządzenie jest gotowe, jeśli ‘0’ to urządzenie

niegotowe.

WSTRB Master Sygnał ten informuje, które linie są aktualizowane w

pamięci.

Page 58: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

58

WID[0…3] Master Identyfikator adresu zapisu. Grupa sygnałów

identyfikująca adres zapisu.

BVALID Slave

Sygnał ten informuje o dostępności statusu zapisu. Jeśli

jest w stanie ‘1’ to odpowiedź zapisu jest dostępna, jeśli

‘0’ to niedostępna.

BREADY Master

Gotowość odpowiedzi. Sygnał ten wystawia urządzenie,

które nadawało, informując o gotowości do przyjęcia

odpowiedzi.

BRESP[0,1] Slave Odpowiedź zapisu. Sygnał ten wystawia urządzenie,

które odbierało dane, informując o statusie zapisu.

BID[0…3] Slave

Identyfikator odpowiedzi zapisu. Sygnał jest wysyłany z

urządzenia, które dostało pakiet danych, z

identyfikatorem informacji o otrzymaniu tych danych.

RREADY Master Gotowość odczytu. Urządzenie „czytające” wystawia ten

sygnał informując o gotowości odczytu.

RVALID Slave

Poprawność odczytu. Sygnał ten informuje o dostępie do

danych odczytywanych i poprawnie zakończonym

procesie odczytu. Jeśli jest w stanie ‘1’ to dane są

dostępne, jeśli ‘0’ to niedostępne.

RLAST Slave Koniec odczytu. Sygnał ten informuje o ostatnim

transferze w procesie odczytu.

RRESP[0,1] Slave Odpowiedź odczytu. Sygnał ten informuje o statusie

operacji odczytu.

RID[0…3] Slave Grupa sygnałów reprezentująca identyfikator odczytu.

4.1.12. Zasilanie FPGA

4.1.12.1. Arkusze bloków zasilania układów FPGA

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_10_VCC_V1.SchDoc, HPC_10_VCC_V2.SchDoc i HPC_10_VCC_V3.SchDoc.

Schemat z rys. 4.10 przedstawia podłączenie wszystkich trzech układów FPGA do

akumulatora. Bateria (akumulator) nie jest wymagana w każdym trybie pracy systemu. Ze

względu na fakt, że projektowane urządzenie jest prototypem, została ona jednak

zainstalowana. Poprzez zworki istnieje możliwość podłączania i odłączania akumulatora od

Page 59: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

59

układów. Zworki mają po 3 piny, ze względu na to, że w sytuacji kiedy układ nie jest

podłączony do akumulatora, to jego piny dedykowane do tego celu, powinny być zwarte do

masy. Jeśli zworki na złączach J7, J8 i J9 są ustawione na pozycjach 1-2, wówczas każdy

Virtex jest podłączony do akumulatora. Przy ustawieniu zworki na miejscach 2-3, piny

VBATT_0 są zwarte do masy.

Rys. 4.11 - podłączenie baterii do układów FPGA

Akumulator w czasie ładowania dostaje napięcie 2.5 V z dzielnika, poprzez diodę

schottky’ego.

Schematy na arkuszach 22, 23 i 24 pokazują sposób podłączenia zasilania do bloków

GTX. Występują tam napięcia VMGTAVCC = 1.0 V i VMGTAVTT = 1.2 V. Wytyczne

firmy Xilinx [6] odnośnie stosowania kondensatorów odsprzęgających mówią o tym, że

powinny być one podłączone w następujący sposób:

330 µF – tantalowy, 1 kondensator na każde źródło zasilania,

47 µF – ceramiczny, 1 kondensator na każde 8 pinów,

0.22 µF – ceramiczny, 1 kondensator na każdy pin zasilający.

Na tych samych schematach znajduje się zasilanie rdzenia i banków I/O, a także

podłączenie dodatkowego napięcia VCCAUX. Banki I/O są zasilane napięciami takimi jakich

wymagają podłączone do nich urządzenia peryferyjne. Większość banków I/O pracuje

z potencjałem 2.5 V, natomiast banki do których jest podłączona pamięć RAM DDR3,

Page 60: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

60

zasilane są niższym napięciem wynoszącym 1.5 V. Bank 12 w układach V2 i V3, napięcie

zasilające pobiera ze złącza FMC.

Każdy z banków wymaga 4 kondensatorów odsprzęgających o wartościach:

330 µF – tantalowy, 1 przy każdym źródle zasilania,

47 µF – tantalowy, 1 na każdy bank,

22 µF – ceramiczny, 1 na każdy bank,

0.22 µF – ceramiczny, 1 na każdy bank.

Taki sam zestaw kondensatorów jest wymagany do separacji od źródła zasilania

wszystkich pinów VCCAUX.

Zasilanie rdzenia wymaga integralności sygnałów za pomocą kondensatorów:

330 µF – tantalowy, 4 sztuki na wszystkie piny. Na schemacie znajdują się 3,

a dodatkowy czwarty znajduje się tuż przy przetwornicy napięcia i na schemacie jest

również umiejscowiony razem z przetwornicami (Arkusz 1),

2.2 µF – ceramiczny, 4 sztuki na wszystkie piny zasilające,

0.22 µF – ceramiczny, 8 sztuk na wszystkie piny zasilające.

Blok zasilania układu FPGA, posiada 6 pinów testowych, służących do pomiaru napięć

zasilających. Wszystkie te wyprowadzenia zostały połączone ze złączem typu header.

4.1.13. Masa FPGA

4.1.13.1. Arkusz bloków masy układów FPGA

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_11_GND_V1.SchDoc, HPC_11_GND_V2.SchDoc

i HPC_11_GND_V3.SchDoc.

Każdy Virtex użyty w projekcie posiada 260 pinów masy, które są rozmieszczone

równomiernie w całej przestrzeni wyprowadzeń z układu. Ze względu na tak dużą ilość

pinów, w bibliotece został stworzony osobny blok poświęcony tylko przypisaniu nóżek GND.

Dla bloku masy jednego układu FPGA, został przeznaczony 1 arkusz schematu, na

którym wszystkie piny bloku są podłączone do GND.

4.1.14. Złącza SMA

4.1.14.1. Arkusz złącz SMA

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_12_SMA.SchDoc.

Page 61: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

61

Na płycie PCB są zamontowane 32 gniazda SMA. Wszystkie razem stanowią 16 par

różnicowych. Złącza te pełnią funkcję komunikacji z urządzeniami spoza płyty lub też mogą

służyć do połączeń na płycie, które w czasie projektowania PCB nie były przewidziane.

Rys. 4.12 – złącza SMA

Są one przewidziane do następujących zadań:

2 pary: wejście sygnałów zegarowych,

3 pary: wyjścia sygnałów zegarowych,

1 para: referencyjny sygnał zegarowy,

5 par: transmitery GTX,

5 par: receivery GTX.

Sygnał jest przesyłany wewnętrznym pinem złącza, natomiast obudowa jest podłączona

do GND.

4.1.15. Złącza ERF

4.1.15.1. Arkusz złącz ERF

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_13_ERF_GTX.SchDoc.

Każdy Virtex posiada łącznie 20 transceiverów GTX. W projekcie nie zostały

wykorzystane wszystkie transceivery. Na etapie programowania i testowania urządzenia może

się okazać, że będzie potrzebna ich większa ilość. Z tego względu, wszystkie nie

wykorzystane banki GTX zostały podłączone do złącza ERF umożliwiającego transmisję

sygnałów z częstotliwością RF.

Na płycie PCB zostały zamontowane 2 gniazda ERF. Każda para różnicowa,

podłączona do gniazda jest odseparowana masą od sąsiednich par.

Page 62: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

62

4.1.16. Złącza testowe

4.1.16.1. Arkusz stabilizacji i wyboru napięcia referencyjnego dla operacji

pomiarów napięć układów FPGA

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_14_Test_Probe.SchDoc.

System monitorowania informuje o temperaturze układu i napięciach wewnątrz FPGA.

Układ U6 [17] konwertuje analogową postać sygnału testowanego na cyfrową. Poprzez

zworkę J11 istnieje możliwość wyboru zewnętrznego napięcia referencyjnego lub

wewnętrznego z układu FPGA. Najwyższą dokładność pomiarów w zakresie

temperatur − 40˚C do 85˚C uzyskuje się z zewnętrznego źródła napięcia referencyjnego.

Za pomocą przełącznika S6 istnieje możliwość włączania lub wyłączania napięcia

wyjściowego od wszystkich źródeł napięcia referencyjnego MCP1726.

Tego samego typu połączenia jak powyżej są zrealizowane dla wszystkich układów

FPGA.

Rys. 4.13 – system monitorowania układów FPGA

Page 63: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

63

4.1.16.2. Arkusz złącz typu header służących do pomiaru napięć układów FPGA

W niniejszym podrozdziale został opisany fragment schematu znajdujący się w dodatku

nr 13: HPC_14_Test_Probe_HDR.SchDoc.

Sygnały pomiarowe ze wszystkich układów FPGA zostały doprowadzone do złącz typu

header (2 – rzędowe po 10 pinów). Umożliwia to dostęp do pomiaru napięcia zasilania

TEST_AVDD, a także do referencyjnego potencjału ADR_VREFP. Sygnały DXP i DXN są

połączone z diodą termiczną, która wskazuje temperaturę układu FPGA.

4.2. PCB

4.2.1. Masa (GND)

Fundamentalną zasadą projektowania układów elektronicznych jest określenie napięcia

referencyjnego, będącego wspólnym punktem odniesienia dla wszystkich innych napięć

występujących w układzie. Tak określony punkt nazywany jest „masą”. Może to być punkt

podłączenia zasilania do obwodu lub masy z zewnątrz. Dla danej płytki takie napięcie jest

zawsze traktowane jako 0 V i inne wartości potencjałów mogą być dodatnie lub ujemne

względem tego punktu.

Jednym z największych problemów w obwodach elektronicznych jest zagwarantowanie

poziomu 0 V dla całej powierzchni masy. Ponieważ przewodniki mają niezerową rezystancję

i impedancję, to przepływający przez nie prąd powoduje odkładanie się napięcia. Efektem

tego zjawiska jest to, że potencjał 0 V występuje tylko w miejscu podłączenia źródła

zasilania, natomiast we wszystkich innych punktach „masa” ma wartość inną niż 0 V. Poniżej

został zilustrowany ten przypadek.

Rys. 4.14 – wyprowadzenia punktów pomiarowych na złącze

Page 64: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

64

Założenia: rezystancja szyny 0 V wynosi 10mΩ/działkę, odległości pomiędzy punktami

A,B,C,D wynoszą 1 działkę. Zatem potencjały w punktach A,B i C względem punktu D są

następujące:

( )

( )

( )

Rys. 4.15 - Napięcia wzdłuż szyny 0 V.

W powyższym przykładzie zmiany napięcia nie są duże, więc dla pracujących urządzeń

nie będzie to stanowiło najmniejszego problemu. Warunki pracy ulegają znacznemu

pogorszeniu przy wzroście zmian tego napięcia, a dzieje się to w następujących sytuacjach:

Kiedy prądy są rzędu amperów, a nie miliamperów,

Kiedy rezystancja przewodnika szyny 0V jest rzędu Ω, a nie mΩ,

Kiedy wypadkowy spadek napięcia ma znaczącą wartość lub taka konfiguracja

wpływa na pracę układu.

Jeżeli niemożliwa jest do zastosowania konfiguracja z Rys. 5.1 należy wówczas wybrać

punkt źródłowy, bliski miejsca podłączenia zewnętrznego zasilania, a następnie do tego

punktu doprowadzać indywidualnie wszystkie połączenia masy. Taka realizacja została

zaprezentowana na Rys. 4.16.

Rys. 4.16 – realizacja połączeń lini masy w jednym punkcie.

Podłączenie źródła

zasilania

D

Podłączenie źródła

zasilania

I3

Punkt

źródłowy

I2

I1

I1 (10mA) I2 (10mA) I3 (10mA)

A B C

szyna 0 V

Page 65: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

65

Rezystywność szyny 0V zależy od:

Szerokości ścieżki,

Grubości ścieżki,

Materiału użytego do wykonania ścieżki.

Szerokość ścieżki można ustalać na tyle dużą, na ile pozwala przestrzeń na płytce PCB.

Grubości materiałów są ustandaryzowane zgodnie z dostępnymi laminatami. Natomiast jeśli

chodzi o materiały, to tutaj jest najmniejszy wybór. Najlepszą przewodność posiada srebro,

jednak pod tym względem niewiele gorsza jest miedź. Ze względu na cenę i dobre

właściwości elektryczne i cieplne to właśnie ten materiał jest najczęściej stosowany do

wykonywania ścieżek. W obwodach o częstotliwościach RF miedziane ścieżki pokrywane są

dodatkowo srebrem. Tabela 5.1 przedstawia przewodności i współczynniki temperaturowe

niektórych materiałów.

Tabela 4.4 – właściwości niektórych materiałów przewodzących prąd.

Metal Przewodność względna

(Cu = 1, w 20˚C)

Temp. współczynnik

rezystancji (/˚C w 20˚C)

Aluminium 0,59 0,0039

Mosiądz 0,28 0,002-0,007

Kadm 0,19 0,0038

Miedź 1,0 0,00393

Złoto 0,65 0,0034

Żelazo 0,177 0,005

Nikiel 0,12-0,16 0,006

Srebro 1,06 0,0038

Cyna 0,13 0,0042

Wolfram 0,289 0,0045

Cynk 0,282 0,0037

W przypadku projektowania wielowarstwowych obwodów najlepszym sposobem

rozwiązania dystrybucji masy jest przeznaczenie jednej lub kilku warstw na płaszczyzny

GND. Dzięki takiemu rozwiązaniu uzyskuje się taki sam potencjał odniesienia w każdym

punkcie płyty. Duża zaletą jest też ekranowanie warstw sygnałowych poprzez płaszczyzny

masy. [26]

Page 66: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

66

4.2.2. Zasilanie

Dystrybucja napięć zasilających podlega podobnym regułom, co rozprowadzanie masy.

Podczas projektowania obwodów PCB ważna jest znajomość przepływających prądów przez

szynę zasilającą. Dzięki temu, poprzez odpowiednie dobranie szerokości i długości ścieżki,

można obliczyć spadek napięcia na tej ścieżce. Jest to istotna cecha, gdyż zbyt niskie napięcie

doprowadzone do zasilającego elementu może skutkować jego niestabilną pracą lub

całkowitym brakiem pracy. W przypadku prądu stałego impedancja jest czysto rezystancyjna.

Jednak wraz ze wzrostem częstotliwości napięcia zasilającego, coraz większe znaczenie

odgrywa indukcyjność.

Przykład 4.1.

Ścieżka laminatu o długości 1m posiadająca rezystancję 38mΩ i indukcyjność 1,5µH.

Dla prądu stałego I = 4A, spadek napięcia wynosi:

Dla prądu zmiennego o zmianie amplitudy 4A/µs, spadek napięcia wynosi:

Podobnie jak w przypadku rozprowadzenia masy, tak też dla napięć zasilających

najlepszym rozwiązaniem jest ich dystrybucja na płaszczyznach leżących pomiędzy

warstwami sygnałowymi. Dzięki temu w każdym punkcie płaszczyzny jest takie samo

napięcie i ekranowanie sąsiednich warstw sygnałowych od siebie.

4.2.3. Linie transmisyjne

Linie sygnałowe można podzielić na:

Analogowe,

Cyfrowe,

Zasilania,

RF,

Mikrofalowe.

Linia staje się linią transmisyjną w chwili kiedy zjawiska w niej zachodzące stają się

istotne w procesie projektowania. Jedynym z istotnych czynników jest częstotliwość i długość

fali. Długość fali jest obliczana ze wzoru:

Równanie 4.4

Page 67: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

67

Długość fali jest poprawiana po uwzględnieniu przenikalności elektrycznej użytych

materiałów, dając wzór:

Równanie 4.5

Jedną z głównych zasad wpływających na to, że linie traktuje się jako transmisyjną jest

to, że długość fali sygnału płynącego przez tą linię powinna być krótsza niż dziesięciokrotna

długość tej linii. W sytuacji projektowania układu cyfrowego, częstotliwość sygnału nie ma

tak dużego znaczenia. Najważniejszym parametrem stają się czasy narastania i opadania

zbocza sygnału. Jeżeli krótszy z czasów narastania i opadania jest mniejszy niż trzykrotny

czas przepływu sygnału wzdłuż danej linii, to taka linia powinna być traktowana jako linia

transmisyjna.

4.2.4. Impedancja charakterystyczna

Impedancja charakterystyczna jest bardzo ważnym parametrem dla linii transmisyjnych. Jest

zależna od wymiarów fizycznych i rodzaju materiałów użytych do budowy warstw

przewodzących i izolacyjnych. Impedancja charakterystyczna jest obliczana za pomocą

wzoru:

Równanie 4.6

gdzie:

R – rezystancja szeregowa na jednostkę długości (Ω/m),

L – szeregowa indukcyjność na jednostkę długości (H/m),

G – przewodność bocznikująca na jednostkę długości (mho/m),

C – pojemność bocznikująca na jednostkę długości (F/m).

W idealnym przypadku R = G = 0 i |ωL| = |ωC|. W rzeczywistych liniach straty, które są

zależne od długości linii i częstotliwości sygnału płynącego przez tą linię wpływają

niekorzystnie na sygnał, powodując zmniejszenie mocy docierającej do odbiornika.

Transmisję sygnału w linii transmisyjnej wyjaśniają ogólne prawa teorii obwodów.

Niezakłócony sygnał jest odbierany tylko wtedy, kiedy zarówno źródło sygnału, jak

i odbiornik mają impedancję charakterystyczną, taką samą jak linia transmisyjna. [26]

Page 68: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

68

4.2.5. Laminat

Laminaty są wykonane z materiału przewodzącego i różnych dielektryków. Podobnie

połączenia pomiędzy warstwami mogą być wykonywane na różne sposoby.

Warstwy przewodzące są wykonywane z miedzianej folii, która jest pod wpływem

wysokiej temperatury i nacisku przyklejana do podłoża. Grubość folii miedzianej jest

określana w jednostkach masy na stopę kwadratową. Najbardziej popularne są jedno- lub

dwu- jednostkowe grubości. Inne grubości, to: 0.25 oz, 0.5 oz, 3 oz i 4 oz. Grubość 1 oz

wynosi typowo 0.035 mm 0.002 mm. Ważnym czynnikiem wyboru grubości miedzi jest jej

rezystywność.

W tabeli 4.2 są przedstawione właściwości niektórych materiałów.

Tabela 4.5 – właściwości laminatów PCB.

Materiał

Rezystancja

powierzchni

[MΩ]

Stała

dielektryczna

[εr]

Stała

dielektryczna

[tan δ]

Wytrzymałość

dielektryczna

[kV/mil]

Temp. x-

y

[ppm/˚C]

Max.

temp

[˚C]

FR4 Min. 1.104

4.6 – 4.9 Max. 0.035 Min. 1.0 13-16 110-

150

FR408 1.106

3.8 0.01 1.4 13 180

Epoxy-

aramid 5.10

6 3.8 0.022 1.6 10 180

Polyimide 3.4 0.01 3.8 20 300

Poliester 3.0 0.018 3.4 27 105

Laminaty mogą być wykonywane w różnych typach konstrukcji. Ze względu na

konstrukcje, laminaty dzielimy na:

Jednowarstwowe (jednostronne) (single-sided) – proste i tanie, jednak nadają się tylko

do nieskomplikowanych obwodów,

Dwuwarstwowe (dwustronne) (double-sided) – podobnie jak jednostronne, tylko że

ścieżki są rozprowadzone po obu stronach laminatu,

Elastyczne (flexible) – główny materiał jest cienki i elastyczny, może być pokryty

warstwami ochronnymi. Może posiadać miedziowane otwory przelotowe,

Dwuwarstwowa z miedziowanymi otworami (double-sided, plated-through-hole) –

podobna do dwuwarstwowej. Dodatkowo posiada przelotki, z jednej warstwy na

drugą, które są miedziowane i łączą ze sobą obie warstwy,

Page 69: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

69

Sztywno – elastyczne (Rigidised Flexible) – takie jak elastyczne. Różnicą jest

przymocowanie części płyty do sztywnego komponentu,

Wielowarstwowe (Multilayer) – wiele warstw materiału jest połączonych laminatem

w jeden stos. Mogą być zastosowane różne rodzaje przelotek, takie jak:

o Przelotowe – przelotka od warstwy Top do Bottom,

o Ślepe – przelotka od warstwy Top lub Bottom do warstwy wewnętrznej,

o Zagrzebane – przelotka pomiędzy warstwami wewnętrznymi,

o Miedziowane – przelotka pokryta miedzią od środka,

o Niemiedziowane – otwór nie pokryta miedzią od środka, może być stosowana

jako do celów mechanicznych, np montażu płytki w obudowie lub montażu

niektórych podzespołów,

Elastyczno – sztywne (Flexi-rigid) – podobne do sztywno – elastycznych, jednak

część sztywna laminatu, należy do struktury wielowarstwowego PCB, z którego

wysunięta jest część elastyczna.

Wybierając odpowiedni laminat należy wziąć pod uwagę następujące czynniki:

Koszt,

Wymiary laminatu (dostępną przestrzeń),

Właściwości elektryczne,

Właściwości mechaniczne,

Dostępność,

Niezawodność i łatwość konserwacji,

Sztywne lub elastyczne – w zależności od potrzeb,

Sztywne lub elastyczne – w zależności od potrzeb. [26]

4.2.6. Stos – laminat FR-408

Płyta PCB dla projektu HPC zbudowana jest z 16 warstw na laminacie FR408. Laminat ten

charakteryzuje się niewielkimi zmianami przenikalności elektrycznej ε w dużym zakresie

zmian częstotliwości pracy sygnałów (do 10 GHz). W zaprojektowanej płycie przewiduje się

pracę na częstotliwościach do 5 GHz. Sygnały o takiej częstotliwości służą do komunikacji za

pomocą transceiverów GTX. Zbocze sygnału w tym przypadku ma wartość 125 ps. Taki czas

narastania odpowiada częstotliwości 8 GHz.

Na wspomniane 16 warstw składa się: 8 warstw sygnałowych i 8 warstw płaszczyzn

zasilania i masy.

Page 70: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

70

Układy Virtex 6 charakteryzują się impedancją pinów I/O w zakresie 40Ω - 60Ω.

W związku z zachowaniem kontroli impedancji ścieżki na warstwach wewnętrznych mają

szerokość 0.1mm, co odpowiada impedancji charakterystycznej z=47Ω. Warstwy zewnętrzne

zachowują impedancję w zakresie 45Ω - 55Ω.

Płyta PCB jest prototypem zawierającym 3 układy FPGA: Virtex 6 XC6VLX195T-

1FF1156C. W kolejnych podrozdziałach zostaną opisane poszczególne złącza, które zostały

podłączone do każdego z układów FPGA. W opisie zostaną przyjęte następujące oznaczenia

układów FPGA:

V1 – Virtex 1 (Virtex 6 XC6VLX195T-1FF1156C),

V2 – Virtex 2 (Virtex 6 XC6VLX195T-1FF1156C),

V3 – Virtex 3 (Virtex 6 XC6VLX195T-1FF1156C).

Układ V1 jest układem, który konfiguruje się automatycznie z pamięci Flash,

a następnie przesyła strumienie danych konfiguracyjnych do układów V2 i V3. Z tego

względu jego układy peryferyjne znacznie różnią się od pozostałych dwóch układów. Układy

V2 i V3 pracują w podobny sposób, mają podłączone te same układy peryferyjne.

Najważniejszymi złączami tych dwóch układów FPGA, są złącza FMC HPC, dzięki którym

możliwe jest projektowanie płytek PCB rozszerzających system i umożliwiających testowanie

różnorodnych interfejsów komunikacyjnych. Układy V2 i V3 planowane są do wykorzystania

w komunikacji z urządzeniami zewnętrznymi (pobieranie surowych danych i wysyłanie

danych przetworzonych) za pomocą gniazd FMC.

Płyta PCB zawiera następujące złącza:

3 x Gigabit Ethernet,

2 x FMC HPC,

2 x ERF,

1 x SO-DIMM (DDR3),

1 x MX-8981-4V-LF,

32 x SMA,

1 x SD Card,

3 x Header 2x5,

1 x Header 2x6,

1 x Header 2x7 (JTAG),

Zworki.

Poniżej jest przedstawiony stackup do płytki PCB.

Page 71: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

71

4 warstwy płaszczyzn masy,

4 warstwy płaszczyzn zasilania,

8 warstw sygnałowych.

Tabela 4.6 – opis warstw stosu

Nr

warstwy

Symbol Warstwa Materiał Grubość

[mm]

Grubość

[mils]

1 GTL Top layer Cu 0.018 0.709

Prepreg 106 [HS 01]

1080 [HS 01]

0.050

0.076

6.220

2 GP1 GND 1 Cu 0.018 0.709

Prepreg 1080 [HS 01] 0.076 6.220

3 G1 Signal-Layer 1 Cu 0.018 0.709

Core 150 µm

Cu 18/18

0.150 9.331

4 GP2 PWR 1 Cu 0.018 0.709

Prepreg 1080 [HS 01] 0.076 6.220

5 G2 Signal-Layer 2 Cu 0.018 0.709

Core 150 µm

Cu 18/18

0.150 9.331

6 GP3 GND 2 Cu 0.018 0.709

Prepreg 1080 [HS 01] 0.076 6.220

Rys. 4.17 – stackup PCB

Page 72: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

72

7 G3 Signal-Layer 3 Cu 0.018 0.709

Core 150 µm

Cu 18/18

0.150 9.331

8 GP4 PWR 2 Cu 0.018 0.709

Prepreg 1080 [HS 01] 0.076 6.220

9 G4 Signal-Layer 4 Cu 0.018 0.709

Core 150 µm

Cu 18/18

0.150 9.331

10 GP5 PWR 3 Cu 0.018 0.709

Prepreg 1080 [HS 01] 0.076 6.220

11 GP6 GND 3 Cu 0.018 0.709

Core 150 µm

Cu 18/18

0.150 9.331

12 G5 Signal-Layer 5 Cu 0.018 0.709

Prepreg 1080 [HS 01] 0.076 6.220

13 GP7 PWR 4 Cu 0.018 0.709

Core 150 µm

Cu 18/18

0.150 9.331

14 G6 Signal-Layer 6 Cu 0.018 0.709

Prepreg 1080 [HS 01] 0.076 6.220

15 GP8 GND 4 Cu 0.018 0.709

Prepreg 1080 [HS 01]

106 [HS 01]

0.076

0.050

6.220

16 GBL Bottom Layer Cu 0.018 0.709

17 GTO Top Overlay

18 GTP Top Paste

19 GTS Top Solder

20 GBS Bottom Solder

21 GBP Bottom Paste

22 GBO Bottom

Overlay

23 GM1 Mechanical 1

24 GM13 Mechanical 13

25 GM15 Mechanical 15

26 GKO Keep_Out

Layer

Grubość całej płytki PCB wynosi 2 mm. Stackup był projektowany, tak aby możliwe

było spełnienie warunków kontroli impedancji ścieżek, a także żeby grubość płytki nie wyszła

zbyt duża. Ważnym czynnikiem były również możliwości izolacyjne dielektryków (jak

najmniejsze przesłuchy pomiędzy warstwami). Najlepszym rozwiązaniem okazało się

zastosowanie rdzeni o grubości 150 µm i pojedynczych prepregów 1080[HS 01], które mają

76 µm grubości. Pod warstwy zewnętrzne należało dodać dodatkowy prepreg 106[HS 01],

Page 73: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

73

aby odpowiednio odizolować te warstwy od warstw wewnętrznych, a także spełnić

wymagania technologiczne pozwalające na wykonanie mikrootworów z warstw zewnętrznych

do wewnętrznych 1 i 2 (Top Layer -> Signal Layer 1; Top Layer -> Signal Layer 2; Bottom

Layer -> Signal Layer 6; Bottom Layer -> Signal Layer 5).

4.2.7. Linie sygnałowe

Ścieżki prowadzone są z impedancją w przedziale 40 Ω do 60 Ω (linie różnicowe 90 Ω -

110 Ω). Przedział taki był możliwy do zaakceptowania, gdyż wyprowadzenia sygnałów

z FPGA mają ten sam przedział impedancji. Na warstwach wewnętrznych decydującą rolę

odegrały parametry technologiczne produkcji obwodu. Min. szerokość ścieżki wynosi 4 mils,

co daje nieco powyżej 47 Ω impedancji.

Impedancja zastępcza jest wyliczana z następujących wzorów:

Dla warstw Top i Bottom:

√ √

(

)

Równanie 4.7

Dla warstw wewnętrznych:

√ (

)

Równanie 4.8

gdzie:

d – grubość rdzenia,

s – szerokość ścieżki,

h – wysokość ścieżki.

Page 74: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

74

Na płycie PCB zostało rozprowadzone 16 płaszczyzn zasilania. Wymusiło to użycie

czterech warstw do dystrybucji napięć zasilających. Dodatkowo naprzemiennie z warstwami

zasilającymi rozprowadzone są płaszczyzny masy. Pomiędzy warstwami zasilającymi są

warstwy sygnałowe. Wszystkie warstwy sygnałowe z dwóch stron sąsiadują z płaszczyznami

zasilania, a siedem z nich leży w sąsiedztwie płaszczyzny masy. Dzięki temu sygnały zostały

od siebie odseparowane i nie było konieczności prowadzenia krzyżujących się ścieżek na

sąsiednich warstwach.

Największe zagęszczenie ścieżek występuje w miejscach łączenia ze sobą obudów

BGA, tj.:

układy FPGA między sobą,

układy FPGA z gniazdami FMC,

układy FPGA z pamięciami RAM.

Istotne na tym etapie było obliczenie przesłuchów pomiędzy kanałami, w celu dobrania

odpowiedniej odległości ścieżek od siebie. Dla linii różnicowych został dobrany odstęp

pomiędzy ścieżkami, zgodny z zależnością:

Równanie 4.9

gdzie:

s – szerokość ścieżki,

d – odstęp pomiędzy ścieżkami pary różnicowej.

Odległości te zostały dobrane odpowiednio dla każdej z warstw sygnałowych tak aby

impedancja różnicowa znajdowała się w przedziale 90Ω - 110Ω. Odstępy linii sygnałowych

sąsiadujących z parami różnicowymi mają wartość przynajmniej o 2,5 raza większą niż

odstęp ścieżek w parze różnicowej.

Odstępy pomiędzy pozostałymi liniami sygnałowymi wynoszą 8 mils dla warstw

wewnętrznych i 10 mils dla warstw Top i Bottom. W szczególnych miejscach, które

wymagały większego zagęszczenia ścieżek, odległości pomiędzy ścieżkami zostały

nieznacznie zmniejszone, jednak w żadnym przypadku nie były mniejsze od wartości

szerokości ścieżek. Minimalna wartość odstępu pomiędzy ścieżkami możliwa do

wyprodukowania w instytucie ITR wynosi 5 mils. W niektórych miejscach ograniczenia

produkcyjne były priorytetowe. W wielu przypadkach odległości pomiędzy ścieżkami zostały

powiększone, gdyż pozwalało na to dostępne miejsce.

Dokonano analizy przesłuchów sygnałów pomiędzy ścieżkami. Stwierdzono, że

w zaprojektowanej płycie dla odpowiednio dobranych odległości pomiędzy ścieżkami,

Page 75: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

75

przesłuchy są na tyle niewielkie, że nie zakłócają pracy urządzenia. Czasy narastania zbocz

(odczytane z dokumentacji układów Virtex 6 [2]) wynosiły:

125 ps – dla szybkich transceiverów szeregowych GTX, które mogą pracować

z częstotliwością do 2.7 GHz,

200 ps – dla pozostałych sygnałów, w szczególności rozważane przy pamięci RAM.

Przesłuchy w większości przypadków miały wartość mniejszą niż: 0.12 V , pochodzącą

od napięcia na sąsiednich ścieżkach. Największe wartości osiągały 0.18 V przy napięciu

zasilającym 1.5 V. Wartości napięć, powstałych w wyniku przesłuchów są bezpieczne i nie

powodują zmian stanów logicznych sygnałów.

Ścieżki o większych długościach musiały być prowadzone na kilku warstwach, ze

względu na przerwy pomiędzy płaszczyznami zasilania i ograniczenia spowodowane

występowaniem innych ścieżek na tej samej warstwie.

Linie różnicowe wymagały kontroli długości, a w niektórych przypadkach konieczna

była korekta długości jednej z linii, tak aby różnica w długości pomiędzy liniami pary

różnicowej nie była większa niż 80 mils. Korekcja długości linii sygnałowych była konieczna

do przeprowadzenia w przypadku ścieżek łączących układy z pamięciami DDR3. Zgodnie

z zaleceniami firmy Xilinx opóźnienia pomiędzy sygnałami, takimi jak:

DQ – linie danych,

A – linie adresowe,

ODT, CAS, RAS, CE, WE, BA linie sterujące,

CK – linie sygnału zegarowego,

Opóźnienia pomiędzy powyższymi sygnałami nie powinny być większe niż 5 ps.

Wszystkie z tych linii zostały wyrównane do takich samych długości. Ścieżki par

różnicowych DQS powinny mieć taką samą długość, jednak nie musiała ona być równa

długości wyżej wymienionych ścieżek sygnałowych.

Po zaprojektowaniu i ostatecznym ustaleniu rozmiarów płytki, posiada ona wymiary

300 mm x 242,5 mm.

Page 76: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

76

Rys. 4.18 – widok 3D płyty PCB.

Page 77: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

77

4.3. OPIS ZŁĄCZ, PINÓW I PRZEŁĄCZNIKÓW

4.3.1. Rozruch systemu

Poniższy rysunek przedstawia blok zasilania płyty.

Na płycie znajduje się 13 przetwornic napięcia. Są one uruchamiane w sposób

kontrolowany, tak aby wszystkie jednocześnie wystartowały i z taką samą szybkością

narastały napięcia wyjściowe. W celu sprawdzenia poprawności podłączonych przetwornic

istnieje możliwość uruchamiania pojedynczo każdej z przetwornic. Do tego celu służą wyżej

Zworki rozruchowe. Służą do

podłączania sygnału „track” do

przetwornic napięcia.

MX-8981-4V-LF

– zewn. napięcie zasilające

(+5V, GND, GND, +12V).

ON/OFF

Rys. 4.19 - blok zasilania płyty.

Page 78: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

78

zaznaczone „goldpiny”. Przy każdym złączu znajduje się opis, do której przetwornicy dana

listwa jest podłączona.

W opisie pinów przyjęto następujące reguły:

Dla pionowego układu pinów, pin nr 1 to pin znajdujący się najniżej (na rysunku).

Dla poziomego układu pinów, pin nr 1 to pin znajdujący się jako pierwszy od lewej

strony (na rysunku).

Tabela 4.7 - konfiguracja podłączeń zworek.

Przetwornica 1-2 2-3

MGTAVTT GND (OFF) TRACK (ON)

UCCO1 GND (OFF) TRACK (ON)

INT3 GND (OFF) TRACK (ON)

INT2 GND (OFF) TRACK (ON)

INT1 GND (OFF) TRACK (ON)

1.8V GND (OFF) TRACK (ON)

3.3V GND (OFF) TRACK (ON)

UCCO3 GND (OFF) TRACK (ON)

UCCO2 TRACK (ON) GND (OFF)

VCCAUX1,2 TRACK (ON) GND (OFF)

MGTAVCC TRACK (ON) GND (OFF)

VCCAUX3 TRACK (ON) GND (OFF)

1.5V TRACK (ON) GND (OFF)

Zewnętrzne napięcie zasilające należy podłączyć do złącza MX-8981-4V-LF. Rozruch

systemu następuje po wciśnięciu przycisku ON/OFF. Wyłączenie systemu następuje po

ponownym naciśnięciu ON/OFF.

Page 79: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

79

4.3.2. Podłączenie baterii pod układy Virtex

Na rys. poniżej są zaznaczone zworki służące do podłączenia układów Virtex do baterii.

W sytuacji kiedy układy FPGA nie są podłączone do baterii, należy piny dedykowane do tego

celu zewrzeć do masy (co jest zapewniane poprzez założenie zworki na niżej zaznaczone

„goldpiny”).

Rys. 4.20 - podłączenie baterii pod układy FPGA.

Page 80: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

80

4.3.3. Opis pozostałych złącz „goldpin”

Poniżej zostały zaznaczone i opisane złącza „goldpin”.

RST-FLASH – reset powodujący

ponowne rozpoczęcie procesu

konfiguracji układu Virtex V1.

Rys. 4.21 – zworki.

Page 81: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

81

Tabela 4.8- opis zworek zaznaczonych na rys. 4.17.

Kolor Nazwa Konfiguracja

Opis 1-2 2-3

CLK0 ON

Założenie zworki podłącza wyjście

oscylatora 50 MHz do układu Virtex V1

i Flash (config_flash) oraz ewentualnie

od układów V2 i V3 (jest to zależne od

ustawienia zworek CLK0_V3

i CLK_V2).

CLK0_V3 CLK0 CLKV1

Wybór źródła sygnału zegarowego,

służącego do konfiguracji układu Virtex

V3. Zgodnie z opisem na płycie,

odpowiednie założenie zworek

umożliwia wybranie sygnału zegarowego

z oscylatora 50 MHz, bądź z wyjścia

MMCM (menedżera clk) układu V1.

CLK0_V2 CLK0 CLKV1

Wybór źródła sygnału zegarowego,

służącego do konfiguracji układu Virtex

V2. Zgodnie z opisem na płycie,

odpowiednie założenie zworek

umożliwia wybranie sygnału zegarowego

z oscylatora 50 MHz, bądź z wyjścia

MMCM (menedżera clk) układu V1.

TVREF1 - -

Złącze wyboru napięcia referencyjnego

dla pomiarów testowych. Możliwy jest

wybór napięcia wyjściowego z regulatora

MCP1726-ADJE/SN (U5) - AVREF1

lub masy tego układu – TGND1.

IO_INIT INIT

W momencie rozpoczęcia konfiguracji

wymagana jest inicjalizacja układów

Virtex i Flash. Dzieje się to

automatycznie w przypadku konfiguracji

układu V1 (poprzez dedykowany pin

z V1, który po konfiguracji jest

niedostępny). Zwarcie tej zworki

Page 82: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

82

umożliwia programowe wymuszenie

inicjalizacji układu Flash (po

skonfigurowaniu V1), co jest pomocne

przy konfiguracji układów V2 i V3.

HSWAPEN1 GND UCCO1

Poprzez zworkę zwiera się pin

dedykowany HSWAPEN układu V1 do

masy lub do napięcia 2.5V

ETH1 Piny testowe interfejsu Gigabit Ethernet.

ETH2 Piny testowe interfejsu Gigabit Ethernet.

ETH3 Piny testowe interfejsu Gigabit Ethernet.

J3 Piny te umożliwiają ustawienie jednego

z trzech trybów pracy kontrolera

interfejsu Gigabit Ethernet,

podłączonego pod układ FPGA V1.

Dokładny opis ustawień tych pinów

znajduje się w tabeli poniżej.

J1

J2

Tabela 4.9 - opis ustawień zworek J1, J2 i J3.

Tryb Ustawienia zworek

J1 J2 J3

GMII/MII 1-2 1-2 Brak

SGMII 2-3 2-3 Brak

RGMII 1-2 Brak 1-2

Page 83: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

83

Tabela 4.10 - opis złącz zaznaczonych na rys. 4.18.

Kolor Nazwa Konfiguracja

Opis 1-2 2-3

V3_TDO FMC_ON FMC_OFF

Złącze to umożliwia podłączenie

gniazda FMC1 do interfejsu JTAG.

Złącze to jest podłączane szeregowo za

układem V3. W ustawieniu zworki na

pozycjach 2-3, Virtex V3 jest

podłączony bezpośrednio do pinu TDO

interfejsu JTAG.

FMC_TDO FMC2_ON FMC2_OFF

Złącze to umożliwia podłączenie

gniazda FMC2 do interfejsu JTAG.

Złącze to jest podłączane szeregowo za

złączem FMC1. W ustawieniu zworki

na pozycjach 2-3, gniazda FMC1 jest

podłączone do pinu TDO interfejsu

JTAG.

TVREF2 - -

Złącze wyboru napięcia referencyjnego

dla pomiarów testowych. Możliwy jest

wybór napięcia wyjściowego

Rys. 4.22 - zworki i złącza testowe.

Page 84: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

84

z regulatora MCP1726-ADJE/SN (U7)

– AVREF2 lub masy tego układu –

TGND2.

Opis złącz dwurzędowych. Zworki ustawiane jedynie na pozycjach łączących oba rzędy

ze sobą, lub całkowity brak zworek.

Kolor Nazwa Pozycja

zworki Opis

ZQ_RAM 5-6, 7-8, 9-

10, 11-12

Złącze umożliwiające kalibrację układów pamięci

DDR3 podłączonych do układów Virtex V2 i V3.

Zakładając zworki na odpowiednie pozycje, zwiera się

piny ZQ układów pamięci RAM. Wymienione

pozycje są połączone z pamięciami RAM, tak jak to

zostało opisane na płycie PCB. Pozycje 5-6 i 7-8

odpowiadają układom pamięci podłączonym do

Virtexa V2. Pozycje 9-10 i 11-12 odpowiadają

pamięcią podłączonym do układu FPGA V3.

TST_V3 -

Złącze testowe. Za pomocą tego złącza można

zrealizować zewnętrzny system monitorowania

parametrów układu FPGA V3.

TST_V2 -

Złącze testowe. Za pomocą tego złącza można

zrealizować zewnętrzny system monitorowania

parametrów układu FPGA V2.

TST_V1 -

Złącze testowe. Za pomocą tego złącza można

zrealizować zewnętrzny system monitorowania

parametrów układu FPGA V1.

Page 85: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

85

W niebieskiej ramce zostały zaznaczone przełączniki typu DIP-SWITCH. Trzy z nich:

CFG_V1, CFG_V2 i CFG_V3 służą do ustawienia trybu konfiguracji każdego z układów

FPGA. W pozycji ON poszczególne piny są podłączane do napięcia 2.5V, co odpowiada

logicznej „1” na wejściu dedykowanym układu FPGA. W przypadku ustawienia pozycji OFF,

dany pin jest podciągnięty do masy przez rezystor 4.7kΩ, co odpowiada logicznemu „0” na

tym pinie.

Pierwsze pozycje przełączników ustawiają „1” lub „0” na pinie RDWR_B_0 każdego

z układów FPGA. Służy on do ustawiania kierunku konfiguracyjnej szyny danych. W pozycji

„0”, szyna pracuje jako „wejście”, natomiast w pozycji „1”, szyna pracuje jako „wyjście”.

Pozycjami opisanymi jako M1, M2 i M3 ustawiamy tryb konfiguracji układu FPGA.

Poniższa tabela przedstawia odpowiednie ustawienia przełączników, odpowiadające

poszczególnym trybom konfiguracyji.

Złącze wyboru napięcia referencyjnego dla

pomiarów testowych. Możliwy jest wybór napięcia

wyjściowego z regulatora MCP1726-ADJE/SN

(U6) – AVREF3 lub masy tego układu – TGND3.

Złącze wyboru napięcia kalibracji dla

pamięci RAM. Możliwy jest wybór masy

(GND) lub napięcia referencyjnego

0.75V.

Rys. 4.23 - zworki i przełączniki.

Page 86: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

86

Tabela 4.11 - opis ustawień przełączników służących do wyboru trybu konfiguracji układów FPGA.

Tryb konfiguracji M[2:0] Szerokość szyny Kierunek CCLK

Master Serial 000 1 Out

Master SPI 001 1 Out

Master BPI-Up 010 8, 16 Out

Master BPI-Down 011 8, 16 Out

Master SelectMAP 100 8, 16 Out

JTAG 101 1 In(TCK)

Slave SelectMAP 110 8, 16, 32 In

Slave Serial 111 1 In

Pozycje dwóch pozostałych przełączników:

MCP1, MCP3, MCP3 – włączenie lub wyłączenie regulatorów napięcia odniesienia

dla zewnętrznego systemu monitorowania parametrów układów FPGA.

FMC_TDI – ustawienie tego przełącznika w pozycji ON umożliwia 2transmisję

sygnału TDI, interfejsu JTAG, do złącza FMC. Sygnał TDI jest rozdzielany

w buforze.

FMC_TDO – ustawienie tego przełącznika w pozycji ON zwiera linię TDO (interfejsu

JTAG) złącza FMC z linią TDO złącza interfejsu JTAG.

D_FL_WP – zabezpieczenie zapisu pamięci Flash, przechowującej dane

konfiguracyjne. Ustawienie tego przełącznika w pozycji ON wyłącza ochronę,

natomiast ustawienie go w pozycji OFF włącza ochronę.

CLK0_EN – ustawienie tego przełącznika w pozycji ON włącza oscylator służący do

konfiguracji (40 lub 50 MHz).

Page 87: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

87

5. URUCHOMIENIE I PODSTAWOWE TESTY PŁYTY PCB

5.1. WSTĘP

Po skończonym etapie projektowania płyty PCB zostały wygenerowane pliki produkcyjne

i wysłane do instytutu tele- i radiokomunikacji (ITR), gdzie została wyprodukowana oraz

zmontowana płyta.

Po odebraniu gotowej płyty z produkcji należało ją uruchomić, przeprowadzić

konfigurację i podstawowe testy umożliwiające sprawdzenie poprawności zaprojektowanej

płyty PCB.

Rys. 5.1 - zdjęcie gotowej płyty PCB.

Przed uruchomieniem płyty PCB należało przygotować stanowisko pomiarowe, a także

założyć radiatory na układy FPGA, ustawić odpowiednio wszystkie przełączniki i zworki.

Zasilanie do płyty zostało podłączone przez złącze MX-8981-4V-LF. Źródłem napięcia był

zasilacz laboratoryjny firmy RIGOL DP1308A . W celu dokonania pomiarów używano

oscyloskopu firmy TEKTRONIX MDO4104B-3 i multimetru firmy FLUKE 289.

Page 88: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

88

5.2. URUCHOMIENIE I POMIARY NAPIĘĆ ZASILAJĄCYCH.

Na zasilaczu ustawiono napięcie wyjściowe na wartość 5V, po czym podłączono do

niego przewody zasilające i włączono wyjście zasilacza. Po uruchomieniu płyty zmierzono

wartości napięć wyjściowych z poszczególnych przetwornic, a także zaobserwowano

przebiegi narastania i opadania napięć wyjściowych podczas włączania i wyłączania

urządzenia. Na rys. 3.1 przedstawione są przebiegi jakich spodziewano się w czasie włączania

i wyłączania płyty, natomiast rys. 5.2 i 5.3 przedstawiają zrzuty z oscyloskopu przebiegów

zaobserwowanych podczas testów.

Rys. 5.2 - przebiegi narastania napięć (1.0V i 2.5V) podczas uruchamiania płyty.

Page 89: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

89

Rys. 5.3 - przebiegi opadania napięć (1.0V i 2.5V) podczas wyłączania płyty.

Wartości wszystkich napięć zasilających były zgodne z oczekiwanymi. Przebiegi

narastania i opadania napięć podczas włączania i wyłączania urządzenia również były zgodne

z oczekiwaniami. Na rys. poniżej przedstawione są wyniki pomiarów napięć wyjściowych

z czterech przetwornic.

Rys. 5.4 - wartości napięć na niektórych przetwornicach (1.0V, 1.2V, 2.5V i 3.3V).

Page 90: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

90

Poniżej znajduje się tabela pomiarowa napięć wyjściowych z poszczególnych

przetwornic DC/DC.

Tabela 5.1 - wyniki pomiarów napięć wyjściowych z przetwornic DC/DC.

Etykieta napięcia Wartość napięcia [V]

RAIL 0.75V 0.7501

VCCINT1 0.9997

VCCINT2 1.0003

VCCINT3 1.0002

MGTAVCC 0.9990

MGTAVTT 1.2041

RAIL 1.5V 1.5092

RAIL 1.8V 1.8007

VCCAUX1,2 2.4881

VCCAUX3 2.4801

UCCO1 2.4856

UCCO2 2.5064

UCCO3 2.4792

RAIL 3.3V 3.2917

5.3. OBSERWACJA SYGNAŁÓW ZEGAROWYCH Z OSCYLATORÓW.

W projekcie zostały użyte trzy oscylatory. Dwa różnicowe o częstotliwościach 100 MHz

i 312.5 MHz oraz jeden z pojedynczym wyjściem o częstotliwości 50 MHz. Poniżej

przedstawiony jest przebieg na wyjściu oscylatora 50 MHz, który jest używany podczas

konfiguracji układów FPGA. Odczytana wartość częstotliwości wynosiła 50.0 MHz (na

rysunku widoczny jest wynik 50.05 MHz, jednak ostatnia cyfra nie była stabilna, co było

spowodowane błędami pomiaru). Natomiast wartości napięć stanów wysokiego i niskiego

miały wartości 3.2 V oraz 0.0 V.

Page 91: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

91

Rys. 5.5 - przebieg sygnału zegarowego na wyjściu oscylatora 50 MHz.

Przebieg sygnału zegarowego na wyjściu oscylatora 50 MHz jest zgodny

z oczekiwaniami. W trakcie pomiarów używane były 2 kanały oscyloskopu. Początkowo

przykładana była jedna sonda i obserwowany był sygnał, a następnie w to samo miejsce druga

sonda. Po przyłożeniu drugiej sondy kształt przebiegu ulegał pogorszeniu. Na podstawie tego

eksperymentu stwierdzono, że masa sondy oscyloskopu zaburza kształt sygnału

i obserwowany przebieg bardziej odbiega od idealnego, niż w rzeczywistości jest

generowany.

Na rys. 5.6 przedstawiono przebieg sygnału zegarowego 50 MHz w punktach

znajdujących się tuż pod pinami zegarowymi (piny CCLK do których doprowadzony jest

sygnał zegarowy o częstotliwości 50 MHz) układu FPGA V1 i pamięci flash, przechowującej

strumienie danych konfiguracyjnych. Odczytane częstotliwości wynosiły po 50.0 MHz w obu

punktach pomiarowych. Wartości stanów wysokiego i niskiego były na poziomie (

) .

Page 92: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

92

Rys. 5.6 - przebieg sygnału zegarowego na wejściach zegarowych układu FPGA V1 i pamięci flash.

Obserwacja powyższych przebiegów pozwoliła stwierdzić, że sygnały zegarowe są

w fazie, a więc prawidłowo zostały poprowadzone ścieżki (odpowiednio dobrane długości),

którymi sygnały te są przesyłane.

Oscylatory różnicowe po uruchomieniu nie działały prawidłowo. Na rys. 4.6

przedstawiony schemat podłączenia oscylatorów do buforów zegarowych. Problemem

okazało się złe ustalanie napięcia na pinie VT bufora zegarowego. Dzielnik rezystancyjny nie

sprawdził się w tym przypadku. Z tego względu zostały odlutowane rezystory stanowiące

dzielnik (R100 – R103). Podano napięcie 0.5V z zasilacza laboratoryjnego i wstawiono

rezystor o wartości 1 Ω pomiędzy pin VT i GND (brak tego rezystora powodował

podnoszenie się napięcia na pinie VT i w konsekwencji złe wartości napięć dla stanów

wysokiego i niskiego na wyjściu oscylatora). Na rys. 5.7 przedstawiony jest schemat logiczny

bufora zegarowego.

Page 93: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

93

Rys. 5.7 - schemat logiczny bufora zegarowego.

Na wejściu bufora znajduje się wewnętrzna rezystancja 100 Ω, zrealizowana za pomocą

dwóch rezystorów. Pomiędzy tymi rezystorami podłączony jest pin VT, na który należało

podać napięcie o wartości 0.5 V. Takie samo rozwiązanie należało zrealizować na wyjściach

bufora.

Po zastosowaniu wszystkich powyższych poprawek, sygnały zegarowe 100 MHz

i 312.5 MHz były prawidłowo generowane przez oscylatory i poprawnie rozdzielane

w buforach zegarowych. Na rys. 5.8 przedstawiony jest przebieg sygnału zegarowego

z oscylatora 312.5 MHz.

Rys. 5.8 - przebieg sygnału zegarowego na wyjściu oscylatora 312.5 MHz.

Page 94: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

94

Wartości napięć dla stanów niskiego i wysokiego są zgodne ze standardem LVPECL

(odczytane wartości napięć wynosiły odpowiednio: stan wysoki – 1.5 V, stan niski – 0.75 V).

Odczytana z pomiarów częstotliwość mieściła się w zakresie 310 – 314 MHz (wpływ na

odczyt częstotliwości miały sondy pomiarowe, a także sam odczyt obarczony był błędem

pomiarowym). Uzyskane przebiegi są zgodne z oczekiwaniami. Kształt przebiegów nie jest

idealnym prostokątem, gdyż generowana częstotliwość jest wysoka i widoczne są czasy

narastania i opadania zbocz. Przy wysokich częstotliwościach wpływ na kształt sygnału ma

indukcyjność i pojemność obwodu. Na obserwowane przebiegi niekorzystnie wpływa sonda

pomiarowa, która ma swoja pojemność i zaburza sygnał.

5.4. KONFIGURACJA UKŁADÓW FPGA

Płyta posiada interfejs JTAG, za pomocą którego komunikuje się z komputerem. Przed

podłączeniem interfejsu do płyty, należało ustawić przełączniki CFG_V1, CFG_V2

i CFG_V3 w pozycjach 0101, aby ustawić tryb konfiguracji układów FPGA przez interfejs

JTAG. Komunikacja z komputerem i konfiguracja wszystkich układów FPGA przebiegła

zgodnie z oczekiwaniami. Układy FPGA wystawiły sygnały DONE oznaczające zakończenie

konfiguracji. Odczytane komunikaty po konfiguracji informowały o braku błędów w czasie

konfiguracji. W dodatku 8.14 znajduje się kopia komunikatów wystawionych po konfiguracji

poszczególnych układów FPGA. Na rysunku poniżej przedstawiony jest układ połączeń

układów FPGA, odczytany programem IMPACT (za pomocą interfejsu JTAG).

Rys. 5.9 - układ połączeń układów FPGA, widziany przez JTAG.

Statusy układów FPGA (zamieszczone w dodatkach) informują o braku błędów podczas

konfiguracji (wszystkie pozycje ze słowem ERROR mają stan logiczny „0”). W statusach

rejestrów znajdują się informacje na temat dostarczenia sygnału zegarowego do układów

FPGA (PLL LOCK STATUS), ustawieniu trybu konfiguracji (MODE PIN M[2:0]) –

w przypadku układu Virtex V1, tryb konfiguracji jest ustawiony na „Slave Select Map”,

natomiast układy FPGA V2 i V3, tryb konfiguracji mają ustawiony na „JTAG”. Układ V1 ma

przestawiony tryb konfiguracji, gdyż strumienie danych dla niego zostały wrzucone do

pamięci flash i dzięki takiemu ustawieniu konfiguruje się on automatycznie po włączeniu

zasilania. Ze względu na długi czas wgrywania danych do pamięci flash, została ona tylko

Page 95: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

95

przetestowana pod kątem poprawnej komunikacji z układem Virtex V1, możliwością

konfiguracji układu po włączeniu zasilania i utrzymaniem danych w pamięci. W dalszej

części testów, wszelkie rekonfiguracje przeprowadzane są za pomocą interfejsu JTAG.

Ostateczne strumienie danych konfiguracyjnych zostaną zapisane w pamięci flash, po

zakończeniu fazy testów systemu.

5.5. KOMUNIKACJA POMIĘDZY UKŁADAMI FPGA (TRANSCEIVERY GTX)

Płyta PCB zawiera trzy układy FPGA, które muszą się ze sobą komunikować. Komunikacja

pomiędzy układami Virtex 6 została zrealizowana za pomocą szeregowych transceiverów

GTX. Linie te umożliwiają transmisję danych z prędkością do 5 Gb/s. Każdy z układów

FPGA jest połączony czterema takimi liniami z innym układem Virtex. W celu

przetestowania łączy GTX został użyty program ChipScope. Po wygenerowaniu algorytmu

testującego łącza GTX (IP Core – IBERT) przesłano go do układów FPGA. Skonfigurowane

układy sprawdzają czy na ich wejścia zegarowe (banków GTX) są podawane sygnały

taktujące. Jeżeli sygnały te są prawidłowo doprowadzone, wówczas w konsoli IBERT

widoczna jest wartość „LOCKED” przy pozycjach TX PLL Status oraz RX PLL Status. Na

poniższym rysunku przedstawiony jest zrzut ekranu przedstawiający status i ustawienia banku

115 układu FPGA V3.

Rys. 5.10 - widok konsoli IBERT z danymi banku 115 układu FPGA V3.

Page 96: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

96

Z powyższego rysunku można odczytać uzyskanie połączenia z innymi urządzeniami,

jak również jego prędkość, dla każdego z transceiverów GTX. Pozycja „Loopback Mode”

umożliwia włączenie pętli dla pojedynczego transceivera GTX, w taki sposób, aby sam do

siebie wysyłał informacje i porównywał je ze sobą. Jeżeli wartość ta jest ustawiona jako

„None” wówczas układ FPGA, może jedynie wymieniać dane z innym urządzeniem. Wartość

pozycji „MGT Link Status”, informuje o szybkości połączenia danego transceivera. Jeżeli

dany GTX nie jest podłączony do innego układu, bądź inny układ nie odpowiada (nie jest

skonfigurowany lub połączenie zostało błędnie zaprojektowane), to wartością tego pola jest

napis: „NO LINK”.

Banki 115 i 116 każdego z układów FPGA zostały przetestowane przy ustawieniu opcji

„Loopback mode” na „None”. Dzięki takiemu ustawieniu jeden układ FPGA wysyłał dane

do drugiego, a następnie tamten natychmiast odsyłał je z powrotem. Virtex generujący dane

porównywał ze sobą strumień wysłany z odebranym i obliczał BER (Bit Error Rate).

Pozostałe transceivery GTX musiały mieć ustawioną opcję ”Loopback mode” na

wartość „Far-End”, a także transmiter danego GTX był połączony kablem koncentrycznym

z receiverem tego samego GTX. Tylko takie ustawienie umożliwiało poprawne

przetestowanie wpływu zakłóceń na linie i obliczenie BER.

W dodatku 8.15 znajdują się wykresy „oka” wszystkich transceiverów GTX łączących

układy FPGA ze sobą, natomiast na załączonym dysku DVD znajdują pliki .csv z wynikami

testów. Wszystkie GTX-y posiadają stopę błędów BER na poziomie ok. (wszystkie

bity były prawidłowo odczytane), w ponad 55% szerokości pasma. Wynik taki jest

zadowalającym wynikiem, zważywszy na to, że przy ustawieniu „Loopback mode” na

wartość „Near-End” (zamknięcie pętli nadajnik - odbiornik wewnątrz układu FPGA), BER

również był na poziomie . Podobne wyniki uzyskał producent układów FPGA –

Xilinx, testując swoją płytę ewaluacyjną z układem Virtex 6 - XC6VLX240T – 1FF1156C

[28], mającym bardzo podobne parametry do układów FPGA użytych w tym projekcie.

5.6. PAMIĘĆ RAM – DDR3

Pamięci RAM zostały uruchomione i przetestowane dla układów FPGA V2 i V3.

Przetestowanie modułu pamięci RAM, współpracującej z Virtex-em V1 było niemożliwe, ze

względu na brak zainstalowanego modułu w chwili uruchamiania płyty i pierwszych testów.

W celu przetestowania pamięci RAM zostały wygenerowane algorytmy w języku

VHDL przy pomocy programów „ISE” i „CoreGenerator” firmy Xilinx. Generując gotowe

algorytmy (IP-Core) należy podać wszystkie parametry układów FPGA i użytych pamięci.

Następnie wystarczy przeprowadzić syntezę i przesłać strumienie danych do układów FPGA.

Page 97: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

97

Układy Virtex były konfigurowane przy pomocy programu ChipScope, który umożliwił

jednoczesne przetestowanie pamięci. Algorytmy testujące były generowane jednocześnie

z generacją projektu IP-Core. W początkowej fazie testów przeprowadzana jest kalibracja

pamięci RAM. Po przeprowadzeniu poprawnej kalibracji wystawiany jest status

„phy_init_done” na wartość „1”. W kolejnej fazie program rozpoczyna wysyłanie pseudo-

losowych danych do pamięci i odbieranie tych samych danych, po czym są one porównywane

ze sobą. Jeżeli proces testowania dobiegł końca i odebrane dane są zgodne z wysłanymi,

wówczas wystawiany jest status „Done” na wartość „1” i „Error” na „0” [29]. Wysyłanie

danych rozpoczyna się od adresu zerowego i kończy na ostatnim, tak aby przetestowane

zostały wszystkie komórki pamięci. Taki proces testowania, sprawdza jednocześnie

poprawność połączeń na PCB. Wysyłane są dane wszystkimi liniami danych, wykorzystując

wszystkie możliwe kombinacje linii adresowych. Opóźnienia pomiędzy liniami szyny danych

i szyny adresowej nie powinny być większe niż 5 ps. Aby zapewnić poprawną synchronizację

adresów i danych, konieczne było wyrównanie długości wszystkich tych linii (a także linii

komunikatów, takich jak: RAS, CAS, CS, itp.) łączących układy pamięci RAM z układami

FPGA. Wyżej opisany test umożliwia sprawdzenie poprawnego wyrównania długości

ścieżek, a także przesłuchów pomiędzy ścieżkami i prawidłowego projektu schematu

elektrycznego. Jeżeli byłyby błędy w projekcie, wówczas status „Error” miałby wartość „1”.

Przeprowadzenie testów pamięci w projekcie HPC dało pozytywne wyniki. Statusy

„phy_init_done” i „Done” wystawiły wartości „1”, natomiast status „Error” wystawił

wartość „0”, dla każdego układu pamięci.

Poniżej znajduje przykładowy rysunek przedstawiający statusy wystawione po

testowaniu pamięci RAM, natomiast w dodatku nr 8.16 znajdują się wyniki i ustawienia

podczas testowania pamięci DDR3.

Rys. 5.11 - statusy wystawione po fazie testów pamięci RAM.

Page 98: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

98

Z powyższego rysunku można odczytać wartość „/c1_phy_init_done” – 1, świadcząca

o tym, że obie kości pamięci podpięte do jednego układu FPGA prawidłowo się

skonfigurowały. Statusy „Done” i „Error” są wektorami dwubitowymi, gdyż osobno

wystawiane są wartości dla każdej z kości pamięci DDR3. Na powyższym rysunku wektory te

są „zwinięte” i pokazują wartość dziesiętną danego statusu. Jeżeli wartość ta jest równa:

0 – wówczas obie kości pamięci mają wystawiony status „0”,

1 lub 2 – wówczas jedna z kości pamięci ma wystawiony status „1”, natomiast druga

„0”,

3 – obie kości pamięci mają wystawiony status „1”.

Status „/c1_dbg_rdlvl_done” ma wartość „3”. Wartość ta informuje o tym, że obie

kości pamięci RAM zakończyły pomyślnie proces testowania. Status „/c1_dbg_rdlvl_err” ma

wartość „0”. Świadczy to o braku błędów obu kości pamięci w procesie testowania

i zgodności danych odczytanych z wysłanymi.

Page 99: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

99

6. PODSUMOWANIE

W ramach pracy zrealizowano projekt płyty PCB spełniający założenia projektowe.

Została zaproponowana koncepcja płyty, która została uzgodniona z elektronikami

zajmującymi się rozwojem opisu sprzętu instalowanego w przyszłości na płycie. Uzgodniony

projekt płyty jest uniwersalny, umożliwia zrealizowanie wielu różnych projektów

badawczych. Spełnił on także wszystkie założenia dostarczone przez firmę Airbus Military.

Zrealizowana płyta zawiera trzy układy FPGA. Wybór układów został przeprowadzony

z uwzględnieniem możliwości finansowych projektu i umożliwia rozwój oprogramowania

z podziałem na kilka współpracujących ze sobą układów FPGA. Projekt umożliwia

zwiększenie niezawodności algorytmów w oparciu o kilka niezależnych układów FPGA.

Dzięki zastosowaniu transceiverów GTX możliwe transmitowanie dużej ilości danych

między układami za pomocą małej ilości linii danych. Koncepcja ta jest wykorzystywana

w oprogramowaniu, które może być podzielone na kilka niezależnych bloków. Możliwa jest

różna konfiguracja płyty umożliwiająca potokowe przetwarzanie danych, jak również

równoległe przetwarzanie danych.

Płyta zawiera kilka pamięci flash, które mogą być wykorzystane zarówno do

konfigurowania płyty, jak i przechowywania danych. Zaproponowano sposób konfigurowania

płyty zapewniający optymalne wykorzystanie pamięci.

Po analizie dostarczonej przez zleceniodawcę projektu dokumentacji zaproponowano

dodanie dodatkowego gniazda FMC do płyty. Gniazdo to zostało dodane i znacznie zwiększa

funkcjonalność płyty. Gniazdo to umożliwia zaimplementowanie interfejsów CAN, Gigabit

Ethernet, SpaceFibre, SpW, HSSL i innych. Gniazdo to także jest przydatne w czasie testów

oprogramowania.

Zaprojektowana płyta swoimi zasobami zapewnia możliwość implementacji

oprogramowania do stabilizacji obrazu pochodzącego z kamery zainstalowanej na satelicie.

Ponadto umożliwia zaimplementowanie algorytmów stabilizacji położenia satelity w oparciu

o analizę obrazu nieba.

Projekt jest rozwojowy, proponowane są nowe zastosowania płyty. Płyta może zostać

zastosowana w celach analizy obrazu, oraz jego kompresji przed przesłaniem na Ziemie.

Autor pracy planuje dalszy udział w realizowanym projekcie „High Performance

Computing for Space Application”. Autor pracy został zatrudniony w firmie Astri Polska na

stanowisku inżyniera projektu i jest odpowiedzialny za udział Astri Polska w niniejszym

projekcie. Przy realizacji projektu autor uzyskał dużą wiedzę z zakresu projektowania

Page 100: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

100

urządzeń elektronicznych i planuje tą wiedzę wykorzystać i rozwijać w dalszych etapach

projektu.

W ramach projektu zaplanowane jest wykonanie kolejnej wersji płyty. Płyta ta będzie

zawierać poprawki wniesione zarówno przez elektroników zajmujących się opisem sprzętu

systemu oraz przez autora płyty. Płyta ta będzie także realizowana przez autora niniejszej

pracy.

Projekt był realizowany przez wielu inżynierów odpowiedzialnych za różne części

projektu. Autor projektu włożył duży wkład pracy w uzgadnianie rozwiązań sprzętowych na

płycie z innymi inżynierami projektu. Dzięki temu autor nauczył się pracy zespołowej

i wspólnej realizacji dużych projektów naukowo – badawczych.

Autor niniejszej pracy był także odpowiedzialny za stworzenie dokumentacji do swojej

pracy. Dokumentacja ta będzie wykorzystywana przez innych inżynierów projektu do

tworzenia opisu sprzętu.

Page 101: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

101

7. LITERATURA

[1]. VITA 57 1-2008(2010)_FMC.pdf, załącznik na płycie CD,

[2]. Xilinx, Virtex 6 datasheet,

http://www.xilinx.com/support/documentation/data_sheets/ds152.pdf, dokument DS152

(v3.5) May 17, 2013,

[3]. Xilinx, Mememory Interface Solution,

http://www.xilinx.com/support/documentation/ip_documentation/ds186.pdf, dokument

DS186 (v1.7) March 1, 2011,

[4]. Xilinx, Platform Flash XL High-Density Configuration and Storage Device,

http://www.xilinx.com/support/documentation/data_sheets/ds617.pdf, dokument DS617

(v3.0.1) January 07, 2010,

[5]. Xilinx, Virtex 6 FPGA Configuratrion,

http://www.xilinx.com/support/documentation/user_guides/ug360.pdf, dokument

UG360 (v3.7) November 27, 2013,

[6]. Xilinx, Virtex 6 FPGA PCB Design Guide,

http://www.xilinx.com/support/documentation/user_guides/ug373.pdf, dokument

UG373 (v1.2) June 10, 2010,

[7]. Xilinx, Platform Flash XL Configuration and Storage Device,

http://www.xilinx.com/support/documentation/user_guides/ug438.pdf, dokument

UG438 (v2.0) December 14, 2009,

[8]. Hynix, 4Gb DDR3 SDRAM, http://www.farnell.com/datasheets/1641692.pdf,

[9]. TXC, 7 x 5 mm SMD LVPECL CXO BB SERIES,

http://www.txccrystal.com/images/pdf/bb.pdf,

[10]. Texas Instruments, PTH05020W - 5-V Input

http://www.ti.com/lit/ds/slts207c/slts207c.pdf,

[11]. Texas Instruments, PTH05060W -5-V Input,

http://www.ti.com/lit/ds/slts216b/slts216b.pdf,

Page 102: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

102

[12]. Marvell, 88E1111 Product Brief, http://www.marvell.com/transceivers/assets/Marvell-

Alaska-Ultra-88E1111-GbE.pdf,

[13]. ON Semiconductor, NB6L14 datasheet,

http://www.onsemi.com/pub_link/Collateral/NB6L14-D.PDF,

[14]. Micron Technology, DATA SHEET,

http://www.micron.com/products/datasheets/087e6d56-ba5a-4cd0-964e-8342641d9547,

[15]. Linear Technology, LTC3413 datasheet,

http://www.farnell.com/datasheets/1692453.pdf,

[16]. Texas Instruments, OCTAL BUFFERS/DRIVERS WITH 3-STATE OUTPUTS,

http://www.farnell.com/datasheets/1764338.pdf,

[17]. Microchip, MCP1726 datasheet,

http://ww1.microchip.com/downloads/en/DeviceDoc/21936c.pdf,

[18]. Texas Instruments, 74AC11074, http://www.farnell.com/datasheets/1763887.pdf,

[19]. OMRON, Slide DIP Switch (SMT Half - pitch)

http://www.farnell.com/datasheets/1759680.pdf,

[20]. DIPTRONICS, datasheet, http://www.tme.eu/pl/details/dtsm31n/mikroprzelaczniki-

tact-pcb/diptronics/#,

[21]. Seiko Epson Corporation, datasheet, http://www.farnell.com/datasheets/1700989.pdf,

[22]. Altium Corporation, Altium Designer, http://www.altium.com,

[23]. Altium Corporation, dokumentacja oprogramowania Altium Designer w zakresie

projektowania PCB, http://wiki.altium.com/display/POPROD/Home,

[24]. EDN Network, artykuł prasowy o technologii fly-by,

http://www.edn.com/design/systems-design/4416627/2/DDR3--A-comparative-study,

[25]. ARM, AMBA AXI and ACE Protocol Specification,

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0022e/index.html,

[26]. Tim Williams, „The Circuit Designer’s Companion”, wyd. Elsevier,

ISBN: 0 7506 6370 7,

Page 103: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

103

[27]. Stephen C. Thierauf, „High-Speed Circuit Board Signal Integrity”, wyd. Artech House,

ISBN: 1-58053-131-8,

[28]. Using an IBERT Core with ChipScope Pro Analyzer,

http://www.xilinx.com/support/documentation/sw_manuals/xilinx13_1/ug811_ChipSco

peUsingIBERTwithAnalyzer.pdf, dokument UG811 (v. 13.1) June 1, 2011,

[29]. Xilinx, Mememory Interface Solution, User Guide,

http://www.xilinx.com/support/documentation/ip_documentation/ug406.pdf, dokument

UG406 March 1, 2011

Page 104: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

104

8. DODATKI

8.1. PARAMETRY UKŁADÓW FPGA

Porównanie kilku układów FPGA Virtex 5 i Virtex 6.

Tabela 8.1. – porównanie podstawowych zasobów układów Virtex 6.

Virtex 6

Rodzina LXT

Numer seryjny XC6VLX195T-

1FF1156C

XC6VLX240T-

1FF1759C

XC6VLX240T-

1FF1156C

XC6VLX240T-

1FFG784C

XC6VLX195T-

2FFG784C

Liczba komórek

logicznych 199680 241152 241152 241152 199680

Liczba pinów I/O 600 720 600 400 400

RAM [bit] 12681216 15335424 15335424 15335424 12681216

Stopień prędkości 1 1 1 1 2

Liczba

transceiver’ów GTX 20 24 20 12 20

Liczba banków I/O 15 18 18 18 15

Liczba bloków

Ethernet MAC 4 4 4 4 4

Liczba bloków PCI

Express 2 2 2 2 2

Liczba managerów

zegara

MMCMS/CMTs

10 12 12 12 10

DSP48E1 640 768 768 768 640

CPU - zegar [MHz] 700 700 700 700 750

Przepustowość GTX

[Gb/s] 5 5 5 5 6,6

Cena (USD) – za 2

sztuki 1372,9383 1915,753 1676,4036 1463,9746 1489,4098

Cena (USD) – za 5

sztuk 1328,77 1858,709 1624,6967 1417,4557 1442,2478

Tabela 8.2 – porównanie podstawowych zasobów układów Virtex 5.

Virtex 5

Rodzina FXT

Numer seryjny XC5VFX30T-

3FF665C

XC5VFX70T-

1FF1136C

XC5VFX70T-

2FFG1136C

XC5VFX70T-

3FFG665C

Liczba komórek

logicznych

Liczba pinów I/O 360 640 640 360

RAM [bit] 2506752 5455872 5455872 5455872

Stopień prędkości 3 1 2 3

Liczba

transceiver’ów GTX 8 16 16 16

Liczba banków I/O 12 19 19 19

Page 105: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

105

Liczba bloków

Ethernet MAC 4 4 4 4

Liczba bloków PCI

Express 1 3 3 3

Liczba managerów

zegara

MMCMS/CMTs

2 6 6 6

DSP48E1 64 128 128 128

CPU - zegar [MHz] 550 400 475 550

Przepustowość GTX

[Gb/s] 6,5 4,25 6,5 6,5

Cena (USD) – za 2

sztuki 825,2499 1057,4346 1315,7328 1664,379

Cena (USD) – za 5

sztuk 807,6761 1028,3446 1273,0801 1612,9545

Tabela 8.3. - zalecane parametry robocze układu Virtex 6.

Symbol Opis Min Max Jednostka

VCCINT

Wewnętrzne napięcie zasilające

względem GND 0.95 1.05 V

Wewnętrzne napięcie zasilające

względem GND, Tj = 0°C to +85°C 0.87 0.93 V

Wewnętrzne napięcie zasilające

względem GND, Tj = –40°C to

+100°C

0.91 0.97 V

VCCAUX Pomocnicze napięcie zasilające

względem GND 2.375 2.625 V

VCCO Napięcie zasilające względem GND 1.14 2.625 V

VIN

2.5 V - napięcie zasilające względem

GND

GND –

0.20 2.625 V

2.5 V i poniżej - napięcie zasilające

względem GND

GND –

0.20

VCCO +

0.2 V

VBATT Napięcie z baterii względem GND 1.0 2.5 V

Tj Zakres temperatur pracy 0 85 ˚C

Tabela 8.4 - zakres napięć sterujących LVPECL.

Symbol Parametr DC Min Typ Max Jednostka

VOH Wyjściowy stan wysoki VCC –

1.025 1.545

VCC –

0.88 V

VOL Wyjściowy stan niski VCC – 1.81 0.795 VCC –

1.62 V

Page 106: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

106

Tabela 8.5 - specyfikacja bloków transceiver GTX.

Symbol Opis Pętla

PLL Min Typ Max

Jednostk

a

MGTAVCC

Napięcie zasilające

dla obwodu nadajnika

i odbiornika GTX

względem GND

≤ 2.7

GHz 0.95 1.0 1.06 V

MGTAVTT

Napięcie zasilające

dla obwodu z

terminatorem

nadajnika i

odbiornika GTX

względem GND

1.14 1.2 1.26 V

MGTAVTT

RCAL

Napięcie zasilające

dla rezystora

kalibrującego

kolumny

transceiver’a GTX

1.14 1.2 1.26 V

RIN

Rezystancja

wejściowa pary

różnicowej

80 100 130 Ω

ROUT

Rezystancja

wyjściowa pary

różnicowej

80 100 130 Ω

CEXT

Zalecany zewnętrzny

kondensator

sprzęgający

100 nF

TRCLK

Czas narastania

zbocza

referencyjnego

sygnału zegarowego

200 ps

TFCLK

Czas opadania zbocza

referencyjnego

sygnału zegarowego

200 ps

Page 107: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

107

8.2. SPECYFIKACJA UKŁADÓW PAMIĘCI FLASH XCF128XFTG64C:

Pamięć Flash wykorzystywana do konfiguracji charakteryzuje się następującymi

parametrami, które były istotne podczas projektowania PCB.

Transfer strumieni danych z prędkością 800 Mb/s (50 MHz x 16 bit),

Synchronizacja z konfigurowanym układem poprzez sygnał READY_WAIT,

Kompatybilność z oprogramowaniem ISE, za pomocą którego odbywa się przesłanie

strumieni danych poprzez interfejs JTAG,

Możliwość pracy w zakresie temperatur przemysłowych (-40˚C do 85˚C),

Napięcia zasilające:

o VDD = 1.8 V,

o VDDQ = 2.5 V lub 3.3 V,

Rozmiary 10mm x 13mm (obudowa FT64).

8.3. SPECYFIKACJA ZASTOSOWANEGO UKŁADU PAMIĘCI

H5TQ4G63MFR-H9C:

Specyfikacja układów pamięci DDR3 zastosowanych w projekcie płyty PCB.

Napięcie zasilania: VDD = VDDQ = 1.5 V +/- 0.075 V,

Różnicowe wejścia zegarowe,

Programowalne czasy opóźnień: 5, 6, 7, 8, 9, 10, 11, 12, 13

Programowalne czasy zapisu: 5, 6, 7, 8,

Średnie odświeżanie cyklu:

Rys. 8.1 – schemat blokowy układu XCF128XFTG64C

Page 108: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

108

o 7.8 µs (0˚C do 85˚C),

o 3.9 µs (85˚C do 95˚C),

Obudowa FBGA 96 pin (dla szyny 16 bit),

Asynchroniczny reset,

Kalibracja ZQ.

8.4. SPECYFIKACJA OSCYLATORÓW

Specyfikacja oscylatorów zastosowanych w projekcie płyty PCB.

Różnicowe wyjścia sygnałowe,

Trójstanowość (włączane wyjście),

Wyjście typu LVPECL,

Napięcie zasilające: 3.3 V,

Stabilność częstotliwości: +/- 50 ppm,

Temperatura pracy: -40˚C do 85˚C,

Pobór prądu: 80 mA,

Czas opadania/narastanie zbocza sygnału: 1 ns / 1 ns.

8.5. SPECYFIKACJA UKŁADÓW PRZETWORNIC NAPIĘCIA

Specyfikacja przetwornic napięcia zastosowanych w projekcie płyty PCB.

Max. prąd wyjściowy: 22 A (dla PTH05020WAH), 10 A (dla PTH05060WAZ),

Napięcie wejściowe: 5 V,

Zakres napięć wyjściowych: 0.8 V do 3.6 V,

Sprawność: do 96%,

Kontrola włączania i wyłączania,

Kontrola napięcia wyjściowego,

Sekwencyjność włączania kilku modułów,

Temp. pracy: -40˚C do 85˚C.

8.6. SPECYFIKACJA UKŁADU WARSTWY FIZYCZNEJ OBSŁUGUJĄCEJ

ŁĄCZE INTERFEJSU GIGABIT ETHERNET:

Specyfikacja układów mikrokontrolera w warstwie fizycznej, zastosowanych w projekcie

płyty PCB.

Standard 10/100/1000BASE-T IEEE 802.3,

Standard: GMII, RGMII, SGMII,

Page 109: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

109

Automatyczna detekcja światłowodu lub kabla miedzianego,

Obsługa IEEE 1149.1 JTAG,

Wymagane 2 napięcia zasilania: 2.5 V i 1.0 V,

Tolerancja napięcia 3.3 V na pinach I/O,

Rozpraszana moc: 0.75 W,

Obudowa 128 PQFP.

8.7. SPECYFIAKCJA BUFORA ZEGAROWEGO

Specyfikacja buforów zegarowych zastosowanych w projekcie płyty PCB.

Częstotliwość wejściowa: > 3.0 GHz,

Prędkość transmisji danych: > 2.5 Gb/s,

Błąd synchronizacji sygnału pomiędzy wyjściami: < 20 ps,

Typowy czas narastania i opadania zbocza: 150 ps,

Amplituda różnicowego wyjścia LVPECL: 700 mV,

Zakres napięcia zasilającego: VCC = 2.375 V do 3.63 V,

Temp. pracy: -40˚C do 85˚C,

Obudowa: 16 pin – QFN.

8.8. SPECYFIKACJA UKŁADU PAMIĘCI FLASH

Specyfikacja pamięci flash zastosowanej w projekcie płyty PCB.

2 Gb pojemności,

Napięcia zasilające:

o VCC = 2.7 V do 3.6 V (programowanie, zapis, odczyt),

o VCCQ = 1.65 V do 3.6 V (piny I/O),

Asynchroniczny odczyt:

Rozmiar strony: 16 słów 32 – bitowych,

Niski pobór mocy w trybie czuwania,

Obudowa TSOP, 56 pin,

Temp. pracy: -40˚C do 85˚C,

Page 110: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

110

8.9. SPECYFIKACJA UKŁADU REGULATORA NAPIĘCIA LTC3413EFE#PBF

Specyfikacja układu regulatora napięcia zastosowanego w projekcie płyty PCB.

Zasilanie układu: 3.3 V,

Sprawność: do 90%,

Max. prąd wyjściowy: 3 A,

Symetryczne źródło i ograniczenie prądu wyjściowego,

Mała rezystancja wewnętrzna: 85 mΩ,

Nie wymaga diody Schottky’iego,

Napięcie wejściowe: 2.25 V do 5.5 V,

Napięcie wyjściowe: VREF / 2,

Tolerancja napięcia wyjściowego: +/- 1%,

Programowalna częstotliwość przełączania: powyżej 2 MHz,

Kontrola wartości napięcia wyjściowego,

Ochrona przed przegrzaniem.

8.10. SPECYFIKACJA UKŁADU BUFORA

Specyfikacja układu bufora zastosowanego w projekcie płyty PCB.

Napięcie zasilające: VCC = 2 V do 5.5 V,

Opóźnienie sygnału pomiędzy wejściem, a wyjściem dla 5 V: 6 ns,

Rys. 8.2 – schemat logiczny pamięci.

Page 111: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

111

8.11. SPECYFIKACJA UKŁADU BUFORA NAPIĘCIA

Max. prąd wyjściowy: 1 A,

Napięcie wejściowe: 2.3 V do 6.0 V,

Regulowane napięcie wyjściowe: 0.8 V do 5.0 V,

Spadek napięcia na wyjściu przy obciążaniu: do 220 mV (dla 1 A),

Tolerancja napięcia wyjściowego: 0.4 %,

Konieczność podłączenia kondensatora ceramicznego 1 µF, w celu zapewnienia

stabilności napięcia wyjściowego,

Pobór prądu w czasie pracy: 140 µA,

Pobór prądu w stanie czuwania: 0.1 µA.

8.12. SPECYFIKACJA UKŁADU PRZERZUTNIKA TYPU D

Napięcie zasilające: VCC = 3 V do 5.5 V,

Max. rozproszenie mocy: 1.25 W,

Temp. pracy: -40˚C do 85˚C.

Dla niskich stanów PRE i CLR, stan wyjściowy jest niestabilny na obu wyjściach.

Rys. 8.3 – schemat logiczny pojedynczej pary we/wy układu.

Tabela 8.6 - funkcje logiczne układu dla jednej pary we/wy.

Page 112: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

112

8.13. LISTA SCHEMATÓW ZNAJDUJĄCYCH SIĘ NA PŁYCIE DVD

Lista schematów znajdujących się na płycie DVD, w pliku Schematy.pdf:

HPC_1_Power.SchDoc,

HPC_1_Vref.SchDoc,

HPC_1_CLK.SchDoc,

HPC_1_Config_JTAG.SchDoc,

HPC_1_Config_Flash_V1.SchDoc,

HPC_1_Config_V1_V2.SchDoc,

HPC_1_Data_Flash_V1.SchDoc,

HPC_1_DDR3_V1.SchDoc,

HPC_1_DDR3_V2.SchDoc,

HPC_1_DDR3_V3.SchDoc,

HPC_1_FMC1_V2.SchDoc,

HPC_1_FMC1_V2_Socket.SchDoc,

HPC_1_FMC2_V3.SchDoc,

HPC_1_FMC2_V3_Socket.SchDoc,

HPC_1_GTX_V1.SchDoc,

HPC_1_GTX_V2.SchDoc,

HPC_1_GTX_V3.SchDoc,

HPC_1_Ethernet_V1.SchDoc,

HPC_1_Ethernet_V2.SchDoc,

HPC_1_Ethernet_V3.SchDoc,

HPC_1_Handshake.SchDoc,

HPC_1_VCC_V1.SchDoc,

Tabela 8.7 – stany przerzutnika.

Page 113: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

113

HPC_1_VCC_V2.SchDoc,

HPC_1_VCC_V3.SchDoc,

HPC_1_GND_V1.SchDoc,

HPC_1_GND_V2.SchDoc,

HPC_1_GND_V3SchDoc,

HPC_1_SMA.SchDoc,

HPC_1_ERF_GTX.SchDoc,

HPC_1_Test_Probe.SchDoc,

HPC_1_Test_Probe_HDR.SchDoc.

8.14. STATUSY UKŁADÓW FPGA ODCZYTANE PO KONIGURACJI

Virtex V1:

'1': Reading bootsts register contents...

[0] VALID_0 - ERROR OR END OF STARTUP (EOS) DETECTED : 1

[1] FALLBACK_0 - FALLBACK TRIGGERED RECONFIGURATION : 0

[2] IPROG_0 - INTERNAL WARMBOOT (IPROG) TRIGGERED RECONFIGURATION :

0

[3] WTO_ERROR_0 - WATCHDOG TIME OUT ERROR : 0

[4] ID_ERROR_0 - FPGA DEVICE IDCODE ERROR : 0

[5] CRC_ERROR_0 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0

[6] WRAP_ERROR_0 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 0

[7] HMAC_ERROR_0 - HMAC ERROR : 0

[8] VALID_1 - ERROR OR END OF STARTUP (EOS) DETECTED : 0

[9] FALLBACK_1 - FALLBACK TRIGGERED RECONFIGURATION : 0

[10] IPROG_1 - INTERNAL WARMBOOT (IPROG) TRIGGERED RECONFIGURATION

: 0

[11] WTO_ERROR_1 - WATCHDOG TIME OUT ERROR : 0

[12] ID_ERROR_1 - FPGA DEVICE IDCODE ERROR : 0

[13] CRC_ERROR_1 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0

[14] WRAP_ERROR_1 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 0

[15] HMAC_ERROR_1 - HMAC ERROR : 0

'1': Reading status register contents...

[0] CRC ERROR : 0

[1] DECRYPTOR ERROR : 0

[2] PLL LOCK STATUS : 1

Page 114: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

114

[3] DCI MATCH STATUS : 1

[4] END OF STARTUP (EOS) STATUS : 1

[5] GTS_CFG_B STATUS : 1

[6] GWE STATUS : 1

[7] GHIGH STATUS : 1

[8] MODE PIN M[0] : 0

[9] MODE PIN M[1] : 1

[10] MODE PIN M[2] : 1

[11] INIT_B INTERNAL SIGNAL STATUS : 1

[12] INIT_B PIN : 1

[13] DONE INTERNAL SIGNAL STATUS : 1

[14] DONE PIN : 1

[15] IDCODE ERROR : 0

[16] SECURITY ERROR : 0

[17] SYSTEM MONITOR OVER-TEMP ALARM STATUS : 0

[18] CFG STARTUP STATE MACHINE PHASE : 0

[19] CFG STARTUP STATE MACHINE PHASE : 0

[20] CFG STARTUP STATE MACHINE PHASE : 1

[21] RESERVED : 0

[22] SPI FLASH SELECT PIN FS[0] : 1

[23] SPI FLASH SELECT PIN FS[1] : 1

[24] SPI FLASH SELECT PIN FS[2] : 1

[25] CFG BUS WIDTH DETECTION : 0

[26] CFG BUS WIDTH DETECTION : 1

[27] RESERVED : 0

[28] HSWAPEN PIN : 1

[29] BAD PACKET ERROR : 0

[30] RESERVED : 0

[31] EFUSE BUSY STATUS : 0

Virtex V2:

'2': Reading bootsts register contents...

[0] VALID_0 - ERROR OR END OF STARTUP (EOS) DETECTED : 1

[1] FALLBACK_0 - FALLBACK TRIGGERED RECONFIGURATION : 0

Page 115: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

115

[2] IPROG_0 - INTERNAL WARMBOOT (IPROG) TRIGGERED RECONFIGURATION :

0

[3] WTO_ERROR_0 - WATCHDOG TIME OUT ERROR : 0

[4] ID_ERROR_0 - FPGA DEVICE IDCODE ERROR : 0

[5] CRC_ERROR_0 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0

[6] WRAP_ERROR_0 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 0

[7] HMAC_ERROR_0 - HMAC ERROR : 0

[8] VALID_1 - ERROR OR END OF STARTUP (EOS) DETECTED : 0

[9] FALLBACK_1 - FALLBACK TRIGGERED RECONFIGURATION : 0

[10] IPROG_1 - INTERNAL WARMBOOT (IPROG) TRIGGERED RECONFIGURATION

: 0

[11] WTO_ERROR_1 - WATCHDOG TIME OUT ERROR : 0

[12] ID_ERROR_1 - FPGA DEVICE IDCODE ERROR : 0

[13] CRC_ERROR_1 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0

[14] WRAP_ERROR_1 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 0

[15] HMAC_ERROR_1 - HMAC ERROR : 0

'2': Reading status register contents...

[0] CRC ERROR : 0

[1] DECRYPTOR ERROR : 0

[2] PLL LOCK STATUS : 1

[3] DCI MATCH STATUS : 1

[4] END OF STARTUP (EOS) STATUS : 1

[5] GTS_CFG_B STATUS : 1

[6] GWE STATUS : 1

[7] GHIGH STATUS : 1

[8] MODE PIN M[0] : 1

[9] MODE PIN M[1] : 0

[10] MODE PIN M[2] : 1

[11] INIT_B INTERNAL SIGNAL STATUS : 1

[12] INIT_B PIN : 1

[13] DONE INTERNAL SIGNAL STATUS : 1

[14] DONE PIN : 1

[15] IDCODE ERROR : 0

[16] SECURITY ERROR : 0

[17] SYSTEM MONITOR OVER-TEMP ALARM STATUS : 0

Page 116: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

116

[18] CFG STARTUP STATE MACHINE PHASE : 0

[19] CFG STARTUP STATE MACHINE PHASE : 0

[20] CFG STARTUP STATE MACHINE PHASE : 1

[21] RESERVED : 0

[22] SPI FLASH SELECT PIN FS[0] : 1

[23] SPI FLASH SELECT PIN FS[1] : 1

[24] SPI FLASH SELECT PIN FS[2] : 1

[25] CFG BUS WIDTH DETECTION : 0

[26] CFG BUS WIDTH DETECTION : 0

[27] RESERVED : 0

[28] HSWAPEN PIN : 0

[29] BAD PACKET ERROR : 0

[30] RESERVED : 0

[31] EFUSE BUSY STATUS : 0

Virtex V3:

'3': Reading bootsts register contents...

[0] VALID_0 - ERROR OR END OF STARTUP (EOS) DETECTED : 1

[1] FALLBACK_0 - FALLBACK TRIGGERED RECONFIGURATION : 0

[2] IPROG_0 - INTERNAL WARMBOOT (IPROG) TRIGGERED RECONFIGURATION :

0

[3] WTO_ERROR_0 - WATCHDOG TIME OUT ERROR : 0

[4] ID_ERROR_0 - FPGA DEVICE IDCODE ERROR : 0

[5] CRC_ERROR_0 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0

[6] WRAP_ERROR_0 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 0

[7] HMAC_ERROR_0 - HMAC ERROR : 0

[8] VALID_1 - ERROR OR END OF STARTUP (EOS) DETECTED : 0

[9] FALLBACK_1 - FALLBACK TRIGGERED RECONFIGURATION : 0

[10] IPROG_1 - INTERNAL WARMBOOT (IPROG) TRIGGERED RECONFIGURATION

: 0

[11] WTO_ERROR_1 - WATCHDOG TIME OUT ERROR : 0

[12] ID_ERROR_1 - FPGA DEVICE IDCODE ERROR : 0

[13] CRC_ERROR_1 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0

[14] WRAP_ERROR_1 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 0

[15] HMAC_ERROR_1 - HMAC ERROR : 0

Page 117: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

117

'3': Reading status register contents...

[0] CRC ERROR : 0

[1] DECRYPTOR ERROR : 0

[2] PLL LOCK STATUS : 1

[3] DCI MATCH STATUS : 1

[4] END OF STARTUP (EOS) STATUS : 1

[5] GTS_CFG_B STATUS : 1

[6] GWE STATUS : 1

[7] GHIGH STATUS : 1

[8] MODE PIN M[0] : 1

[9] MODE PIN M[1] : 0

[10] MODE PIN M[2] : 1

[11] INIT_B INTERNAL SIGNAL STATUS : 1

[12] INIT_B PIN : 1

[13] DONE INTERNAL SIGNAL STATUS : 1

[14] DONE PIN : 1

[15] IDCODE ERROR : 0

[16] SECURITY ERROR : 0

[17] SYSTEM MONITOR OVER-TEMP ALARM STATUS : 0

[18] CFG STARTUP STATE MACHINE PHASE : 0

[19] CFG STARTUP STATE MACHINE PHASE : 0

[20] CFG STARTUP STATE MACHINE PHASE : 1

[21] RESERVED : 0

[22] SPI FLASH SELECT PIN FS[0] : 1

[23] SPI FLASH SELECT PIN FS[1] : 1

[24] SPI FLASH SELECT PIN FS[2] : 1

[25] CFG BUS WIDTH DETECTION : 0

[26] CFG BUS WIDTH DETECTION : 0

[27] RESERVED : 0

[28] HSWAPEN PIN : 0

[29] BAD PACKET ERROR : 0

[30] RESERVED : 0

[31] EFUSE BUSY STATUS : 0

Page 118: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

118

Ry

s.

8.4

– w

yk

res

ok

a d

la G

TX

0 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V1

i V

2.

8.15. WYKRESY „OKA” DLA TRANSCEIVERÓW GTX ŁĄCZĄCYCH

UKŁADY FPGA MIĘDZY SOBĄ

Page 119: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

119

Ry

s.

8.5

– w

yk

res

ok

a d

la G

TX

1 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V1

i V

2.

Page 120: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

120

Ry

s.

8.6

– w

yk

res

ok

a d

la G

TX

2 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V1

i V

2.

Page 121: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

121

Ry

s.

8.7

– w

yk

res

ok

a d

la G

TX

3 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V1

i V

2.

Page 122: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

122

Ry

s.

8.8

– w

yk

res

ok

a d

la G

TX

0 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V1

i V

3.

Page 123: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

123

Ry

s.

8.9

– w

yk

res

ok

a d

la G

TX

1 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V1

i V

3.

Page 124: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

124

Ry

s.

8.1

0 –

wy

kre

s ok

a d

la G

TX

2 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V1

i V

3.

Page 125: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

125

Ry

s.

8.1

1 –

wy

kre

s ok

a d

la G

TX

3 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V1

i V

3.

Page 126: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

126

Ry

s.

8.1

2 –

wy

kre

s ok

a d

la G

TX

0 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V2

i V

3.

Page 127: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

127

Ry

s.

8.1

3 –

wy

kre

s ok

a d

la G

TX

1 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V2

i V

3.

Page 128: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

128

Ry

s.

8.1

4 –

wy

kre

s ok

a d

la G

TX

2 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V2

i V

3.

Page 129: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

129

Ry

s.

8.1

5 –

wy

kre

s ok

a d

la G

TX

3 s

łużą

ceg

o d

o k

om

un

ikac

ji

po

mię

dzy

uk

ład

ami

FP

GA

V2

i V

3.

Page 130: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

130

Ry

s.

8.1

6 -

wy

nik

i te

stó

w p

amię

ci R

AM

(p

ierw

sze

6 p

rób

ek).

8.16. WYNIKI TESTÓW PAMIĘCI RAM

Page 131: Politechnika Warszawska · danych wchodzą procesory, układy FPGA, CPLD itp.. Systemy kontroli zawierają różnorodne czujniki, które zbierają informacje z otoczenia. Następnie

131

Ry

s.

8.1

7 -

wy

nik

i te

stó

w p

amię

ci R

AM

(śr

od

ko

we

7 p

róbek

).