Κανόνες | Πρόσφατες θέσεις | θέμα RSS | Αναζήτηση | Εγγραφή | Είσοδος

Τρόπος δημιουργίας UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

Post new topic Reply to topic EDAboard.com Forum Index -> μικροελεγκτές -> Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051
Αραβικό κείμενο Βουλγαρικό κείμενο Καταλανικό κείμενο Τσεχικό κείμενο Δανικό κείμενο Γερμανική έκδοση Ελληνική έκδοση Αγγλική έκδοση Ισπανική έκδοση Φινλανδικό κείμενο Γαλλική έκδοση Χίντι έκδοση Κροατικά έκδοση Ινδονησιακή έκδοση Ιταλικό κείμενο Εβραϊκά έκδοση Ιαπωνική έκδοση Κορεατική έκδοση Λιθουανικό κείμενο Λετονικό κείμενο Ολλανδικό κείμενο Νορβηγικό κείμενο Πολωνικό κείμενο Πορτογαλικό κείμενο Ρουμανικό κείμενο Russian version Σλοβακική έκδοση Σλοβενικό κείμενο Σερβικά έκδοση Σουηδικό κείμενο Ταγκαλόγκ έκδοση Ουκρανικά έκδοση Βιετναμέζικες έκδοση Κινεζική έκδοση
Συντάκτης Μήνυμα
winit_a



Συνεκδικασθείσες: 16 Νοέμβρη 2003
Θέσεις: 17


Post 15 Φεβρουαρίου 2004 5:42 Τρόπος δημιουργίας UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

Τρόπος δημιουργίας UART με λογισμικό;
Το έργο Μεταχειρισμένα UART 3 (1 κανονική έχουν UART με HARDWARE P3.0 και P3.1)

8051 MCU@11.0592MHz
Τρόπος δημιουργίας UART χρησιμοποιούνται P1 ή P2 για Interface RS-232
Επιστροφή στην κορυφή
View user's profile
Google
AdSense





Post 15 Φεβρουαρίου 2004 5:42 Διαφημίσεις



Επιστροφή στην κορυφή
pisoiu



Συνεκδικασθείσες: 31 Δεκέμβριος 2002
Μηνύματα: 723
Έχει βοηθήσει: 24
Τοποθεσία: Ρουμανία


Post 15 Φεβρουαρίου 2004 11:58 Re: Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

Γεια σου,
Η γνώμη μου: είναι καταραμένο σκληρά. Θα πρέπει να το κάνετε αυτό, χρησιμοποιώντας τη διακοπή, αλλά 8051 είναι μια σχετικά αργή ελεγκτή, τις επιδόσεις του παραμένει υπό 1mips σε 11,0592 MHz κλασικό ρολόι για τις εκδόσεις 8051 (1instruction κύκλου ρολογιού του κύκλου = 12). Περισσότερες από μια σειριακή θύρα υλοποιούνται σε λογισμικό που θα τρώνε σχεδόν όλα επεξεργαστή χρόνο, ειδικά αν θέλετε να ανεβείτε σε 115200bps με τους λιμένες αυτούς, ή αν θέλετε να εφαρμόσει όλες τις πιθανές παραμέτρους (6/7/8 bits δεδομένων selecteble, 1 / 2 stop bits, parity περίεργα / ακόμα και / σήμα / χώρου / ΚΑΝΕΝΑ, έλεγχο ροής επιλέξιμο xon-xoff/hard/none). My sugestion είναι να χρησιμοποιήσετε ένα τροποποιημένο αρχιτεκτονική 8051 από κυπαρίσσια, ή να χρησιμοποιήσετε ένα scenix μικροϋπολογιστικά (www.ubicom.com). Για scenix ελεγκτής θα μπορεί να προσφέρει κωδικό για 8 uarts ταυτόχρονα. Αυτό, αν θέλετε μια εφαρμογή λογισμικού. Αν θέλετε yau υλικού, μπορείτε να χρησιμοποιήσετε max3100 (γνωμικό).

Καλύτερος,
Επιστροφή στην κορυφή
View user's profile
Ajay



Συνεκδικασθείσες: 29 Φεβ 2004
Θέσεις: 31


Post 01 Μαρ 2004 0:10 Re: Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

Μπορείτε να δημιουργήσετε μία UART (εκτός από τη χρήση του SBUF) με τη χρήση εξειδικευμένου χρονόμετρο και γραπτώς πολύ γρήγορα κωδικό εναλλαγής λίγο. Από την πλευρά εισερχόμενες (RXD), πρέπει να χρησιμοποιήσετε ένα διακόπτουν το pin. Όταν έρχεται η διακοπή, έναρξη χρονομετρητές σας και διαβάστε την καρφίτσα σε κατάσταση μεταφοράς, περιστρέψτε και δημιουργούν εισερχόμενων bytes. Έργα και μέχρι 9600 Baud (Ι έχουν κάνει χρήση).

Ωστόσο, με τη δημιουργία δύο ακόμη την ίδια στιγμή; Ξεχάστε το. Ακόμα κι αν χρησιμοποιήσετε δύο αφιερωμένη χρονομετρητές, διακόπτουν τη ρουτίνα γίνει τόσο μεγάλη που θα σας λείψει bit.

