Εμφάνιση αποτελεσμάτων : 1 έως 5 από 5

Θέμα: Συγχρονισμός 8-bit shift register με pic

  1. #1
    Μέλος
    Εγγραφή
    Apr 2008
    Μηνύματα
    93

    Question Συγχρονισμός 8-bit shift register με pic

    Καλησπέρα, έχω ένα ολοκληρωμένο που του δίνω κάποια bit παράλληλα και τα παίρνω σειριακά, υπάρχουν αρκετά ολοκληρωμένα που κάνουν αυτή τη δουλειά, όπως το 74HC595 ή το 74LS166.
    Θέλω να οδηγήσω την σειριακή έξοδο σε μια είσοδο του pic16f628 (που έχει οκτάμπιτους καταχωρητές).
    Πώς θα συγχρονίσω τα δεδομένα που στέλνει το ολοκληρωμένο με τον pic ?
    Επίσης θα ήθελα το ολοκληρωμένο να σταματήσει τη λειτουργία του, μόλις πάρω τα δεδομένα στον καταχωρητή του pic ( εννοείται πως θα ξαναστέλνει τα δεδομένα σε περίπτωση που κάνω reset στον pic).
    Ίσως σε κάποιους να φαίνεται αστεία η ερώτηση μου.....απλά έχω μπερδευτεί!
    Περιμένω τις απαντήσεις σας, ευχαριστώ.

    0 Not allowed! Not allowed!

  2. #2
    Μέλος
    Εγγραφή
    Apr 2008
    Μηνύματα
    93

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από high frequency Εμφάνιση μηνυμάτων
    Καλησπέρα, έχω ένα ολοκληρωμένο που του δίνω κάποια bit παράλληλα και τα παίρνω σειριακά, υπάρχουν αρκετά ολοκληρωμένα που κάνουν αυτή τη δουλειά, όπως το 74HC595 ή το 74LS166.
    Θέλω να οδηγήσω την σειριακή έξοδο σε μια είσοδο του pic16f628 (που έχει οκτάμπιτους καταχωρητές).
    Πώς θα συγχρονίσω τα δεδομένα που στέλνει το ολοκληρωμένο με τον pic ?
    Επίσης θα ήθελα το ολοκληρωμένο να σταματήσει τη λειτουργία του, μόλις πάρω τα δεδομένα στον καταχωρητή του pic ( εννοείται πως θα ξαναστέλνει τα δεδομένα σε περίπτωση που κάνω reset στον pic).
    Ίσως σε κάποιους να φαίνεται αστεία η ερώτηση μου.....απλά έχω μπερδευτεί!
    Περιμένω τις απαντήσεις σας, ευχαριστώ.
    Μάλλον δεν ήταν και τόσο αστεία η ερώτηση μου......κάποιος που να γνωρίζει ???

    0 Not allowed! Not allowed!

  3. #3
    Μέλος Το avatar του χρήστη manolena
    Όνομα
    Μάνος
    Εγγραφή
    Dec 2006
    Περιοχή
    Ελευσίνα
    Μηνύματα
    2.709

    Προεπιλογή

    Καλημέρα. Για να κάνεις αυτό, θα πρέπει να ξέρεις οτι οι PIC διαθέτουν εσωτερικό module σειριακής επικοινωνίας με τον έξω κόσμο το οποίο είναι πλήρως ρυθμιζόμενο για σειριακή ασύγχρονη, σειριακή ολίσθησης ή σειριακή με πρωτόκολλο I2C, το οποίο είναι hardware λειτουργίας, δηλαδή τους χρονισμούς και τις ακολουθίες της πληροφορίας τα αναλαμβάνει ο μ/ε. Αυτά τα modules τα διαθέτουν μεγαλύτερα μοντέλα, όπως για παράδειγμα οι της σειράς 16F8xx. Στον 16F628 πρέπει να φτιάξεις software επικοινωνία SPI (serial peripheral) φροντίζοντας να ακολουθήσεις τις απαιτήσεις για χρονισμούς και databus. H Maxim έχει ένα παράδειγμα στο οποίο θα δείς μια software SPI με ένα ρολόϊ επικοινωνία σε assembly. Δές επίσης και αυτό, μπορεί να βοηθηθείς.

    0 Not allowed! Not allowed!

  4. #4
    Μέλος Το avatar του χρήστη lastid
    Όνομα
    Δημήτρης
    Εγγραφή
    Feb 2009
    Περιοχή
    Θεσσαλονίκη
    Μηνύματα
    841

    Προεπιλογή

    Το πρόβλημα μετάδοσης του clock γενικά αντιμετωπίζεται με δύο διαφορετικούς τρόπους:
    Σύγχρονη επικοινωνία: To clock μεταδίδεται από ξεχωριστή γραμμή. Πλεονεκτήματα: απλούστερα κυκλώματα, ελευθερία στο ρυθμό μετάδοσης δεδομένων. Μειονεκτήματα: Απαιτείται επιπλέον γραμμή.
    Ασύγχρονη επικοινωνία: Το clock ανακτάται μέσα από τα δεδομένα στέλνοντας παλμούς συγχρονισμού, start-stop bits κλπ. Πλεονεκτήματα: Απαιτείται μόνο μία γραμμή. Μειονεκτήματα: Συνθετότερα κυκλώματα, προκαθορισμένοι ρυθμοί.
    Εσύ τί περιορισμούς έχεις? Π.χ. μπορείς να έχεις παράλληλα και clock ή όχι? Αν ναι, χρησιμοποιείς το SPI του PIC. Αν όχι, χρησιμοποιείς το USART.

    0 Not allowed! Not allowed!

  5. #5
    Μέλος Το avatar του χρήστη fmav
    Όνομα
    .
    Εγγραφή
    Mar 2009
    Περιοχή
    ..
    Μηνύματα
    313

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από high frequency Εμφάνιση μηνυμάτων
    Καλησπέρα, έχω ένα ολοκληρωμένο που του δίνω κάποια bit παράλληλα και τα παίρνω σειριακά, υπάρχουν αρκετά ολοκληρωμένα που κάνουν αυτή τη δουλειά, όπως το 74HC595 ή το 74LS166.
    Θέλω να οδηγήσω την σειριακή έξοδο σε μια είσοδο του pic16f628 (που έχει οκτάμπιτους καταχωρητές).
    Πώς θα συγχρονίσω τα δεδομένα που στέλνει το ολοκληρωμένο με τον pic ?
    Επίσης θα ήθελα το ολοκληρωμένο να σταματήσει τη λειτουργία του, μόλις πάρω τα δεδομένα στον καταχωρητή του pic ( εννοείται πως θα ξαναστέλνει τα δεδομένα σε περίπτωση που κάνω reset στον pic).
    Ίσως σε κάποιους να φαίνεται αστεία η ερώτηση μου.....απλά έχω μπερδευτεί!
    Περιμένω τις απαντήσεις σας, ευχαριστώ.
    Με μία ψηφιακή έξοδο του PIC θα δίνεις ελεγχόμενα παλμούς clock στο ολοκληρωμένο. Από μια άλλη ψηφιακή είσοδο του PIC θα διαβάζεις την κατάσταση του pin εξόδου του ολοκληρωμένου. Για κάθε 8 παλμούς clock θα παίρνεις 8 καταστάσεις από το pin εισόδου του PIC αυτά θα τα ομαδοποιείς σε μία 8μπιτη λέξη.
    πχ
    έστω PORT_A,0 έξοδος clock, PORT_A,1 ψηφιακή είσοδος των σειριακών δεδομένων, Counter ο μετρητής που θα μετράει 8 κύκλους και Data ο καταχωρητής που θα έχει τα τελικά δεδομένα.

    Έστω επίσης ότι το ολοκληρωμένο έχει έγκυρη έξοδο στην άνοδο του παλμού clock και στέλνει το MSB πρώτα και τελευταίο το LSB. Ο κώδικας που θα διαβάσει 8 μπιτ σειριακά είναι ο παρακάτω:

    clrf Data
    movlw .8
    movwf Counter
    LOOP
    bcf PORT_A , 0
    nop
    bsf PORT_A , 0

    bcf STATUS , C
    btfsc PORT_A , 1
    bsf STATUS , C

    rlf Data , f
    decfsz Counter
    goto LOOP

    movf Data , w

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

    0 Not allowed! Not allowed!

Παρόμοια Θέματα

  1. Θόρυβος σε Shift Register με RasPi
    By Spiroslouis in forum Μικροελεγκτές
    Απαντήσεις: 10
    Τελευταίο Μήνυμα: 02-06-16, 13:55
  2. Shift Register UTC U74HC595AG
    By lelek in forum Ηλεκτρονικά
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 07-04-15, 12:49
  3. Arduino+Shift Register+7 segment display - Ερώτηση
    By ANTONIS_BMW in forum Μικροελεγκτές
    Απαντήσεις: 11
    Τελευταίο Μήνυμα: 14-03-13, 09:09
  4. Ρολόι σε shift register
    By oceanborn in forum Γενικά
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 09-08-11, 13:30
  5. Σχετικά με shift register CONSTANT-CURRENT
    By acmilangr in forum Ηλεκτρονικά
    Απαντήσεις: 4
    Τελευταίο Μήνυμα: 01-06-10, 15:45

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας