Table of Contents Table of Contents
Previous Page  22 / 102 Next Page
Information
Show Menu
Previous Page 22 / 102 Next Page
Page Background

TECH INSIGHT

VISIONE ARTIFICIALE

22

- ELETTRONICA OGGI 463 - GIUGNO/LUGLIO 2017

Il passaggio allo sviluppo software

Una volta che il progetto è verificato e gli indirizzi sono assegnati alle

periferiche mappate in memoria che usano sia le interconnessioni AXI

ad alte prestazioni, sia quelle con funzione generica (il che può esse-

re fatto automaticamente), l’hardware è realizzato in ambiente Vivado

2015.4 ed è esportato all’ambiente di sviluppo software SDK 2015.4.

L’SDK è usato per configurare non solo il progetto all’interno del dispo-

sitivo Zynq, ma anche alcuni elementi sull’EVK prima di usarli. Questo

avviene perché in questo esempio il PS agisce con funzione di supervi-

sione e di controllo del sistema. Di conseguenza, deve essere configu-

rato l’intero sistema di visione embedded.

Affinché il sistema in grado di operare, è necessario aggiungere del

software semplice. In particolare, il software è usato per configurare

elementi chiave del sistema, che includono la configurazione della fo-

tocamera Python 1300C attraverso la sua interfaccia SPI, il modulo di

interfaccia AXI del sensore Python 1300C, il VDMA AXI per la lettura dei

fotogrammi dalla memoria DDR e per la loro scrittura in memoria, la Matrice di Filtri di Colori AXI, il dispositivo di

Uscita HDMI, il Mux I

2

C e le periferiche ad esso associate, e il modulo di espansione IO I

2

C che controlla le linee

di alimentazione per il sensore Python 1300C.

L’EVK usa il controllore I

2

C del PS del dispositivo Zynq per configurare il dispositivo di uscita HDMI e abilitare

gli alimentatori del dispositivo Python.

Avnet fornisce API per controllare l’I

2

C e per configurare le seguenti interfacce:

ADV7511 – API

per l’uscita HDMI.

CAT9554 – API

per il modulo di espansione I/O I

2

C sul modulo fotocamera.

TCA9548 – API

per il mux I

2

C sull’EVCC.

PCA9534 – API

per il modulo di espansione IO I

2

C sull’EVCC.

OnSemi_Python_SW – API

per il sensore Python 1300C.

XAXIVDMA_EXT – API

per la configurazione del VDMA.

XIICPS_EXT – API

per la gestione dell’interfaccia I

2

C esterna.

Oltre a queste API, sono anche fornite le API di Xilinx per i blocchi IP all’interno della catena di elaborazione

delle immagini. Per creare l’applicazione software, il progetto hardware è stato importato all’interno dell’SDK

ed è stato creato un pacchetto di supporto alla scheda (BSP) per questo hardware. Tale BSP conterrà tutte le

API di Xilinx necessarie per controllare l’hardware, se abbinate alle API di AVNET all’interno della catena di

elaborazione delle immagini e nel dispositivo Zynq. Il software in sé è richiesto per inizializzare le periferiche

AXI, mettere sotto tensione le linee di alimentazione del sensore di immagini e configurare il 1300C, la matrice

di filtri di colore e il VDMA. Alcuni esempi

sono mostrati nella figura 2. Il completa-

mento di questi passaggi, quando il sof-

tware viene eseguito sull’EVK, produce

un’immagine che viene inviata al monitor

HDMI, come si può vedere in figura 3.

Seguendo degli articoli che discutono gli

elementi di un sistema di visione embed-

ded, questo progetto dimostrativo illustra

come un sistema è realizzato usando API

software e librerie di IP. Da questo pun-

to di partenza, è possibile poi sviluppare

degli algoritmi su misura per aggiungere

ulteriore valore alla catena di elaborazio-

ne delle immagini. Ulteriori informazioni

si possono trovare sui Microzed Chroni-

cles blogs e sull’AVNET Git HUB.

Fig. 2 – Alcuni esempi di utilizzo del software

Fig. 3 – Acquisizione di un fotogramma di una scena catturata

usando la demo