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

ATTINY - Generowanie sygnału 800kHz z wypełnieniem 70% na kwarcu 20MHz

zipzap 17 Lis 2013 13:59 1656 12
  • #1 12961934
    zipzap
    Poziom 16  
    Witam,
    Chciałbym za pomocą attiny wygenerować sygnał prostokątny o wypełnieniu około 70% i częstotliwości 800KHz. Czy porty tego układu dadzą radę wyprodukować sygnał o takich parametrach czy może będą jednak za wolne. Planuje użyć układu napędzanego kwarcem 20MHz i generować poziomy za pomocą komend sbi i cbi.

    P.
  • #3 12962153
    ZbeeGin
    Poziom 39  
    Teoretycznie jak skorzystasz z ATTiny261 i jego możliwości sprzętowego generowania przebiegów PWM, włączając PLL co pozwoli na taktowanie licznika Timer1 częstotliwością 64MHz i skracając ten licznik do 80...
  • #4 12962174
    excray
    Poziom 41  
    ??? !!! Może lepiej ARMa użyć. Takie wyzwanie...


    ATINYxx
    Kwarc 8MHz
    Licznikowo:
    Tryb CTC ze zliczaniem do 10 (9) i z porównaniem przy 7(6) Zerowanie pinu przy porównaniu.
    Programowo:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #5 12962220
    BlueDraco
    Specjalista - Mikrokontrolery
    Może lepiej użyć 555 w takim razie...
  • #7 12962252
    zipzap
    Poziom 16  
    Nie napisałem tego ale w rzeczywistości chcę zbudować generator dwufazowego sygnału zegarowego przy czym wypełnienia obu faz są różne i oczywiście przesunięte względem siebie. Zastanawiałem się jak to zrobić najtaniej i wykoncypowałem, że może w ten sposób. Procesor nie musiałby nic innego robić wiec najprostsze wg mnie byłoby ustawianie i zerowanie w odpowiednim momencie obu pinów. Tylko właśnie nie wiem, czy avry sobie poradzą. Chyba trzeba będzie po prostu spróbować.
    Kojarzę, że kiedyś w EP w czasach gdy wchodziły układy LPC był artykuł testujący właśnie te układy pod tym względem. I zdaje mi się, ze było właśnie info że avry nie radzą sobie z tym za bardzo a tamte army i owszem. No ale teraz nie mam dostępu do moich starych gazet a mój pusbasp umarł.

    Jakby ktoś miał jakieś doświadczenia z generacją przebiegów o takiej częstotliwości przez avr to proszę o informacje.
    P.
  • #8 12962254
    excray
    Poziom 41  
    tmf napisał:
    No jeśli chodzi tylko o generowanie zegara o takich parametrach to istotnie 555 jest najlepszy.

    Pod warunkiem że nie jest wymagana zbyt duża dokładność i stabilność.

    zipzap napisał:
    Nie napisałem tego ale w rzeczywistości chcę zbudować generator dwufazowego sygnału zegarowego przy czym wypełnienia obu faz są różne i oczywiście przesunięte względem siebie.

    To może lepiej napisz dokładnie i od razu czego oczekujesz a najlepiej pokaż jak ma wyglądać oczekiwany przez Ciebie przebieg. To co teraz piszesz można zrobić na Attiny albo programowo albo używając uC z co najmniej dwoma licznikami.
  • #10 12962436
    excray
    Poziom 41  
    Da się. Tak jak pisałem w poprzednim poście. Oczywiście możesz to też wygenerować analogowo albo na bramkach.

    Przykładowy kod dla Attiny przy Q=8MHz:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #11 12963793
    BlueDraco
    Specjalista - Mikrokontrolery
    Da się, tylko wtedy ten uC nie będzie już mógł NIC innego robić poza programowym generowaniem przebiegu.
    Najtaniej będzie wziąć uC z jednym mądrym timerem z PWM z programowanymi dead-zone, np. STM32F030 za 3 zł. ;)
  • #12 12963962
    excray
    Poziom 41  
    BlueDraco napisał:
    Da się, tylko wtedy ten uC nie będzie już mógł NIC innego robić poza programowym generowaniem przebiegu.

    W tym celu wcale nie trzeba wchodzić w TSSOP20. Wystarczy 8-mio pinowa kostka w DIPie attiny25 która ma dwa niezależne liczniki i cały przebieg wtedy generujemy sprzętowo a procesor nudzi się w międzyczasie.
REKLAMA