Σελίδα 2 από 3 ΠρώτηΠρώτη 1 2 3 ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 11 έως 20 από 28

Θέμα: PIC ερώτηση για επικοινωνία

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

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από klik Εμφάνιση μηνυμάτων
    δεν ξέρω τι θέλεις να στέλνει ο PIC(i) στον PIC(i+1), αλλά αν θέλεις να το κάνεις με UART θεωρώ ότι κάνεις λάθος στη σχεδίαση.
    Αν επιμένεις να βρεις PIC με 2 UART, χρησιμοποίησε το πολύ βολικό εργαλείο επιλογής της microchip.

    Για πολλούς μικροελεγκτές θα προτιμούσα κανένα SPI, I2C, LIN, CAN, etc
    Οι μικροελεγκτές συνδέονται όπως ακριβώς φαίνεται....
    Ο κάθε pic έχει μία ονομασία...Για παράδειγμα στέλνει ο Η/Υ μία πληροφορία που πρέπει να τη λάβει ο pic2. Θα περάσει από τον pic1 και αφού δεν είναι για αυτόν, μεταφέρει την πληροφορία στον pic2, ο pic2 βλέπει ότι η πληροφορία είναι για αυτόν κι έτσι δεν στέλνει τίποτα στον pic3, αλλά στέλνει την απάντηση στον pic1 κι αυτός με τη σειρά του πίσω στο Η/Υ.
    Τώρα πιστεύω να καταλάβατε την συνδεσμολογία.
    Για ποιό λόγο να μη χρησιμοποιήσω UART ???

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από spiroscfu Εμφάνιση μηνυμάτων
    Εγώ θα συνιστούσα SPI (είναι το ποιο απλό), όμως για αποστάσεις μέχρι 10-20cm αν θέλεις μακρινές γυρίζεις στην rs232 ή 485.
    Οι αποστάσεις μπορεί να φτάνουν και τα 150 μέτρα από pic σε pic. Χρησιμοποιώ την rs232 του Η/Υ όπου μετατρέπεται σε rs485 με τη χρήση του παρακάτω μετατροπέα
    IMG_1058_m.JPG

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από high frequency Εμφάνιση μηνυμάτων
    Οι μικροελεγκτές συνδέονται όπως ακριβώς φαίνεται....
    Ο κάθε pic έχει μία ονομασία...Για παράδειγμα στέλνει ο Η/Υ μία πληροφορία που πρέπει να τη λάβει ο pic2. Θα περάσει από τον pic1 και αφού δεν είναι για αυτόν, μεταφέρει την πληροφορία στον pic2, ο pic2 βλέπει ότι η πληροφορία είναι για αυτόν κι έτσι δεν στέλνει τίποτα στον pic3, αλλά στέλνει την απάντηση στον pic1 κι αυτός με τη σειρά του πίσω στο Η/Υ.
    Τώρα πιστεύω να καταλάβατε την συνδεσμολογία.
    Για ποιό λόγο να μη χρησιμοποιήσω UART ???
    Η uart είναι επικοινωνία point to point. Εσένα σε ενδιαφέρει μια επικοινωνία τύπου bus. Η λύση για την περίπτωσή σου είναι η I2C ή το CAN. Θα μιλάει ο ένας επεξεργαστής και θα ακούνε όλοι ταυτόχρονα. Αυτό θα γίνεται με τη μορφή μηνυμάτων όπου το κάθε μήνυμα έχει μία διεύθυνση και ένα πεδίο δεδομένων. Κάθε επεξεργαστής θα είναι ρυθμισμένος να ακούει μόνο τα μηνύματα μιας συγκεκριμένης διεύθυνσης. Όλα τα υπόλοιπα μηνύματα θα το αγνοεί. Όλοι (οι καινούριοι) PIC έχουν module Ι2C (SSP Synchronous Serial Port) και αρκετοί έχουν module CAN.

    EDIT: Πρόλαβες και έβαλες νέα στοιχεία... Για 150m το RS485 είναι η λύση, όμως επεδή είναι επικοινωνία τύπου bus, δεν χρειάζεσαι 2 UART ανά PIC αλλά μόνο 1. Κάθε PIC θα μιλάει σειριακά και θα ακούνε όλοι οι άλλοι. Τα μηνύματα θα πρέπει να έχουν κάποια διευθυνσιοδότηση καθώς το RS485 δεν προβλέπει κάποιο συγκεκριμένο πρωτόκολλο.

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη fmav : 11-07-11 στις 13:38

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

    Προεπιλογή

    Μπορείς να χρησιμοποιήσεις και πρωτόκολλο LIN που κατά την άποψή μου είναι το καλύτερο για μετάδοση δεδομένων σε αποστάσεις και θορυβώδες περιβάλλον. Υπάρχουν και κυκλοφορούντα ευραίως ολοκληρωμένα, όπως το TJA1021

    http://www.nxp.com/documents/data_sheet/TJA1021.pdf

    που μπορείς να χρησιμοποιήσεις. Χρησιμοποεί τον λιγότερο αριθμό καλωδίωσης (LIN και 2 τροφοδοσίες, σύνολο 3 καλώδια). Συνδέεται στο USART του PIC, διευθυνσιοδοτείται ώστε να έχεις για κάθε μC μοναδικό address, χρειάζεσαι ένα για κάθε μC και επιπλέον ένα ΜΑΧ3232 ίσως για τη σύνδεση όλου του bus με τον υπολογιστή, μέσω ενός απο όλους τους μC που θα είναι ο master.
    Σημείωσε δε οτι αρκετοί μC της οικογένειας 18F υποστηρίζουν ενσωματωμένες πολλές απο τις απαιτούμενες λειτουργίες LIN πρωτοκόλλου (break sync, break signal, break character sequence).

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη manolena : 11-07-11 στις 17:09 Αιτία: +

  5. #15
    Μέλος Το avatar του χρήστη spiroscfu
    Όνομα
    Σπύρος
    Εγγραφή
    Aug 2010
    Περιοχή
    Κέρκυρα
    Μηνύματα
    4.652

    Προεπιλογή

    Φάνη η rs232-485 δεν είναι bus αλλά point to point (όπως σωστά έγραψες στην αρχή), αυτά που έγραψες στο edit: μπορεί να γίνουν αλλά θέλει αρκετή προσπάθεια.

    Μάνο όντως το LIN ακούγεται καλό σαν ιδέα, αλλά μέχρι πόσα μέτρα μπορούμε να το δουλέψουμε.

    High frequency στα πόσα kbps θέλεις την επικοινωνία,
    νομίζω πως από την στιγμή που έχεις αγοράσει τους converter (232-485) καλύτερα να χρησιμοποιούσες μια software uart, δυστυχώς σε assembly δεν μπορώ να σε βοηθήσω αν θέλεις σε C κάτι γίνεται.
    Αλλά και μόνος σου αν το ψάξεις λίγο θα βγάλεις άκρη!!

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Μάνο όντως το LIN ακούγεται καλό σαν ιδέα, αλλά μέχρι πόσα μέτρα μπορούμε να το δουλέψουμε.
    Το LIN Σπύρο, δουλεύει εξαιρετικά σε φρεάτια ανελκυστήρων και διασυνδέει περιφερειακά (ενδεικτικά, μπουτόν, αναγγελίες) με τον κύριο έλεγχο σε ένα περιβάλλον που μπορεί να είναι και χειρότερο απο πλευράς "θορύβου" και "σκουπιδιών" απο αυτό ενός αυτοκινήτου στο οποίο χρησιμοποιείται κατά κόρον (LIN και CAN είναι να τα κύτερα πρωτόκολλα λειτουργίας για τέτοια περιβάλλοντα). Υπάρχουν, φαντάσου, φρεάτια πολλών ορόφων με επιπλέον καλωδιώσεις για τις διασυνδέσεις και δουλεύουν περίφημα. Και πάλι επιμένω πως ίσως είναι καλύτερα με LIN επικοινωνία. Σε RS485 ίσως χρειαστεί repeaters.

    0 Not allowed! Not allowed!

  7. #17
    Μέλος Το avatar του χρήστη spiroscfu
    Όνομα
    Σπύρος
    Εγγραφή
    Aug 2010
    Περιοχή
    Κέρκυρα
    Μηνύματα
    4.652

    Προεπιλογή

    Ναι ρε Μάνο δεν αντιλέγω, αλλά σε πόσα μέτρα δουλεύει?

    0 Not allowed! Not allowed!

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

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από spiroscfu Εμφάνιση μηνυμάτων
    Φάνη η rs232-485 δεν είναι bus αλλά point to point (όπως σωστά έγραψες στην αρχή), αυτά που έγραψες στο edit: μπορεί να γίνουν αλλά θέλει αρκετή προσπάθεια.
    Σπύρο, η RS232 είναι point to point. Η RS485 είναι παραλλαγή της πρώτης μόνο που είναι τύπου bus (για την ακρίβεια είναι multi point).
    Δες και στο:
    http://www.interfacebus.com/Design_Connector_RS485.html

    Υποστηρίζει μέχρι 32 συσκευές πάνω στο ίδιο bus και κάνει για αποστάσεις μέχρι 1200m:
    http://www.interfacebus.com/How_to_S...Data-Rate.html

    Το LIN υποστηρίζει επικοινωνία στα 19.2kb/s μέχρι 40m.(http://en.wikipedia.org/wiki/Local_Interconnect_Network)

    0 Not allowed! Not allowed!

  9. Ένα μέλος ευχαρίστησε τον fmav για αυτό το χρήσιμο μήνυμα:

    spiroscfu (12-07-11)

  10. #19
    Μέλος Το avatar του χρήστη klik
    Όνομα
    just a click away
    Εγγραφή
    Oct 2009
    Περιοχή
    Θεσσαλλλονίκη
    Μηνύματα
    2.563

    Προεπιλογή

    Εμένα με αρέσ' το canbus.
    bus-length.gif
    Σε επίπεδο OSI, έχει και network layer, οπότε έχεις λιγότερα πράγματα να ασχοληθείς.
    Δεν έχει θέμα με collitions στο bus και από ταχύτητες πάει αρκετά καλά.
    Από 8bit μικροελεγκτές παίζει σε λίγους pic18f (σε αντίθεση με το lin που παίζει σχεδόν σε όλους) [στους pic18f, προτιμώ τον pic18f2680].

    0 Not allowed! Not allowed!

  11. #20
    Μέλος Το avatar του χρήστη spiroscfu
    Όνομα
    Σπύρος
    Εγγραφή
    Aug 2010
    Περιοχή
    Κέρκυρα
    Μηνύματα
    4.652

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από fmav Εμφάνιση μηνυμάτων
    Σπύρο, η RS232 είναι point to point. Η RS485 είναι παραλλαγή της πρώτης μόνο που είναι τύπου bus (για την ακρίβεια είναι multi point).
    Δες και στο:
    http://www.interfacebus.com/Design_Connector_RS485.html

    Υποστηρίζει μέχρι 32 συσκευές πάνω στο ίδιο bus και κάνει για αποστάσεις μέχρι 1200m:
    http://www.interfacebus.com/How_to_S...Data-Rate.html

    Το LIN υποστηρίζει επικοινωνία στα 19.2kb/s μέχρι 40m.(http://en.wikipedia.org/wiki/Local_Interconnect_Network)
    Φάνη έχεις απόλυτο δίκιο είχα στο μυαλό μου το rs485 σαν point to point μόνο, αλλά όπως πολύ σωστά έγραψες μπορεί να γίνει Multi-dropped και Multi-point
    λοιπών άνετα μπορεί να κάνει την δουλεία του με αυτήν.

    Όπως και με το canbus που είπε ο Klik.

    0 Not allowed! Not allowed!

Σελίδα 2 από 3 ΠρώτηΠρώτη 1 2 3 ΤελευταίαΤελευταία

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

  1. Επικοινωνία PIC με PC
    By billys7 in forum Μικροελεγκτές
    Απαντήσεις: 9
    Τελευταίο Μήνυμα: 17-06-13, 14:10
  2. Επικοινωνία PIC μέσω USB με Java!
    By lordi in forum Μικροελεγκτές
    Απαντήσεις: 5
    Τελευταίο Μήνυμα: 18-04-13, 12:05
  3. Επικοινωνία μεταξυ 2 PIC
    By jnt77 in forum Μικροελεγκτές
    Απαντήσεις: 7
    Τελευταίο Μήνυμα: 14-06-12, 14:01
  4. Επικοινωνία υπολογιστή με Pic μέσω Wifi
    By geokos13 in forum Μικροελεγκτές
    Απαντήσεις: 6
    Τελευταίο Μήνυμα: 06-05-11, 17:06
  5. Ασύρματη επικοινωνία με δυο PIC
    By DT200 in forum Μικροελεγκτές
    Απαντήσεις: 9
    Τελευταίο Μήνυμα: 21-02-08, 10:43

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

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