52
Prof. Ferrari Claudio

Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Embed Size (px)

Citation preview

Page 1: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Page 2: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello (L), la pressione (P) e la temperatura (T).

Ciascun sensore presenta in uscita un segnale a livello alto quando la grandezza fisica che rileva sorpassa una soglia prefissata.

Si vuole progettare una rete in grado di produrre un segnale a livello alto (Y) quando si verifica una qualsiasi delle seguenti condizioni anomale:

• temperatura oltre la soglia con livello sotto la soglia;

• pressione oltre la soglia con livello sotto la soglia;

• pressione, temperatura e livello contemporaneamente oltre la soglia.

Truth TableL P T Y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

Prof. Ferrari Claudio

TPTLPLY

Page 3: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

U2A

74LS08

1

23

U2B

74LS08

4

56

P

U3A

74LS32

1

23

T

Y

L

U1A

74LS04

1 2

U2C

74LS08

9

108

U3B

74LS32

4

56

1 1 U1 74LS042 1 U2 74LS083 1 U3 74LS32

Prof. Ferrari Claudio

Page 4: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Nei primi anni ’70 fecero la comparsa sul mercato dei dispositivi elettronici digitali che permettevano la realizzazione di funzioni combinatorie e/o sequenziali nello stesso circuito integrato.

Prof. Ferrari Claudio

Svantaggi:apprendimento di un linguaggio di progettazionenecessità di disporre di potenti elaboratori elettronicicosti (inizialmente) più elevati rispetto a soluzioni tradizionali

Vantaggi: riprogrammabilità e non volatilitàriduzione dell'area occupata sullo stampatopiù affidabilità rispetto alle logiche tradizionaliridotto time-to-marketpossibilità di rimpiazzare le antiquate logiche tradizionali TTL/CMOSottimizzazione nella gestione dei magazzini componenti

Page 5: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

FPD/PLD (Field Programmable Device/Programmable Logic Device): qualsiasi circuito integrato configurabile dall’utente per implementare hardware digitale

Prof. Ferrari Claudio

PLA (Programmable Logic Array): il più semplice PLD formato da matrici di porte AND e OR le cui connessioni sono programmabili, al fine di ottenere funzioni logiche rappresentabili come somma di prodotti

PAL (Programmable Array Logic): dispositivi con matrice AND programmabile e matrice OR fissa

SPLD (Simple PLD): qualsiasi semplice PLD con relative variazioni (ad esempio aggiunta di flip-flop)

Alcune definizioni . . .

Page 6: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

FPGA (Field Programmable Gate Array): FPD con struttura molto versatile caratterizzati da un elevato livello di integrazione

Ancora definizioni . . .

CPLD (Complex PLD): tanti SPLD interconnessi mediante una matrice

Page 7: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Il mercato dei produttori di PLD (2008)

Prof. Ferrari Claudio

34%

30%

12%

12%

7% 2% 1% 1%1% Xilinx

Altera

Actel

Lattice

Agere

Quicklogic

Cypress

Philips

Altri

Page 8: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

<= PLA (Programmable Logic Array)

PAL (Programmable Array Logic) =>

Prof. Ferrari Claudio

Architetture SPLD

Page 9: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Page 10: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

PAL16L8 PAL16R8

Prof. Ferrari Claudio

Page 11: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Un CPLD è un dispositivo contenente più blocchi di tipo SPLD

Prof. Ferrari Claudio

Cos’è un CPLD

riuniti in un singolo chip

Page 12: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Caratteristiche CPLD

Principali produttori: Altera, Xilinx

Un CPLD può arrivare a contenere qualche decina di SPLD

Applicazioni tipiche CPLD:

• quando è richiesta alta velocità (ritardi inferiori a 10 nsec) e predicibilità

• quando il progetto si presta bene ad una implementazione “somma-di-prodotti”

• controllori: grafici, LAN, UART, per CACHE

Come regola generale i CPLD si utilizzano nelle applicazioni in cui è richiesto un uso esteso di porte AND/OR e non occorrono numerosi flip-flop (presenti in minima quantità)

Prof. Ferrari Claudio

Page 13: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Diagramma a blocchi del dispositivo Xilinx XC9500

Prof. Ferrari Claudio

Page 14: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Page 15: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

La programmazione dei PLD

Prof. Ferrari Claudio

Programmazione di tipo HDL (Hardware Description Language)

• ABEL• AHDL• VHDL (IEEE 1076-2008)• Verilog (IEEE 1364-2001) - SystemVerilog 1800-2005

Applicativo grafico schematico

Programmazione strutturata

• SystemC

Programmazione visuale• LabVIEW• Matlab• Simulink

Page 16: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

VHDL: vantaggi

Potenza e flessibilità

VHDL permette di descrivere circuiti complessi con relativa semplicità; consente inoltre di descrivere gli stimoli utilizzati nella simulazione del progetto

Prof. Ferrari Claudio

Portabilità Il VHDL è un linguaggio standard e quindi consente di esportare il codice da un sintetizzatore (e/o un simulatore) all’altro

Progettazione indipendente dal dispositivo La portabilità consente di valutare le prestazioni di un progetto su componenti diversi.

Page 17: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

VHDL: svantaggi

Differenti qualità di sintesi

L’efficacia della sintesi può variare a seconda delle impostazioni fissate per il processo di sintetizzazione

Prof. Ferrari Claudio

Difficoltà di controllo dell’implementazione

L’utilizzo di costrutti astratti (clausole if, case, when..) non consente di controllare l’implementazione di un progetto a livello di gate

Possibile inefficienza delle implementazioniEssendo il risultato dell’implementazione dipendente dalla strategia scelta, occorre conoscere le peculiarità delle tante strategie di norma disponibili

Page 18: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Entity, architecture e design

Page 19: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

TPTLPLY

Descrizione strutturale

Page 20: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Descrizione dataflow

Prof. Ferrari Claudio

TPTLPLY

Page 21: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Descrizione comportamentale

Prof. Ferrari Claudio

TPTLPLY

Page 22: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Descrizione strutturale Descrizione dataflow Descrizione comportamentale

il VHDL consente di utilizzare nella definizione dell’architettura una qualsiasi combinazione dei tre stili

e a ciascuna descrizione corrisponderà un’implementazione hardware che opererà parallelamente (o “concorrentemente”)

alle altre

Page 23: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Design entry

Behavioral

simulation

Synthesis

Implementation

Post-fit

simulation

Download

Design

library

Design

constraints

Prof. Ferrari Claudio

Flusso di progetto per PLD

Page 24: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Due fasi fondamentali . . .

Sintesi: procedimento software che converte la descrizione comportamentale in una descrizione strutturale, in cui vengono utilizzate esclusivamente porte logiche elementari

Page 25: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Implementazione: procedimento software che converte la descrizione strutturale in una descrizione fisica valida per il dispositivo scelto, generandone il relativo file di programmazione.

N PPMAP 1 1*N PPMAP 11 11*N PPMAP 12 12*N PPMAP 13 13*N PPMAP 14 14*N PPMAP 18 18*N PPMAP 19 19*N PPMAP 2 2*N PPMAP 20 20*N PPMAP 22 22*. . . .L0000000 00000011 00000011 00000011 00000011 00000011*L0000040 00000011 00000011 00000011 00000011 000000*L0000078 000000 000000 000000 000000 000000*L0000108 00000011 00000011 00000011 00000011 00000011*L0000148 10000011 10000011 00000011 00000011 000000*L0000186 000000 000000 000000 000000 000000*L0000216 00000011 00000011 00000011 00000011 00000011*L0000256 00000011 00000011 00000011 00000011 000000*L0000294 000000 000000 000000 000000 000000*. . . .

Page 26: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Simulazione “post-fit”

VHDL permette di descrivere test-bench, ovvero sequenze di ingresso che servono per testare la funzionalità del dispositivo sotto esame

Simulazione

per poi passare a verificare la corrispondenza delle uscite alle specifiche assegnate, per mezzo di tools grafici

Page 27: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Download / debug

Il JTAG (Joint Test Action Group) è un protocollo di tipo industriale sviluppato per accedere in modalità seriale a segnali e punti di test di un circuito elettronico durante le procedure di built-in test (o debugging) e programmazione.

Principalmente permette di:

• eseguire il test delle connessioni tra uno o più dispositivi JTAG e tutto ciò che ad essi è collegato;

• programmare/riconfigurare in-circuit;• effettuare il debugging del programma (o dell’architettura) trasferito sul

chip conformemente alle specifiche fornite, in base a un modello o a vettori di test.

Page 28: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Attualmente sempre più circuiti integrati contengono un modulo di supervisione e di controllo remoto accessibile tramite l’interfaccia JTAG

Page 29: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Page 30: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Un FPGA è un componente integrato al cui interno è replicato fino a migliaia di volte un circuito digitale denominato CLB (Configurable Logic Block), nel quale sono svolte funzioni logiche di base

Cos’è un FPGA

Page 31: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

CLB a grana grossa Xilinx

CLB a grana fine

Actel

Page 32: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

La sigla PSoC (Programmable System On a Chip) identifica un componente, prodotto di Cypress, che integra un microprocessore e vari moduli sia analogici sia digitali configurabili indipendentemente (così come le relative interconnessioni), al fine di sostituire con un singolo chip più blocchi funzionali.

Cos’è un PSoC

La piattaforma mette a disposizione un vasto insieme di IP (proprietà intellettuali) testate sotto forma di blocchi analogici, digitali e di interfaccia precostruiti . . .

Page 33: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

nonchè tre tipologie di processori

Page 34: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Page 35: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Page 36: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

IP analogiche disponibili

Prof. Ferrari Claudio

Filters2 pole low-pass2 pole band-passModulatorsPeak detectors