Αν ψάχνετε για αργή UARTs (1200 Baud ή αργότερα), τότε η τεχνική αυτή λειτουργεί για έως και 2 UART του. Λάβετε υπόψη σας ότι θα παραιτηθούν από όλα τα τρία χρονόμετρα (εκείνο που χρησιμοποιείται για την ταχύτητα baud gen για SBUF, ένα για την θύρα 1 και ένα χρονοδιάγραμμα για την θύρα 2), καθώς και οι δύο διακόπτουν.

Έτσι, η βελτίωση του σχεδιασμού είναι να χρησιμοποιήσετε ένα ARM chip με δύο UART του (έχω δημιούργησε 2 επιπλέον UARTs σε 19.200 Baud με ARM) ή χρησιμοποιήστε το Κουνέλι ελεγκτή ή κάποιο τέτοιο πράγμα.

Ajay
Επιστροφή στην κορυφή
View user's profile
beuch



Συνεκδικασθείσες: 06 Ιουν 2001
Θέσεις: 65
Τόπος: Γαλλία


Post 03 Μαρ 2004 14:45 Re: Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

Γεια σου,

ρίξτε μια ματιά στο συνημμένο αρχείο της Philips web ΑΝ.

AN446

αντίο


Λυπούμαστε, αλλά χρειάζεται login για να δείτε αυτό το συνημμένο

Επιστροφή στην κορυφή
View user's profile
crazytnt



Συνεκδικασθείσες: 02 Φεβ 2004
Θέσεις: 8


Post 03 Μαρ 2004 17:43 Re: Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

Είναι πολύ δύσκολο.
Προτείνετε τη χρήση του υλικού.
Επιστροφή στην κορυφή
View user's profile
J_expoler2



Συνεκδικασθείσες: 10 Μαΐου 2003
Μηνύματα: 179
Έχει βοηθήσει: 19


Post 03 Μαρ 2004 18:00 Re: Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

Γεια σου
Έχω μια ιδέα UART αποστολή δεδομένων αλλά μόνο με τη χρήση χρονομετρητή 0
T232 λίγο ως TxD
MOV TMOD, # 22H
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
?
?
?
?
λειτουργία αποστολή δεδομένων:
CLR T232? START BIT
SETB TR0
MOV R7, # 8

TX_LOOP: RRC A
JNB TF0, $
MOV T232, C
CLR TF0
DJNZ R7, TX_LOOP
JNB TF0, $
SETB T232? STOP BIT
CLR TF0
JNB TF0, $
RET
αυτό ίσως βοηθήσει u
BR.
Επιστροφή στην κορυφή
View user's profile
fireplus



Συνεκδικασθείσες: 31 Οκτ 2003
Μηνύματα: 195
Έχει βοηθήσει: 5


Post 04 Μαρ 2004 3:29 Re: Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

δοκιμάστε το

[hr: 5c6e3c7296]
Φωτιά στα σύρματα ": sm2:


Λυπούμαστε, αλλά χρειάζεται login για να δείτε αυτό το συνημμένο

Επιστροφή στην κορυφή
View user's profile
Ajay



Συνεκδικασθείσες: 29 Φεβ 2004
Θέσεις: 31


Post 08 Μαρ 2004 12:28 Re: Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051

J_expoler2 έγραψε:
Γεια σου
Έχω μια ιδέα UART αποστολή δεδομένων αλλά μόνο με τη χρήση χρονομετρητή 0
T232 λίγο ως TxD
MOV TMOD, # 22H
MOV TH0, # 70H
MOV TL0, # 70H
SETB EA
SETB ET0
SETB TR1
?
?
?
?
λειτουργία αποστολή δεδομένων:
CLR T232? START BIT
SETB TR0
MOV R7, # 8

TX_LOOP: RRC A
JNB TF0, $
MOV T232, C
CLR TF0
DJNZ R7, TX_LOOP
JNB TF0, $
SETB T232? STOP BIT
CLR TF0
JNB TF0, $
RET
αυτό ίσως βοηθήσει u
BR.


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

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

Μια άλλη πολυπλοκότητα προέρχεται από το γεγονός ότι η διακοπή ρουτίνες γίνει μεγάλες και θα προκαλέσουν προβλήματα λείπουν από bits. Να θυμάστε ότι το λάθος θα συσσωρεύονται σε μια χρονική περίοδο!

Ο καλύτερος τρόπος είναι να χρησιμοποιήσετε μια μάρκα που έχει περισσότερες σειριακές θύρες (ARM, uPSD από ST κ.λπ.)

Ajay
Επιστροφή στην κορυφή
View user's profile
Post new topic Reply to topic EDAboard.com Forum Index -> μικροελεγκτές -> Πώς να δημιουργήσετε UART με Λογισμικού (δεν χρησιμοποιείται SBUF) για 8051
Σελίδα 1 από 1 Όλες οι ώρες είναι GMT 2 Ώρες


Κατάχρηση | | Διαχειριστής | | Moderators | | Υποστηρίξτε μας | | sitemap
θέμα RSS