Asignificant rise in Artificial Intelligence (AI) has impacted many applications around us, so much so that AI has now been increasingly used in safety-critical applications. AI at the edge is the reality, which means performing the data computation closer to the source of the data, as opposed to performing it on the cloud. Safety-critical applications have strict reliability requirements; therefore, it is essential that AI models running on the edge (i.e., hardware) must fulfill the required safety standards. In the vast field of AI, Deep Neural Networks (DNNs) are the focal point of this survey as it has continued to produce extraordinary outcomes in various applications i.e. medical, automotive, aerospace, defense, etc. Traditional reliability techniques for DNNs implementation are not always practical, as they fail to exploit the unique characteristics of the DNNs. Furthermore, it is also essential to understand the targeted edge hardware because the impact of the faults can be different in ASICs and FPGAs. Therefore, in this survey, first, we have examined the impact of the fault in ASICs and FPGAs, and then we seek to provide a glimpse of the recent progress made towards the fault-tolerant DNNs. We have discussed several factors that can impact the reliability of the DNNs. Further, we have extended this discussion to shed light on many state-of-the-art fault mitigation techniques for DNNs.
PL
Znaczący rozwój sztucznej inteligencji (SI) wpływa na wiele otaczających nas aplikacji, do tego stopnia, że SI jest obecnie coraz częściej wykorzystywana w aplikacjach o krytycznym znaczeniu dla bezpieczeństwa. Sztuczna inteligencja na brzegu sieci (Edge) jest rzeczywistością, co oznacza wykonywanie obliczeń na danych bliżej źródła danych, w przeciwieństwie do wykonywania ich w chmurze. Aplikacje o krytycznym znaczeniu dla bezpieczeństwa mają wysokie wymagania dotyczące niezawodności; dlatego ważne jest, aby modele SI działające na brzegu sieci (tj. sprzęt) spełniały wymagane standardy bezpieczeństwa. Z rozległej dziedziny sztucznej inteligencji, głębokie sieci neuronowe (DNN) są centralnym punktem tego badania, ponieważ nadal przynoszą znakomite wyniki w różnych zastosowaniach, tj. medycznych, motoryzacyjnych, lotniczych, obronnych itp. Tradycyjne techniki niezawodności implementacji w przypadku DNN nie zawsze są praktyczne, ponieważ nie wykorzystują unikalnych cech DNN. Co więcej, istotne jest również zrozumienie docelowego sprzętu brzegowego, ponieważ wpływ usterek może być różny w układach ASIC i FPGA. Dlatego też w niniejszym przeglądzie najpierw zbadaliśmy wpływ usterek w układach ASIC i FPGA, a następnie staramy się zapewnić wgląd w ostatnie postępy poczynione w kierunku DNN odpornych na błędy. Omówiliśmy kilka czynników, które mogą wpływać na niezawodność sieci DNN. Ponadto rozszerzyliśmy tę dyskusję, aby rzucić światło na wiele najnowocześniejszych technik ograniczania błędów w sieciach DNN.
Niniejszy artykuł dotyczy rozwiązania przeznaczonego do implementacji jednokierunkowych sieci neuronowych w układzie FPGA. Opisano zarówno jego ogólną koncepcję, jak i realizację układową. Przedstawiony został sposób użycia proponowanego rozwiązania dla celów adaptacyjnej kalibracji precyzyjnych liczników czasu. Zaprezentowano również wyniki testów opracowanego rozwiązania.
EN
The following paper is focused on a hardware solution designed for implementation of feedforward neural networks (FNN) in FPGA device. Its general conception and implementation are described. The way of use of the proposed solution for adaptive calibration process of precise time counters is presented. The performed tests of the designed solution are also shown.
3
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W artykule przedstawiono analizę porównawczą stanowiska badawczego złożonego z układu FPGA oraz sterownika z rodziny S7- 1200, które współpracują ze sobą wymieniając informacje zgodnie z protokołem komunikacyjnym Modbus RTU. W obu stanowiskach obiektem sterowania jest silnik trójfazowy sterowany przy wykorzystaniu przemiennika częstotliwości SINAMICS V20.
EN
This paper shows a comparison analysis of two lab stations designed to control a three phase electric motor. In both stations the motor is driven by a SINAMICS V20 frequency controller which communicates using Modbus RTU protocol with its control system. The control system in the lab station it is an FPGA circuit while in the other lab station it is a S7-1200 series programmable logic controller.
W pracy opisano projekt i realizację stanowiska laboratoryjnego do testowania algorytmów regulacji. Przedstawiono budowę mechaniczną oraz elektroniczną. Omówiono funkcje programowe umożliwiające sterowanie procesem. Podkreślono uniwersalność stanowiska, która polega na szerokich możliwościach konfiguracji, gdyż można badać prosty proces jednowymiarowy oraz skomplikowane procesy wielowymiarowe. Opisano możliwości zastosowania stanowiska, w szczególności do testowania algorytmów regulacji zaimplementowanych w systemach wbudowanych, wykorzystujących mikroprocesory, układy FPGA oraz sterowniki PLC. Omówiono przykład regulacji procesu za pomocą algorytmu regulacji predykcyjnej zaimplementowanego na mikroprocesorze.
EN
The article describes the design and implementation of a laboratory test-bench which may be used to evaluate control algorithms. Mechanical and electronic details are presented. The software features that allow to control the test-bench are discussed. The test-bench is very flexible since it may be easily configured to act as a single-input single-output process and as a number of complicated multiple-input multiple-output processes. Existing possibilities of development of control algorithms implemented on embedded systems based on microprocessors, FPGAs and PLCs are discussed. Finally, an example implementation of a model predictive control algorithm on a microprocessor is detailed.
W artkule przedstawiono sposób realizacji układów mikroprogramowanych w strukturach FPGA. Projekt ma na celu zbudowania narzędzia do szybkiego prototypowania złożonych układów mikroprogramowanych. Zaimplementowany układ sterujący może służyć do współpracy z różnymi układami wykonawczymi. W artykule przedstawiono opisy w języku VHDL układu sterowania oraz zaproponowanego jako układ wykonawczy prostego procesora wykonującego kilka podstawowych rozkazów. Pokazano także środowisko sprzętowe i programowe potrzebne do wykorzystania prezentowanego narzędzia, które może być użyteczne do wspomagania procesu nauczania mechanizmów mikroprogramowania w układach cyfrowych.
EN
FPGAs can be applied to rapid prototyping of microprograming circuits. Each microprograming circuits contain two parts: control unit and execution unit. The target of this work is to build friendly tool to use by microprograming device designers. To implement this tool a VHDL environment was used. The some main parts of VHDL description was presented. Because various microprograming circuits used the same control part then we design fixed control unit easily applied to various execution units. But as execution unit we design the simple processor build with arithmetic-logical unit, register block with four registers and additional input register RQ. ALU is equipped only in 8 easy operations. Both modules control unit and execution unit was design using VHDL description. As an example we present VHDL descriptions of MAS unit and register unit. The first description is behavior description and the second one is structure description. The structure description contain all flip-flops because in such case the random access to contents of every registers is possible. In this article we has been show the hardware and software environment able to apply it to implement microprogramed device. This tool was successful tested during didactic process where students needs a short time to design quite complex microprograming device.
The paper presents idea of processors design with a preset instruction list. Each instruction is implemented as a functional logic block, attached to a common bus. Each of these blocks contains execution and control elements necessary to instruction execution. The processor is a combination of several dozen of such blocks. Only one is active after the recognition of the instruction code. The individual command blocks are described in VHDL and whole processor can be built in the FPGA.
PL
W artykule przedstawiono koncepcję projektowania procesorów za pomocą listy rozkazów. Każdy z rozkazów stanowi w pełni funkcjonalny blok logiczny, dołączony do wspólnych magistral i zawierający elementy wykonawcze i sterujące, które są niezbędne do jego wykonania. Procesor jest połączeniem kilkudziesięciu takich bloków, z których tylko jeden podejmuje działanie po rozpoznaniu swojego kodu rozkazu. Procesor jest realizowany w układzie FPGA, dlatego opis poszczególnych bloków rozkazowych jest projektowany w języku VHDL.
7
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Układy FPGA, ze względu na ich otwartą konfigurację oraz sposób ich implementacji, mają szeroki zakres zastosowań. W artykule opisano uwarunkowania występujące przy projektowaniu aplikacji z wykorzystaniem układów FPGA, umożliwiających wymianę danych pomiędzy portami interfejsów o różnych standardach. Przedstawiono etapy realizacji projektu: od analizy wybranych interfejsów, poprzez dobór odpowiedniego układu FPGA, projekt aplikacji w języku VHDL, realizację symulacji, po konfigurację układu rzeczywistego oraz testowanie jego działania. W artykule przedstawiono przykładowe rozwiązanie przyrządu do pomiaru i rejestracji parametrów jakości energii elektrycznej, ilustrujące etapy projektowania układu łączącego porty interfejsów o różnych standardach, zarówno w zakresie parametrów sygnałów interfejsowych, jak i formatów przesyłanych danych. Przedstawiono sposoby realizacji aplikacji konfiguracyjnej FPGA. Omówiono metodykę badań prowadzonych na etapie symulacji funkcji wykonywanych w FPGA dla weryfikacji konfiguracji układu. Załączono wyniki badań prowadzonych podczas testowania poprawności działania sprzężonych interfejsów. Na przykładzie wybranego układu FPGA sformułowano wnioski określające zakres jego wykorzystania w kontekście możliwych do realizacji standardów sygnałowych, ograniczeń częstotliwości sygna- łów wejściowych/wyjściowych oraz wskazano przykładowe standardy interfejsów, z którymi skonfigurowany układ FPGA może wymieniać dane przy określonych parametrach komunikacji.
EN
The FPGAs have great possibilities of their application thanks to the open structure and convenient way of their configuration. In paper, the conditions occurring in the design of FPGA applications that allows exchange of data between the different standards interfaces were described. The paper presents the stages of project implementation, starting with analysis of the activities of specific interfaces by selecting the FPGA, application and simulation design in VHDL, configuration and testing of actual operation of the system. The paper shows an example illustrating the project stages of the connection between the interfaces with different signal standards and different data frame formats. It also presents how to implement the FPGA configuration application as well as the methodology of research carried out on the stage of user functions simulation, the FPGA configuration verification and the results of research conducted during the testing operation of coupled interfaces. Taking into account the selected FPGA the proposals providing range of ts use in the context of possible signal standards implementation were formulated, input/output signal frequency restrictions were indicated as well as the examples of interface standards with which the configured FPGA can exchange the data with specific parameters of communication.
Układy FPGA dobrze nadają się do modelowania układów odwracalnych, których implementacje sprzętowe są dopiero w stadium opracowywania. Układy odwracalne umożliwiają prostą realizację szyfratorów i deszyfratorów. W artykule rozpatrzono działanie dwóch szesnasto-bramkowych kaskad zbudowanych z cztero-wejściowych bramek odwracalnych NCT, aby uzyskać bajtowo zorientowany szyfrator. Zbiór bramek NCT o co najwyżej czterech wejściach zawiera 32 bramki, więc dla skonfigurowania jednej bramki potrzeba 5 bitów. Zatem kaskada może być określona przez 80-bitowe słowo, co dla dwóch kaskad daje 160-bitowy klucz. Po każdym wejściowym bajcie obie kaskady są rekonfigurowane za pomocą odpowiedniego przesuwania 80-bitowych słów. Sposoby przesuwania są określane przez dodatkowe bity klucza pomocniczego.
EN
FPGAs can be applied to modeling of reversible circuits because their practical realization is still under development. This technique enables implementing substitution ciphers. We try to build a byte-oriented stream cipher. Such a cipher uses two four-input and four-output cascades. Each of the cascades contains 16 reversible NCT gates. Because there exist 32 different NCT gates having at most four inputs we use 80 bits (16×5 bits) to determine one cascade so for two cascades 160 bits are needed. These bits are called the base key and are stored in the memory of a cipher. At the beginning of encryption the key is loaded to a circular shift register. After each input byte (a clock period) the contents of the shift register is shifted by a specified number of bits. The number of bits by which the register contents is shifted constitutes the second part of the cipher key. The shifting process causes changes in cascades after each input byte. If shifting the key is the same during both encryption and decryption, then the cipher will work correctly. In the paper, we present some methods of key shifting. If the register contents is shifted by 5 bits, then each gate is replaced by its predecessor (the first gate is replaced by the last one). The results of different shifting modes are presented showing that in all cases correct encryption/decryption is performed. For modeling and simulation of synthesis we used test-bench software ActiveHDL v 8.2 from ALDEC.
Synteza układów odwracalnych prowadząca do uzyskania układu optymalnego (składającego się z minimalnej liczby bramek) jest problemem bardzo trudnym. Dlatego często rezygnuje się z optymalności na rzecz prostszych metod projektowania. W niniejszym artykule przedstawiono wyniki prac związanych z możliwością implementacji uniwersalnego układu, który wykorzystuje pewien heurystyczny algorytm i pozwala na realizację dowolnej funkcji trzech zmiennych. Prowadzone prace wykorzystują układy FPGA i ich opisy w języku VHDL.
EN
Optimal synthesis of reversible circuit synthesis is a hard task. This why simpler algorithms are developed for finding suboptimal solutions. We show a simple heuristic algorithm implemented in a programmable FPGA circuit. In this paper the new algorithm and its hardware implementation in VHDL are described. The presented algorithm is based on some feature of reversible functions, namely, on the ordering of columns in the truth table for a given reversible function. We define the so called s-distance as a minimal length of gates cascade which is capable to order a column of the truth table, i.e. to transform a right side column to become identical to the corresponding left side column. It is possible to store s-distances for all possible columns. For every function the SF-distance is defined as the sum of all column s-distances. The proposed simple algorithm selects the gates which lead to the minimal SF-distance for the rest function (a rest function is the function to be still implemented after the given gate has been selected). The process is repeated until the consecutive rest function will become the identity function. The algorithm can be implemented using the FPGA circuit as the block scheme from Fig. 3. The description of this module using VHDL is presented and discussed.
Celem pracy jest realizacja prostego szyfratora i deszyfratora. Przedstawiona implementacja wykorzystuje tzw. układy odwracalne. Własności bramek odwracalnych pozwalają na łatwe ich modelowanie w układach FPGA. Niniejszy artykuł pokazuje, jak w układzie FPGA można zaimplementować prosty szyfrator i deszyfrator strumieniowy, zmieniające swoją strukturę w zależności od klucza szyfrującego. Pokazano również możliwości modyfikacji projektu zwiększające odporność na ataki.
EN
The simple implementation of a cipher using reversible circuits was the aim of this work. For prototyping of the cipher we built a model using FPGA circuits. In such a case it was possible to show how structure of a reversible cascade implementing the cipher changes depending on the cipher key. Each gate used in a cascade of reversible gates is determined by the key word. Choosing different key words we get different cascades and different substitution encryption. We try to add some units to control a key value during each step of encryption and in this manner we are able to achieve more complex encryption.
W artykule przedstawiono System Modułów Laboratoryjnych SML3, który został opracowany w Instytucie Informatyki Politechniki Warszawskiej (II PW) jako narzędzie do prowadzenia zajęć dydaktycznych oraz wspomagania prac badawczych. System zapewnia łatwy sposób mechanicznego i elektrycznego łączenia modułów. Zbiór modułów zawiera układy SSI, MSI, LSI, a także układy VLSI.
EN
The laboratory system SML3 is a simple tool for modeling and rapid prototyping of complex digital circuits. It can be used in didactic process as well as in research and development works. System contain modules with integrated circuits located on printed boards. The modules can be easily connected mechanically as well as electrically. For electrical connections are used standard 16-pins IDC connectors with 8 pins dedicated for data transfer and 8 pins for power supply. Additionally modules are equipped with special pins for single connections. Designer can select modules from wide module set and selected modules can be located on special frame. Due to simplicity of usage the process of prototyping even complex digital circuits is easy and fast.
W pracy opisano uniwersalną metodę implementacji rodziny generatorów pseudolosowych bazujących na multiplikatywnym generatorze kongruencyjnym z modulnikiem 231 -1. Algorytm optymalizuje zarówno operację modulo jaki i operację mnożenia. Projekt został przygotowany w języku Verilog i zaimplementowany w układzie programowalnym FPGA (ang. Field Programmable Gate Array) o symbolu XC6SLX45 firmy Xilinx. Pojedynczy generator zajmuje około 130 komórek typu Slice i może wytwarzać ciąg pseudolosowy o szybkości 4.169 Gbits na sekundę. Zaimplementowany generator nie jest generatorem bezpiecznym, ale może zostać wykorzystany w kryptografii po dodatkowym przetworzeniu ciągu wyjściowego.
EN
A universal hardware implementation of a pseudorandom number generators family based on a multiplicative congruential generator (MCG) with modulus 231 -1 has been proposed in this paper. The proposed algorithm optimizes both the multiplication and modulo 231 -1 operation. The design was prepared in Verilog and implemented in Xilinx Field Programmable Gate Array (FPGA) device XC6SLX45. A single generator takes up about 130 slices and can produce up to 4.169 Gbits per second. Implemented generators are not secure themselves, but they can be used in cryptography with additional processing and by using several different generators in parallel.
13
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
The amplitude modulated triangular carrier pulse width modulation method (AMTCPWM) is a natural sampled PWM method which can extend the linearity of the sinusoidal PWM (SPWM) to full range of the pulse dropping region and increase the dynamic range of the SPWM control. Any submission in the PWM theory with a specific performance target is mandatorily requires either a reference or a carrier modification. This paper presents a reprogrammable architecture to implement the AMTCPWM with perfect reproduction capability. The architecture is implemented using Spartan 6 family device LX45 using Modelsim 6.3 and Xilinx 13.2i.
PL
Metoda modulacji amplitudowej fali nośnej trójkątnej AMTCPWM umożliwia rozszerzenie możliwości klasycznej metody sinusoidalnej PWM SPWM. W pracy zaprezentowano wykorzystanie układów FPGA.
W artykule omówiono zastosowanie układów rekonfigurowalnych FPGA jako akceleratorów kryptograficznych - urządzeń, które mogą wykonywać operacje szyfrowania lub deszyfrowania danych szybciej i przy mniejszym zużyciu energii niż procesory ogólnego przeznaczenia, oferując jednocześnie dużą elastyczność oraz możliwość rozwoju i modyfikacji rozwiązania. W pierwszej części pracy przedstawiono budowę i zasoby dostępne we współczesnych układach FPGA, a w drugiej zaprezentowano implementację algorytmu kryptograficznego CLEFIA.
EN
This paper discusses the use of FPGA devices as cryptographic accelerators, which are able to perform the encryption or decryption operation faster and using less power than general-purpose processors while offering great flexibility and the ability to further develop and modify the design. In the first part, the structure and resources available in modern FPGAs are presented and in the second the implementation of the cryptographic algorithm CLEFIA is discussed.
W artykule opisano system umożliwiający odbieranie i przetwarzanie strumienia wideo w technologii 3D transmitowanego w standardzie HDMI (tryb side by side), co pozwala na współpracę z dostępnymi na rynku kamerami 3D. Zaproponowana architektura umożliwia implementację popularnych metod obliczania map dysparycji: m. in. SAD oraz opartych o transformatę Censusa, realizację sprawdzenia symetryczności mapy oraz filtrację medianową poprawiającą jakość wyników. W pracy omówiono budowę każdego z modułów, użycie zasobów FPGA, zużycie mocy, a także przykładowe rezultaty działania na płycie ewaluacyjnej VC707 z układem Virtex 7.
EN
In the paper a system for acquisition and processing of a 3D video stream is presented. It can work with 3D HDMI cameras available on the market. In Section 2 the basic concepts of stereovision systems are described [1]. In Section 3 three distance metrics, SAD [4], ZSAD and Census [5], used for correspondence matching are discussed. Evaluation of the matching process on the Middlebury dataset [2] is also presented. The best results were obtained for the SAD and ZSAD methods and greyscale images. In Table 1 there are shown three best configurations. Figure 1 illustrates the obtained disparity maps. A description of the hardware implementation is given in Section 4. The block diagram of the system is presented in Figure 2. The proposed solution is able to process images transmitted in side by side mode, to compute two disparity maps (left to right and right to left, method from [4]), to use SAD or ZSAD cost function, to check maps consistency and execute median filtering for final image processing. The described module is highly parameterizable: different cost functions, window sizes and disparity range can be used, image size and median filtering size can be adjusted. FPGA resource utilization is presented in Table 2. A picture of the working system is shown in Figure 3 (1280 x 720 @60 fps, real-time video-stream processing). The proposed module can be used for video surveillance, pedestrian collision avoidance systems or in autonomous vehicles.
W artykule opisane są projekt i wyniki badań przetwornika czas-liczba o rozdzielczości 5,3 ps (1 LSB) i zakresie pomiarowym 428 ps. Do przetwarzania czasowo-cyfrowego użyta została metoda kodowania wielokrotnego. Metoda ta umożliwia pokonanie ograniczeń technologicznych współczesnych układów scalonych i uzyskanie wartości rozdzielczości mniejszej niż czas propagacji pojedynczej komórki linii kodującej. Przetwornik został zrealizowany w układzie programowalnym Spartan-6 firmy Xilinx.
EN
This paper presents the implementation and tests results of a time-to-digital converter based on the wave union method and implemented in Spartan-6 FPGA (Xilinx). The converter has the resolution of 5,3 ps (1 LSB) in the measurement range of 428 ps and the integral nonlinearity of 3,8 LSB (Fig. 7). In the wave union method, contrary to the typical conversion methods with a single coding, the resolution is lower than the FPGA cell delay thanks to coding several transitions of the time event signal (Fig. 2). In addition, the linearity of conversion is increased by reducing the width of wide bins. Although, using a multi-transition pattern gives better performance, it also brings more problems to be solved. The main problems such as implementation of a pattern generator for certain amount of transitions, minimal delays between transitions and elimination of bubble errors are discussed in this paper. The pattern generator (Fig. 3) is implemented with use of a carry chain. It enables controlling the pattern by means of diagnostic and measurement software. Bubble errors (Fig. 4) are eliminated with a fast asynchronous encoder (Fig. 5). The diagnostic-control software (Fig. 6) allows to configure the pattern generator, launch the measurement session and generate a text file with all information needed to calculate conversion characteristics of the time-to-digital converter.
In cryptography we often require sequences of numbers with unpredictable elements. Such sequences cannot be produced by purely deterministic systems. A novel method for producing true randomness and increasing the randomness of a combined TRNG using ring oscillators is described. In this paper we show that the proposed method provides similar results for generators implemented using different technologies offered by Xilinx. Thus, the proposed generator can be implemented in different FPGAs with other elements of a cryptographic system.
PL
W kryptografii często wymaga się ciągów liczb złożonych z nieprzewidywalnych elementów. Takie sekwencje nie mogą być wytwarzane w systemach czysto deterministycznych. Inżynierowie muszą opracować źródła losowości, których właściwości muszą być ocenione i potwierdzone przez niezależne badania, przynajmniej doświadczalnie. W artykule pokazano, że proponowana metoda wytwarzania losowości jest stabilna pod względem technologicznym. Uzyskano bardzo zbliżone rezultaty dla generatorów losowych zrealizowanych w strukturach FPGA (Field Programmable Gate Array) wykonanych w różnych technologiach jakie oferuje firma Xilinx. W żadnym przypadku nie korzystano z manualnego rozmieszczania elementów w matrycy FPGA, aby uzyskać lepsze rezultaty. Położenie poszczególnych składników zależało tylko od oprogramowania dostarczanego przez producenta. Zatem proponowany generator może być implementowany w różnych układach FPGA razem z innymi elementami systemu kryptograficznego.
18
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
In the paper the real-time system based on FPGA applied to control the delay time in feedback loop of the Self-excited Acoustical System is presented. The system can be used for stress change measurement in elastic constructions. Stress changes manifest themselves in small but detectable variations of resonance frequency. This phenomenon can be used to indirect measure stress changes in the material. In the article the limits of the measurement system which occurred during research on the analogue version of the system were eliminated by applying FPGA technology.
PL
W artykule przedstawiono wykorzystanie systemów czasu rzeczywistego i układów FPGA do sterowania opóźnieniem pętli sprzężenia zwrotnego w Samowzbudnym Systemie Akustycznym do pomiaru zmian naprężeń w konstrukcjach sprężystych. Zjawisko to może zostać użyte do pośredniego pomiaru naprężeń w konstrukcjach. W artykule wskazano ograniczenia układu pomiarowego, które zostały wyeliminowane dzięki zastosowaniu systemów czasu rzeczywistego oraz układów FPGA.
This paper presents an application of FPGA to support the calculation of the inverse kinematics problem of a parallel robot. The presented robot is designed for milling by moving the spindle along a desired trajectory generated in Cartesian space. This means that for each point of the trajectory solution of the inverse kinematics problem is needed. The resulting sequence of data creates the joint space trajectory. The trajectory in joint space must be calculated in real time. Required high frequency and complex equations makes the problem of the calculation time crucial. The paper shows how to increase the computing power for inverse kinematics problem solving, preserving required calculation accuracy, by augmenting the arithmetic coprocessor with custom instructions. The paper shows hardware implementation of the accelerator and presents results of calculations performed on Altera FPGA chip.
PL
W artykule przedstawiono wykorzystanie układu FPGA do wspomagania obliczeń zadania odwrotnego kinematyki robota równoległego. Zaprezentowany robot przeznaczony jest do frezowania przez prowadzenie wrzeciona wzdłuż zadanej trajektorii generowanej w przestrzeni kartezjańskiej. Oznacza to, że dla każdego punktu trajektorii należy rozwiązać zadanie odwrotne kinematyki. Uzyskany ciąg danych tworzy trajektorię w przestrzeni złączowej. Trajektorię w przestrzeni złączowej należy obliczać w czasie rzeczywistym, co przy dużej częstotliwości i złożonych równaniach powoduje, że problem czasu obliczeń staje się istotny. W artykule pokazano, jak za pomocą rozbudowy koprocesora arytmetycznego o własne instrukcje można zwiększyć moc obliczeniową do rozwiązania zadania odwrotnego kinematyki, utrzymując zadaną dokładność obliczeń. Pokazano opracowaną implementację akceleratora obliczeń oraz przedstawiono wyniki otrzymane na układzie firmy Altera.
20
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W publikacji przedstawiono koncepcję uniwersalnego kontrolowanego cyfrowo sterownika diod laserowych oraz LED. Sterownik złożony jest z obwodu zasilającego, obwodu pomiarowego oraz kontrolera FPGA. Obwód zasilający, kontrolowany przez FPGA, wytwarza prąd zasilający diodę laserową. Prąd fotodiody zwrotnej rejestrowany przez obwód pomiarowy i FPGA decyduje o chwilowym natężeniu prądu zasilającego. Układ pracuje w zakresie prądów zasilających do 1A oraz w paśmie częstotliwościowym do około 10kHz.
EN
The article describes a digitally controlled laser diode driver. This driver includes: power supply circuit, measuring circuit and FPGA controller. A laser diode current is produced by the power supply circuit. The level of this current is controlled by FPGA. A monitoring photodiode current is measured by the measuring circuit. The photocurrent level is recorded by FPGA. Its value determines the amplitude of laser current. The controller can operate with laser diode currents up to 1A. A driver frequency band is less than 10kHz.
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ć.