-
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!new
sfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: Łukasz Góralczyk <l...@g...com>
Newsgroups: pl.misc.elektronika
Subject: Re: Generator sinusoidy od 0 do 400Hz na uC
Date: Mon, 31 Aug 2009 22:43:02 +0000 (UTC)
Organization: TP - http://www.tp.pl/
Lines: 45
Message-ID: <h7hjlm$bv4$1@nemesis.news.neostrada.pl>
References: <h7han2$jcr$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: ebh185.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: nemesis.news.neostrada.pl 1251758582 12260 83.22.197.185 (31 Aug 2009
22:43:02 GMT)
X-Complaints-To: u...@n...neostrada.pl
NNTP-Posting-Date: Mon, 31 Aug 2009 22:43:02 +0000 (UTC)
User-Agent: Pan/0.132 (Waxed in Black)
Xref: news-archive.icm.edu.pl pl.misc.elektronika:570108
[ ukryj nagłówki ]On Mon, 31 Aug 2009 22:08:03 +0200, Robbo wrote:
[ciach]
> do 400Hz. Rozwa?am tu podej?cie polegaj?ce na stablicowaniu próbek
> po?ówki sinusoidy i "wysy?aniu" ich na zewnetrzny przetwornik cyfrowo
Wystarczy zrobić tablicę dla 1/4 i potem odpowiednio czytać wartości (w
przód/w tył), ale jeśli pamięci w zapasie to można wrzucić 1/2.
> -analogowy. Zrobi?bym funkcje, która by?aby przez "timer" wywo?ywana z
> odpowiedni? czestotliwo?ci? (np. 400*256Hz dla czestotliwo?ci 400Hz i
> przetwornika 8-bitowego).
Chyba bardziej poprawnie "400 Hz * 256" dla 256 próbek :) .
> Problem jednak z p?ynn? regulacj? czestotliwo?ci od 0 do 400Hz. Tzn.
> wystarczy?aby mi rozdzielczo?ae 1Hz. Niemniej i tak operuj?c prescalerem
> i OCR2 nie da sie uzyskaae wszystkich mo?liwych czestotliwo?ci. By?bym
> wdzieczny za rade, jak rozwi?zaae ten problem.
Hmm... ciężko. Przyszło mi do głowy żeby generować sinusoidę ze zmienną
liczbą próbek na okres. Tę liczbę próbek tak dobierać aby pojedynczy
kwant czasu był wielokrotnością możliwego kwantu uzyskiwanego z
przerwania od timera. Np. dla 400 Hz i 100 próbek (na okres) musisz
wysyłać próbkę co 25 us. Ustalasz sobie tick zegara na np. 2,5 us (4 MHz,
8 MHz i prescaler na 2, itd.) i co dziesiąty tik timera wysyłasz próbkę
(korzystając z trybu CTC). Dla 399 Hz dobieramy ilość próbek tak alby
przerwanie generowało się co wielokrotność 2,5 us, np. dla 125 wychodzi
że trzeba wystawiać próbkę co 20,05 us czyli co ok. 8 taktów zegara
timera. Dla 398 Hz i 84 próbek generujesz przerwanie co 29,91 us ~= 30 us
=> 12 taktów zegara i tak dalej.
Lepiej zastosować szybkie taktowanie procesora, powinno być więcej
rezerwy, można zejść niżej z tym kwantem (dla 10 MHz masz cykl 0,1 us,
czyli 20 us to 200 instrukcji /realnie ze 140/). Do policzenia optymalnej
liczby próbek dla danego kwantu i częstotliwości lepiej użyć stacjonarny
komputer i zrobić z tego tabelkę - obliczenia raczej proste ale sinus by
się musiał wstrzymać na trochę. Przy tej metodzie zawsze będziesz miał
jakąś odchyłkę od całkowitej liczby Hz (błąd łatwo policzyć). Przy
wyższych częstotliwościach CPU będzie i czas na inne rzeczy (np. miganie
diodą).
Inne rozwiązanie to generator sterowany napięciem + precyzyjny
przetwornik D/A - ładny sinus, łatwe sterowanie.
--
Łukasz.
Następne wpisy z tego wątku
- 01.09.09 08:59 Sylwester Łazar
- 01.09.09 18:02 wt
- 01.09.09 19:00 Papa Smerf
- 01.09.09 19:48 J.F.
- 01.09.09 20:23 Papa Smerf
- 01.09.09 20:58 RoMan Mandziejewicz
- 01.09.09 22:22 Sebastian Biały
- 02.09.09 12:39 marko1a
- 02.09.09 15:33 J.F.
- 02.09.09 16:25 Papa Smerf
- 03.09.09 11:51 marko1a
- 03.09.09 20:06 Dykus
- 04.09.09 12:34 marko1a
- 03.09.09 21:32 Papa Smerf
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-26 #Motodziennik 365 Powrót spalinowych Renault Megane i Scenica, Volvo EX60 oraz ID.Tiguan
- 2026-01-26 Ciekawe fikoły
- 2026-01-26 Toruń => Preseles Inżynier (background baz danych) <=
- 2026-01-26 sznurowadła kwestia prawna
- 2026-01-26 Białystok => Senior Frontend Developer React <=
- 2026-01-26 Warszawa => Consultant Microsoft Dynamics 365 Finance (F&O) <=
- 2026-01-25 Organizacja religijna i nielegalna sprzedaż
- 2026-01-25 Tego "księdza" powinni wywalić z kościołai z pracy w kościele
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- 2026-01-25 W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- 2026-01-25 rozmiar skrzyżowania
- 2026-01-24 Do czego prowadzą REGULACJE opiekuńczego państwa
- 2026-01-23 Stop na zielonym




Sprzedaż nowych mieszkań wyższa niż prognozy. Dokąd zmierza rynek?