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

Θέμα: Ταχύτητα I/O port με Nucleo και STM32L152RE

  1. #11
    Μέλος Το avatar του χρήστη picdev
    Όνομα
    akis
    Εγγραφή
    Jul 2007
    Περιοχή
    ____
    Μηνύματα
    7.381

    Προεπιλογή

    Αυτό είναι στο πρώτο κεφάλαιο όλων των βιβλίων αλλάζεις τον register και μετά από κάποιους κύκλους μπορεί και 10 αλλάζει τον register της εξόδου.
    Η αλήθεια είναι ότι εδώ προβληματιστεί με τους arm και δεν δεν βλέπω ακόμα το λόγο να ακολουθήσω τη μόδα . Δεν ξέρω που θα με οφελησει να τον επιλέξω από έναν pic 32bit.

    H τιμή δε στη σειρά stm32 f207 φτάνει τα 10¤ με Ethernet χωρίς physical ic.. δεν το βλέπω και τόσο φτηνο


    Sent from my Redmi 4 using Tapatalk

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη picdev : 01-07-17 στις 00:13

  2. #12
    Μέλος Το avatar του χρήστη Fire Doger
    Όνομα
    Στέφανος
    Εγγραφή
    Jan 2015
    Περιοχή
    .
    Μηνύματα
    1.519

    Προεπιλογή

    187uS-210nS πρέπει να είχες αλλαγή κατάστασης, στην εικόνα το width του παλμού είναι 160nS λογικά ο θετικός παλμός είναι το πάνω μέρος του κώδικα που θέλει 6 tick μέχρι να γίνει 0 οπότε το σφαλματάκι είναι λόγο του analyzer.
    Η συχνότητα αναφέρεται σε όλη την περίοδο άρα στα 13 tick, που θα έπρεπε να είναι 2.46Mhz, εδώ χάνει πολύ, βάλε τους κέρσορες να μετρήσεις το πλάτος που είναι και ενεργό και ανενεργό, βάλε τις ακραίες τιμές απ' τα +- που σου δίνει δεξιά και δες αν το 2.46 είναι μέσα.

    Το πολύ πολύ να έχεις 1-2 tick παραπάνω απ' αυτά που έχεις γραμμένα, δεν ξέρω από arm αλλά ίσως θέλει ενεργοποίση κάποια διαδικασία prefetch ή τίποτα τέτοιο, και χωρίς αυτό το jump καταναλώνει 2 χτύπους πχ

    Το μέγιστο pwm στον avr είναι clk/2 αλλά βγαίνει μόνο με Timer σε συγκεκριμένο pin απ' το hardware του timer. Λογικά και στον arm μόνο έτσι θα πετύχεις κάτι καλύτερο

    0 Not allowed! Not allowed!

  3. #13
    Μέλος Το avatar του χρήστη Fire Doger
    Όνομα
    Στέφανος
    Εγγραφή
    Jan 2015
    Περιοχή
    .
    Μηνύματα
    1.519

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από picdev Εμφάνιση μηνυμάτων
    Αυτό είναι στο πρώτο κεφάλαιο όλων των βιβλίων αλλάζεις τον register και μετά από κάποιους κύκλους μπορεί και 10 αλλάζει τον register της εξόδου.
    Η αλήθεια είναι ότι εδώ προβληματιστεί με τους arm και δεν δεν βλέπω ακόμα το λόγο να ακολουθήσω τη μόδα . Δεν ξέρω που θα με οφελησει να τον επιλέξω από έναν pic 32bit.

    H τιμή δε στη σειρά stm32 f207 φτάνει τα 10¤ με Ethernet χωρίς physical ic.. δεν το βλέπω και τόσο φτηνο


    Sent from my Redmi 4 using Tapatalk
    Ναι ισχύει και αυτό, πχ το παρακάτω ενώ θα έπρεπε να αφήνει πάντα το pin high απλώς του αλλάζει κατάσταση γιατί απ' την ενημέρωση του Port μέχρι να το διαβάσει στο Pin θέλει +1 κύκλο
    Κώδικας:
    SBIC PinA,1 (Skip next If bit in IO register is clear: IOreg, pin)
    CBI PortA,1 (Clear bit in IO: IOreg, pin)
    SBIS PinA,1 (Skip next If bit in IO register is set: IOreg, pin)
    SBI PortA,1 (Set bit in IO: IOreg, pin)
    Αλλά αν κατάλαβα στην ίδια διεύθυνση και γράφει και διαβάζει, και σε αυτό έχουν θέμα ή λάθος κατάλαβα?

    0 Not allowed! Not allowed!

  4. #14
    Μέλος Το avatar του χρήστη xmaze
    Όνομα
    Νίκος
    Εγγραφή
    May 2010
    Περιοχή
    Μακεδονία
    Μηνύματα
    1.034

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από Fire Doger Εμφάνιση μηνυμάτων
    187uS-210nS πρέπει να είχες αλλαγή κατάστασης, στην εικόνα το width του παλμού είναι 160nS λογικά ο θετικός παλμός είναι το πάνω μέρος του κώδικα που θέλει 6 tick μέχρι να γίνει 0 οπότε το σφαλματάκι είναι λόγο του analyzer.
    Η συχνότητα αναφέρεται σε όλη την περίοδο άρα στα 13 tick, που θα έπρεπε να είναι 2.46Mhz, εδώ χάνει πολύ, βάλε τους κέρσορες να μετρήσεις το πλάτος που είναι και ενεργό και ανενεργό, βάλε τις ακραίες τιμές απ' τα +- που σου δίνει δεξιά και δες αν το 2.46 είναι μέσα.

    Το πολύ πολύ να έχεις 1-2 tick παραπάνω απ' αυτά που έχεις γραμμένα, δεν ξέρω από arm αλλά ίσως θέλει ενεργοποίση κάποια διαδικασία prefetch ή τίποτα τέτοιο, και χωρίς αυτό το jump καταναλώνει 2 χτύπους πχ

    Το μέγιστο pwm στον avr είναι clk/2 αλλά βγαίνει μόνο με Timer σε συγκεκριμένο pin απ' το hardware του timer. Λογικά και στον arm μόνο έτσι θα πετύχεις κάτι καλύτερο
    Το βαθύτερο αίτιο που οδήγησε σε αυτήν την ανάλυση, ήταν μια έγχρωμη οθόνη 320*240 πίξελς που την έχω συνδεμένη παράλληλα και είχα κάτι τρελούς χρόνους.
    Είχα 100 ms για μια ανανέωση με αποτέλεσμα το Free-RTOS να διακόπτει το thread για να τρέξει τα υπόλοιπα με μεγαλύτερη προτεραιότητα και να χάνω πίξελς.
    Φαντάσου 240 * 320 * 2 = 153600, επί 17 κύκλους των 30 νανο = 78 ms, σύν κάποιες εντολές που στέλνει σύν και κάποιες άλλες μικρο δουλείες, το χάσαμε το παιχνίδι.

    0 Not allowed! Not allowed!

  5. #15
    Μέλος Το avatar του χρήστη xmaze
    Όνομα
    Νίκος
    Εγγραφή
    May 2010
    Περιοχή
    Μακεδονία
    Μηνύματα
    1.034

    Προεπιλογή

    νομίζω λίγο υπερβάλεις, οι arm έχουν τα πάντα, η χαρά του προγραματιστή!! Να έχεις να ρυθμίζεις για χρόνια

    Ultra-low-power platform
    – 1.65 V to 3.6 V power supply
    –
    -40 °C to 105 °C
    temperature range
    – 290 nA Standby mode (3 wakeup pins)
    – 1.11 μA Standby mode + RTC
    – 560 nA Stop mode (16 wakeup lines)
    – 1.4 μA Stop mode + RTC
    – 11 μA Low-power run mode down to 4.6 μA
    in Low-power sleep mode
    – 195 μA/MHz Run mode
    – 10 nA ultra-low I/O leakage
    – 8 μs wakeup time
    •
    Core: ARM
    Β®
    Cortex
    Β®
    -M3 32-bit CPU
    – From 32 kHz up to 32 MHz max
    – 1.25 DMIPS/MHz (Dhrystone 2.1)
    – Memory protection unit
    •
    Up to 34 capacitive sensing channels
    •
    CRC calculation unit, 96-bit unique ID
    •
    Reset and supply management
    – Low-power, ultrasafe BOR (brownout reset)
    with 5 selectable thresholds
    – Ultra-low-power POR/PDR
    – Programmable voltage detector (PVD)
    •
    Clock sources
    – 1 to 24 MHz crystal oscillator
    – 32 kHz oscillator for RTC with calibration
    – Internal 16 MHz oscillator factory trimmed
    RC(+/-1%) with PLL option
    – Internal low-
    power 37 kHz oscillator
    – Internal multispeed low-power 65 kHz to
    4.2 MHz oscillator
    – PLL for CPU clock and USB (48 MHz)
    •
    Pre-programmed bootloader
    – USB and USART supported
    •
    Up to 116 fast I/Os (102 I/Os 5V tolerant), all
    mappable on 16 external interrupt vectors
    •
    Memories
    – 512 KB Flash memory with ECC (with 2
    banks of 256 KB enabling RWW capability)
    – 80 KB RAM
    – 16 KB of true EEPROM with ECC
    – 128 Byte backup register
    •
    LCD driver (except STM32L151xE devices) up
    to 8x40 segments, contrast adjustment,
    blinking mode, step-up converter
    •
    Rich analog peripherals (down to 1.8 V)
    – 2x operational amplifiers
    – 12-bit ADC 1 Msps up to 40 channels
    – 12-bit DAC 2 ch with output buffers
    – 2x ultra-low-power comparators
    (window mode and wa
    ke up capability)
    •
    DMA controller 12x channels
    •
    11x peripheral communication interfaces
    – 1x USB 2.0 (internal 48 MHz PLL)
    – 5x USARTs
    – Up to 8x SPIs (2x I2S, 3x 16 Mbit/s)
    – 2x I
    2
    Cs (SMBus/PMBus)
    •
    11x timers: 1x 32-bit, 6x 16-bit with up to 4
    IC/OC/PWM channels, 2x 16-bit basic timers,
    2x watchdog timers (i
    ndependent and window)
    •
    Development support: serial wire debug, JTAG
    and trace

    1 Not allowed! Not allowed!

  6. #16
    Μέλος
    Όνομα
    Χρήστος
    Εγγραφή
    Sep 2012
    Περιοχή
    Χολαργός
    Μηνύματα
    1.907

    Προεπιλογή

    Με απλή C , αλλά πιο γρήγορο ARM ( lpc1768 ) και ενα απλό προγραμματακι ειχα παρατηρησει παλμους περίπου 40 με 50 nsec ,
    στο όριο που ένα usb2 logic analyser άρχισε να χανει γεγονότα . Αν θέλεις μικρότερους παλμούς , θα πρέπει ισως να πας σε FPGA
    ή να ξεψαχνίσεις το manual

    40nano.jpg

    αυτο που ειναι σημειωμένο με το χέρι , δεν προλάβαινε να το πιάσει ο analyser


    Κώδικας:
     while (1) {
            flag = !flag;  // 
            // check period
            red=1;// 
            blue=1;
            green=1;
            blue=0;  // 
            green=0;//
            red=0; //
            red=1;    // αυτο χανόταν  απο τον usb logic analyser 
            red=0;     // ??
     
            wait(0.001);

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη aktis : 01-07-17 στις 13:33

  7. #17
    Μέλος Το avatar του χρήστη xmaze
    Όνομα
    Νίκος
    Εγγραφή
    May 2010
    Περιοχή
    Μακεδονία
    Μηνύματα
    1.034

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από aktis Εμφάνιση μηνυμάτων
    Με απλή C , αλλά πιο γρήγορο ARM ( lpc1768 ) και ενα απλό προγραμματακι ειχα παρατηρησει παλμους περίπου 40 με 50 nsec ,
    στο όριο που ένα usb2 logic analyser άρχισε να χανει γεγονότα . Αν θέλεις μικρότερους παλμούς , θα πρέπει ισως να πας σε FPGA
    ή να ξεψαχνίσεις το manual

    40nano.jpg

    αυτο που ειναι σημειωμένο με το χέρι , δεν προλάβαινε να το πιάσει ο analyser
    Με 100 Μhz ρολόι, είναι λογικό νομίζω, ακόμη και τις ίδιες εντολές να χρησιμοποιούσε.

    0 Not allowed! Not allowed!

  8. #18
    Μέλος Το avatar του χρήστη picdev
    Όνομα
    akis
    Εγγραφή
    Jul 2007
    Περιοχή
    ____
    Μηνύματα
    7.381

    Προεπιλογή

    με τι κανεις ανάπτυξη στον nxp ? ευχαριστημένος γενικά ?

    Παράθεση Αρχικό μήνυμα από aktis Εμφάνιση μηνυμάτων
    Με απλή C , αλλά πιο γρήγορο ARM ( lpc1768 ) και ενα απλό προγραμματακι ειχα παρατηρησει παλμους περίπου 40 με 50 nsec ,
    στο όριο που ένα usb2 logic analyser άρχισε να χανει γεγονότα . Αν θέλεις μικρότερους παλμούς , θα πρέπει ισως να πας σε FPGA
    ή να ξεψαχνίσεις το manual

    40nano.jpg

    αυτο που ειναι σημειωμένο με το χέρι , δεν προλάβαινε να το πιάσει ο analyser


    Κώδικας:
     while (1) {
            flag = !flag;  // 
            // check period
            red=1;// 
            blue=1;
            green=1;
            blue=0;  // 
            green=0;//
            red=0; //
            red=1;    // αυτο χανόταν  απο τον usb logic analyser 
            red=0;     // ??
     
            wait(0.001);

    0 Not allowed! Not allowed!

  9. #19
    Μέλος
    Όνομα
    Χρήστος
    Εγγραφή
    Sep 2012
    Περιοχή
    Χολαργός
    Μηνύματα
    1.907

    Προεπιλογή

    Η NXP εχει λίγα μοντελλα , αλλά τα κρατάει πολλά χρόνια ( αν θελεις να πουλήσεις κατι στον πελάτη και σε 10 χρόνια να υπάρχει ακόμα )
    Παλιά που γράφαμε κώδικα για z80 το απλούστερο προγραμμα να γραψεις ηθελε μια μερα δουλεια και ενα project έπαιρνε μήνες .
    Τωρα με τα καινουρια εργαλεία , με οτι επεξεργαστη και να ασχοληθεις τα πραγματα γίνονται 10 και 100 φορές γρηγορότερα .
    Το καλύτερο εργαλειο για ARM είναι KEIL compiler + jlink debugger
    Για απλά project υπάρχει και ο mbed

    Ναί , οι ARM έχουν τα πάντα , αλλα ειναι πιο δύσκολο το learning curve . ¶πειρα περιφερειακά και αντίστοιχοι register
    Ομολογώ πάντως πως εχω ρίξει γενικά περισσότερο διάβασμα μετα τη σχολή παρά πριν !

    Και για όσους δεν εχουν καταλάβει οτι οι εποχές αλλάζουν και κυκλοφορουν ARM με 1 δολλάριο ... και κιτ με 10 ...
    https://www.adafruit.com/product/1336

    0 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη aktis : 02-07-17 στις 02:25

  10. #20
    Μέλος Το avatar του χρήστη picdev
    Όνομα
    akis
    Εγγραφή
    Jul 2007
    Περιοχή
    ____
    Μηνύματα
    7.381

    Προεπιλογή

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

    0 Not allowed! Not allowed!

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

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

  1. Ταχύτητα βεντιλατέρ κλιματιστικού
    By PUNTOmania in forum Ηλεκτρολογικά
    Απαντήσεις: 16
    Τελευταίο Μήνυμα: 14-10-19, 00:47
  2. Arduino - PCF8574 και LCD (port expander.
    By karabill93 in forum Μικροελεγκτές
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 16-04-16, 10:55
  3. Απαντήσεις: 3
    Τελευταίο Μήνυμα: 21-07-14, 18:14
  4. Απαντήσεις: 3
    Τελευταίο Μήνυμα: 05-07-14, 03:11
  5. Βοηθεια για χειρισμο Com και Parallel port μεσω visual basic
    By triplex in forum Λογισμικά Σχεδίασης
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 09-10-05, 21:08

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

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