W artykule przedstawiona jest modyfikacja algorytmu RHT w celu efektywnego wykorzystania jej w strukturze FPGA. Głównym problemem implementacji RHT w FPGA jest duża i dynamicznie zorganizowana pamięć parametrów. Autor proponuje alternatywne rozwiązanie organizacji tej pamięci. Postuluje się, że pamięć parametrów i punktów aktywnych mogłaby być wspólna i niezorganizowana. Zadanie organizacji można przerzucić na proces losowy. Tak zmodyfikowany algorytm można skutecznie zaimplementować w układzie FPGA.
EN
The paper presents modification of a randomized Hough transform (RHT) for efficient implementation in FPGA. The RHT has one significant advantage in comparison with the Hough Transform (HT) - much shorter processing time. It results from the fact that two points constitute together precisely one line (1), not the whole family of them (HT). Therefore only one accumulation has to be done in the parameter space for a single pair of points. The main problem of RHT implementation is a large and dynamic memory structure required for the parameter space. The author proposes an alternative solution. It is suggested that the parameters and active points memory could be kept in the same unorganized memory unit. Organization of the parameter space might be ensured afterwards by a random process, the same used for selecting two points to be put together into a single line. The problem of voting for "non-existing" lines (Fig. 1), common for algorithms in [1] and [3], is solved by connecting lines together (Fig. 2). The algorithm for such a transform has been proposed (Fig. 3) and implemented in FPGA (Figs. 5, 6, 7). It has resulted in a small and compact memory required in case of implementing the RHT. Moreover, the memory size is treated here as a parameter for implementation, allowing to trade the range of lines to be processed simultaneously and the efficiency of memory utilization. It works well even with a little memory supporting only tens or hundreds lines.
In the article MOVE architecture based processor organization is proposed. That organization seems to suit highly hardware intensive tasks in FPGA better than von Neumann based soft processors. The resulting structure is largely scalable without the need for software rewriting and without problems such as cycle stealing. A proposition of that architecture has been described and an example of Cartesian machine driver provided.
PL
Architektura MOVE jest architekturą z wieloletnimi tradycjami, która jest raczej powszechnie, zdaniem autora, niedoceniana. Pozwala ona na taką organizację procesora, aby z jednej strony nie przerzucać ciężaru rozwiązania na część programową a z drugiej zachować bardzo dużą elastyczność, skalowalność i przejrzystość wynikowego rozwiązania. Wykorzystanie takiego rozwiązania pozwala bardzo łatwo dodawać/usuwać i modyfikować moduły procesora bez zmiany pozostałych jego części. Konieczność zmiany oprogramowania występuje tylko wtedy, kiedy należy zmienić sposób komunikacji z pozostałymi modułami. Samo programowanie jest proste, ponieważ dotyczy tylko sekwencji komunikacyjnych na szynie i ma formę krótkich niezależnych i niepowiązanych ze sobą programów dotyczących zdarzeń. W artykule opisano strukturę takiego procesora jak również przedstawiono przykład sterownika do maszyny kartezjańskiej opartego na tego typu rozwiązaniu. Proponowana struktura jest wysoce zmodularyzowana. Taka organizacja pozwala skoncentrować się na pisaniu dopasowanych do sprzętu fragmentów struktury bardzo istotnych dla efektywności wynikowego procesora. Komunikacja między modułami odbywa się natomiast w ramach sformalizowanej struktury procesora MOVE i jej zaplanowanie jest w dużej części zautomatyzowane. Struktura powiązań między modułami jest także, zdaniem autora, czytelna i łatwa do zaprojektowania. W szczególności autor chciał zwrócić uwagę na bardzo łatwą skalowalność, rozumianą jako możliwość powielania gotowych modułów w ramach istniejącej struktury procesora, na przykład dodawanie nowych napędów do sterownika. Pokazane zostało to na przykładzie sterownika silników do maszyny kartezjańskiej.
Przejście z implementacji systemu na mikroprocesorze do wykorzystania układu FPGA jest często trudne. Zazwyczaj nie opłaca się poświęcenie czasu na przepisanie kodu już zaimplementowanych algorytmów. Skuteczniejszym rozwiązaniem jest przeniesienie samej struktury oryginalnego procesora do wnętrza układu FPGA. Zadanie przeniesienia struktury można częściowo zautomatyzować i przyspieszyć proponując właściwą aplikację wspomagającą. Aplikacja taka mogłaby także być efektywną pomocą dydaktyczną do prezentacji i eksperymentowania na różnych architekturach komputerów. W artykule przedstawiono propozycją właśnie takiej aplikacji.
EN
While improving current projects, transition form microprocessor based system to FPGA is often not straightforward. Time spent on code rewriting is not usually considered cost-effective. It seems to be more effective to implement the structure of a considered processor directly on FPGA and transfer the code unmodified. The task of cloning a real processor into FPGA structure could be partly automated and shortened by the right programming environment. Such environment could also serve as a helpful and efficient teaching tool, allowing students to see architecture at work and experiment with its own modifications. In the paper such an environment is presented. It is partially inspired by LISA project [1], but opposed to that the author tries not to put a user too far away from the resulting code. This environment is rather a time-saving code generator for schematical tasks (Fig. 1). As such, it allows defining the general structure of the resulting Verilog code (Fig. 3) and the parameters for ALU, control unit and bus address space (Figs. 4, 5, 6). Figs. 7 and 8 show examples of the resulting codes. The application is currently mainly used for teaching purposes but is planned to be developed to help in automatic project transformation from microcontrollers to FPGA SoC designs.
Wykonanie pełnej transformaty Hougha wymaga dużej mocy obliczeniowej. Moc obliczeniową można zredukować wybierając losowo tylko niektóre próbki do przetwarzania. Algorytm taki nosi nazwę RHT. Klasycznie, ze względu na intensywne wykorzystanie dynamicznych struktur danych oraz dużą liczbę warunkowo wykonywanych funkcji, zadanie RHT nie implementuje się dobrze w strukturze FPGA. Autor proponuje modyfikację tego algorytmu, tak aby efektywnie można było wykonać taka implementacje. W artykule przedstawiono propozycję struktury procesora dedykowanej dla struktury FPGA i realizującego algorytm RHT.
EN
Original Hough Transform requires much computational power to calculate parameter space and select proper maxima in that space. Computational power can be reduced by randomly selecting only a subset of points for processing. An algorithm constructed that way is called the RHT (Randomized Hough Transform). Originally, because of intensive use of dynamic memory structures and high number of conditionally executed functions, the RHT algorithm does not fit well in FPGA. The author tries to modify that algorithm in order to be able to implement it efficiently in static FPGA structures. It is achieved by means of rejecting the parameter space, using a line list instead and selecting lines from that list to be paired, extended or checked. Pairing is a procedure of connecting two lines and is a vital part at the initial stage. The extending procedure tries to search if there are more points at left or right side of a line which might extend that line. The checking procedure confirms existence of a line and potentially eliminates it from further processing (when long enough or too short). Having linearly addressed the line list with random selection of lines inside allows not to use dynamic memory structures and improves its FPGA implementation significantly. The FPGA implemented structure of a processor for the proposed algorithm is presented in the paper.
W artykule przedstawiono propozycję zadania laboratoryjnego dotyczącego układów FPGA na poziomie drugiego roku studiów informatyki. Propozycja ta została poprzedzona badaniami ankietowymi preferencji u pracodawców. Pokazała ona jak ważna jest umiejętność wyobrażenia sobie struktury wynikającej z kodu behawioralnego oraz zdolność samodzielnego radzenia sobie z problemami w kodzie. Wyniki wskazują natomiast na małe znaczenie dokumentacji i formalizmu kodu. Zadanie polega na wygenerowaniu efektu spadającego śniegu i wyświetleniu go na monitorze podłączonym do płytki z układem Xilinx Spartan 3.
EN
In this paper a laboratory exercise for FPGA teaching for the second-year students of computer science is presented. It is mainly focused not on a global FPGA companies but rather on a small/medium business profile. This proposal was preceded by a survey research. The authors decided to use two methods, polling and direct talks, for the purposes of consultation with local industrial market. A survey was conducted among employers to recognize what kind of skills were the most useful in that context. It shows that the most important skills are the possibility to picture a structure from a behavioral code and a possibility to cope with real problems unassisted. Documentation and sophisticated means of specifying and coding a task are the least required. The proposed laboratory exercise concerns a falling-snow effect on a Xilinx Spartan3 device. The possibility of teamwork in solving the problem is an additional observed beneficial effect. It seems to be quite attractive for students and achieves its teaching goals.
Przedstawiono propozycję strukturalnej realizacji na układzie FPGA regulatora optymalnego o najkrótszym czasie dojścia do zadanej pozycji. Regulatory optymalne charakteryzują się dużymi wymaganiami ze względu na przewidywalność ruchu, dzięki czemu możliwe jest osiągnięcie lepszych parametrów tego ruchu. Skutecznie można je wykorzystać jako regulatory wyższych poziomów, jak regulator pozycji czy nadążny, jak również regulatory dla systemów z silnikami krokowymi. Implementacja takiego regulatora w układzie FPGA pozwala na wykorzystanie wielu takich modułów w jednym chipie, dostosowując ich liczbę oraz parametry do wymaganej aplikacji.
EN
This article presents proposition of structural implementation on FPGA of time-optimal controller. Optimal controller requires high predictability of movement parameters and based on that allows to achieve bet-ter characteristics of that movement. It can be efficiently used as high-Ievel controller, like position controller, track follow controller of stepper motor controller. FPGA implementation of such controller allows to use multiple controllers in one chip, adopting this number as well as their parameters to particular application.
Digital configurable logic is much more advanced and ubiquitous when compared to possible analog configurable world - now supported mainly with relatively low frequency FPAA and marginally with some FPMA concepts. The problem is how to achieve configurable functionality on high frequency analog path with reasonable system integration and cost. Presented paper deals with this issue considering an analog mixer example and discussing some observations appeared when RF signal acquisition circuits have been developed. Authors argue that using a hybrid approach when building high frequency analog path, by complementing the configurable digital logic with dedicated radio-frequency components, high quality applications with configuration features may be expected.
PL
Rekonfigurowalne układy cyfrowe są dużo bardziej zaawansowane technologicznie i metodycznie oraz rozpowszechnione w porównaniu z rekonfigurowalnymi rozwiązaniami typu analogowego - wspomaganymi obecnie głównie przez układy FPAA o ograniczonej częstotliwości pracy oraz przez pewne koncepcje typu FPMA. Problem sprowadza się do możliwości uzyskania modyfikowalnej funkcjonalności w analogowym torze wysokiej częstotliwości zachowując odpowiednią integrację systemu przy akceptowalnych kosztach. Prezentowany artykuł podejmuje ten problem opierając się na przykładzie miksera analogowego oraz pewnych obserwacjach poczynionych podczas realizacji toru radiowego pozyskiwania danych. Autorzy proponują zastosowanie podejścia hybrydowego dla realizacji analogowego toru wysokiej częstotliwości, poprzez uzupełnienie rekonfigurowalnych elementów o charakterze cyfrowym specjalizowanymi elementami częstotliwości radiowych.
8
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W artykule opisano systemy szkoleniowe przeznaczone dla Kołowego Transportera Opancerzonego (KTO) - Rosomak. Przedstawiono genezę powstania i historię rozwoju systemów Jaskier, Tasznik oraz zintegrowanego systemu szkoleniowego KTO - Rosomak. Przedstawiono budowę zastosowanych systemów komunikacyjnych w zrealizowanych symulatorach. Dokonana została analiza matematyczna występujących opóźnień w systemach komunikacyjnych symulatorów. W podsumowaniu autorzy odnieśli się do kierunków rozwoju i uwarunkowań systemów komunikacji w przyszłych rozwiązaniach symulatorów.
EN
The paper describes training systems designed for KTO (Wheeled Armoured Vehicle) Rosomak. The creation and development of the Jaskier and Tasznik systems and of the integrated training system of KTO Rosomak are presented. The structure of the communication systems used in the simulators is characterized. Mathematical analysis of delays in the communication systems of the simulators is made. In conclusion the authors give their opinion on future trends and considerations in the design of communication systems in simulators.
Publikacja przedstawia bieżące rezultaty prac realizowanych w ramach projektu rozwojowego nr 0R00009112, w zakresie wykonania prototypu radaru obserwacji podpowierzchniowej. Radar ma umożliwić wykrywanie oraz klasyfikowanie wykrywanych obiektów (miny i ładunki minowe). W związku z tym, w projekcie kładziony jest szczególny nacisk na badania przemysłowe i prace rozwojowe, aby efektywnie wykorzystać dostępne już na świecie metody i technologie radarowe do wytworzenia prototypu. Efekty naukowe są spodziewane zasadniczo w zakresie poszerzenia efektywności wykorzystywanych metod rekonstrukcji obrazu w połączeniu z warstwą fizyczną (anteny, modulacja itp.). Możliwość klasyfikowania wykrywanych obiektów stanowi nadal istotne wyzwanie naukowe, ponieważ niewiele metod klasyfikacji obiektów zostało wypracowanych w ośrodkach światowych, zaś skuteczność tych istniejących jest bardzo ograniczona. Generalnie, w projekcie zakłada się (w sposób oczywisty), że im lepszej jakości uzyskiwany jest obraz (po rekonstrukcji), tym lepszych efektów klasyfikacji obiektów należy się spodziewać -zarówno wykonywanej przez człowieka, jak i automatycznej. Z tego względu budowany jest radar z falą ciągłą i modulacją skokową (SFCW), pracujący w dużym przedziale częstotliwości (do 18 GHz). Elastyczność parametrów pracy tego typu radaru umożliwi właściwy kompromis pomiędzy głębokością penetracji fali a rozdzielczością obrazu, w zależności od specyfiki zadania.
EN
In this paper some results are presented of a R&D project in progress which will be finished with a prototype of wide bandwidth subsurface radar (or, ground penetrating radar - GPR). This radar will be able to detect mines-like objects to allow classification of them. Subsurface radar technology is quite well understood already. In this project the main effort is focused on R&D to properly adopt methods and radar technology available worldwide in order to build a technologically advanced prototype. Expected scientific results of the project may reveal new details between image inversion/migration and the system physical layer (antennas, modulation, etc.). Object classification is still a scientific challenge with no doubt. There are no many methods available, but effectiveness of those existing is rather pure. In general, it is assumed in the project (in obvious way) that the better quality of the image the better classification can be done, with human perception or automatically (ATR). That is why the stepped frequency continuous wave (SFCW) radar is being built, working in wide frequency range (up to 18 GHz). Flexibility of this kind of radar allows to compromise the penetration depth with possible image resolution, according to the specific system task.
W artykule zawarto początkowe wyniki projektu rozpoczętego na Politechnice Szczecińskiej i dotyczącego nowatorskiej metody realizacji systemu wizualnej inspekcji maszynowej płytek PCB. Nowością, której dotyczą badania, jest wykorzystanie elastycznych, dynamicznych algorytmów widzenia maszynowego, umożliwiających uwzględnienie w nich specyfiki rozpatrywanej aplikacji. Ze względu na dynamiczność algorytmów nie jest możliwe zaproponowanie w pełni strukturalnego rozwiązania, możliwego do realizacji w układach FPGA. Konieczne jest uwzględnienie procesu kosyntezy sprzętowo-programowej. Specyfika użytego procesu kosyntezy polega na tym, że oprogramowanie i sprzęt przeplatają się tutaj wzajemnie, nie tworząc konwencjonalnej struktury procesora i koprocesora ani nie wpisują się w znane architektury ISA współczesnych procesorów. Propozycja jednego takiego procesora, dedykowanego dla określonej klasy algorytmów widzenia maszynowego przedstawiona została w tym artykule.
EN
This article describes initial results of the project started on Technical University of Szczecin and concerning novel method to implement visual inspection system for PCB. The novel part being under analysis is the usage of flexible, dynamic algorithms for machine vision, which allow to introduce specific parts of the considered application directly into the algorithm structure. However dynamic algorithms are impossible to implement in purely structural way on FPGA devices. It is necessary to incorporate hardware/software codesign process into design methodology. The specific part of codesign methodology in this application is, that no conventional processor/co-processor or ISA architecture could be used. The proposal of one of those processors, dedicated for particular class of machine vision algorithms has been presented in this paper.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.