# Συζήτηση Κυκλωμάτων > Ψηφιακά Κυκλώματα > Χρονοκυκλώματα >  >  nsec counter

## θοδωρης46

Συνάδελφοι καλησπέρα, θέλω να φτιάξω μια διάταξη που να μετράει events και το χρόνο που σκάνε αυτά τα events.

Ένα event(παλμός) διαρκεί 10 nsec και ο μικρόρερος χρόνος που μπορεί να συμβεί το επόμενο event είναι 20 nsec
δηλαδή μετράς τώρα ένα event (το καταγράφεις κάπου) μετά απο 30 nsec πρέπει να  :
-έχεις καταγράψει με ακριβία 1 nsec το χρόνο (30 nsec στη συγκεκριμένη περίπτωση)
-Να μπορεί να αυξήση το μετρητή event κατά ένα.

Υπάρχει κάνα GHz counter ? ή έστω πάνω απο 700 MHz 

Ευχαριστώ

----------


## chip

μπορείς να φτιάξεις με τσιπάκια ECL (ΜC10Exxx) της onsemi.... αλλά κοστίζουν βέβαια και φυσικά σε τέτοιες περιπτώσεις χρειάζεσαι πλακέτα με 4 επίπεδα (τουλάχιστον) και σχεδιασμό με γραμμές microstrip

λογικά θα σου πάει 300-500 ευρώ... (τουλάχιστον και με την προυπόθεση οτι είναι δικό σου Project και αγοράζεις φθηνά από ebay....)

επίσης υπάρχουν και τα MC10EP που πάνε στα 3GHZ ενώ έχει και μία αλλη σειρά που πρέπει να πηγαίνει πάνω από τα 10GHz

----------


## chip

το ξανασκεφτόμουν.... counter που να τρέχει στο 1GHz με ECL... που μπορούν να δουλεύουν και με θετική τάση οπότε η σχεδίαση θα είναι τύπου PECL
 register  ECL (ή PECL) που να πιανει τα event
μετατροπέας ECL (ή PECL ανάλογα με τι τάση θα δουλεύει το σύστημα υψηλής ταχύτητας)
FPGA (καποια FPGA εχουν δυνατότητα να συνδεθούν απ ευθείας με τα ECL ολοκληρωμένα) που θα πέρνει τις καταχωρήσεις από τον γρήγορο register και θα τα βάζει σε μνήμη
μικροελεγκτής που θα επικοινωνεί με τη μνήμη και θα στέλνει μετρήσεις στο PC

Αυτά είναι συνιθισμένα σε πειράματα φυσικής υψηλών ενεργειών (πχ στο CERN)


επίσης ίσως τα σύγχρονα FPGA να μπορούν να πάνε στο GHZ οπότε κοίταξε και αυτή την περίπτωση.... (σίγουρα πάνε στο GHZ αλλά προηγούμενες γενιές έκαναν περιορισμένα πράγματα σε αυτές τις ταχύτητες όπως serializer multiplexer.... δεν ξέρω τώρα τι δυνατότητες έχουν....)

----------


## chip

το ξανασκέφτηκα... 
το βάζεις στην είσοδο de-serializer του fpga και το κάνεις παράλληλο με ρυθμό 1GHZ εκεί με κάποιο κύκλωμα (λογικό) ανιχνεύεις τους παλμούς και τη θέση τους και καταχωρείς σε μνήμη τους χρόνους.... 
ποιο σύνθετο κυκλωματικά μέσα στο fpga αλλά ποιο εύκολο αφού θα πάρεις έτοιμη πλακέτα με fpga και δεν θα μπλέξεις με ECL και κατασκευή με πολυστρωματικό τυπωμένο...

ελπίζω να μην σε τρέλανα.....

----------


## picdev

μέσα στο fpga μπορείς να υλοποιήσεις και μικροελεκτή με έτοιμη βιβλιοθήκη

----------


## θοδωρης46

> μέσα στο fpga μπορείς να υλοποιήσεις και μικροελεκτή με έτοιμη βιβλιοθήκη



Ποιό FPGA έχει 1 GHz counter, spartan 6 ?

----------


## θοδωρης46

ρε chip το ECL είναι ένα clock buffer σωστά ? Εγώ θέλω ένα counter.. σίγουρα μπορεί να χρειαστεί ένα buffer, αλλά εδώ δεν έχουμε τον counter το buffer θα κοιτάμε πρώτα..
Μήπως θεωρείς αυτονόητο το παρακάτω τρόπο? και αυτο που συμπληρώνει το παζλ είναι ο buffer




> FPGA (καποια FPGA εχουν δυνατότητα να συνδεθούν απ ευθείας με τα ECL ολοκληρωμένα) που θα πέρνει τις καταχωρήσεις από τον γρήγορο register και θα τα βάζει σε μνήμη
> μικροελεγκτής που θα επικοινωνεί με τη μνήμη και θα στέλνει μετρήσεις στο PC

----------


## θοδωρης46

> Ποιό FPGA έχει 1 GHz counter, spartan 6 ?



το spartan 6 δεν έχει 1 GHz counter..
Έχεις χρεισιμοποιήσει κάποιο fpga σε 1 GHz counter ? αν ναι πες μου ποιο ?
Αν θυμάσε και τη βιβλιοθήκη ακόμα καλύτερα

----------


## chip

δεν ξέρω καθόλου από τα xilinx αλλά και για τα altera θα πρεπε να κοιτάξω....
 όμως τουλάχιστον τα παλαιά μοντέλα δεν είχαν counter αλλά serial to parallel στον 1GHz


