Page 1 of 1

Arduino-FPGA

PostPosted: 12 Feb 2015, 11:51
by cornerasr
Salve a tutti

mi sono affacciato da pochissimo al mondo delle schede Arduino e delle FPGA, per questo chiedo un aiuto da principiante.

Come mio primo esperimento, volevo inviare un byte da Arduino a FPGA e dal canto suo inviare da FPGA ad Arduino un messaggio di corretta ricezione.
Qualcuno può indirizzarmi sulla strada da seguire?!?

Grazie in anticipo

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 12:17
by deluca
benvenuto cornerasr

iniziamo a farti noi qualche domanda per capire meglio!!
che scheda arduino e fpga possiedi?

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 12:32
by cornerasr
Arduino UNO e per FPGA ho una Digliene Nexys2

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 12:37
by deluca
ok arduino e Digilent, vorrai dire :) Nexys2 con su FPGA Xilinx Spartan 3E-500.

Ti avverto subito che qui la maggior parte degli utenti e il qui sottoscritto hanno + simpatia per FPGA altera, ma questo non deve scoraggiarti.

Conosci già il sistema di sviluppo Xilinx e il linguaggio VHDL per la descrizione dell'hardware?

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 12:44
by cornerasr
Si...in teoria ho già programmata la Diglient(si volevo dire così..:D). La Nexys mi è stata programmata con una serie di byte che(quando sarà il momento) dovrò inviare tramite comunicazione seriale ad Arduino. In teoria adesso ho solo la necessità di inviare un byte di controllo da Arduino per verificare che la comunicazione avvenga. E come riscontro della comunicazione vorrei inviare un messaggio di conferma(anche un banalissimo "Ready"), da Nexys ad Arduino. Spero di essere stato chiaro!

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 12:47
by cornerasr
Volendo anche senza messaggio di conferma. Nel senso che invio un byte per verificare la comunicazione con Arduino, e di risposta la Nexys mi inizia ad inviare la serie di byte che già ha al suo interno.
Ho provato a documentarmi sulle librerie di arduino, ho trovato la SoftwareSerial, ma temo che sto facendo confusione... :(

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 13:00
by Leonardo
Arduino ha una tensione di funzionamento di 5v mentre la FPGA supporta al massimo 3.3v. Fortunatamente la Digilent ha aggiunto qualche protezione (zener e resistenze) sugli header PMOD ma non ci farei troppo affidamento.

Come stai collegando Arduino alla FPGA?

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 13:04
by cornerasr
L'idea sarebbe tramite semplici fili elettrici.
Scusate l'ignoranza, ma che l'arcuino UNO ha un pin impostato per la trasmissione a 3,3v non vuol dire nulla?

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 15:02
by Leonardo
La domanda che poni mi lascia un po' perplesso :shock:

Arduino ha un pin fisso a 3.3v, utilizzabile per alimentare eventuali dispositivi a 3.3v ma ciò non significa assolutamente che gli altri pin di Arduino utilizzino tale tensione.

E' un progetto universitario?

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 15:52
by cornerasr
Si..ingegneria informatica

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 16:10
by Leonardo
Esiste una versione di Arduino (Arduino Pro Mini) che lavora anche a 3.3v e ti risolverebbe molti problemi d'interfacciamento, altrimenti (e solo per basse velocità) potresti risolvere con un partitore di tensione.

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 16:16
by deluca
Prog. UNI ... come prevedevo, anche se questa volta ero un pò titubante !!
C'è una scheda FPGA già programmata che trasmette alcuni byte e bisogna leggerli con arduino.... e poi?

PS. Non mi è totalmente chiaro quale è lo scopo di questa attività !!

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 16:18
by cornerasr
poi codifica di questi bit, dal quale estrarre valore max, min e medio

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 16:36
by Leonardo
@cornerasr:

Devi procedere per gradi, la FPGA come trasmette questi dati? Come RS-232 con bit di start, stop, etc..?
La FPGA aspetta un qualche segnale prima di iniziare a trasmettere?

Come vedi il problema non è stato ben definito e non possiamo esserti di grande aiuto altrimenti.

Per ricevere solamente da Arduino questi dati non hai bisogno del partitore, Arduino accetta i 3.3v ma NON devi assolutamente provare a scrivere sulla FPGA perché lei non accetta i 5v così volentieri.

PS: Sinceramente pensavo che era qualcosa di più interessante di max, min e media :?

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 16:49
by cornerasr
provo a essere più chiaro sulla totalità del progetto:
per iniziare la trasmissione tra le due schede, invio il cosiddetto byte AA alla scheda FPGA(che se ho capito bene dovrebbe essere il byte 10101010). Una volta ricevuto il byte AA sulla FPGA , la stessa mi manda una serie di byte verso arduino in blocchi di 32. ognuno di questi 32 byte ha un bit di start e uno di stop e vengono trasmessi come RS232.
Una volta ricevuti, li codifico in decimale e ne trovo massimo minimo e media.
So che non può essere molto interessante, ma come primo progettino per imparare i mezzi e acquisire conoscenze sull'argomento mi sembra utile....

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 16:55
by deluca
conosci il baudrate di trasmissione lato fpga?
come devi visualizzare i valori calcolati, min max e media?

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 16:56
by cornerasr
si, 115200

Re: Arduino-FPGA

PostPosted: 12 Feb 2015, 16:58
by cornerasr
per quanto riguarda i valori...devo avere un formato BIN che mi da il valore in binario e successivamente il corrispondente valore intero, tranne ovviamente la media che va in float

Re: Arduino-FPGA

PostPosted: 13 Feb 2015, 11:53
by einstein
ciao cornerasr e benvenuto
forse deluca ti aveva chiesto se i valori min, max e media li devi visualizzare in qualche posto, tipo in un lcd o sulla seriale.
Secondo me non sarebbe stato meglio far fare queste operazioni alla fpga, non sarebbe stata più veloce? :)

Re: Arduino-FPGA

PostPosted: 13 Feb 2015, 21:32
by deluca
ehi! einstein, mi hai capito perfettamente, era proprio quello che intendevo chiedere.

cmq, il progettino che deve realizzare cornerasr prevede che la media sia fatta sul micro.... meglio così !!
sai cosa comporterebbe eseguire una media in float sulla fpga? l'implementazione di un FPU, cosa non banale.