Wyniki 1-10 spośród 16 dla zapytania: authorDesc:"KRZYSZTOF POŹNIAK"

Obiektowe środowisko programowania wspierające systemy rekonfigurowalne, implementowane w układach FPGA

Czytaj za darmo! »

Wielokanałowe, rozproszone systemy elektroniczne coraz częściej są konstruowane na bazie układów typu Field Programmable Gateway Arrays (FPGA). Układy FPGA zawierają dużą liczbę uniwersalnych bloków logicznych, modułów pamięci, bloków DSP, szybkich interfejsów komunikacyjnych itp. Mogą być wielokrotnie rekonfigurowane. Uzyskano w ten sposób możliwość modyfikacji części funkcjonalnej systemu pomimo jego niezmiennej struktury sprzętowej i umiejscowienia na obiekcie. W układach FPGA są coraz częściej implementowane parametryzowane, biblioteczne moduły funkcjonalne. Dzięki temu rozwiązaniu można adaptować te same moduły do zmienionych uwarunkowań, bądź zupełnie nowych zastosowań. W celu efektywnego wprowadzania takich zmian, opracowano sparametryzowany opis struktury sprzętowej w[...]

Synteza Wysokiego Poziomu z wykorzystaniem języka Python DOI:10.15199/13.2017.8.7


  Field Programmable Gate Array (FPGA) to zintegrowany układ zawierający matrycę konfigurowalnych bloków logicznych (CLBs) połączonych za pomocą wewnętrznych połączeń programowalnych. Konfiguracja FPGA jest zwykle określona przy użyciu języka opisu sprzętu (HDL) lub schematycznie. Najczęściej używanymi językami opisu sprzętu (HDLs) są VHDL i Verilog. HDL różni się od konwencjonalnych języków programowania tym, że nie jest to typowo sekwencyjny, ale równoległy język, przeznaczony do definiowania obiektów, procesów i algorytmów implementowanych w zasobach sprzętowych. Ponadto układy FPGA można wielokrotnie rekonfigurować do żądanej aplikacji, a nawet modyfikować tylko część matrycy układu FPGA w trakcie jego normalne pracy. Obecne układy FPGA posiadają bardzo dużą liczbę bloków obliczeniowych, dzięki czemu są wykorzystywanie nie tylko do prostego sterowania, ale także do wykonywania złożonych obliczeń numerycznych. Struktura układów FPGA oraz możliwość optymalnego rozlokowania elementów logicznych pozwala na osiąganie lepszych rezultatów niż w przypadku standardowych mikroprocesorów. Kompilator otrzymując algorytm dba o optymalne rozlokowanie obiektów sprzętowych w krzemie. Nie jest możliwe w przypadku standardowych mikroprocesorów, gdzie obiekty sprzętowe umieszczone są na stałe i przystosowane do wykonywania uniwersalnych obliczeń, nie zawsze w sposób optymalny w kontekście wykonywanego algorytmu. Duża liczba badań wykazała, że efektywność energetyczna lub obszarowa krzemu dla realizowanej funkcji może poprawić się o dwa do trzech rzędów wielkości stosując układy FPGA. Optymalne rozwiązania sprzętowe dla danego typu algorytmu przedstawiono na rys. 1. Rys. 1. Porównanie architektur sprzętowych dla różnych typów algorytmów Fig. 1. Comparison of hardware architecures for different algorithms 32 Elektronika 8/2017 Stosując układy FPGA można uzyskać największą poprawę dla algorytmów równoległych drobnoziarnistych (ang. fine grai[...]

25 Sympozjum IEEE-SPIE "Fotonika i Inżynieria Sieci Internet"


  Sympozjum "Fotonika i Inżynieria Sieci Internet" (Photonics and Web Engineering) jest tradycyjnie organizowane dwa razy w roku na terenie Wydziału Elektroniki i Technik Informacyjnych WEiTI Politechniki Warszawskiej (w styczniu) i w WILDZE (w maju) pod protektoratem IEEE (Polska Sekcja i Region 8), SPIE - The International Society for Optical Engineering, PSP - Photonics Society of Poland, Komitetu Elektroniki i Telekomunikacji PAN oraz Instytutu Systemów Elektronicznych Politechniki Warszawskiej. Sympozjum jest znane na sieci Internet pod akronimem WILGA. Sympozjum jest organizowane przez studencko-doktorancką grupę badawczą PERG-ELHEP ISE PW od 1998 roku. XXV z kolei Sympozjum zgromadziło kilkadziesiąt osób i prezentacji z tematyki projektowania, wykonywania i testowania z[...]

Generator dokumentacji dla kodów źródłowych środowiska Matlab


  Dobrze udokumentowany kod źródłowy jest prostszy do dalszego wykorzystania, ponieważ zawiera uzupełniające informacje, których nie można zawrzeć bezpośrednio w danym języku programowania. Udokumentowanie pomaga m.in. w prawidłowym wykorzystaniu powstałych kodów oraz w realizacji większych projektów wykonywanych przez grupę programistów. Sprzyja także wykrywaniu błędów w projekcie. Ponadto dokumentacja zawarta w pliku źródłowym staje się jego nierozdzielną częścią. Dokumentowanie programów, choć niesie ze sobą liczne korzyści, stanowi zazwyczaj ostatni etap realizacji projektu, na którego wykonanie albo już nie wystarcza czasu, albo nie przywiązuje się do tego zadania dostatecznej wagi. Wynika to głównie z faktu, że dokumentowanie kodów źródłowych to żmudny i pracochłonny proces. Dlatego w celu jego automatyzacji powstały narzędzia nazwane generatorami dokumentacji dla kodów źródłowych. Generatory dokumentują pliki źródłowe na podstawie komentarzy umieszczonych w kodzie oraz struktury leksykalnej danego języka programowania. Zadaniem programisty jest jedynie zamieszczenie lub modyfikacja treści komentarza blisko wprowadzanego lub modyfikowanego kodu źródłowego. Generator automatycznie sformatuje ten komentarz w czytelną dla użytkownika informację. Formatowanie informacji wyjściowej można generalnie podzielić na: - interaktywne, do której m. in. można mieć dostęp poprzez sieć (np. format HTML), - do druku, np. format Postscript, PDF, RTF itp., - opisujące strukturę kodu, np. format XML. Najczęściej oferowanym przez generatory dokumentacji formatem wyjściowym, często jedynym, jest HTML [1-41]. Inną grupą wyróżniającą się w tym podziale są aplikacje generujące wiele formatów wyjściowych: Ddoc, ROBODoc, fpdoc oraz Doxygen [8, 14, 32, 40]. Współczesne generatory dokumentacji mogą generować wiele formatów wyjściowych w zależności od aktualnego zapotrzebowania użytkownika. Oferują także wiele właściwości dodatkowych, takich jak np[...]

Integracja wielointerfejsowego toru przetwarzania z układami FPGA


  W pracowni PERG [1] Instytutu Systemów Elektronicznych PW został opracowany węzeł Modularnego Systemu Fotonicznego (MSF) [2]. Węzeł składa się z płyty bazowej Universal Module Controller (UMC, [3]) oraz z dwóch płyt nakładkowych wykonanych w standardzie PMC: Data Acqusition Card (DAC, [4]) oraz Digital Interface Card (DIC, [5]). Konfiguracja sprzętowa węzła została przedstawiona na rys. 1. Płyta bazowa UMC została wykonana w standardzie mechanicznym EURO-6HE o rozmiarze B i jest zgodna elektrycznie ze standardem VME/VXI. Głównymi elementami płyty są interfejsy komunikacyjne (m.in. Ethernet, Opto-trx, USB, czy RS232). Centralnym elementem płyty jest układ FPGA Virtex II Pro [6]. Stanowi on most pomiędzy zewnętrznym sterownikiem lub innym węzłem MSF, a zasobami sprzętowymi węzła. Na płycie UMC zostały osadzone płyty DAC i DIC, poszerzając funkcjonalności węzła o możliwości pomiarowe: ● sygnałów analogowych poprzez wykorzystanie przetworników A/C oraz C/A na płycie DAC, ● zewnętrznymi urządzeniami dzięki komunikacji płyty DIC poprzez GPIB, I2C, RS232 itp. Obie płyty nakładkowe zostały wyposażone w układy FPGA Cyclone [7]. W dalszej części artykułu przedstawiono rozwiązanie uniwersalnej platformy komunikacyjnej węzła w warstwie firmware zaimplementowanej w układach FPGA oraz w warstwie software w formie modularnej aplikacji graficznej użytkownika, a także zamieszczono 2 przykłady sterowania dla akwizycji sygnału z wykorzystaniem przetworników oraz wykorzystania interfejsu GPIB do komunikacji z oscyloskopem cyfrowym. wiednie sekwencje sterujące magistralą. W tym celu opracowano dwa mosty systemowe wykorzystujące komunikację poprzez interfejs RS232 oraz USB. Do komunikacji z płytami DAC i DIC zaimplementowano magistralę wykorzystującą protokół Wishbone [8]. Takie rozwiązanie zapewniło rekonfigurowalność i skalowalność opracowywanych rozwiązań, co znacznie ułatwiło opracowywanie warstwy firmware dla płyt DAC i DIC i u[...]

Redukcja i kompresja zmiennych w syntezie funkcji generowania indeksów DOI:10.15199/59.2016.10.3


  Reduction and compression of variables in synthesis of index generation functions DOI: 10.15199/59.2016.10.3 Index Generation Functions may be useful in distribution of IP addresses, virus scanning or undesired data detection. In this paper an original method is proposed. The proposed multilevel logic synthesis method based on argument reduction and functional decomposition uses gates instead of logic cells. Furthermore, it preserves advantages of functional decomposition and is well suited for ROM-based synthesis of Index Generation Functions. Key words: Index Generation Functions, functional decomposition, argument reduction, logic cells Funkcje generowania indeksów znajdują zastosowanie w dystrybucji adresów IP, skanowaniu wirusów oraz wykrywaniu niepożądanych danych. Proponowana w artykule metoda syntezy jest modyfikacją metody redukcji argumentów i dekompozycji funkcjonalnej, polegającej na stosowaniu bramek zamiast komórek logicznych. Metoda zachowuje zalety dekompozycji funkcjonalnej i jest dostosowana do syntezy w strukturach z pamięciami ROM. Słowa kluczowe: funkcje generowania indeksów, dekompozycja funkcjonalna, redukcja argumentów, komórki logiczne Generatory indeksów to cyfrowe układy sprzętowe, których rozwój jest związany z potrzebą klasyfikacji i identyfikacji danych reprezentowanych długimi ciągami binarnymi (np. 48 bitów). Ich zastosowanie dotyczy dystrybucji adresów IP, skanowania wirusów, wykrywania niepożądanych danych, konwersji kodów itp. Metodom syntezy takich układów poświęca się coraz większą liczbę prac naukowych publikowanych w artykułach i referatach konferencyjnych [12 - 16]. Jedną z przyczyn tej sytuacji jest specyfika działania takich układów sprowadzająca ich syntezę do syntezy silnie nieokreślonych funkcji boolowskich, których cechą charakterystyczną jest ogromna liczba zmiennych, a w konsekwencji potrzeba stosowania pamięci stałych typu ROM oraz ich mniejszych odpowiedników w postaci komó[...]

Zdalnie sterowana kamera do zastosowań astronomicznych

Czytaj za darmo! »

W roku 2003 uruchomiono w kraju program budowy systemu szerokokątnej obserwacji całego obszaru nieba, do znacznej wielkości gwiazdowej, rzędu 13,5, osiągalnej konwencjonalnymi, niskonakładowymi (tzn. bez dużych teleskopów) technikami obserwacyjnymi, w celu rejestracji rozbłysków optycznych towarzyszących masywnym impulsom gamma. Opisano nową generację wysokiej jakości, zdalnie sterowanych k[...]

Kondycjonowanie sygnału obwiedni zespolonej z wnęk akceleratora FLASH

Czytaj za darmo! »

Działanie lasera na swobodnych elektronach (ang. Free Elektron Laser) bazuje na zjawisku generacji fotonów przy wyhamowywaniu elektronów rozpędzonych do prędkości relatywistycznej [1-3]. Struktura lasera dzieli się na trzy podstawowe części przedstawione schematycznie na rys. 1. 1. Działo RF (ang. Radio Frequency Gun) jest źródłem wolnych elektronów wstrzykiwanych do toru akceleracyjnego. Elektrony są emitowane termicznie z płytki metalu pod wpływem oddziaływania promienia laserowego. 2. Tor akceleratora składa się z szeregu wnęk rezonansowych, w których powstaje fala stojąca pola E-M o dużym natężeniu. Elektrony, przemieszczając się przez kolejne wnęki, nabierają coraz wyższej energii. 3. Końcowy element lasera stanowi undulator, w którym następuje wytworzenie światła lasero[...]

Stanowisko testowe z miedzianą strukturą typu TESLA

Czytaj za darmo! »

Akcelerator cząstek to urządzenie, w którym wykorzystano pole elektryczne do nadawania naładowanym cząstkom dużej energii kinetycznej. Wiązki (strumienie) cząstek o dużej energii są stosowane w zaawansowanych badaniach dotyczących poznania struktury materii oraz oddziaływań w niej zachodzących, jak również badaniach molekularnych w odniesieniu do takich dziedzin nauki jak np. chemia czy biologia. Stosuje się m.in. metodykę badań polegających na zderzaniu wysokoenergetycznych cząstek (ze sobą lub ze stacjonarną tarczą), która prowadzi do uzyskania rozpraszania elastycznego lub produkcji wysokoenergetycznych cząstek (tzw. rozpraszania nieelastycznego). Innym zastosowaniem akceleratorów jest dostarczenie wiązki elektronów służącej do generacji w undulatorach koherentnych impulsów[...]

Uniwersalna Platforma Pomiarowa dla rozproszonego wirtualnego systemu pomiarowego


  Sposób budowy i obsługi instrumentów pomiarowych przechodzi w ostatnich latach ewolucję. Coraz bardziej popularne stają się Wirtualne Instrumenty Pomiarowe (WIP), gdzie specyficzne cechy danego systemu pomiarowego są implementowane programowo, zaś różnice w budowie sprzętowej częściowo lub całkowicie się zacierają. W konsekwencji instrumenty pomiarowe są implementowane na uniwersalnych platformach sprzętowych ogólnego przeznaczenia (np. zawierających szybkie przetworniki A/D lub/i D/A), zaś cała logika systemu pomiarowego jest zaimplementowana programowo. Tego typu systemy są nazywane Syntetycznymi Instrumentami Pomiarowymi (SIP) [1]. Naturalnym kierunkiem rozwoju WIP jest odejście od sterowania przy pomocy Graficznego Interfejsu Użytkownika (GIU) implementowanego jako dedykowana aplikacja na rzecz sterowania z poziomu przeglądarki WWW. W praktyce to rozwiązanie pozwala na obsługę urządzenia na dowolnym współczesnym systemie operacyjnym bez konieczności instalowania dedykowanego oprogramowania. Zdalne wykonywanie pomiarów, m.in. przy pomocy przeglądarki WWW, umożliwiają Wirtualne Laboratoria Pomiarowe (WLP). Chociaż WLP są koncepcją znaną od ponad 10 lat [2], nie spowodowały wyraźnego postępu w budowie i sposobie wykorzystania systemów pomiarowych. Architektura WLP opiera się na koncepcji przedstawionej na rys. 1 - pośrednikiem między Naturalnym Instrumentem Pomiarowym (NIP) [1] a Klientem jest Server WWW działający najczęściej na standardowym komputerze klasy PC [3]. Dopiero rozwój systemów wbudowanych spowodował postęp w budowie i sposobie obsługi systemów pomiarowych. Wiąże się on z produkcją coraz bardziej wydajnych mikroprocesorów, wyposażonych w szeroką gamę interfejsów. Znajdują one zastosowanie, m.in. w przemyśle telefonów komórkowych czy telewizorów. Otwierają nowe możliwości dla rozwoju małych, szybkich, wirtualnych, zdalnie sterowanych Instrumentów Pomiarowych. Drogie NIP znanych producentów [4] wyposażane są [...]

 Strona 1  Następna strona »