και το ξανασκεφτόμουν και βάση των δικών μου εμπειριών... ίσως να έβαζα ένα φθηνό FPGA (από αυτά που πάνε ώς τα 200-300MHz) και θα είχα εξωτερικά ένα κύκλωμα serial to parallel που θα εργάζονταν στο 1GHZ. Με 8Bit serial to parallel το FPGΑ θα εργάζονταν εύκολα στα 125MHZ....

όμως έχω πολλά χρόνια να ασχοληθώ με σύγχρονα FPGA και δεν είμαι ενήμερος τι συχνότητες μπορεί να διαχειρειστεί ένα μέσο σημερινό FPGA....

----------


## chip

τα ECL είναι ολόκληρη οικογένεια από τσιπάκια ή ποιο σωστά οικογένειες που έχουν πύλες, flip-flop, registers, buffers, counters, πολυπλέκτες μεταφραστές μεταξύ λογικών οικογενειών, vco, delay lines προγραμματιζόμενα σε επίπεδο δεκάδων psec.... 

ρίξε μια ματιά εδώ
http://www.rsp-italy.it/Electronics/...0dl140rev6.pdf

και το συγκεκριμένο databook ειναι πάνω από 10 ετών πλέον πιθανότατα να έχει συμπληρωθεί κι άλλο η οικογένεια....

και εκτός αυτού υπάρχουν τα MC10EP μεγαλύτερης ταχύτητας αλλά μικρότερη ποικιλία....
και υπάρχει και ακόμα ποιο γρήγορα πάνω από 10GHZ..

----------


## θοδωρης46

> δεν ξέρω καθόλου από τα xilinx αλλά και για τα altera θα πρεπε να κοιτάξω....
>  όμως τουλάχιστον τα παλαιά μοντέλα δεν είχαν counter αλλά serial to parallel στον 1GHz
> 
> 
> και το ξανασκεφτόμουν και βάση των δικών μου εμπειριών... ίσως να έβαζα ένα φθηνό FPGA (από αυτά που πάνε ώς τα 200-300MHz) και θα είχα εξωτερικά ένα κύκλωμα serial to parallel που θα εργάζονταν στο 1GHZ. Με 8Bit serial to parallel το FPGΑ θα εργάζονταν εύκολα στα 125MHZ....
> 
> όμως έχω πολλά χρόνια να ασχοληθώ με σύγχρονα FPGA και δεν είμαι ενήμερος τι συχνότητες μπορεί να διαχειρειστεί ένα μέσο σημερινό FPGA....



chip το serial to parallel που λες, μάλλον εννοείς time to digital converter (TDC) 
Αυτο κοιτάω τώρα, είναι ένας τρόπος που ακολουθούν. FPGA 250 με 550 MHz και TDC πας σε 0,5 nsec διακριτικότητα.
Έχει δουλίτσα όμως δεν είναι ευκολο...

----------


## chip

όχι δε μιλάω για time to digital τα οποία έχουν πολύ καλή ακρίβεια αλλά για μέτρηση σε μικρά χρονικά διαστήματα...  Κάποτε είχα πετύχει μία πώληση στο ebay που πρέπει να είχε το τσιπάκι γύρω στα 50psec ακρίβεια.... 14 τσιπάκια δεν ενδιαφέρονταν κανείς και πήγαιναν για 0,99δολάρια... αλλά με χαλούσαν τα 40 δολάρια μεταφορικά από ΗΠΑ οπότε δεν τα πήρα..... 

αλλά αφού ενδιαφέρεσαι για παλμό (ψηφιακό) μπορείς να κάνεις δειγματοληψία με 1GSPS και να τα σπρώχνεις σε ένα 8 bit shift register μετά να τα πέρνεις στο fpga παράλληλα και να ελέγχεις αν κάποιο από τα bit είναι 1 (δηλαδή οτι ήρθε ο παλμούς που ψάχνεις) θα σημειώνεις τη θέση του σε μνήμη μαζί με έναν counter που θα μετράει (στα 125 MHZ) την επόμενη φορά που θα έχεις συμβάν θα σημειώνεις πάλι τη θέση στο shift register μαζί με την τιμή του μετρητή Έτσι θα έχεις το χρόνο των συμβάντων σαν απόλυτη τιμή είτε σα διαφορά χρόνου από τη μία καταχώρηση στην άλλη...
φυσικά αν και τα 125ΜΗz φανούν πολλά για ένα μέσο/παλαιό ή για τη μνήμη που θέλεις να βάλεις μπορείς να κάνεις απόπολύπλεξη και να παραλληλίσεις τα data οπότε να επεξεργάζεσαι δεδομένα στα 62,5MHz

----------


## θοδωρης46

chip το 1 GSPS είναι πολύπλοκο, έχει πολλές δυσκολίες ακόμα και για καλούς ηλεκτρονικούς. Βρήκα ένα chip που κάνει TDC με διακριτικότητα 200 psec και κάνεις το read out με SPI.
Δεν θυμάμε την εταιρεία που τα φτιάχνει το έχω αφήσει στο εργαστήριο. θα σας ανεβάσω το chipaki

----------


## chip

ναι αλλά το TDC πιστεύω σου δίνει πληροφορία για το χρόνο μεταξύ δύο παλμών και όχι μία σειρά μετρήσεων από τους χρόνους πολλών παλμών. Αυτό σου αρκεί?
Αν ναι πράγματι το TDC μάλλον θα σε βολέψει (εφόσον το βρίσκει και να το αγοράσεις...)

----------


## θοδωρης46

*TDC-GPX απο την acam electronic. άμα έχει FIFO θα μπορεί να αποθηκευει μερικές μετρήσεις πριν γίνει read out*

----------


## chip

φαίνεται καλή επιλογή!

----------

