analizator stanów logicznych na RS232

Czy ktoś się spotkał z projektem prostego analizatora stanów logicznych na PC wykorzystującego port RS232? Nie musi mieć to wygórowanych parametrów: jedn, góra dwa kanały, próbkowanie do 100kS/s, soft obsługujący powinien pracować na Win2000. Mam podobny analizator,

4-kanałowy, z maksymalnym próbkowaniem 500kHz ale na LPT a ze wzglęgu na jak najmniejszą ilość zajmowanego miejsca bardziej bym wolał coś na RS232.
Reply to
badworm
Loading thread data ...

badworm napisał(a):

AVT ma w swojej ofercie takie urządzenie. Jestem w jego posiadaniu i jak na razie sprawuje się całkiem nieźle.

Reply to
krzychk2

Użytkownik badworm napisał:

Jeśli wystarczy poniżej 2KB pamięci próbek, to na ATmega32 możesz zrobić sobie ośmiokanałowy analizator, na którym wyciągniesz ponad 5MS/s.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

5MS? Niewydaje mi sie. Bezsensowna petla typu:

xX: IN R16,PORTB ST Z+,R16 RJMP xX

zajmuje 5 cykli, co przy 16MHz zegarze daje max troche ponad 3MS, a przydaloby sie do tego dodac jeszcze pare instrukcji.

Reply to
T.M.F.

A kto pisal o 16MHz? ;-)

m.

Reply to
Martin Lukasik

Wg producenta fmax=16MHz. Popedz ja troche szybciej, ale 5MS i tak nie wyciagniesz. Trzeba jakies instrukcje np. przerywajace petle dodac, powiedzmy, ze zawsze samplujesz 256 probki (dla uproszczenia 1 probka 1 bajt) to musialoby byc cos takiego:

CLR R17 xx: IN R16,PORTB ST Z+,R16 DEC R17 BRNE xx to daje nam 6 cykli, jesli powyzej 256 probek potrzebujemy co najmniej 7 cykli. 6*5 daje nam 30 MHz, popedzisz tyle ATMege?:)

Pytanie testowe - ciekawostka :) Zalozmy, ze ATMwege popedzamy np. 16MHz zegarem. Jaka maksymalnie czestotliwosc mozemy uzyskac na dowolnym pinie IO softwarowo? Za prawidlowa odpowiedz stawiam piwo :)

Reply to
T.M.F.

A po co pętla ? :-) Robimy tak:

IN R16,PORTB ST Z+,R16 IN R16,PORTB ST Z+,R16 IN R16,PORTB ST Z+,R16 . . . IN R16,PORTB ST Z+,R16

FLASZA dużo, więc na te 1024 próbki wystarczy. Pobranie próbki następuje co 3 takty zegara, czyli przy 16MHz masz ok

5,3MS/s

8MHz metodą analogiczną do tej j/w :-)

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

P.S.1 Popędzałem ATmega32 zegarem 24MHz, która "programowo" generowała

16-tokolorowy obraz na monitorze VGA z rozdzielczością 320x256 pixeli

P.S.2 gdzie mam odebrać piwo ;-)

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

Niezle. Rzeczywiscie mozna bez petli, moj blad :)

Sorki, ale twoja odpowiedz jest chyba bledna. Chyba bo datasheet jest w tym wypadku malo precyzyjny. Mam na mysli sekwencje SBI PINB,1 SBI PINB,1 SBI PINB,1 SBI PINB,1 itd.

Reply to
T.M.F.

T.M.F. napisał(a):

Chyba raczej:

sbi ... cbi ... sbi ... cbi ... . . .

AW

Reply to
AW

Użytkownik T.M.F. napisał:

Tą metodą zrobisz 4MHz bo instrukcje cbi/sbi zajmują dwa takty zegara A można dwa razy szybciej szybciej :-)

P.S. Chyba będą dwa piwa :-)

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

Chetnie:) Jesli na nie zasluzysz :) SBI zajmuje 2 takty, wiec rzeczywisty przebieg bedzie mial 8MHz. Ale ok, niech bedzie out, wtedy mi wychodzi 16MHz.

Reply to
T.M.F.

Nie. Dokladnie tak jak napisalem.

Reply to
T.M.F.

witam

Zapewne piszesz o avt-389. Masz jego schemat? Niestety nie udostępnili na stronie avt, a EP z kwietnia 2005 nie mam.

pozdrawiam

Reply to
Sirtap

W dniu 17-08-2006 17:08, T.M.F. napisał:

(...)

No tak, ale czy pan Datasheet nie mówi, że na faktyczną zmianę na pinie trzeba troszkę poczekać? Mi się wydaje, że trzeba, ale rzeczywiście nigdzie się nie dokopałem do konkretnej informacji, a oscyloskopu nie mam, więc nie podejrzę.

Reply to
Krzysiek

O tak. Dlatego napisalem chyba. Gdyby szlo SBI, NOP, SBI to bylbym pewien:)

Reply to
T.M.F.

Użytkownik T.M.F. napisał:

Hmmm... zaproponowałeś sekwencję rozkazów: SBI PINB,1 SBI PINB,1 SBI PINB,1 SBI PINB,1

Teraz dopiero zauważyłem, że ona właściwie nic nie robi. Zapisywanie czegokolwiek (ustawianie bitów) do portów PINx nic nie daje, bo te porty są wyłącznie do odczytu. Jeśli miałeś może na mysli sekwencję: SBI PORTB,1 SBI PORTB,1 SBI PORTB,1 SBI PORTB,1

to pierwszy rozkaz ustawi stan wysoki na nodze PB1 (o ile był wcześniej ustawiony na wyjscie), a kolejne rozkazy już nic nie zmienią...

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

Użytkownik Krzysiek napisał:

Trzeba poczekać... jakieś kilka..kilkanaście ns (nanosekund) od zakończenia cyklu zegarowego.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

nie w najnowszych atmegach. jeżeli zapiszesz bit PINB to zmienisz stan wyjścia. jeżeli było 1 to będzie 0, jeżeli 0 to będzie 1.

Reply to
Sirtap

Użytkownik Sirtap napisał:

W ATmega32 raczej nie. Patrzę i patrzę w tego pdf-a i nic takiego nie widzę. Aż wsadzę Atmela w podstawkę i sprawdzę.

Pozdrawiam Grzegorz

Reply to
Grzegorz Kurczyk

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.