Symulacja ADC w AVR Studio 3.56

Oct 29, 2007 6 Replies

Czy ktoś z Was symulował ADC w AVRStudio v. 3.56? Próbuję zasymulować przetwornik w Tiny15 Konfiguruję odpowiednio ADMUX, ADCSR:


ldi R30,0xE3 out ADMUX,R30


- napięcie referencyjne 2,56V, wypuszczone na PB0, wyrównanie do lewej włączone, pomiar z kanału PB4/ADC3 ldi R30,0x80 ; 87 out ADCSR,R30


- zasilanie przetwornika włączone, konwersja na razie nie, free running nie, przerwanie nie, preskaler zegara na CK/2


No i w procedurze która ma mierzyć napięcie z potencjometru daję:


sbi ADCSR,ADSC ;uruchamiamy ADC



dacconv_wait:



sbic ADCSR,ADSC rjmp dacconv_wait


I ni chu-chu - procesor pozostaje w tej pętli, wbrew zapewnieniom z PDFa, bit ADSC nie ustawia się na zero. WTF??? Co najdziwniejsze w rzeczywistym układzie program najwyraźniej pętlę opuszcza, ale nie mierzy, zaraz to jeszcze dokładniej zbadam, chociaż takie rzeczy jak dochodzenie napięcia do właściwej nóżki itp. sprawdziłem. Czyżby jakiś błąd w konfiguracji przetwornika?



W ADCSR mam obecnie ustawiony preskaler na CK/2, a więc pierwsza konwersja po włączeniu zasilania, która jest dłuższa i zajmuje 25 cykli zegara ADC powinna zostać wykonana po 50 cyklach procesora, tak się jednak nie dzieje...


Mon, 29 Oct 2007 16:44:17 +0100 jednostka biologiczna o nazwie __Maciek <i80c586@cyberspace_NO_SPAM_.org> wyslala do portu 119 jednego z serwerow news nastepujace dane:

A jednak w rzeczywistym układzie działa, dałem w jednym miejscu BRGE zamiast BRSH i liczba była traktowana jak ze znakiem, co powodowało, że od połowy zakresu potencjometru nie działało... A więc mój program nie działa teraz już tylko w AVR Studio. Dobrze że te ich procesory mają trochę mniej błędów niż programy :-)

Użytkownik __Maciek napisał:

Między innymi z tego powodu od dłuższego czasu trzymam się z daleka od AVRStudio. Sporo siwych włosów mi przybyło właśnie z powodu obsługi ADC. W moim przypadku zakończenie konwersji nie zgłaszało przerwania. Po kilku dniach rwania włosów związanego z szukaniem błędu w swoim programie... wgrałem go w końcu do procka i okazało się, że program hula aż miło. Ze swojej strony polecam VMLAB, choć i on nie pozbawiony jest błędów (m.in. niepoprawnie symuluje pracę liczników w trybie FastPWM). Dodatkową zaletą tego programu jest możliwość symulowania różnych peryferiów (wyświetlacze LCD, diody LED, rezystory, potencjometry, bramki logiczne, klawiatura itp.), a prawdziwym wodotryskiem ostatniej wersji jest możliwość tworzenia własnych peryferiów w języku C++.

Pozdrawiam Grzegorz

Mon, 29 Oct 2007 18:14:12 +0100 jednostka biologiczna o nazwie Grzegorz Kurczyk snipped-for-privacy@control.slupsk.pl> wyslala do portu

119 jednego z serwerow news nastepujace dane:

Dzięki, zaraz wypróbuję, pewnie kosztuje grube $$...

Użytkownik __Maciek napisał:

Grube 0.00$ ;-)

Od jakiegoś czasu jest darmowy. Szkoda tylko, że również od tego czasu przestał być rozwijany :-(

Może kiedyś producent udostępni źródła...

Pozdrawiam Grzegorz

Grzegorz Kurczyk pisze:

Witam , a czy gdzieś w sieci są jakieś nietypowe komponenty (np. szukam bezskutecznie wyświetlacza LED 7seg) ?

Użytkownik Irek_K napisał:

Nie znalazłem takowych. Klepie je sobie sam.

Pozdrawiam Grzegorz

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required