[FPGA] MAXIMATOR konfiguracja ADC krok po kroku.

MAXimatora – jak zacząć, sprzęt, oprogramowanie, pierwszy projekt, następne zaawansowane projekty, kursy itp.
Awatar użytkownika
PROTON
Expert
Expert
Posty: 505
Rejestracja: czwartek 08 paź 2015, 18:35
Lokalizacja: Warszawa

[FPGA] MAXIMATOR konfiguracja ADC krok po kroku.

Postautor: PROTON » wtorek 19 kwie 2016, 21:12

W celu wykorzystania przetwornika ADC wbudowanego w układ MAX10 należy przeprowadzić jego konfigurację narzędziem Qsys.
Narzędzie to uruchamiamy z poziomu Quartusa wybierając z menu Tools->Qsys,
w Qsys po uruchomieniu mamy jeden komponent clk_0 który służy do rozprowadzania po pozostałych komponentach sygnału zegarowego oraz resetu, wygląda to tak:
z0.png

Musimy dodać komponent Altera Modular ADC Core i skonfigurować go oraz połączyć. Z okienka IP Catalog wybieramy :
Processors and Peripherals -> Peripherals -> Altera Modular ADC Core.
Po wciśnięciu przycisku Add... Pojawi się okno konfiguracyjne. W zakładce General, Core Configuration w menu Core Variant domyślnie mamy wybrany Standard sequencer with Avalon-MM sample storage, zmeniamy na ADC control core only. W dolnej zakładce Channels wybieramy które kanały przedtornika ADC cchemy wykorzystywać. Na płytce expandera do MAXimatora, potencjometr jest podłączony do kanału CH0, natomiast czujnik temperatury do kanału CH15. Proponuję zaznaczyć obydwa, (Use CHannel 0 oraz Use Channel 15) następnie wcisnąć Finish
z1.png

Kolejny komponent który musimy dodać to PLL, w okienku IP Catalog będzie pod Basic Functions->Clocks;PLLs and Reset->PLL->Avalon ALTPLL. Opcję What is the frequency of the inclk0 input? ustawiamy na 10.000 MHz i naciskamy Finish.
z2.png

Podłączamy moduły clk_0, altpll_0 oraz modular_adc_0 ze sobą, w kolumnie Connections klikamy na węzły aby je połączyć, musimy połączyć
clk_0 -> clk z atpll_0->inclk_interface oraz z modular_adc_0->clock,
clk_0 -> clk_reset z altpll_0->inclk_interface_reset,
clk_0 -> clk_reset z modular_adc_0->reset_sink ,
altpll_0->c0 z modular_adc_0->adc_pll_clock,
altpll_0->locked_conduct, z modular_adc_0->adc_pll_locked.

Przy pozycjach command oraz response modułu modular_adc_0, w kolumnie Export klikamy podwójnie na szary napis Double-click to export i wpisujemy krótszą nazwę, ja wpisałem taką samą jak w kolumnie Name. Tak powinien wyglądać przygotowany projekt:
z5.png

Została jeszcze do skonfigurowania clk_0, na clk_0 klikamy prawym myszy, wybieramy Edit..., w okienku poprawiamy arametr Clock frequency na 10000000.

Wciskamy Finish, Qsys zaproponuje nam zapis projektu, wpisujemy nazwę, wciskamy Save. Po zapisaniu zaproponuje nam wygenerowanie HDL, według upodobania możemy zmienić opcję Create HDL design files for synthesis: z Verilog na VHDL.

Tak wygenerowany komponent należy następnie dodać do projektu w Quartusie.
W Quartusie, w Project Navigator zmieniamy a Hierarhy na Files
z6.png


Natępnie wciskamy prawy myszy na Files i wybieramy Add/Remove Files in Project...
W nowym okienku przy File name klikamy trzy kropki i dodajemy plik z rozszerzeniem qsys, wciskamy Add oraz OK na dole.
Mamy dodany ADC do projektu, w celu jego wykorzystania należy się do niego podłączyć. W tym celu Qsys wygenerował plik <nazwa_projektu_qsys>_inst.vhd lub z rozszerzeniem v dla veriloga. Plik znajduje się w katalogu projektu Qsys. Dla powyższego przykładu z przetwornikiem ADC wygląda on tak:
z4.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Gott weiß ich will kein Engel sein.

Wróć do „FPGA - MAXimator”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości