logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sygnał z osc 32768 do taktowania zewnętrznego układu.

lotnick 27 Lut 2010 23:58 2026 17
REKLAMA
  • #1 7761280
    lotnick
    Poziom 15  
    Witam.
    Chcę asynchronicznie taktować timer częstotliwością 32768Hz za pomocą kwarcu zegarkowego.
    Czy wie ktoś jak sygnał prostokątny o tej częstotliwości wykorzystać w innym układzie w pobliżu?
    Oczywiście bez obciążania procesora.
  • REKLAMA
  • #2 7762639
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 7765377
    lotnick
    Poziom 15  
    Dzięki.
    To chyba zrobie zegar na 4060
  • Pomocny post
    #4 7765419
    Konto nie istnieje
    Poziom 1  
  • #5 7765585
    lotnick
    Poziom 15  
    no o takie rozwiązanie mi chodziło chyba...
    Możesz podpowiedzieć więcej? Nigdy tak nie robiłem.
  • #6 7765658
    Konto nie istnieje
    Poziom 1  
  • #7 7765903
    lotnick
    Poziom 15  
    wybieram procesor do aplikacji , ale mega8 wystarczyłby.
    Czemu tylko 1/2,szukam w datasheet...
  • #8 7766025
    Konto nie istnieje
    Poziom 1  
  • #9 7766137
    lotnick
    Poziom 15  
    Jak dam kwarc 4,19MHz do taktowania procesora i podzielę na 2*64 to wyjdzie tyle ile potrzebuję. Wg wzoru ze strony 89 datasheeta...
    ?
  • #10 7766270
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #11 7766421
    lotnick
    Poziom 15  
    No takie rozwiązanie jest do przyjęcia, ale zastanawiam się jeszcze nad tym co napisałeś wcześniej i nad tym co przecytałem na stronie 58 datasheet'a.:
    Cytat:

    When the
    AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PB7 is disconnected
    from the port, and becomes the inverting output of the Oscillator amplifier.

    Czy to nie znaczy że można jednak coś podłączyć do PB7 przy kwarcu zegarkowym ?
  • REKLAMA
  • #12 7766619
    Konto nie istnieje
    Poziom 1  
  • #13 7767351
    lotnick
    Poziom 15  
    Cytat:

    When the
    AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PB7 is disconnected
    from the port, and becomes the inverting output of the Oscillator amplifier.

    Tłumaczenie wg mnie:
    Cytat:

    Kiedy bit AS2 w ASSR jest ustawiony( jedynka) by włączyć asynchroniczne taktowanie czasomierza/licznika2 to PINB7 jest odłączony z portu i staje się wyjściem odwracającym wzmacniacza oscylatora.


    Czyli wg mnie jak podłącze kwarc zegarkowy i uruchomię asynchronicznie timer to na pb7 mam wyjście z sygnałem prostokątnym.
  • #14 7767810
    Konto nie istnieje
    Poziom 1  
  • #15 7769497
    PiotrPitucha
    Poziom 34  
    Witam
    Nie mam pod ręką działającej Atmegi ale obstawiam że oprócz przebiegu będzie tam składowa stała i podpięcie bramki cmos spowoduje że uzyskasz prostokąt o częstotliwości kwarcu, dałbym tylko bramkę przez opornik 1K by odseparować wpływ pojemności bramki na stabilność zegara.
    Obstawiam oczywiście wyjście PB7 ale z PB6 powinno też śmigać.
    Jeśli składowej stałej nie ma to możesz zlinearyzować bramkę podpinając wejście z wyjściem opornikiem 1M, a na wejście daj wtedy szeregowo 10nF i 10K.
    Druga wersja zadziała zawsze, jeśli układzik robisz na bramkach a nie inwerterze to użyj tylko jednego wejścia, dwa równolegle mogą sprawiać drobny kłopot, oczywiście gdzie dać drugie wejście zależy od typu bramki, ale to pewnie wiesz.
    Piotr
  • #16 7770749
    lotnick
    Poziom 15  
    Chce przede wszystkim minimalizować liczbę elementów.
    Tani generator na 4060 mam już sprawdzony. Chciałem go wyeliminować.
    Wróćmy do tego rozwiązania z kwarcem 4,19MHz. Tutaj będzie porządny prostokąt?
  • Pomocny post
    #17 7771066
    Konto nie istnieje
    Poziom 1  
  • #18 8585660
    lotnick
    Poziom 15  
    Dodam jeszcze kod w BASCOMIE:

    
    'Ten Programik Generuje 32khz Przy 4mhz Kwarcu
    ' 32khz mozna wyliczyc wedlug wzoru ze strony 113 datasheeta atmega8a.
    'jak dam kwarc 4,19MHz to wyjdzie  32'734Hz.
    
    
    $regfile = "m8def.dat"
    $crystal = 4000000
    Config Pinb.3 = Output
    Config Timer2 = Timer , Async = Off , Prescale = 1 , Compare = Toggle , Clear Timer = 1
    Ocr2 = &H3F                                       'częstotliwość proca podzielona  przez [2*preskaler*(1+OCR)] czyli tu przez 128.
    
    Start Timer2
    
    Do
    Loop
    End
    


    Dzięki,
    pozdrawiam.
    Michał

    P.S. Zauważyłem że w kodzie musi być crystal na 4190000...poprawcie sobie jakby co...
REKLAMA