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.

Podobne dokumenty