AmplifiersProgrammable gain Instrumentation InvertingComparatorsHysteresisZero-crossing

ADC Delta-Sigma 12 to 20 bitSAR ADC (12 bits)Interlocking DACTrans Impedance AmplifierDigital Filter Block (DFB)

ADCsDelta-Sigma 6 to 14 bit Incremental 6 to 14 bit

DACs6, 8, and 9 bit6 and 8 bit multiplying

CapSense touch sensingV-to-I converter

ed inoltre, nei PSoc 3 e 5

Page 37: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

IP digitali disponibili

Prof. Ferrari Claudio

Pseudo-Random Source (PRS)

Timers/Counters8, 16, and 24 bit

Pulse-Width Modulators (PWM)8, 16, and 24 bit8 and 16 bit dead band generators

Cyclic Redundancy Check (CRC)

Communications interfacesI2C master, slave, and multi-masterSPI master and slaveTx, Rx, and full-duplex UARTFull-speed USB 2.0

Primitives like AND, OR, XOR, LUT, etc.Quadrature encoder for motor controlCommunications Interfaces: CAN, I2S

ed inoltre, nei PSoc 3 e 5

RTOS Keil® RTX51Tiny™ Micrium® μc/OS-II™ Segger® embOS

e solamente nei PSoc 3 e 5

Page 38: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Communications interfaceWireless radio control

LIN busOptical cable conversion

Dual Tone Multi-Frequency (DTMF) dialerUSB 2.0

OtherMagnetic cord read/write

Mechanical buttons or other inputsLCD display/drive control

LED drive

Environmental sensingPressureHumidityCurrentAirflow

AccelerationTilt

Pyroelectric Infrared (PIR)Light

VoltageTemperature

InductiveGas

Liquid level

Fan/Motor ControlAC motorDC motor

FanFuel pump

Instrument gauges

Touch SensingCapSense capacitive sensing (buttons, sliders)

TouchscreensTrackpads

Proximity sensing

Power ControlBattery chargingVoltage & current

System powerAC power metering

Lighting

un PSoC mette a disposizione risorse per l’interfacciamento diretto a:

Prof. Ferrari Claudio

Inoltre . . .

Page 39: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

PSoC CREATOR™ – Software per PSoC 3 e PSoC 5

Step 1: scelta e configurazione hardware dei dispositivi on-chip da implementare

Page 40: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

PSoC CREATOR™ – Software per PSoC 3 e PSoC 5

Step 2: scrittura dell’applicativo in linguaggio C utilizzando istruzioni e compilatori standard

Page 41: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

PSoC DESIGNER™ – Software per PSoC 1 – Chip level

Prof. Ferrari Claudio

Page 42: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

PSoC DESIGNER™ – Software per PSoC 1 – System level = PSoC EXPRESS™

Page 43: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

PSoC EXPRESS™: elementi fondamentali per la progettazione

PSoC Express mette a disposizione un catalogo di dispositivi, detti drivers, utilizzabili per acquisire/generare segnali. Un driver è associato ad un dispositivo hardware, quale ad esempio un sensore di temperatura.

input output

input/output

interface

Page 44: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Table lookup: funzione che permette di assegnare all’uscita un valore per ciascuna combinazione possibile sugli ingressi

State machine: modello comportamentale costituito da stati, transizioni e azioni

Literal code: funzione che consente di scrivere codice in linguaggio C

Prof. Ferrari Claudio

PSoC EXPRESS™: elementi fondamentali per la progettazione

Gli output drivers sono pilotati mediante transfer functions, che li mettono in relazione con gli input drivers

Status encoder: funzione che genera l’uscita corrispondente alla combinazione di uno o più ingressi

Setpoint region: funzione che suddivide il range del segnale di ingresso in n zonePriority encoder:

funzione che genera l’uscita corrispondente all’ingresso prioritario

Loop delay: funzione che permette di confrontare il valore corrente con quello precedente

Page 45: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Durante la simulazione, a ciascun elemento viene associato un “widget” che permette di manipolare gli input e di verificare conseguentemente che il progetto funzioni come desiderato

PSoC EXPRESS™: strumenti per la simulazione

Page 46: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Page 47: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Truth TableL P T Y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

Page 48: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

La simulazione

L’implementazione

Page 49: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

STARTER KITS : FirstTouch sistemi per valutare i PSoC in applicazioni quali:

• capacitive sense, • light sense, • wireless, • mixed-signal

Prof. Ferrari Claudio

Sistemi di sviluppo

EVALUATION AND DEVELOPMENT KITSKit che permettono di testare rapidamente i progetti sviluppati; ciascun kit comprende un programmatore MiniProg

Page 50: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

FirstTouch

Page 51: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio

Evaluation and development kit

Page 52: Prof. Ferrari Claudio. In una stazione di lavaggio chimico lo stato del liquido utilizzato è monitorato mediante tre sensori che ne rilevano il livello

Prof. Ferrari Claudio