laboratorium 2
Transkrypt
laboratorium 2
MUS dr inż. Paweł Szczepankowski, [email protected], EM320, tel. 3471139 LAB. 2 Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 – podłączenie i obsługa wyświetlacza LCD. Laboratorium Mikroprocesorowych Układów Sterowania – instrukcja wspomagająca realizację projektu MUS dr inż. Paweł Szczepankowski, [email protected], EM320, tel. 3471139 Przed przystąpieniem do pracy lub w przypadku wystąpienia problemów z kompilacją proszę sprawdzić: a. Nazwy plików nie mogą zawierać spacji oraz polskich znaków b. Nazwy folderów nie mogą zawierać spacji oraz polskich znaków c. Nazwa pliku oraz nazwa folderu nie może zaczynać się cyfrą d. Grupa otwiera projekt nie plik. Najpierw uruchomić środowisko Quartus a następnie menu File, Open Project e. Grupa otwiera swoją przestrzeń roboczą w środowisku NiosII EDS. Kiedy pojawi się okno Select Workspace proszę wskazać odpowiednią ścieżkę do swojego katalogu. Jeśli okno się nie pojawi proszę przełączyć workspace: menu File, Switch Workspace f. Nazwy plików oraz folderów nie mogą być takie same jak nazwy bloków cyfrowych i symboli tworzonych przez projektanta systemu g. Bez względu na ilustracje zawarte w instrukcji proszę sprawdzić czy używane (wprowadzone przez Państwa) nazwy wyprowadzeń znajdują się na zaimportowanej liście h. Proszę sprawdzić czy płytka DE2 jest zasilona oraz czy wtyczka przewodu USB znajduje się w miejscu przeznaczonym dla programatora USB BLASTER i. W razie wystąpienia błędu polegającego na nierozpoznawaniu elementów wprowadzonych przez użytkownika proszę odszukać i wskazać właściwy folder zawierający układy i bloki cyfrowe zaprojektowane przez Państwa: menu Project, Add/Remove Files in Project j. W przypadku tworzenia elementów za pomocą tzw. wizzarda (kreatora elementów) proszę bezwzględnie wskazywać ścieżkę do swojego katalogu k. Nazwy elementów tworzonych przez wizzarda nie mogą być takie jak nazwy elementów istniejących już w bibliotece l. Jeśli nie można programować układu należy sprawdzić, czy nie jest przypadkiem aktywna sesja w środowisku NIOSII EDS. Aby programować układ FPGA trzeba przerwać debagowanie układu z poziomu NIOSII EDS m. Zawsze gdy struktura procesora NIOS zmieni się należy przed generacją nowego układu zaktualizować adresy: menu System, Assign Base Addresses. Należy również pamiętać o aktualizacji biblioteki BSP w projekcie NIOSII EDS MUS dr inż. Paweł Szczepankowski, [email protected], EM320, tel. 3471139 1. Otworzyć projekt. Nacisnąć prawy przycisk myszy i wybrać Open Design File. Wybrać plik z rozszerzeniem qsys. 2. Po otwarciu głównego okna narzędzia Q-SYS zawierającego projekt struktury procesora należy dodać moduł Altera Avalon LCD 16207. 3. W kolumnie Connection zaznaczyć punkty przecięcia się powiązań logicznych. 4. Uwzględniając uwagę programu należy wyeksportować opis LCD_16207_0-external poprzez dwukrotne kliknięcie w kolumnie export. 5. Uaktualnić adresy modułów: menu System, Assign Base Addresses 6. Wygenerować strukturę procesora 7. Przejść do scheamtu głownego projektu w środowsku Quartus a następnie kliknąć prawym przyciskiem myszy i z menu wybrać Update Symbol or Block a nstępnie potwierdzić, że zmiana dotyczy jedynie zaznaczonych elementów MUS dr inż. Paweł Szczepankowski, [email protected], EM320, tel. 3471139 8. Po zmianie wyglądu symbolu procesora należy dodać wyprowadzenia wyświetlacza LCD 9. Aby wyświetlacz działał należy do schematu głównej struktury dodać dwa pojedyncze wyprowadzenia typu output. Jedno o nazwie LCD_ON, drugie o nazwie LCD_BLON. Nazwy sugerują, że piny te odpowiadają za zasilanie i opcjonalne podświetlenie wyświetlacza. Oba piny połączyć ze stanem wysokim, czyli elementem o nzawie VCC. 10. Aby uniknąć błędu kompilacji należy na nowo nadać oznaczenie porządkujące dla procesora, na przykład „procesor1” zamiast „inst” 11. Aby upewnić się, że zostały wykorzystane odpowiednie wyprowadzenia można właczyć lub/i wyłączyć znaczniki lokalizacji zgodnie z poniższą ilustracją 12. Po kompilacji zakończonej bez błędów nową strukturę cyfrową należy wgrać do układu FPGA a następnie otworzyć środowisko do tworzenia kodu dla procesora, czyli NiosII EDS. 13. Sprawdzić tzw. „workspace” i ewentualnie wybrać swój katalog roboczy. 14. Usunąć istniejące projekty w swoim obszarze roboczym. Po wybraniu DELETE zaznaczyć usuwanie z dysku. MUS dr inż. Paweł Szczepankowski, [email protected], EM320, tel. 3471139 15. Postępując tak jak w poprzednim ćwiczeniu dodać dwa projekty o nazwie „drugi” oraz „pomoc”. Pierwszy z nich utworzyć ze wzorca „Hello Word” drugi z wzorca „Board Diagnostic”. 16. W drugim projekcie odszukać fragment kodu programu związany z obsługą wyświetlacza LCD. Proszę przeanalizować ten fragment i ewentualnie go skopiować do projektu „drugi”. Następnie należy doprowadzić do tego, by kod programu był następujący: #include <stdio.h> #include "system.h" FILE *lcd; int main() { printf("Hello from Nios II!\n"); lcd = fopen(LCD_16207_0_NAME, "w"); if (lcd != NULL ) { fprintf(lcd, "\nThis is the LCD Display.\n"); fprintf(lcd, "123456789.\n"); printf("LCD is opened!\n"); } else { printf("ERROR!\n"); } return 0; } 17. Uruchomić wgrywanie programu Rus As… Nios II Hardware. Może pojawić się okno konfiguracji połączenia tak jak poniżej. Należy zignorować i pominąć sprawdzenie ID (krok 1 oraz 2 na ilustracji) oraz odświeżyć połączenie (krok trzeci na ilustracji w dalszej części instrukcji). MUS dr inż. Paweł Szczepankowski, [email protected], EM320, tel. 3471139 18. Po połączeniu oraz uruchomieniu programu, w tym wyświetlacza LCD należy przeanalizować kod i utrwalić sobie zasady obsługi tego modułu. Proszę przypomnieć sobie funkcje sprintf, fprintf oraz zasady formatowania tekstów zawierających wartości całkowite, zmiennoprzecinkowe albo heksadecymalne.