• Non ci sono risultati.

SISTEMI EMBEDDED

N/A
N/A
Protected

Academic year: 2021

Condividi "SISTEMI EMBEDDED"

Copied!
9
0
0

Testo completo

(1)

SISTEMI EMBEDDED

SOPC DE10-Lite Basic Computer Parallel port

Federico Baronti Last version: 20180307

(2)

DE10-Lite Basic Computer

Simplified version of the DE10-Lite Computer provided by Intel University Program

– Processor: Nios II/e

– Memory: SDRAM and On-chip memory – I/O:

Parallel ports: LEDs, HEX3_HEX0, HEX5_HEX4, Sliders_Switches, Pushbuttons, etc.

Other peripherals: JTAG UART, Interval_timer, sysid

(3)

DE10-Lite Basic

DE10-LITEC

Computer (cont.)

OMPUTERSYSTEM For Quartus Prime 16.1

Expansion ports

Max 10

FPGA Timers

SW9-0 LEDR9-0 Parallel

ports Parallel ports

HEX5-HEX0 7-Segment KEY1-0

SDRAM port

SDRAM chip

On-chip memory Host computer

USB

Blaster VGA

DAC

Video-out JTAG port

ports

Parallel ports Nios II Processors

System ID

Arduino ports Parallel

ports

Figure 1. Block diagram of the DE10-Lite Computer.

2.2 Memory Components

The DE10-Lite Computer has an SDRAM port, as well as two memory modules implemented using the on-chip memory inside the FPGA. These memories are described below.

2 Intel Corporation - FPGA University Program

November 2016

X

X

(4)

Parallel port (1)

Peripheral interface for general purpose I/O

– Based on Altera’s PIO core customized for DE-series boards

– Controlling LEDs, acquiring data from Switches, etc.

(5)

Parallel port (2)

• 4x 32-bit memory-mapped registers

n actual number of I/O pins

(6)

Parallel port (3)

• Managing PIO in C program:

Use of pointers to unsigned int initialized with PIO base memory address (we’ll learn

soon other ways!)

0xFF200000 0xFF20000C

LEDs 0x10000000

red_LEDs_ptr

volatile unsigned int *red_LED_ptr = (unsigned int *) 0xFF200000; //red LED address volatile unsigned int *sliders_ptr = (unsigned int *) 0xFF200040;

//SW slider switch address

0xFF200040 0xFF20004C

Sliders_Switches 0x10000040

sliders_ptr

(7)

Parallel port (4)

• Why volatile attribute?

– I/O registers may change even if the program does not modify them!

The peripheral hardware may modify their contents

Volatile tells the compiler do not make any optimization to the code involving an object declared with the volatile attribute

(8)

Parallel port (5)

• Reading/Writing I/O registers:

*red_LED_ptr = *slider_ptr;

(9)

Putting into practice

• Let’s start our first program with Nios II processor

– Control the status of each DE10-Lite board red LED through the corresponding slider switch

(LEDRi = Swi)

Riferimenti

Documenti correlati

"The economic performance of producer cooperatives within command economies: evidence for the case of Poland",EUI Working Paper no.. "Short-run employment

Investigations on tumour cells (mammary adenocarcinoma TS/A) grown in normo- or hypoxic conditions or suspended in ‘hypo-osmotic’ solutions allowed us to demonstrate that both

In this trial we aimed to in- vestigate the efficacy of high zinc doses to reduce morbidity and mortality and promote growth in preterm neonates3. SUBJECTS

A similar protective effect of CAF on proliferation ( Fig. 10C ) and triggering of angiogenesis ( Fig. 10D-E ) was also observed in HUVECs cultured in presence of the uremic

being immediately correlated to the appearance (thus to any perception related phenomenon), the imma- nent temporal objects are additionally described by their

Yet while according to Butler it is in the constant repetition of rules that possibilities for their failure emerge –what she calls “gaps and fissures” that can destabilize

• Sindromi da immunodeficienza primaria (PID) con alterata produzione di anticorpi • Ipogammaglobulinemia e infezioni batteriche ricorrenti in pazienti

L’immagine finale di un Haroun sottoposto all’assurdità della stessa con- dizione di Sisifo, ovvero spingere il rocher/cadavre sulla cima della montagna prima che ruzzoli nuovamente