Scheda DIGILENT Anvyl FPGA
Informazioni sul prodotto
La scheda FPGA AnvylTM è una scheda logica ad alte prestazioni ottimizzata per l'uso con l'FPGA Spartan-6 LX45. Offre varie funzionalità tra cui 6,822 slice, 2.1 Mbit di RAM a blocco veloce, tessere di clock con DCM e PLL, slice DSP e velocità di clock di oltre 500 MHz. La scheda viene inoltre fornita con una raccolta completa di IP di supporto della scheda e progetti di riferimento, oltre a un'ampia raccolta di schede aggiuntive disponibili su Digilent websito.
Le caratteristiche della scheda FPGA AnvylTM includono le opzioni di configurazione FPGA, i requisiti di alimentazione e la compatibilità con il sistema Adept per una facile programmazione.
Configurazione dell'FPGA:
La scheda Anvyl dispone di un jumper di modalità integrato (JP2) che consente di selezionare tra JTAG/Modalità di programmazione USB e ROM. Se JP2 non è caricato, l'FPGA si configurerà automaticamente dalla ROM. Se JP2 è caricato, l'FPGA rimarrà inattivo dopo l'accensione finché non verrà configurato dal JTAG o Porta di programmazione seriale (chiavetta USB).
Sia Digilent che Xilinx forniscono software per la programmazione dell'FPGA e della ROM SPI. Programmazione files sono memorizzati all'interno dell'FPGA in celle di memoria basate su SRAM. Questi dati definiscono le funzioni logiche e le connessioni del circuito dell'FPGA e rimangono validi finché non vengono cancellati rimuovendo l'alimentazione, asserendo l'ingresso PROG_B o sovrascritti da una nuova configurazione file.
L'FPGA può anche essere programmato da una chiavetta di memoria formattata FAT collegata alla porta USB-HID HOST (J14) se la chiavetta contiene una singola configurazione .bit file nella directory principale, viene caricato JP2 e la scheda viene spenta e riaccesa. L'FPGA rifiuterà automaticamente qualsiasi .bit files che non sono costruiti per il corretto FPGA.
Riserve energetiche:
La scheda Anvyl richiede una fonte di alimentazione esterna da 5 V, 4 A o superiore con una spina coassiale con diametro interno positivo centrale di 2.1 mm. Un alimentatore adeguato viene fornito come parte del kit Anvyl. voltagI circuiti regolatori di Analog Devices creano le alimentazioni necessarie a 3.3 V, 1.8 V e 1.2 V dall'alimentazione principale a 5 V. Un LED power-good (LD19) indica che tutti gli alimentatori funzionano normalmente.
I diversi binari di alimentazione sulla scheda forniscono alimentazione a vari componenti come connettori USB-HID, controller touchscreen TFT, HDMI, connettore di espansione, SRAM, Ethernet PHY I/O, controller USB-HID, FPGA I/O, oscillatori, SPI Flash , Codec audio, display TFT, display OLED, GPIO e Pmod.
Sistema esperto:
Adept è un sistema software che fornisce un'interfaccia di configurazione semplificata per la programmazione della scheda Anvyl. Per programmare la scheda Anvyl utilizzando Adept, è necessario configurare la scheda e inizializzare il software.
Istruzioni per l'uso del prodotto
- Assicurarsi che la scheda Anvyl sia spenta.
- Se si desidera configurare l'FPGA dalla ROM, assicurarsi che il ponticello della modalità su scheda (JP2) non sia caricato. Se si desidera configurare l'FPGA da JTAG o USB, caricare JP2.
- Se vuoi programmare l'FPGA da una memory stick, assicurati che sia formattato FAT e contenga una singola configurazione .bit filenella directory principale.
- Collegare l'alimentatore esterno con una spina coassiale centrale positiva da 2.1 mm di diametro interno per fornire la fonte di alimentazione richiesta da 5 V, 4 A o superiore.
- Una volta collegato l'alimentatore, il LED power-good (LD19) dovrebbe indicare che tutti gli alimentatori funzionano normalmente.
- Se si utilizza il sistema Adept per la programmazione, configurare la scheda Anvyl e inizializzare il software in base alla documentazione Adept.
- Seguire le istruzioni di programmazione specifiche fornite da Digilent o Xilinx per programmare l'FPGA utilizzando JTAG, USB o metodi ROM.
- Fare riferimento alla documentazione e alle risorse aggiuntive disponibili su Digilent websito per ulteriori informazioni sull'utilizzo delle funzionalità della scheda e sulla compatibilità con le schede aggiuntive.
Sopraview
La piattaforma di sviluppo Anvyl FPGA è una piattaforma di sviluppo di circuiti digitali completa e pronta all'uso basata su un FPGA Xilinx Spartan-3 LX6 con grado di velocità -45. L'ampio FPGA, insieme a Ethernet da 100 Mbps, video HDMI, memoria DDR128 da 2 MB, touchscreen LCD retroilluminato a LED da 4.3", display OLED da 128 × 32 pixel, breadboard da 630 punti di collegamento, controller HID USB multipli e codec audio I2S, rende Anvyl è una piattaforma ideale per una stazione di apprendimento FPGA in grado di supportare progetti di processori embedded basati su MicroBlaze di Xilinx. Anvyl è compatibile con tutti gli strumenti CAD Xilinx, inclusi ChipScope, EDK e ISE gratuito WebPACK™, in modo che i progetti possano essere completati senza costi aggiuntivi. Le dimensioni della tavola sono 27.5 cm x 21 cm.
Lo Spartan-6 LX45 è ottimizzato per una logica ad alte prestazioni e offre:
- 6,822 slice, ciascuna contenente quattro LUT di input e otto flip-flop
- 2.1 Mbit di RAM a blocco veloce
- quattro tessere orologio (otto DCM e quattro PLL)
- 58 fette DSP
- Velocità di clock di oltre 500 MHz
Su Digilent è disponibile una raccolta completa di IP di supporto per schede e progetti di riferimento e un'ampia raccolta di schede aggiuntive webluogo. Vedi la pagina di Anvyl su www.digilentinc.com per ulteriori informazioni.
Le caratteristiche includono:
- Spartan6-LX45 FPGA:XC6SLX45-CSG484-3
- SDRAM DDR128 da 2 MB
- 2MB SRAM
- FLASH QSPI da 16 MB per la configurazione e l'archiviazione dei dati
- Fisico Ethernet 10/100
- Uscita video HDMI
- Porta VGA a 12 bit
- Schermo LCD retroilluminato a LED a colori vividi di grande formato da 4.3″
- Pannello display grafico OLED WiseChip/Univision UG-128HSWEG32 da 0.9 × 23832 pixel 04"
- tre display LED a sette segmenti a due cifre
- Codec audio I2S con line-in, line-out, microfono e cuffie
- Oscillatore a cristallo da 100 MHz
- porte USB2 integrate per la programmazione e dispositivi USB-HID (per mouse/tastiera)
- Digilent USB-JTAG circuiteria con funzionalità USB-UART
- tastiera con 16 tasti etichettati (0-F)
- GPIO: 14 LED (10 rossi, 2 gialli, 2 verdi), 8 interruttori a scorrimento, 8 interruttori DIP in 2 gruppi e 4 pulsanti
- breadboard con 10 I/O digitali
- 32 I/O indirizzati al connettore di espansione a 40 pin (gli I/O sono condivisi con le porte Pmod)
- sette porte Pmod a 12 pin con un totale di 56 I/O
- viene fornito con un alimentatore da 20 W e un cavo USB
Configurazione dell'FPGA
Dopo essere stato acceso, l'FPGA sulla scheda Anvyl deve essere configurato (o programmato) prima che possa eseguire qualsiasi funzione. L'FPGA può essere configurato in tre modi: un PC può utilizzare il Digilent USB-JTAG circuiteria (porta J12, etichettata "PROG") per programmare l'FPGA ogni volta che l'alimentazione è accesa, una configurazione file memorizzati nella Flash ROM SPI integrata possono essere trasferiti automaticamente all'FPGA all'accensione o durante una programmazione file può essere trasferito da una memory stick USB alla porta HID USB denominata "Host" (J14).
Un jumper di modalità integrato (JP2) seleziona tra JTAG/Modalità di programmazione USB e ROM. Se JP2 non è caricato, l'FPGA si configurerà automaticamente dalla ROM. Se JP2 è caricato, l'FPGA rimarrà inattivo dopo l'accensione finché non verrà configurato dal JTAG o Porta di programmazione seriale (chiavetta USB).
Sia Digilent che Xilinx distribuiscono gratuitamente software che può essere utilizzato per programmare l'FPGA e la ROM SPI. Programmazione files sono memorizzati all'interno dell'FPGA in celle di memoria basate su SRAM. Questi dati definiscono le funzioni logiche e le connessioni del circuito dell'FPGA e rimangono validi finché non vengono cancellati rimuovendo l'alimentazione, asserendo l'ingresso PROG_B o finché non vengono sovrascritti da una nuova configurazione file.
Configurazione FPGA files trasferito tramite JTAG porta e da una chiavetta USB utilizzare il .bit file tipo e programmazione SPI files usa il file .mcs file tipo. ISE di Xilinx WebIl software Pack e EDK può creare file .bit files da VHDL, Verilog o fonte basata su schemi files (EDK viene utilizzato per i progetti basati su processore integrato MicroBlaze™). Una volta un po' file è stato creato, l'FPGA di Anvyl può essere programmato con esso tramite USB-JTAG circuiteria (porta J12) utilizzando il software Adept di Digilent o il software iMPACT di Xilinx. Per generare un file .mcs file da un po' file, usa la PROM File Strumento generatore all'interno del software iMPACT di Xilinx. Il file .mcs file può quindi essere programmato su SPI Flash utilizzando iMPACT.
L'FPGA può anche essere programmato da una chiavetta di memoria formattata FAT collegata alla porta USB-HID HOST (J14) se la chiavetta contiene una singola configurazione .bit file nella directory principale, viene caricato JP2 e la scheda viene spenta e riaccesa. L'FPGA rifiuterà automaticamente qualsiasi .bit files che non sono costruiti per il corretto FPGA.
Alimentatori
La scheda Anvyl richiede una fonte di alimentazione esterna da 5 V, 4 A o superiore con una spina coassiale centrale positiva da 2.1 mm di diametro interno (un alimentatore adeguato è fornito come parte del kit Anvyl). voltagI circuiti di regolazione di Analog Devices creano le alimentazioni necessarie a 3.3 V, 1.8 V e 1.2 V dall'alimentazione principale a 5 V. Un LED power-good (LD19), pilotato dall'OR cablato di tutte le uscite power-good sugli alimentatori, indica che tutti gli alimentatori funzionano normalmente. Su ogni binario sono presenti i seguenti dispositivi:
- 5V: connettori USB-HID, controller touchscreen TFT, HDMI e connettore di espansione
- 3.3 V: SRAM, Ethernet PHY I/O, controller USB-HID, FPGA I/O, oscillatori, SPI Flash, codec audio, display TFT, display OLED, GPIO, Pmod e connettore di espansione
- 1.8 V: DDR2, USB-JTAG/Controller USB-UART, I/O FPGA e GPIO
- 1.2 V: nucleo FPGA e nucleo PHY Ethernet
Sistema esperto
Adept ha un'interfaccia di configurazione semplificata. Per programmare la scheda Anvyl utilizzando Adept, configurare prima la scheda e inizializzare il software:
- collegare e collegare l'alimentatore
- collegare il cavo USB al PC e alla porta USB PROG sulla scheda
- avviare il software Adept
- accendere l'interruttore di alimentazione di Anvyl
- attendere che l'FPGA venga riconosciuto
Utilizzare la funzione browse per associare il .bit desiderato file con l'FPGA e fare clic sul pulsante Programma. La configurazione file verrà inviato all'FPGA e una finestra di dialogo indicherà se la programmazione è andata a buon fine. Il LED di configurazione "finita" si accenderà dopo che l'FPGA è stato configurato correttamente. Prima di iniziare la sequenza di programmazione, Adept assicura che qualsiasi configurazione selezionata files contengono il codice ID FPGA corretto: questo impedisce .bit errati files dall'essere inviato all'FPGA. Oltre alla barra di navigazione e ai pulsanti Sfoglia e Programma, l'interfaccia di configurazione fornisce un pulsante Inizializza catena, una finestra della console e una barra di stato. Il pulsante Initialize Chain è utile se le comunicazioni USB con la scheda sono state interrotte. La finestra della console visualizza lo stato corrente e la barra di stato mostra l'avanzamento in tempo reale durante il download di una configurazione file.
Memoria DDR2
Un singolo chip di memoria DDR1 da 2 Gbit è guidato dal blocco del controller di memoria nello Spartan-6 FGPA. Il dispositivo DDR2, un MT47H64M16HR-25E o equivalente, fornisce un bus a 16 bit e 64 M di posizioni. La scheda Anvyl è stata testata per il funzionamento DDR2 fino a una velocità dati di 800 MHz. L'interfaccia DDR2 segue le linee guida di pinout e routing specificate nella Guida per l'utente di Xilinx Memory Interface Generator (MIG). L'interfaccia supporta la segnalazione SSTL18 e tutti i segnali di indirizzo, dati, clock e controllo sono adattati al ritardo e controllati dall'impedenza. Vengono fornite due coppie di segnali di clock DDR2 ben abbinati in modo che il DDR possa essere pilotato con clock a basso disallineamento dall'FPGA.
Memoria Flash
La scheda Anvyl utilizza un dispositivo di memoria flash seriale Numonyx N128Q25 da 128 Mbit (organizzato come 16 Mbit per 8) per l'archiviazione non volatile della configurazione FPGA fileS. Il flash SPI può essere programmato con un .mcs file utilizzando il software iMPACT. Una configurazione FPGA file richiede meno di 12 Mbit, lasciando 116 Mbit disponibili per i dati utente. I dati possono essere trasferiti da e verso un PC verso/dal dispositivo flash tramite applicazioni utente o tramite funzioni integrate nella iMPACT PROM file software di generazione. I progetti utente programmati nell'FPGA possono anche trasferire dati da e verso il flash.
Un programma di test/dimostrazione della scheda viene caricato nella SPI Flash durante la produzione.
PHY Ethernet
La scheda Anvyl include un PHY SMSC 10/100 mbps (LAN8720A-CP-TR) abbinato a un connettore Halo HFJ11-2450E RJ-45. Il PHY è connesso all'FPGA utilizzando una configurazione RMII. È configurato per l'avvio in modalità "All Capable, with Auto Negotiation Enabled" all'accensione. La scheda tecnica per SMSC PHY è disponibile presso SMSC websito.
Uscita HDMI
La scheda Anvyl contiene una porta di uscita HDMI senza buffer. La porta senza buffer utilizza un connettore HDMI di tipo A. Poiché i sistemi HDMI e DVI utilizzano lo stesso standard di segnalazione TMDS, è possibile utilizzare un semplice adattatore (disponibile presso la maggior parte dei negozi di elettronica) per pilotare un connettore DVI dalla porta di uscita HDMI. Il connettore HDMI non include i segnali VGA, quindi i display analogici non possono essere pilotati.
I connettori HDMI a 19 pin includono quattro canali dati differenziali, cinque connessioni GND, un bus CEC (Consumer Electronics Control) a un filo, un bus DDC (Display Data Channel) a due fili che è essenzialmente un bus I2C, un bus Hot Plug Detect (HPD), un segnale a 5 V in grado di erogare fino a 50 mA e un pin riservato (RES). Di questi, i canali dati differenziali, il bus I2C e il CEC sono collegati all'FPGA.
VGA
Anvyl fornisce un'interfaccia VGA a 12 bit che consente di visualizzare fino a 4096 colori su un monitor VGA standard. I cinque segnali VGA standard Red, Green, Blue, Horizontal Sync (HS) e Vertical Sync (VS) vengono instradati direttamente dall'FPGA al connettore VGA. Ci sono quattro segnali instradati dall'FPGA per ciascuno dei segnali di colore VGA standard risultanti in un sistema video in grado di produrre 4,096 colori. Ciascuno di questi segnali ha un resistore in serie che, quando combinato nel circuito, forma un divisore con la resistenza di terminazione da 75 ohm del display VGA. Questi semplici circuiti assicurano che i segnali video non possano superare il volume massimo specificato da VGAtage, e producono segnali di colore completamente attivi (7V), completamente spenti (0V) o una via di mezzo.
Figura 2. Interfaccia VGA.
Figura 3. Connettore HD DB-15, configurazione dei fori PCB, assegnazione dei pin e mappatura del segnale a colori.
Utilizzo di display VGA basati su CRT ampfasci di elettroni in movimento modulati in altitudine (o raggi catodici) per visualizzare informazioni su uno schermo rivestito di fosforo. I display LCD utilizzano una serie di interruttori che possono imporre un voltage attraverso una piccola quantità di cristalli liquidi, modificando così la permittività della luce attraverso il cristallo pixel per pixel. Sebbene la seguente descrizione sia limitata ai display CRT, i display LCD si sono evoluti per utilizzare gli stessi tempi di segnale dei display CRT (quindi la discussione sui "segnali" di seguito riguarda sia i CRT che gli LCD). I display CRT a colori utilizzano tre fasci di elettroni (uno per il rosso, uno per il blu e uno per il verde) per energizzare il fosforo che ricopre il lato interno dell'estremità del display di un tubo a raggi catodici (vedere Fig. 1). Fasci di elettroni emanano da "cannoni elettronici", che sono catodi riscaldati finemente appuntiti posti in prossimità di una piastra anulare caricata positivamente chiamata "griglia". La forza elettrostatica imposta dalla griglia attira raggi di elettroni eccitati dai catodi, e quei raggi sono alimentati dalla corrente che fluisce nei catodi. Questi raggi di particelle vengono inizialmente accelerati verso la griglia, ma presto cadono sotto l'influenza della forza elettrostatica molto più grande che risulta dall'intera superficie del display rivestita di fosforo del CRT che viene caricata a 20kV (o più). I raggi vengono focalizzati su un raggio sottile mentre passano attraverso il centro delle griglie, quindi accelerano per impattare sulla superficie del display rivestita di fosforo. La superficie del fosforo si illumina intensamente nel punto di impatto e continua a brillare per diverse centinaia di microsecondi dopo che il raggio è stato rimosso. Maggiore è la corrente immessa nel catodo, più luminoso risplenderà il fosforo.
Tra la griglia e la superficie del display, il fascio di elettroni passa attraverso il collo del CRT dove due bobine di filo producono campi elettromagnetici ortogonali. Perché i raggi catodici sono composti da particelle cariche
(elettroni), possono essere deviati da questi campi magnetici. Le forme d'onda della corrente vengono fatte passare attraverso le bobine per produrre campi magnetici che interagiscono con i raggi catodici e li fanno attraversare la superficie del display secondo uno schema "raster", orizzontalmente da sinistra a destra e verticalmente dall'alto verso il basso. Quando il raggio catodico si sposta sulla superficie del display, la corrente inviata ai cannoni elettronici può essere aumentata o diminuita per modificare la luminosità del display nel punto di impatto del raggio catodico.
Temporizzazione del sistema VGA
I tempi del segnale VGA sono specificati, pubblicati, protetti da copyright e venduti dall'organizzazione VESA (www.vesa.org). Le seguenti informazioni sulla temporizzazione del sistema VGA sono fornite come esempioampEsempio di come potrebbe essere pilotato un monitor VGA con una risoluzione di 640×480. Per informazioni più precise o per informazioni su altre frequenze VGA, fare riferimento alla documentazione disponibile presso VESA websito.
Le informazioni vengono visualizzate solo quando il raggio si sposta "in avanti" (da sinistra a destra e dall'alto verso il basso) e non durante il tempo in cui il raggio viene ripristinato sul bordo sinistro o superiore del display. Gran parte del tempo di visualizzazione potenziale viene quindi perso nei periodi di "blanking" quando il raggio viene ripristinato e stabilizzato per iniziare un nuovo passaggio di visualizzazione orizzontale o verticale. La dimensione dei raggi, la frequenza alla quale il raggio può essere tracciato attraverso il display e la frequenza alla quale il fascio di elettroni può essere modulato determinano la risoluzione del display. I moderni display VGA possono ospitare diverse risoluzioni e un circuito controller VGA determina la risoluzione producendo segnali di temporizzazione per controllare i modelli raster. Il controller deve produrre impulsi di sincronizzazione a 3.3 V (o 5 V) per impostare la frequenza alla quale la corrente fluisce attraverso le bobine di deflessione e deve garantire che i dati video vengano applicati ai cannoni elettronici al momento giusto. I display video raster definiscono un numero di "righe" che corrisponde al numero di passaggi orizzontali che il catodo esegue sull'area di visualizzazione e un numero di "colonne" che corrisponde a un'area su ogni riga assegnata a un "elemento dell'immagine" o pixel. I display tipici utilizzano da 240 a 1200 righe e da 320 a 1600 colonne. La dimensione complessiva di un display e il numero di righe e colonne determinano la dimensione di ciascun pixel.
I dati video in genere provengono da una memoria di aggiornamento video, con uno o più byte assegnati a ciascuna posizione pixel (l'Anvyl utilizza quattro bit per pixel). Il controller deve eseguire l'indicizzazione nella memoria video mentre i raggi si spostano sul display e recuperare e applicare i dati video al display esattamente nel momento in cui il raggio di elettroni si sposta su un determinato pixel.
Un circuito controller VGA deve generare i segnali di temporizzazione HS e VS e coordinare la consegna dei dati video in base al pixel clock. Il pixel clock definisce il tempo disponibile per visualizzare un pixel di informazioni. Il segnale VS definisce la frequenza di "aggiornamento" del display, ovvero la frequenza alla quale tutte le informazioni sul display vengono ridisegnate. La frequenza di aggiornamento minima è una funzione dell'intensità del fascio di elettroni e fosfori del display, con frequenze di aggiornamento pratiche che rientrano nell'intervallo da 50 Hz a 120 Hz. Il numero di righe da visualizzare a una data frequenza di aggiornamento definisce la frequenza di "ritraccia" orizzontale. Per un display da 640 pixel per 480 righe che utilizza un pixel clock di 25 MHz e un aggiornamento di 60 +/-1 Hz, è possibile derivare le temporizzazioni del segnale mostrate nella tabella seguente. I tempi per l'ampiezza dell'impulso di sincronizzazione e gli intervalli del portico anteriore e posteriore (gli intervalli del portico sono i tempi dell'impulso pre e post-sincronizzazione durante i quali le informazioni non possono essere visualizzate) si basano su osservazioni prese dai display VGA effettivi.
Un circuito controller VGA decodifica l'uscita di un contatore di sincronizzazione orizzontale pilotato dal pixel clock per generare temporizzazioni del segnale HS. Questo contatore può essere utilizzato per individuare qualsiasi posizione di pixel su una determinata riga.
Allo stesso modo, l'uscita di un contatore di sincronizzazione verticale che incrementa con ogni impulso HS può essere utilizzata per generare temporizzazioni del segnale VS e questo contatore può essere utilizzato per individuare una determinata riga. Questi due contatori in esecuzione continua possono essere utilizzati per formare un indirizzo nella RAM video. Non è specificata alcuna relazione temporale tra l'inizio dell'impulso HS e l'inizio dell'impulso VS, quindi il progettista può organizzare i contatori per formare facilmente indirizzi RAM video o per ridurre al minimo la logica di decodifica per la generazione dell'impulso di sincronizzazione.
Audio (I2S)
La scheda Anvyl include un codec audio Analog Devices SSM2603CPZ (IC5) con quattro jack audio da 1/8″ per uscita linea (J7), uscita cuffie (J6), ingresso linea (J9) e ingresso microfono (J8) .
Dati audio sampè supportata la registrazione fino a 24 bit e 96 KHz, e l'ingresso audio (registrazione) e l'uscita audio (riproduzione) sample tariffe di ling possono essere impostate in modo indipendente. Il jack del microfono è mono e tutti gli altri jack sono stereo. Il jack per le cuffie è pilotato dal codec audio interno amplifier. La scheda tecnica per il codec audio SSM2603CPZ è disponibile presso Analog Devices websito.
Schermo TFT touchscreen
Su Anvyl viene utilizzato uno schermo LCD retroilluminato a LED a colori vivaci di ampio formato da 4.3 pollici. Lo schermo ha una risoluzione nativa di 480 × 272 con una profondità di colore di 24 bit per pixel. Un touchscreen resistivo a quattro fili con rivestimento antiriflesso copre l'intera area di visualizzazione attiva. Lo schermo LCD e il touchscreen possono essere utilizzati indipendentemente. Le letture al tocco sono più rumorose quando il display LCD è acceso, ma è possibile filtrare il rumore e ottenere comunque una s veloceample tasso. Se hai bisogno della massima precisione e sample tariffe, è necessario spegnere il display LCD durante i touchscreenampling.
Per visualizzare un'immagine, l'LCD deve essere guidato continuamente con dati opportunamente temporizzati. Questi dati sono costituiti dalle linee e dai periodi di oscuramento che formano i fotogrammi video. Ogni frame è composto da 272 linee attive e diverse linee di blanking verticale. Ogni riga è composta da 480 periodi di pixel attivi e diversi periodi di oscuramento orizzontale.
Per ulteriori informazioni sull'utilizzo del Display TFT, fare riferimento al manuale di riferimento Vmod-TFT. Anvyl e Vmod-TFT utilizzano lo stesso hardware di visualizzazione e richiedono gli stessi segnali di controllo. I progetti di riferimento che utilizzano il display TFT touchscreen Anvyl sono disponibili nella pagina del prodotto Anvyl.
OLED
Su Anvyl viene utilizzato un display OLED Inteltronic/Wisechip UG-2832HSWEG04. Ciò fornisce un display monocromatico a matrice passiva da 128 × 32 pixel. Le dimensioni del display sono 30 mm x 11.5 mm x 1.45 mm. Un'interfaccia SPI viene utilizzata per configurare il display e per inviare i dati bitmap al dispositivo. L'Anvyl OLED visualizza l'ultima immagine disegnata sullo schermo fino a quando non viene spento o una nuova immagine viene disegnata sul display. L'aggiornamento e l'aggiornamento sono gestiti internamente.
L'Anvyl contiene lo stesso circuito OLED del PmodOLED, con l'eccezione che CS# è abbassato, abilitando la visualizzazione per impostazione predefinita. Per ulteriori informazioni sul pilotaggio dell'Anvyl OLED, fare riferimento al manuale di riferimento PmodOLED. I progetti di riferimento che utilizzano il display Anvyl OLED sono disponibili nella pagina del prodotto Anvyl.
Bridge USB-UART (porta seriale)
Anvyl include un bridge USB-UART FTDI FT2232HQ per consentire alle applicazioni del PC di comunicare con la scheda utilizzando i comandi della porta COM standard di Windows. I driver gratuiti della porta USB-COM, disponibili su www.ftdichip.com alla voce "Virtual Com Port" o VCP, convertono i pacchetti USB in dati UART/porta seriale. I dati della porta seriale vengono scambiati con l'FPGA utilizzando una porta seriale a due fili (TXD/RXD) e il controllo del flusso software (XON/XOFF). Dopo l'installazione dei driver, i comandi I/O dal PC diretti alla porta COM produrranno traffico dati seriale sui pin FPGA T19 e T20.
L'FT2232HQ, collegato alla porta J12, viene utilizzato anche come controller per Digilent USB-JTAG circuiti, ma queste due funzioni si comportano in modo del tutto indipendente l'una dall'altra. I programmatori interessati a utilizzare la funzionalità UART dell'FT2232 all'interno del loro progetto non devono preoccuparsi del JTAG circuiti che interferiscono con i loro dati e viceversa.
Host HID USB
Due microcontrollori Microchip PIC24FJ128GB106 forniscono ad Anvyl la capacità host USB HID. Il firmware nei microcontrollori può pilotare un mouse o una tastiera collegati ai connettori USB di tipo A su J13 e
J14 etichettato
“HID” e “HOST”. Gli hub non sono supportati, quindi è possibile utilizzare solo un singolo mouse o una singola tastiera su ciascuna porta.
Figura 9. Interfaccia HID USB.
Il PIC24 "HOST" invia quattro segnali nell'FPGA: due sono dedicati come porta tastiera/mouse seguendo il protocollo PS/2 e due sono collegati alla porta di programmazione seriale a due fili dell'FPGA, in modo che l'FPGA possa essere programmato da un file memorizzati su una chiavetta USB. Per programmare l'FPGA, collegare una memory stick formattata FAT contenente una singola programmazione .bit file nella directory principale, caricare JP2 e spegnere e riaccendere la scheda. Ciò farà sì che il processore PIC programmi l'FPGA e qualsiasi bit errato filesaranno automaticamente rifiutati. Notare che il PIC24 legge i pin mode, init e done dell'FPGA e può pilotare il pin PROG come parte della sequenza di programmazione.
Controller NASCOSTO
Per accedere a un controller host USB, i progetti EDK possono utilizzare il core PS/2 standard (i progetti non EDK possono utilizzare una semplice macchina a stati).
I mouse e le tastiere che utilizzano il protocollo PS/2 utilizzano un bus seriale a due fili (orologio e dati) per comunicare con un dispositivo host. Entrambi utilizzano parole a 1 bit che includono un bit di avvio, arresto e parità dispari, ma i pacchetti di dati sono organizzati in modo diverso e l'interfaccia della tastiera consente trasferimenti di dati bidirezionali (quindi il dispositivo host può illuminare i LED di stato sulla tastiera). Gli orari degli autobus sono mostrati in figura. I segnali di clock e di dati vengono pilotati solo quando si verificano trasferimenti di dati, altrimenti vengono mantenuti nello stato di riposo a "11" logico. I tempi definiscono i requisiti di segnale per le comunicazioni da mouse a host e per le comunicazioni da tastiera bidirezionali. Un circuito di interfaccia PS/1 può essere implementato nell'FPGA per creare un'interfaccia per tastiera o mouse.
Tastiera
La tastiera utilizza driver open-collector in modo che la tastiera, o un dispositivo host collegato, possa guidare il bus a due fili (se il dispositivo host non invierà dati alla tastiera, allora l'host può utilizzare porte di solo input).
Le tastiere in stile PS/2 utilizzano codici di scansione per comunicare i dati di pressione dei tasti. Ad ogni tasto è assegnato un codice che viene inviato ogni volta che il tasto viene premuto. Se il tasto viene tenuto premuto, il codice di scansione verrà inviato ripetutamente circa una volta ogni 100 ms. Al rilascio di una chiave viene inviato un codice key-up F0 (binario “11110000”) seguito dallo scan code della chiave rilasciata. Se un tasto può essere spostato per produrre un nuovo carattere (come una lettera maiuscola), viene inviato un carattere di spostamento oltre al codice di scansione e l'host deve determinare quale carattere ASCII utilizzare. Alcune chiavi, chiamate chiavi estese, inviano un E0 (binario "11100000") prima del codice di scansione (e possono inviare più di un codice di scansione). Quando viene rilasciato un tasto esteso, viene inviato un codice key-up E0 F0, seguito dal codice di scansione. I codici di scansione per la maggior parte delle chiavi sono mostrati nella figura. Un dispositivo host può anche inviare dati alla tastiera. Di seguito è riportato un breve elenco di alcuni comandi comuni che un host potrebbe inviare.
- ED: Impostare i LED Num Lock, Caps Lock e Scroll Lock. La tastiera restituisce FA dopo aver ricevuto ED, quindi l'host invia un byte per impostare lo stato del LED: il bit 0 imposta Scroll Lock, il bit 1 imposta Num Lock e il bit 2 imposta Caps lock. I bit da 3 a 7 vengono ignorati.
- EE: Eco (prova). La tastiera restituisce EE dopo aver ricevuto EE.
- Domanda 3: Imposta la frequenza di ripetizione del codice di scansione. La tastiera restituisce F3 alla ricezione di FA, quindi l'host invia il secondo byte per impostare la frequenza di ripetizione.
- FE: Invia di nuovo. FE indica alla tastiera di inviare nuovamente il codice di scansione più recente.
- FF: Ripristina. Reimposta la tastiera.
La tastiera può inviare dati all'host solo quando sia la linea dati che quella di clock sono alte (o inattive). Poiché l'host è il bus master, la tastiera deve verificare se l'host sta inviando dati prima di guidare l'autobus. Per facilitare ciò, la linea dell'orologio viene utilizzata come segnale "chiaro da inviare". Se l'host abbassa la linea dell'orologio, la tastiera non deve inviare alcun dato fino a quando l'orologio non viene rilasciato. La tastiera invia i dati all'host in parole di 11 bit che contengono un bit di inizio '0', seguito da 8 bit di codice di scansione (LSB prima), seguito da un bit di parità dispari e terminato con un bit di stop '1'. La tastiera genera 11 transizioni di clock (da 20 a 30 KHz) quando i dati vengono inviati e i dati sono validi sul fronte di discesa del clock.
Non tutti i produttori di tastiere aderiscono rigorosamente alle specifiche PS/2; alcune tastiere potrebbero non produrre la corretta segnalazione voltages o utilizzare i protocolli di comunicazione standard. La compatibilità con l'host USB può variare tra le diverse tastiere. 1
I codici di scansione per la maggior parte dei tasti PS/2 sono mostrati nella figura sottostante.
Topo
Il mouse emette un segnale di clock e dati quando viene spostato, altrimenti questi segnali rimangono a "1" logico. Ogni volta che il mouse viene spostato, tre parole a 11 bit vengono inviate dal mouse al dispositivo host. Ognuna delle parole a 11 bit contiene un bit di inizio '0', seguito da 8 bit di dati (LSB prima), seguito da un bit di parità dispari e terminato con un bit di stop '1'. Pertanto, ciascuna trasmissione di dati contiene 33 bit, dove i bit 0, 11 e 22 sono bit di inizio "0" e i bit 11, 21 e 33 sono bit di arresto "1". I tre campi dati a 8 bit contengono dati di movimento come mostrato nella figura sopra. I dati sono validi sul fronte di discesa del clock e il periodo di clock è compreso tra 20 e 30 KHz.
Il mouse assume un sistema di coordinate relative in cui lo spostamento del mouse a destra genera un numero positivo nel campo X e lo spostamento a sinistra genera un numero negativo. Allo stesso modo, spostando il mouse verso l'alto si genera un numero positivo nel campo Y, mentre lo spostamento verso il basso rappresenta un numero negativo (i bit XS e YS nel byte di stato sono i bit del segno – un '1' indica un numero negativo). La grandezza dei numeri X e Y rappresenta la velocità del movimento del mouse: maggiore è il numero, più velocemente si muove il mouse (i bit XV e YV nel byte di stato sono indicatori di overflow del movimento: un '1' significa che si è verificato un overflow) . Se il mouse si muove continuamente, le trasmissioni a 33 bit vengono ripetute ogni 50 ms circa. I campi L e R nel byte di stato indicano le pressioni dei pulsanti Sinistra e Destra (un '1' indica che il pulsante è stato premuto).
Tastiera
La tastiera Anvyl ha 16 tasti etichettati (0-F). È impostato come una matrice in cui ogni riga di pulsanti da sinistra a destra è legata a un pin di riga e ogni colonna dall'alto verso il basso è legata a un pin di colonna. Ciò offre all'utente quattro pin di riga e quattro pin di colonna per indirizzare la pressione di un pulsante. Quando si preme un pulsante, i pin corrispondenti alla riga e alla colonna di quel pulsante vengono collegati.
Per leggere lo stato di un pulsante, il perno della colonna in cui risiede il pulsante deve essere posizionato in basso mentre gli altri tre perni della colonna devono essere spostati in alto. Ciò abilita tutti i pulsanti in quella colonna. Quando viene premuto un pulsante in quella colonna, il pin della riga corrispondente leggerà la logica bassa.
Lo stato di tutti i 16 pulsanti può essere determinato in un processo in quattro fasi abilitando ciascuna delle quattro colonne una alla volta. Ciò può essere ottenuto ruotando un motivo "1110" attraverso i perni della colonna. Durante ogni passaggio, i livelli logici dei pin di riga corrispondono allo stato dei pulsanti in quella colonna.
Per consentire la pressione simultanea dei pulsanti nella stessa riga, configurare invece i pin della colonna come bidirezionali con resistori di pull-up interni e mantenere le colonne attualmente non lette ad alta impedenza.
Oscillatori/Orologi
La scheda Anvyl include un singolo oscillatore Crystal da 100 MHz collegato al pin D11 (D11 è un ingresso GCLK nel banco 0). Il clock di ingresso può pilotare uno o tutti i quattro riquadri di gestione del clock nello Spartan-6. Ogni riquadro include due Digital Clock Manager (DCM) e un Phase-Locked Loop (PLL). I DCM forniscono le quattro fasi della frequenza di ingresso (0º, 90º, 180º e 270º), un clock diviso che può essere il clock di ingresso diviso per qualsiasi numero intero da 2 a 16 o 1.5, 2.5, 3.5…7.5, e due uscite di clock in antifase che possono essere moltiplicate per qualsiasi numero intero da 2 a 32 e contemporaneamente divise per qualsiasi numero intero da 1 a 32.
I PLL usano Voltage Oscillatori controllati (VCO) che possono essere programmati per generare frequenze nell'intervallo da 400 MHz a 1080 MHz impostando tre set di divisori programmabili durante la configurazione dell'FPGA. Le uscite VCO hanno otto uscite equidistanti (0º, 45º, 90º, 135º, 180º, 225º, 270º e 315º) che possono essere divise per qualsiasi numero intero compreso tra 1 e 128.
I / O di base
La scheda Anvyl include quattordici LED (dieci rossi, due gialli e due verdi), otto interruttori a scorrimento, otto interruttori DIP in due gruppi, quattro pulsanti, tre display a due cifre a sette segmenti e una breadboard da 630 punti di collegamento con dieci I/O digitali. I pulsanti, gli interruttori a scorrimento e gli interruttori DIP sono collegati all'FPGA tramite resistori in serie per evitare danni causati da cortocircuiti involontari (potrebbe verificarsi un cortocircuito se un pin FPGA assegnato a un pulsante o interruttore a scorrimento fosse inavvertitamente definito come uscita). I pulsanti sono interruttori “momentanei” che normalmente generano un'uscita bassa quando sono a riposo, e un'uscita alta solo quando vengono premuti. Gli interruttori a scorrimento e gli interruttori DIP generano ingressi costanti alti o bassi a seconda della loro posizione. I dieci I/O della breadboard digitale (BB1 – BB10) sono collegati direttamente all'FPGA in modo che possano essere facilmente incorporati in circuiti personalizzati.
Pulsanti | Interruttori a scorrimento | Interruttori DIP | LED | Tagliere | ||||
BTN0: E6 | SW0:V5 | DIP8-1: G6 | LD0: W3 | LD9: R7 | BB1: AB20 | BB9: R19 | ||
BTN1: D5 | SO1: U4 | DIP8-2: G4 | LD1: Y4 | DL10: U6 | BB2: P17 | BB10: V19 | ||
BTN2: A3 | SW2:V3 | DIP8-3: F5 | LD2: Y1 | LD11:T8 | BB3: P18 | |||
BTN3: AB9 | SO3: P4 | DIP8-4: E5 | LD3: Y3 | LD12:T7 | BB4: Y19 | |||
SO4: R4 | DIP9-1: F8 | DL4: AB4 | LD13: W4 | BB5: Y20 | ||||
SO5: P6 | DIP9-2: F7 | LD5: W1 | DL14: U8 | BB6: R15 | ||||
SO6: P5 | DIP9-3: C4 | DL6: AB3 | BB7: R16 | |||||
SO7: P8 | DIP9-4: D3 | DL7: AA4 | BB8: R17 |
Tabella 1. Piedinatura I/O di base.
Display a sette segmenti
La scheda Anvyl contiene tre display LED a catodo comune a sette segmenti a 2 cifre. Ciascuna delle due cifre è composta da sette segmenti disposti secondo uno schema a "figura otto", con un LED incorporato in ciascun segmento. I LED dei segmenti possono essere illuminati individualmente, quindi uno qualsiasi dei 128 modelli può essere visualizzato su una cifra illuminando alcuni segmenti LED e lasciando gli altri scuri. Di questi 128 possibili schemi, i dieci corrispondenti alle cifre decimali sono i più utili.
I segnali del catodo comune sono disponibili come sei segnali di ingresso "digit enable" per i tre display a 2 cifre. Gli anodi di segmenti simili su tutte e sei le cifre sono collegati in sette nodi circuitali etichettati AA attraverso AG (quindi, per es.ample, i sei anodi “D” delle sei cifre sono raggruppati in un unico nodo circuitale chiamato “AD”). Questi sette segnali anodici sono disponibili come input per i display a 2 cifre. Questo schema di collegamento del segnale crea un display multiplex, in cui i segnali dell'anodo sono comuni a tutte le cifre ma possono solo illuminare i segmenti della cifra il cui segnale catodico corrispondente è asserito.
Un circuito di controllo del display a scansione può essere utilizzato per mostrare un numero a due cifre su ciascun display. Questo circuito guida i segnali catodici e i corrispondenti schemi anodici di ciascuna cifra in una successione continua e ripetuta, a una velocità di aggiornamento superiore alla risposta dell'occhio umano. Ogni cifra è illuminata solo un sesto del tempo, ma poiché l'occhio non può percepire l'oscuramento di una cifra prima che si illumini di nuovo, la cifra appare continuamente illuminata. Se la velocità di aggiornamento (o "refresh") viene rallentata fino a un determinato punto (circa 45 hertz), la maggior parte delle persone inizierà a vedere lo sfarfallio del display.
Affinché ciascuna delle sei cifre appaia luminosa e costantemente illuminata, ogni cifra deve essere pilotata una volta ogni 1-16 ms (per una frequenza di aggiornamento da 1 KHz a 60 Hz). Per esample, in uno schema di aggiornamento a 60 Hz, l'intero display verrebbe aggiornato una volta ogni 16 ms e ogni cifra sarebbe illuminata per 1/6 del ciclo di aggiornamento, o 2.67 ms. Il controllore deve garantire che sia presente il modello anodico corretto quando viene pilotato il segnale del catodo corrispondente. Per illustrare il processo, se viene affermato Cat1 mentre sono affermati AB e AC, verrà visualizzato un "1" nella posizione della cifra 1. Quindi, se viene affermato Cat2 mentre sono affermati AA, AB e AC, verrà visualizzato un "7". essere visualizzato nella posizione della cifra 2. Se Cat1 e AB, AC vengono pilotati per 8ms, e quindi Cat2 e AA, AB, AC vengono pilotati per 8ms in una successione infinita, il display mostrerà “17”. Un exampIl diagramma di temporizzazione per un controller a due cifre è mostrato di seguito.
Contatori di espansione
La scheda Anvyl ha un connettore 2×20 pin e sette porte Pmod a 12 pin. Le porte Pmod sono connettori femmina 2×6 ad angolo retto da 100 mil che funzionano con intestazioni pin 2×6 standard disponibili presso una varietà di distributori di cataloghi. Ciascuna porta Pmod a 12 pin fornisce due segnali VCC da 3.3 V (pin 6 e 12), due segnali di massa (pin 5 e 11) e otto segnali logici. I pin VCC e Ground possono fornire fino a 1A di corrente. I segnali di dati Pmod non sono coppie abbinate e vengono instradati utilizzando le migliori tracce disponibili senza controllo dell'impedenza o adattamento del ritardo. Digilent produce un'ampia collezione di schede accessorie Pmod che possono essere collegate alle porte Pmod. Abbiamo un set di Pmod consigliati per Anvyl chiamato "Anvyl Pmod Pack".
Il connettore di espansione a 40 pin ha 32 segnali I/O condivisi con Pmods JD, JE, JF e JG. Fornisce inoltre connessioni GND, VCC3V3 e VCC5V0.
Pmod JA | Pmod JB | Pmod JC | Pmod JD | Pmod JE | Pmod JF | Pmod JG |
JA1: AA18 | JB1: Y16 | JC1: Y10 | JD1: AB13 | JE1: U10 | JF1: V7 | JG1: V20 |
JA2: AA16 | JB2: AB14 | JC2: AB12 | JD2: Y12 | JE2: V9 | JF2: V6 | JG2: T18 |
JA3: Y15 | JB3: Y14 | JC3: AB11 | JD3: T11 | JE3: Y8 | JF3: Y7 | JG3: RE17 |
JA4: V15 | JB4: U14 | JC4: AB10 | JD4: S10 | JE4:AA8 | JF4: AA6 | JG4: SI18 |
JA7: AB18 | JB7: AA14 | JC7: AA12 | JD7: S12 | JE7: U9 | JF7: V8 | JG7: T17 |
JA8: AB16 | JB8: W14 | JC8: Y11 | JD8: R11 | JE8: W9 | JF8: Y6 | JG8: A17 |
JA9: AB15 | JB9: T14 | JC9: AA10 | JD9: V11 | JE9: Y9 | JF9: AB7 | JG9: DO16 |
JA10: W15 | JB10: W11 | JC10: Y13 | JD10: T10 | JE10:AB8 | JF10: AB6 | JG10: A18 |
Tabella 2. Piedinatura Pmod.
Copyright Digilent, Inc. Tutti i diritti riservati.
Altri nomi di prodotti e società citati possono essere marchi dei rispettivi proprietari.
Documenti / Risorse
![]() |
Scheda DIGILENT Anvyl FPGA [pdf] Manuale d'uso XC6SLX45-CSG484-3, scheda FPGA in vinile, FPGA in vinile, scheda |