Programowalna technologia logiczna

Automatyka - odcinek 3 - sterownik Mitsubishi FX2N, podstawy (Lipiec 2019).

$config[ads_text] not found
Anonim

Programowalna technologia logiczna

Obwody cyfrowe


Pytanie 1

Zdefiniuj następujące akronimy, które odnoszą się do cyfrowych układów logicznych:

ASIC
KUMPEL
PLA
PLD
CPLD
FPGA
Ujawnij odpowiedź Ukryj odpowiedź

ASIC: Układ scalony specyficzny dla aplikacji
PAL: Programowalna logika macierzy
PLA: Programowalna tablica logiczna
PLD: Programowalne urządzenie logiczne
CPLD: złożone programowalne urządzenie logiczne
FPGA: Field-Programmable Gate Array

Pytanie uzupełniające: teraz, skomentuj, co właściwie oznacza każdy z tych akronimów, wykraczając poza samą interpretację definicji.

Uwagi:

Istnieje prawdziwa "alfabetyczna zupa" akronimów w świecie programowalnej cyfrowej logiki, a to tylko kilka. Dokładne zrozumienie każdego akronimu może nie być najlepszym sposobem na odpowiedź na to pytanie, ponieważ istnieje mały kontekst do zrozumienia znaczeń. Proszę nie próbować robić tego, co robi wiele kursów technicznych, a to jest uczniom z akronimem definicje do zaniedbania zrozumienia różnych technologii. Pytanie to ma być jedynie wstępem do pogłębionej dyskusji o programowalnej logice, a nie celem samym w sobie!

pytanie 2

Dlaczego ktoś użyłby programowalnych urządzeń logicznych (PLD, PAL, PLA, CPLD, FPGA itp.) Zamiast tradycyjnej logiki "przewodowej", takiej jak bramki NAND, NOR, AND i OR "# 2"> Ujawnij odpowiedź Ukryj odpowiedź

Pozwolę ci zrobić badania na ten temat!

Uwagi:

Poproś uczniów, aby podzielili się informacjami na temat urządzeń programowalnych oraz określili zalety i wady tej technologii w porównaniu z logiką przewodową.

pytanie 3

Być może najprostszą formą programowalnej logiki jest układ scalony PROM, zaprogramowany z określoną tabelą prawdy. Weźmy na przykład ten przykład PROM 256 × 1:

Załóżmy, że chcielibyśmy zaprogramować tę pamięć IC, aby działała jako komparator cyfrowy, wysyłając logiczny stan "wysoki" tylko wtedy, gdy dwie czterobitowe liczby binarne są równe:

Opisz, jak powinna wyglądać tabela prawdy dla danych, które musimy zaprogramować w tym układzie pamięci. Ile wierszy miałaby tablica prawdy "# 3"> Odsłoń odpowiedź Ukryj odpowiedź

Oto wskazówka: tabela prawdy będzie miała tylko szesnaście rzędów z wyjściem "1". Wszystkie pozostałe rzędy będą programowane z wyjściami "0"!

Uwagi:

Jest to przykład tabeli przeglądowej, w której dowolne dane zaprogramowane w obwodzie pamięci spełniają funkcję logiczną. Jeśli czas na to pozwala, przedyskutuj z uczniami, jakie inne przydatne funkcje logiczne mogą być zaprogramowane w takim układzie PROM.

Pytanie 4

Mikrokontrolery to mikrokomputery jednoukładowe zawierające rdzeń mikroprocesorowy, pamięć, sterowanie we / wy i inne powiązane komponenty niezbędne do uzyskania niezależności układu. Mówiąc najprościej, mikrokontroler wykonuje sekwencyjne instrukcje, które ktoś wprowadza do swojej pamięci.

Programowalne urządzenia logiczne są jednak zasadniczo różne od mikrokontrolerów zarówno w sposobie programowania, jak i po ich zaprogramowaniu. Wyjaśnij, jakie są niektóre z tych różnic.

Ujawnij odpowiedź Ukryj odpowiedź

W przeciwieństwie do mikrokontrolerów, programowalne urządzenia logiczne nie są (koniecznie) urządzeniami sekwencyjnymi: te ostatnie działają jako zbiór bramek logicznych i innych "prymitywnych" elementów logicznych do bezpośredniego realizowania pewnych funkcji logicznych.

Uwagi:

