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

Μέθοδοι υπολογισμού των καθυστερήσεων χρόνου

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

Απασχολημένος-Σε αναμονή

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

Χρονόμετρα υλικού

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

Υπολογισμός Διάρκεια καθυστέρησης

Η διάρκεια καθυστέρησης μπορεί να υπολογιστεί με τη χρήση του τύπου:

Καθυστέρηση (ms) = (αριθμός κύκλων) / (συχνότητα κλειδώματος σε Hz) × 1000

Για παράδειγμα, για να δημιουργηθεί καθυστέρηση 1 ms σε μικροελεγκτή 16 MHz χρησιμοποιώντας βρόχο αναμονής, προσδιορίστε τον αριθμό των κύκλων που απαιτούνται με βάση κύκλους διδασκαλίας ανά επανάληψη βρόχου.

Βέλτιστες Πρακτικές

Για να εξασφαλιστούν ακριβείς και αποτελεσματικές καθυστερήσεις, εξετάστε τις ακόλουθες βέλτιστες πρακτικές:

  • Χρησιμοποιήστε χρονόμετρα υλικού για ακριβείς απαιτήσεις χρονισμού.
  • Βαθμονόμηση βρόχων αναμονής με βάση την πραγματική ταχύτητα του ⁇ ολογιού.
  • Αποφύγετε μεγάλες καθυστερήσεις σε κρίσιμες εργασίες σε πραγματικό χρόνο.
  • Χρήση τρόπων χαμηλής ισχύος κατά τη διάρκεια περιόδων αναμονής, όταν είναι δυνατόν.