Powrót

Długa droga do FPGA

Elektronika cyfrowa to jedna z niewielu dziedzin inżynierskich, w których dokonały się znaczące zmiany dotyczące technologii i metod projektowych. Obok rozwiązań mikroprocesorowych oferuje dziś ona również nowe podejście do klasycznych zastosowań bramek i przerzutników.

Na naszych oczach dokonuje się ogromne przeobrażenie podejścia do projektowania układów cyfrowych. Zmiany te są rezultatem pojawienia się na rynku nowych podzespołów (głównie chodzi o układy FPGA, o których więcej będzie dalej), które wymuszają ewolucję narzędzi stosowanych w procesie projektowym. To z kolei wpływa na potrzebę opracowania kolejnych lepszych układów, przy czym główne wysiłki są skupione na osiągnięciu większych zasobów oraz zwiększenia szybkości pracy. Można zaryzykować stwierdzenie, że ten proces stał się samonapędzający. Przyznam szczerze, że można się w tym wszystkim pogubić. Z tego względu powstał cykl poświęcony ewolucji metodologii projektowania klasycznych układów cyfrowych (tych bez mikroprocesorów). To co mamy obecnie jest rezultatem zdarzeń zaistniałych w przeszłości i warto poznać tę historię, gdyż umożliwi to zrozumienie obecnej sytuacji.

Początki „cyfrówki”

Jeszcze nie tak dawno projektowanie układów cyfrowych sprowadzało się do opracowania połączeń pomiędzy różnymi funktorami logicznymi (fotografia 1, układy TTL oferowały bramki, przerzutniki, rejestry, liczniki).

Fotografia 1

Każde urządzenie cyfrowe pracując realizuje jakiś algorytm działania. W przypadku tych układów jest on niejako zakodowany w sieci połączeń. Jak to zwykle bywa, projektując coś nowego nie da się ustrzec od błędów i pomyłek. W tej technologii korekty rozwiązania są dosyć kłopotliwe i modyfikacja algorytmu (czyli sieci połączeń) wymaga przecinania ścieżek, wykonania nowych połączeń a w skrajnych przypadkach opracowania nowej płytki drukowanej. Przykładowo, aby zbudować zegarek na układach TTL, konieczne było połączenie wielu komponentów. Choć sam zegarek nie jest zbyt skomplikowanym elementem, to dodanie do całości nowych niezbędnych funkcji (jak choćby ustawienie aktualnej godziny) staje się dosyć złożoną operacją. Uzupełnienie już istniejącej konstrukcji o funkcjonalność budzika można porównać do złego snu (do przyjemnych nie należy). Tu pojawia się marzenie konstruktorów, by powstało coś, co nie będzie wymagało realizacji tak drastycznych działań. Stopniowo doprowadziło ono do powstania układów PLD (ang. Programmable Logic Device – programowanych układów logicznych).

Mikroprocesory wypierają układy logiczne

Pojawienie się mikroprocesorów zrewolucjonizowało projektowanie urządzeń elektronicznych. Dotychczasowy sposób, polegający na żmudnym tworzeniu funkcji logicznych realizowanych przez bramki oraz implementacji automatów sekwencyjnych, których zadaniem jest realizacja operacji odtwarzających algorytm działania, został zastąpiony przez algorytm ujęty w programie mikroprocesora.

Coraz większa oferta układów mikrokontrolerów wraz z odpowiednim oprogramowaniem powoli zastępuje klasyczne rozwiązania układowe. Dzisiaj, aby zbudować zegarek, wykorzystuje się mikrokontroler. Bardzo często funkcjonalność związana z pomiarem czasu jest zawarta w samym mikrokontrolerze, który ma elementy pozwalające mierzyć upływ czasu nawet w sytuacji, gdy jest on wyłączony. W przypadkach, gdy jego wyposażenie nie jest tak bogate, istnieją specjalizowane układy RTC (ang. Real-Time Clock – zegar czasu rzeczywistego), które można przyłączyć do mikrokontrolera. Dzisiaj praktycznie nikt już nie buduje zegarka bazując jedynie na układach TTL. Pomijając inne kwestie, nakład czasu i pracy jest ogromny i wynikający przede wszystkim z usuwania własnych błędów i pomyłek. Zastosowanie mikrokontrolera znacząco redukuje te koszty, ponieważ zmiany w algorytmie działania sprowadzają się do korekty tekstu (program to w końcu jakiś tekst), kompilacji i załadowania uzyskanego kodu do mikrokontrolera. W tym przypadku algorytm działania jest zakodowany w postaci tekstu. Nawet funkcjonalność budzika nie stanowi dużego wyzwania. W ten sposób został zrobiony mały krok, by zrealizować marzenie konstruktorów: zamienić algorytm działania zaszyty w połączeniach na ekwiwalent zapisany w języku programowania.

Mikrokontroler nie jest panaceum na wszystkie bolączki

Jednak świat ciągle idzie do przodu i mikrokontrolery nawet w połączeniu z układami TTL często przestają nadążać za potrzebami (i to dosłownie). Niektóre potrzeby pojawiające się obecnie w elektronice cyfrowej (nawet tej amatorskiej) nie zawsze dają się zrealizować na bazie tych elementów. Nie dotyczy to funkcjonalności, gdyż obecnie mamy do dyspozycji szeroką gamę różnych układów, pozwalających zrealizować praktycznie wszystko. Problem dotyczy przede wszystkim parametrów czasowych, czyli szybkości ich pracy. Posłużę się tutaj przykładem z własnej praktyki, gdy zaistniała konieczność przełączania sygnału zegarowego o dosyć dużej częstotliwości (w dodatku, by było trudniej, napięcie zasilające wynosiło 3.3 V). Problem można rozwiązać stosując klasyczny multiplekser (przykładowo 74HC151, gdyż ten spełnia wymagania dotyczące napięcia zasilającego), jednak lektura jego danych technicznych dyskwalifikuje go w tym zastosowaniu – układ jest za wolny.

(…) ciach!

To jest tylko początek, zapowiedź artykułu, którego pełna wersja ukazała się z numerze czerwcowym czasopisma Zrozumieć Elektronikę (ZE 7/2023). Pełna wersja czasopisma umieszczona jest pod tym linkiem. Natomiast niepełna, okrojona wersja, pozwalająca zapoznać się z zawartością numeru ZE 7/2023 znajduje się tutaj.

 

Andrzej Pawluczuk

apawluczuk@vp.pl

Uwaga! Osoby, które nie są (jeszcze) stałymi Patronami ZE, mogą nabyć PDF-y z pełną wersję tego numeru oraz wszystkich innych numerów czasopisma wydanych od stycznia 2023, „stawiając kawę” (Cappuccino = 10 złotych za jeden numer czasopisma w postaci pliku PDF).
W tym celu należy kliknąć link (https://buycoffee.to/piotr-gorecki), lub poniższy obrazek
Postaw mi kawę na buycoffee.to
Następnie wybrać:
– jeśli jeden numer ZE – CAPPUCINO (10zł),
– jeśli kilka numerów ZE – WSPIERAM ZA. I tu wpisać kwotę zależną od liczby zamawianych numerów – wydań (N x 10zł),
Wpisać imię nazwisko.
Podać adres e-mail.
Koniecznie zaznaczyć: „Chcę dołączyć wiadomość dla Twórcy” i tu wpisać, który numer lub numery mamy wysłać na podany adres e-mailowy.