Generator trzech częstotliwości

Mam duży(przynajmniej dla mnie) problem. Powiedzmy że muszę wygenerować trzy częstotliwości za pomocą jednego uC(najlepiej AVR). Pierwsza częstotliwość to 40kHz, druga to 60kHz a trzecia 1,2MHz. Szukałem w necie ale znalazłem tylko dds`y - np. minidds. Ale to jest tylko jedna częstotliwość. W sumie to poradziłbym sobie z tym gdyby nie ta częstotl.

1,2MHz. Jeśli ktoś ma jakiś pomysł to chętnie poczytam - może jakieś przykłady(najlepiej w c lub c + asm). Z góry dzieki za info.
Reply to
loko83
Loading thread data ...

Użytkownik "loko83" snipped-for-privacy@tlen.pl napisał w wiadomości news:civ2l8$6rj$ snipped-for-privacy@atlantis.news.tpi.pl

Czy dokladnie 1.2MHz? Czy dokładnie 40kHz i 60kHz? Tzn. czy można je uzyskać z prostego podziału zegara, czy musi byćDDS? Prostokąt czy sinus? Za mało podałeś szczegółów, więc to co poniżej to tylko garść luźnych skojarzeń:

Co do 1.2MHz: Wziąć 2313, pogonić z overclockiem na kwarcu 12MHz. (AFAIR w Tiny2313 to już 12MHz da się nawet przyłożyć legalnie). 1.2MHz wygenerujesz sprzętowo z podziału f_clk/10. Czyli rejestr "compare" ustawić na 5 a wy OC1 w trybie "toggle".

Częstotliwości zbliżone 40 i 60kHz możesz wygenerować w zmodyfikowanym układzie miniDDS. Oczywiście o ile nie da się tego sensowniej zrobić przez podział na licznikach. Jedna pętla w oryginalnym miniDDS zajmuje 9cykli co przy 12MHz dałoby takt DDS-a równy 1.33MHz . Nawet jeżeli wydłużysz tą pętlę

5-krotnie - do 45 cykli to jeszcze masz takt 266kHz czyli ponad dwie oktawy powyżej max. częstotliwości wyjściowej DDS-a (60kHz). A w 45 cyklach wyrobisz się z równoległą akumulacją fazy w dwóch akumulatorach i wystawieniem bajtu fazy na port przetwornika. Gorzej, że w 2313 brakuje drugiego portu równoległego na drugą drabinkę R2R a wystawianie na zewn. rejestr będzie kłopotliwe. Może coś ciut większego? Jakieś AtMega8?
Reply to
Marek Dzwonnik

loko83 snipped-for-privacy@tlen.pl napisał(a):

Witam. A czy ten procek miałby jeszcze coś do roboty ? Bo jeśli tylko generowanie tych 3-ch częstotliwości to ... i tak potrzebny Ci naprawdę szybki procek :( Ale jest to do zrobienia :)

Pzdr. Piotrek Sz.

Reply to
Piotrek Sz.

Użytkownik Marek Dzwonnik napisał:

Procesor nie będzie wykonywał innych czynności. Wiem, że dodatkowa modulacja(PWM) spwoduje, że nie będzie możliwe generowanie trzech częstotl. Z tego względu wyjściowe szpilki będę sobie formował poza uC. Procesor - najlepiej aby nie był zbyt duży(coś w rodzaju at tiny w obudowie dip8). Może na jakiś inny procek. Może PIC16F84 poradziłby sobie z tym zadaniem(nie potrafie znaleźć w nocie jaki ma podział ale coś mi się wydaje że jeden cykl przy 4MHz to 1us). Dokładne częstotliwości to 38kHz, 57kHz, 1.1875MHz.

Reply to
loko83

Użytkownik "loko83" snipped-for-privacy@tlen.pl napisał w wiadomości news:civ8jm$mui$ snipped-for-privacy@nemesis.news.tpi.pl

Tak. PICe dzielą przez 4. AVR przy 4MHz ma cykl maszynowy 250ns.

Co to będzie? Kojarzy mi się z jakimiś podnośnymi, ale nie wiem od czego? ;-)

Hmmm... Wspólne wielokrotności niby proste, ale nie całkiem i nie do końca. Całkowite wsp. podziału (375, 250, 12) wychodzą dopiero przy 14.25MHz. Skąd wytrzasnąć taki kwarc? Programowalny generator Epsona?

A może na miniDDS wygenerować 38kHz i 57kHz a potem mając 38kHz jako f odniesienia, powielić na PLLu razy 125 do 4.75MHz = 4x1.1875MHz ? Nawet HC4046 się tu wyrobi, ale niestety oznacza to kawałek dodatkowego układu.

BTW: Skracaj cytaty!

Reply to
Marek Dzwonnik

Czy ty budujesz może jakis koder stereo i RDS ? :P

pzdr,

Reply to
Piotr Chmiel

Użytkownik "Marek Dzwonnik" <mdz@WIADOMO_PO_CO_TO.message.pl> napisał w wiadomości news:41532d15$ snipped-for-privacy@news.home.net.pl

I tak będzie chyba najłatwiej. Generator Epsona z serii SG-8002 (

formatting link
-> Search "SG-8002"

->

formatting link

->

formatting link
) zaprogramowany na 14.25MHz, poganiający jakiegoś AVR-a Na jednym timerze zrealizować podział /12 i uzyskać 1.187500MHz Na drugim timerze zrealizować podział /125 -> przerwania z częstotliwością 114kHz Mając przerwania 114kHz programowo dzielić /2 ( 57kHz ) oraz /3 (38kHz).

Reply to
Marek Dzwonnik

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.