Porozmawiaj ze swoimi uczniami, jak programowalne urządzenia logiczne są bardziej prymitywnymi i bezpośrednimi urządzeniami niż mikrokontrolery, które są bardziej abstrakcyjne w porównaniu. Być może najłatwiejsze do zrozumienia jest pod względem połączeń bramkowych. W mikrokontrolerze połączenia między jego bramkami są stałe; tylko oprogramowanie (bity przechowywane w pamięci) kiedykolwiek się zmienia. W programowalnym urządzeniu logicznym jest tak, jakbyś bezpośrednio tworzył połączenia między jego bramkami składowymi (tyle lub mniej, ile potrzeba), tworząc obwód okablowany przez określenie połączeń w "języku opisu sprzętu" (HDL).

Pytanie 5

Najprostsze typy programowalnych układów logicznych nazywane są PLD (programowalne urządzenia logiczne), PAL (ang. Programmable Array Logic), PLA (ang. Programmable logic Array) i GAL (ang. Generic Array Logic). Chociaż każdy akronim reprezentuje nieco inną wewnętrzną architekturę projektu, urządzenia te mają wspólną cechę korzystania z inwerterów, bramek i bramek OR w celu realizacji dowolnej pożądanej funkcji logiki kombinowanej.

Wyjaśnij, w jaki sposób można wygenerować dowolną dowolną funkcję logiczną za pomocą tych typów bramek (falownik, AND, OR), bez żadnych innych. Jaka zasada lub konwencja algebry Boole'a są używane przez te urządzenia, aby to zrobić?

Ujawnij odpowiedź Ukryj odpowiedź

Przy wystarczającej liczbie bramek AND, OR i inwertera można wygenerować dowolne wyrażenie SOP lub POS.

Uwagi:

To pytanie wymaga od studentów przeglądu zasad, w jaki sposób wyrażenia SPO i POS odnoszą się do tablic prawdy, a czyniąc to, wyjaśniają, w jaki sposób można wypełnić dowolną tabelę prawdy.

Pytanie 6

Niektóre programowalne urządzenia logiczne (a także urządzenia pamięci PROM) używają malutkich bezpieczników, które są celowo "przepalane" w określonych wzorach w celu przedstawienia pożądanego programu. Programowanie urządzenia poprzez wdmuchiwanie do niego drobnych bezpieczników ma pewne zalety i wady - opisz, czym są niektóre z nich.

Ujawnij odpowiedź Ukryj odpowiedź

Z pewnością zapisany program będzie nieulotny, ale będzie również dostępny tylko do odczytu. Właśnie dlatego urządzenia zaprogramowane bezpiecznikami są czasami nazywane ÖTP ". (Pozwolę ci zbadać, co oznacza ten skrót).

Uwagi:

Warto wspomnieć, że niektóre programowalne urządzenia (na przykład seria TIBPAL firmy Texas Instruments) są zbudowane z "bezpiecznika bezpieczeństwa" wewnątrz, który uniemożliwia każdemu odrodzenie inżynierii zaprogramowanego układu!

Pytanie 7

Typowym terminem używanym do opisu wewnętrznego działania programowalnego urządzenia logicznego jest makrokomórka . Czym dokładnie jest makrokomórka?

Ujawnij odpowiedź Ukryj odpowiedź

Makrocell to zbiór bramek logicznych i flip-flop, połączonych w jedną całość. PLD zwykle mają wiele makrokomórek, które mogą być połączone ze sobą w celu utworzenia różnych synchronicznych funkcji logicznych.

Uwagi:

Poproś uczniów, aby pokazali ci, gdzie znaleźli swoje informacje, i czy byli w stanie określić, ile makrokomórek znajduje się w typowym PLD.

Pytanie 8

Większość mikrokomputerów może wykonywać tylko jedno zadanie (operację) naraz. Osiągają iluzję "wielozadaniowości", poświęcając naprzemiennie czas na jedno z kilku zadań - rodzaj multipleksowych obliczeń. Z drugiej strony, większość programowalnych urządzeń logicznych może z łatwością wykonywać wiele operacji logicznych w prawdziwie jednoczesny sposób. Wyjaśnij, jak to jest możliwe, podczas gdy mikroprocesor może wykonać tylko jedną rzecz naraz.

Ujawnij odpowiedź Ukryj odpowiedź

Sekret tkwi w programowaniu: programowalne urządzenia logiczne są dosłownie "połączone" przez programy, które dla nich piszesz, z tysiącami elementów logicznych dostępnych do podłączenia w niemal dowolny sposób. Z drugiej strony mikroprocesory mają stałe okablowanie, które reaguje na sekwencje kroków, a program jedynie określa sekwencję tych kroków.

Uwagi:

