Od koda do svetleće LED diode: Kompletan vodič za Altera MAX II (Quartus II)

UVOD

Za razliku od mikrokontrolera gde pišemo program koji se izvršava liniju po liniju, kod CPLD čipova (kao što je Altera MAX II) mi zapravo opisujemo hardversku logiku unutar samog čipa. U ovom primeru pravimo najjednostavniju moguću vezu: pritiskom na taster na pločici, pali se ili gasi LED dioda.

Evo korak-po-korak procesa kako se ovaj projekat podešava i prebacuje na pločicu.

1. Kreiranje projekta i podešavanje čipa (Device)

Prvi korak u okruženju Quartus II jeste definisanje projekta i tačnog hardvera sa kojim radimo.

  • Pokreće se New Project Wizard (File -> New Project Wizard).
  • Dodeljuje se naziv projekta (npr. led_on_off) i bira radni folder.
  • Izbor čipa (Device): Ovo je ključan korak. U listi familija bira se MAX II, a zatim iz liste dostupnih modela tačna oznaka koja piše na samom čipu na pločici. Na najpopularnijim kineskim razvojnim pločicama to je najčešće EPM240T100C5 (paket TQFP, 100 pinova, klasa brzine 5).

2. Pisanje logike (VHDL / Verilog / Šema)

Nakon kreiranja projekta, potrebno je definisati kako se ulaz (taster) povezuje sa izlazom (LED dioda).

  • Kreira se novi fajl (File -> New), najčešće VHDL File ili Verilog HDL File (a postoji i opcija crtanja blok šeme preko Block Diagram/Schematic File).
  • U kodu se definišu dva porta: jedan ulazni (taster ili sw) i jedan izlazni (led).
  • Logika je direktna veza: stanje izlaza prati stanje ulaza (npr. u VHDL-u: led <= taster;, ili sa negacijom led <= not taster; u zavisnosti od toga da li taster i LED dioda rade na aktivnu nulu ili jedinicu, što je čest slučaj na ovim pločicama).
  • Fajl se čuva pod istim imenom kao i glavni entitet u projektu.

3. Prvo kompajliranje (Analiza i sinteza)

Pre nego što dodelimo fizičke pinove čipa, Quartus mora da "pročita" naš kod i prepozna koje smo ulaze i izlaze napravili.

  • Pokreće se Analysis & Synthesis (ikona plavog trougla sa kvačicom ili Processing -> Start -> Start Analysis & Synthesis).
  • Ako nema sintaksnih grešaka u kodu, Quartus uspešno generiše listu portova spremnu za povezivanje sa fizičkim nožicama čipa.

4. Dodeljivanje pinova (Assignment Editor / Pin Planner)

Sada softverske promenljive iz koda povezujemo sa stvarnim pinovima na pločici prema njenoj električnoj šemi.

  • Otvara se Assignment Editor (Assignments -> Assignment Editor) ili vizuelni Pin Planner (Assignments -> Pin Planner).
  • U listi se pojavljuju naši portovi (taster i led).
  • U koloni Location upisuju se tačne oznake pinova sa šeme pločice (na primer, na standardnoj EPM240 pločici ugrađena LED dioda je često na pinu PIN_77, dok je taster na nekom od ulaznih pinova poput PIN_12 ili PIN_44).
  • Zatvaranjem ovog prozora, Quartus automatski čuva podešavanja u .qsf fajlu projekta.
Pin Planner

5. Kompletno kompajliranje (Full Compilation)

Kada su pinovi dodeljeni, pokreće se glavni proces prevođenja koda u fajl koji čip razume.

  • Klikne se na Start Compilation (ljubičasti trougao na traci sa alatima ili Processing -> Start Compilation).
  • Compiler sada prolazi kroz nekoliko faza: Analysis & Synthesis, Fitter (raspoređivanje logike po ćelijama čipa), Assembler (generisanje programskog fajla) i Timing Analyzer.
  • Kao krajnji rezultat, u folderu projekta nastaje .pof (Programmer Object File) fajl, spreman za upisivanje u memoriju CPLD čipa.

6. Hardversko povezivanje i programiranje (Programmer)

Poslednji korak je prebacivanje generisanog .pof fajla na samu pločicu.

  • Povezivanje kablova: USB Blaster programator se povezuje na računar preko USB-a, a njegov 10-pinski flet kabl se uključuje u JTAG konektor na MAX II pločici. Pored toga, pločica mora dobiti svoje 5V napajanje (preko DC džeka ili USB kabla), jer sam USB Blaster najčešće ne napaja pločicu.
  • Otvara se Programmer (Tools -> Programmer).
  • U polju Hardware Setup bira se USB-Blaster (ukoliko su drajveri ispravno instalirani).
  • U listi fajlova treba da bude učitan naš .pof fajl, a pored njega moraju biti štiklirane opcije Program/Configure i Verify.
  • Klikom na dugme Start, indikator napretka (Progress) brzo dolazi do 100%.
Programator - screenshot napravljen nakon što sam diskonektovao Altera MAX II pločicu

Čim se programiranje završi, CPLD čip odmah preuzima novu konfiguraciju (za razliku od FPGA čipova, MAX II pamti program i nakon gašenja napajanja). Pritiskom na taster na pločici, LED dioda se trenutno pali i gasi!

📦 Open Source & Podela znanja:Ovaj članak, prateće slike i PDF dokumenti su licencirani pod Creative Commons Attribution 4.0 International (CC BY 4.0) licencom. Slobodno možete deliti, kopirati i prerađivati materijal u bilo koje svrhe, uključujući i komercijalne, pod uslovom da jasno navedete izvor: zilsel-invent.com.

💻 Ukoliko je uz ovaj članak priložen izvorni kod, on je licenciran pod MIT licencom. Kompletan pregled našeg višestrukog sistema licenciranja i preuzimanje LICENSE datoteka možete pronaći na našoj stranici: zilsel-invent.com/license-new.xhtml

Autori: Vladimir Savić / Gemini AI

Comments

Popular posts from this blog

Fake VC830L digital multimeter

Electrolytic capacitors and design rules

How to design LM324 Astable Multivibrator