uk£ady cyfrowe - Paweł Tomaszewicz

Transkrypt

uk£ady cyfrowe - Paweł Tomaszewicz
UKŁADY CYFROWE
PROJEKT
Autorzy:
Prowadzący:
Paulina Przybyszewska
dr inż. Paweł Tomaszewicz
Konrad Dudała
Instytut Telekomunikacji
Grupa:
Zakład Podstaw Telekomunikacji
C1T2 (4T2)
pokój 481
Email:
tel. 660 7894
[email protected]
e-mail:
[email protected]
[email protected]
Temat: Komunikacja bezprzewodowa między dwiema płytkami testowymi
firmy ALTERA – ODBIORNIK
Cel projektu: Celem pracy było uzyskanie połączenia bezprzewodowego między
dwiema płytkami UP2 firmy ALTERA, za pomocą portów podczerwieni IrDA. Dane do
wysłania przez nadajnik pobierane są przez port USB, następnie wysyłane podczerwienią
do odbiornika, gdzie odpowiednio zinterpretowane i przekształcane zostają wysłane przez
USB do drugiego komputera.
Elementy użyte przy realizacji projektu:
1. Płytka UP2 firmy Altera, oparta na układzie FLEX10K (EPF10K70RC240-4).
2. Dołączana do portu FLEX_EXPAN_B płytka z modułem USB oparta na układzie
FTDI245BM firmy FTDI.
3. Port podczerwieni IrDA dołączany do portu FLEX_EXPAN_B znajdującego się na
płytce.
Projekt zrealizowany został w języku AHDL w środowisku Max+Plus II
BASELINE firmy Altera
1
IrDA – co to jest:
IrDA (ang. Infrared Data Association) - grupa skupiająca kilkudziesięciu producentów
sprzętu komputerowego. Grupa ta opracowała firmowy system bezprzewodowej
transmisji danych cyfrowych z wykorzystaniem podczerwieni. Jego elementy
przeznaczone są przede wszystkim do tworzenia sieci tymczasowych, w których znajdują
się komputery przenośne.
Podstawowe usługi, wymienione w opisie systemu obejmują:
• przesył plików między komputerami,
• drukowanie.
• dostęp do zasobów sieci przewodowej,
• transmisja danych i mowy między komputerem a telefonem komórkowym,
• sterowanie urządzeniami telekomunikacyjnymi.
Port podczerwieni - port optyczny w komputerze i nie tylko umożliwiający komunikację
z innymi komputerami lub urządzeniami przy użyciu podczerwieni, czyli bez kabli. Porty
podczerwieni są stosowane w niektórych komputerach przenośnych, drukarkach i
kamerach.
Opis ogólny standardu IrDA:
IrDA jest protokołem transmisji cyfrowych w podczerwieni, zawdzięczającym swoje
powstanie procesom normalizacyjnym. Dzisiaj Forum IrDA specyfikuje trzy standardy
komunikacji za pośrednictwem fal podczerwonych: IrDA-Data, IrDA-Control oraz nowy AIr (Advanced Infrared). Na razie IrDA zapewnia transmisję typu punkt-punkt na
odległość do 1 m w zakresie falowym 850-900 nm.
Osiągane przepływności dochodzą do 16 Mb/s, a kąt transmisji nie przekracza 30°. Po
obniżeniu szybkości transmisji do 75 kb/s można komunikować się na odległość ponad 5
m. W przyszłości protokół AIr zapewni przesyłanie danych w konfiguracji wielopunktwielopunkt. Teraz oferuje przepływność 4 Mb/s na odległości 4 m lub 250 kb/s po
podwojeniu tego dystansu. Wykorzystany przez nas port zapewnia prędkość tylko 115
kb/s.
Do stowarzyszenia IrDA należą: Acer, Ascom, Agilent Technologies, Apple Computer,
Compaq, Ericsson, Hewlett-Packard, Intel, Linux-IrDA, Matsushita, Microsoft, Motorola,
National Semiconductor, Nokia, Philips, Seiko Instruments, Sony, Toshiba, ZiLOG i wiele
innych.
Rys. Podzespoły wykorzystywane przez interfejs IrDA
2
Ogólny schemat zasady działania projektu:
Jak widać na rysunku, tekst wpisany w komputerze nadajnika, musi zostać przesłany za
pomocą podczerwieni (IrDA) do komputera odbiornika.
Opis działania odbiornika:
Odbiornik składa się z kilu bloków funkcyjnych, z których w zasadzie jeden pełni
zasadniczą rolę, a reszta to bloki pomocnicze (takie jak widoczne dwa wyświetlacze
siedmiosegmentowe).
Blok „odbiornik” wyposażony został w 5 wejść oraz 5 wyjść, z czego tylko 3 są używane
(pozostałe 2 wyjścia „test” i „businfo” są czasem pomocne podczas symulacji)
Wejścia:
• clk
– jest to wejście zegara systemowego (ok. 25MHz)
• ena
– wejście uruchamiające odbiornik i elementy w nim zawarte (domyślnie
cały czas włączone)
3
•
•
•
clr
wejście odpowiadające za czyszczenie zawartości poszczególnych
rejestrów
I
- najważniejsze wejście bloku – tędy wchodzą dane pobrane z portu
wejściowego płytki
clk_slow – wejście drugiego zegara (wolniejszego niż clk)
Wyjścia:
• bus[7..0] – główne wyjście (szyna danych – 1 bajt) – tędy wychodzą
zmodyfikowane dane z wejścia, które następnie, podłączone do widocznych wyjść
USB, wysyłane są do komputera
• dready – wyjście odpowiedzialne za „poinformowanie” o wysłaniu przez data[7..0]
paczki danych
• start_odbior – wyjście uruchamiające zegar clk_slow
Zasada działania odbiornika:
Odbiornik dostając dane z portu wejściowego, otrzymuje je w postaci ciągu bitów. Aby
móc przesłać je przez port USB do komputera, musi je odpowiednio przekształcić. Dane
wysyłane przez USB muszą być w postaci 8 równoległych bitów, czyli wymagane jest
zastosowanie szyny 8 bitowej. W tym celu zastosowany został rejestr szeregowo –
równoległy (sipo: serial in – parallel out).
Poszczególne bity z wejścia I, gromadzone są w rejestrze przesuwnym sipo, a po
zebraniu 8 bitów wypuszczane na zewnątrz przez wyjście data[7..0].
Jako zabezpieczenie przed błędami i brakiem synchronizacji między nadajnikiem i
odbiornikiem wprowadzone zostały 2 zabezpieczenia:
1. Do przesyłanych danych wychodzących z nadajnika dodawany jest dodatkowy 1
bit (o wartości 1) na początku oraz na końcu ciągu bitów niosących potrzebną
informację, np. jeżeli nadajnik chce przesłać ciąg 00011000, przesłany zostaje
ciąg 1000110001.
W związku z tym odbiornik skonstruowany został w taki sposób, aby na wyjście
wypuszczać tylko bajty, posiadające 2 bity zabezpieczające. Zanim sygnał
wypuszczony zostanie na szynę data[7..0] sprawdzany jest warunek o istnieniu
dodatkowych bitów.
2. Jako, że nie można uzyskać odpowiedniej synchronizacji między nadajnikiem i
odbiornikiem, odbiornik skonstruowany jest tak aby rejestrować sygnały zawsze
jeżeli na wejście dostanie bit w stanie wysokim. Uruchamiany zostaje wtedy
wolniejszy zegar sterujący zliczaniem bitów o częstotliwości odpowiedniej do
częstotliwości wysyłanych przez nadajnik bitów. Spowodowane jest to przez
ograniczenia szybkości nadawania i odbierania wynikające z konstrukcji portów
IrDA. Ponadto szybszy systemowy zegar clk dodatkowo pomaga w rozpoznawaniu
przychodzących bitów – istnieje większe prawdopodobieństwo, że żaden bit
przychodzący nie zostanie pominięty.
Wyniki przykładowej symulacji wraz z opisem umieszczone są niżej:
4
Całość symulacji odebrania i przekształcenia ciągu poprawnego (1000110001):
Przybliżenie fragmentu:
Jak widać na pokazanej symulacji, gdy rejestr sipo zebrał 10 bitów z wejścia „i”, które w
dodatku okazały się poprawne (są 2 dodatkowe bity), a licznik doliczył do odpowiedniej
wartości, na wyjście bus[7..0] wypuszczona została tylko część odebranego ciągu niosąca
informację, co zaznaczone zostało dodatkowo przez wyjście dready.
5
Całość symulacji odebrania i przekształcenia ciągu niepoprawnego (1000110000):
Przybliżenie fragmentu:
Jak widać, jako, że przesłany przez nadajnik ciąg bitów nie był w odpowiedniej formie –
nie zawierał prawidłowego dodatkowego bitu końcowego – na wyjście bus[7..0] nie został
przekazany żaden sygnał.
Opis części programowej (software) użytej przy projekcie:
Do testowania projektu używaliśmy darmowego programu: DLP Design Test Application
Jest to program służący do testowania układu USB doczepionego do naszej płytki UP2.
Wysyłane są z komputera przez USB dowolnie ustawione przez użytkownika bity. Strona
odbiornika może również za pomocą powyższego programu zobaczyć w odpowiednim
oknie czy wysłane przez nadajnik bity zostały w odbiorniku odebrane i poprawnie wysłane
przez USB do komputera.
6
Stopień ukończenia projektu:
Niestety z przyczyn technicznych projekt nie został w pełni ukończony. Okazało się
jednak, że odbiorczy port podczerwieni IrDA, po odebraniu sygnału (to, że odbiera
pokazane zostało prowadzącemu na oscyloskopie), modyfikuje go znacznie,
uniemożliwiając poprawny odbiór w bloku odbiornika. Robiąc projekt, początkowo
łączyliśmy płytki nadawczą oraz odbiorczą za pomocą kabelka, uzyskując odbiór sygnału
w zasadzie bezproblemowy i prawidłowy. Dużą przeszkodą w tworzeniu projektu był
również ograniczony dostęp do płytek laboratoryjnych (do testowania potrzebne były 2 –
nadawcza i odbiorcza), wypożyczonych przez innych studentów.
Materiały pomocnicze i inne pomoce związane z projektem:
•
•
•
Łuba T., Zbierzchowski B.: „Komputerowe projektowanie układów cyfrowych.”
WKŁ, Warszawa 2000.
Instrukcja obsługi płytki uniwersyteckiej UP2 (rozkład portów) firmy Altera
Wykłady do przedmiotu Układy Cyfrowe dostępne na stronie internetowej Zakładu
Podstaw Telekomunikacji: http://wwwzpt.tele.pw.edu.pl/
Inne:
Schemat podłączenia modułu USB do płytki testowej:
Wszystkie użyte w dokumentacji rysunki można obejrzeć w lepszej jakości:
images.rar
Kody źródłowe dostępne są tu:
zrodla.rar
7

Podobne dokumenty