Rozumienie rozróżnienia między mikrokontrolerami a programowalnymi urządzeniami logicznymi może być trudne, szczególnie jeśli ma się ograniczone doświadczenie z obydwoma (jak większość studentów). Celem tego pytania jest rzucenie nieco światła na ten często źle rozumiany temat, przy jednoczesnym podkreśleniu ważnej cechy programowalnej logiki: prawdziwej jednoczesności.

Podstawową zasadą, jakiej oczekują od tych analogii, jest to, że mikrokontrolery i mikroprocesory są ponownie programowane poprzez zmianę sekwencji stałych operacji, podczas gdy programowalne systemy logiczne są ponownie programowane przez zmianę skojarzeń między stałymi elementami.

Pytanie 9

Verilog i VHDL są dwoma popularnymi przykładami języka opisu sprzętu, używanego podczas pracy z programowalną logiką. Wyjaśnij cel takiego "języka". Co oznacza, że ​​technik lub inżynier "mówi" tym językiem i jak jest "wypowiadany" do rzeczywistego programowalnego układu?

Ujawnij odpowiedź Ukryj odpowiedź

Język opisu sprzętu (HDL) to konwencja tekstowa do określania połączeń programowalnego urządzenia logicznego. Pliki tekstowe są pisane przez programistę, a następnie "kompilowane" do postaci, którą programowalne urządzenie logiczne może bezpośrednio zaakceptować i wykorzystać.

Uwagi:

Jeśli czas na to pozwala, możesz porównać i porównać w pełni funkcjonalne języki, takie jak Verilog i VHDL z bardziej prymitywnymi językami opisu sprzętu, takimi jak ABEL. W obu przypadkach pliki zapisane w HDL mają na celu opisanie połączeń między dostępnymi elementami logicznymi wewnątrz programowalnego urządzenia logicznego.

Pytanie 10

Podobieństwa i różnice pomiędzy mikrokontrolerami (mikroprocesorami) a programowalnymi urządzeniami logicznymi mogą być oświetlone przez analogię. Przeczytaj następujące scenariusze, w których zastosowano dwa różne rozwiązania w celu rozwiązania typowych problemów. Dla każdego scenariusza określ, które rozwiązanie jest analogiczne do mikrokontrolera i które rozwiązanie jest analogiczne do programowalnego urządzenia logicznego:

Menedżer biznesowy musi podejmować decyzję o zatrudnieniu: zatrudnij kilku specjalistycznych pracowników do wykonywania różnych zadań (jedno zadanie na osobę) lub zatrudnij kilku szeroko wykwalifikowanych pracowników, którzy mogą otrzymać nowe instrukcje i / lub przeszkolenie w celu przełączania się między różnymi zadaniami w razie potrzeby.
Dwóch majsterkowiczów modyfikuje fortepiany, aby automatycznie odtwarzać krótkie utwory (bez ludzkiego operatora). Pierwszy decyduje się zbudować urządzenie typu "czytnik taśmy" podobne do starego mechanicznego odtwarzacza-fortepianu, w którym papierowe dziurki z dziurkami "opowiada" klawisze fortepianu, kiedy uderzyć i w jakiej kolejności. Drugi decyduje się na zbudowanie znacznie prostszego mechanizmu sekwencyjnego, w którym każdy klawisz na klawiaturze od lewej do prawej jest sekwencyjnie uderzany, właściwe porządkowanie nut w utworze odbywa się poprzez ponowne podłączenie klawiszy do różnych młotów wewnątrz fortepianu.
Ujawnij odpowiedź Ukryj odpowiedź

Pierwszy scenariusz: szeroko wykwalifikowani pracownicy = mikrokontroler; wyspecjalizowani pracownicy = programowalna logika.

Drugi scenariusz: czytnik taśmy = mikrokontroler; ponowne podłączenie kluczy do młotów = programowalna logika.

Uwagi:

Rozumienie rozróżnienia między mikrokontrolerami a programowalnymi urządzeniami logicznymi może być trudne, szczególnie jeśli ma się ograniczone doświadczenie z obydwoma (jak większość studentów). Pytania takie jak te, które każą uczniom badać przeciwstawne analogie, uczą niektórych wyróżniających zasad, nie zagłębiając się w szczegóły techniczne.

Podstawową zasadą, jakiej oczekują od tych analogii, jest to, że mikrokontrolery i mikroprocesory są ponownie programowane poprzez zmianę sekwencji stałych operacji, podczas gdy programowalne systemy logiczne są ponownie programowane przez zmianę skojarzeń między stałymi elementami.

  • ← Poprzedni arkusz roboczy

  • Indeks arkusza roboczego

  • Następny arkusz roboczy →