Re: AVR 8515
Masz problem? Zapytaj na forum elektroda.pl z bramką pl.misc.elektronika!
From: Andrzej Radecki <radecki_at_nospam_posejdon.wpk.p.lodz.pl>
Subject: Re: AVR 8515
Date: Fri, 05 Feb 1999 21:42:32 GMT
Andrzej Fien <fien_at_nospam_hbury.com> napisał(a):
Ktos kiedys pytal o ten procesor.
Niech zapyta jeszcze raz. Zrobilem kilka urzadzen na tym procesorze i nie
mam z nim zadnego problemu.
Tak z ciekawości... Czy te AVRy mają wreszcie porządne magistra
le, czy też jest to nadal tak rozwiązane jak w MCS51? W
szczególności interesuje mnie możliwość wstrzymania pracy
(dostępu do magistral) z zewnątrz. Bez tego ciężko jest zrobić
np. układ z kontrolerem grafiki (trzeba się trochę nagimnastyko
wać). Tak w ogóle to jeśli ktoś ma jakiś opis (pdf?) AVRów to
bardzo proszę na priva.
Może znacie jakieś uC, które nie mają upośledzonej magistrali i
zarazem mniej niż 80 pinów? W zasadzie mógłbym użyć zwykłe procki
ale musiałbym dorzucić parę scalaków na płytce (UART, timer itp.)
Pozdrawiam
--
( /0/ Andrzej Radecki
==== \ mailto:radecki_at_nospam_posejdon.wpk.p.lodz.pl
/ |
From: "Juliusz" <juliusz_at_nospam_wyscigi.multi-ip.com.pl>
Subject: Re: AVR 8515
Date: Sat, 06 Feb 1999 01:38:48 GMT
Andrzej Radecki napisał(a) w wiadomości: <79f05i$6c5$2_at_nospam_radek.localdomain>...
Andrzej Fien <fien_at_nospam_hbury.com> napisał(a):
Ktos kiedys pytal o ten procesor.
Niech zapyta jeszcze raz. Zrobilem kilka urzadzen na tym procesorze i nie
mam z nim zadnego problemu.
Tak z ciekawości... Czy te AVRy mają wreszcie porządne magistra
le, czy też jest to nadal tak rozwiązane jak w MCS51? W
szczególności interesuje mnie możliwość wstrzymania pracy
(dostępu do magistral) z zewnątrz. Bez tego ciężko jest zrobić
np. układ z kontrolerem grafiki (trzeba się trochę nagimnastyko
wać). Tak w ogóle to jeśli ktoś ma jakiś opis (pdf?) AVRów to
bardzo proszę na priva.
Może znacie jakieś uC, które nie mają upośledzonej magistrali i
zarazem mniej niż 80 pinów? W zasadzie mógłbym użyć zwykłe procki
ale musiałbym dorzucić parę scalaków na płytce (UART, timer itp.)
Jesli twoja skrzynka to polknie to ci wysle PDF-y, ale bedzie tego z 5
megasi o ile nie lepiej.
Nie bardzo rozumiem o jakie wstrzymywanie ci chodzi ? Moze jasniej ... ?
AVR-y nie maja zewnetrznej pamieci programu, ale maja mozliwosc podpiecia
pamieci danych podobnie jak w MCS-51. Wewnetrzna organizacja pamieci
programu jest szesnastobitowa. Maja UART, SPI i wewnetrzny EEPROM oraz
watchdoga. Wlasciwie ty sam decydujesz co wysylasz oraz co i kiedy czytasz z
magistrali majac do dysppozycji D0-D7 i A0-A15, #WR, #RD i ALE. PSEN tam nie
wystepuje, bo nie przewidzieli tego.
Gdybys napisal po co ci to wstrzymywanie i jaki kontroler chcesz zastosowac
to z pewnoscia nasz kwiat dyskutantow udzieli ci porady :))))))
Juliusz
From: Andrzej Radecki <radecki_at_nospam_posejdon.wpk.p.lodz.pl>
Subject: Re: AVR 8515
Date: Sun, 07 Feb 1999 22:04:25 GMT
Juliusz <juliusz_at_nospam_wyscigi.multi-ip.com.pl> napisał(a):
Andrzej Radecki napisał(a) w wiadomości: <79f05i$6c5$2_at_nospam_radek.localdomain>...
Tak z ciekawości... Czy te AVRy mają wreszcie porządne magistra
le, czy też jest to nadal tak rozwiązane jak w MCS51? W
szczególności interesuje mnie możliwość wstrzymania pracy
(dostępu do magistral) z zewnątrz. Bez tego ciężko jest zrobić
np. układ z kontrolerem grafiki (trzeba się trochę nagimnastyko
wać). Tak w ogóle to jeśli ktoś ma jakiś opis (pdf?) AVRów to
bardzo proszę na priva.
Może znacie jakieś uC, które nie mają upośledzonej magistrali i
zarazem mniej niż 80 pinów? W zasadzie mógłbym użyć zwykłe procki
ale musiałbym dorzucić parę scalaków na płytce (UART, timer itp.)
Jesli twoja skrzynka to polknie to ci wysle PDF-y, ale bedzie tego z 5
megasi o ile nie lepiej.
Nie bardzo rozumiem o jakie wstrzymywanie ci chodzi ? Moze jasniej ... ?
AVR-y nie maja zewnetrznej pamieci programu, ale maja mozliwosc podpiecia
pamieci danych podobnie jak w MCS-51. Wewnetrzna organizacja pamieci
programu jest szesnastobitowa. Maja UART, SPI i wewnetrzny EEPROM oraz
watchdoga. Wlasciwie ty sam decydujesz co wysylasz oraz co i kiedy czytasz z
magistrali majac do dysppozycji D0-D7 i A0-A15, #WR, #RD i ALE. PSEN tam nie
wystepuje, bo nie przewidzieli tego.
Gdybys napisal po co ci to wstrzymywanie i jaki kontroler chcesz zastosowac
to z pewnoscia nasz kwiat dyskutantow udzieli ci porady :))))))
Sprawa jest już przedawniona ale po prostu interesuje mnie co te
AVRy potrafią.
Rok temu próbowałem (z kumplem) podłączyć '51 do graficznego
wyświetlacza LCD. Niestety ten wyświetlacz nie miał wbudowanego
kontrolera (same drivery linii i kolumn). Podłączenie zewnętrzne
go kontrolera powodowało z kolei kłopoty z konfliktami na magi
strali. I tu właśnie przydałby się jakiś sygnał /HALT w proceso
rze tak by w sytuacji kiedy kontroler czyta dane z pamięci
zabronić uC (uP?) korzystania z magistrali. W '51 w ten sposób
nie dało się tego zrobić (można jeszcze zastosować RAM o dwu
stronnym dostępie lub przełączanie magistrali - brr.. tak
chciałem zrobić ale wyszło mi kilka scalaków po 100 pinów i się
poddałem :) ).
Jeśli komuś udało się to w miarę prosto zrobić to proszę
o kontakt - może projekt jeszcze wróci do łask :)
Pozdrawiam
--
( /0/ Andrzej Radecki
==== \ mailto:radecki_at_nospam_posejdon.wpk.p.lodz.pl
/ |
From: Tomasz Jeznach <tjeznach_at_nospam_elka.pw.edu.pl>
Subject: Re: AVR 8515
Date: Fri, 12 Feb 1999 10:37:54 +0000
Andrzej Radecki wrote:
Włanie oglšdam przebiegi czasowe na magistrali '51 i rzeczy
wicie przy '1' na ALE można procesor odcišć od magistrali. Tyle,
że będzie potrzebne dużo TTL'i do tego przełšczania. Może napisz
co więcej o tym pseudo-DMA. Bo włanie w tym tkwi sedno sprawy.
Poza tym powstaje problem z czasem dostępu do magistrali przez
drugie urzšdzenie. Jak sprawdziłem stan wysoki na ALE trwa
2 cykle - przy 12MHz to tylko 167ns.
Wystarczy zeby cos odczytac z pamieci a procesor nawet nie zauwazy.
Być może to rozwišzanie nie jest aż tak 'scalakożerne' jak mi się
wydaje ale czy nie lepszym rozwišzaniem byłoby zastosowanie RAM'u
dual-port?
Rozwiazanie bylo m/w takie:
Przy procesorze: '373 - mlodszy adres
'245 - starszy adres
'245 - dane (dwukierunkowo)
wszystkie byly otwieranie przy niskim ALE
Przy sterowniku wyswietlaczy (bo do tego wlasnie to sluzylo) byly:
'245 x 2 - starszy i mlodszy adres
'373 - dane (odczyt i zatrzasniecie)
jakis licznik 10 bitowy i troche sterowania
ktore odczytywalo pamiec co ok 5 us przy najblizszym
wysokim ALE.
Uklad wyswietlal to co w pamieci z ustalonej przestrzeni 1K. Procesor
nawet o tym nie wiedzial. Troche bylo problemow z czasami odczytu
pamieci, ale w koncu zadzialalo przy zegarze 12MHz (a pewnie i wyzej
tez by chodzilo - nie sprawdzalem).
pozdrawiam
Tomasz Jeznach
http://home.elka.pw.edu.pl/~tjeznach
From: gred1_at_nospam_polbox.com (Grzegorz Redlarski)
Subject: Re: AVR 8515
Date: Tue, 16 Feb 1999 08:53:42 GMT
On Fri, 12 Feb 1999 13:03:03 GMT, "japart" <japart_at_nospam_friko4.onet.pl>
wrote:
Robie podobny uklad i mam problem bo sygnal ALE nie zawsze
jest generowany przez procesor. Niby jest to Fosc/6 ale czasem
"wypada" jakis impuls w zaleznosci od wykonywanego rozkazu.
Czy nie jest to przy rozkazach MOVX? Kiedys pewien emulator ICE gubil
mi "czas" (np. w trace) przy tych rozkazach. Nie sprawdzalem tego, ale
podejrzewalem wlasnie brak jednego ALE przy wykonywaniu takiego
rozkazu.
gr
From: "japart" <japart_at_nospam_friko4.onet.pl>
Subject: Re: AVR 8515
Date: Fri, 12 Feb 1999 13:03:03 GMT
Rozwiazanie bylo m/w takie:
Przy procesorze: '373 - mlodszy adres
'245 - starszy adres
'245 - dane (dwukierunkowo)
wszystkie byly otwieranie przy niskim ALE
Przy sterowniku wyswietlaczy (bo do tego wlasnie to sluzylo) byly:
'245 x 2 - starszy i mlodszy adres
'373 - dane (odczyt i zatrzasniecie)
jakis licznik 10 bitowy i troche sterowania
ktore odczytywalo pamiec co ok 5 us przy najblizszym
wysokim ALE.
Uklad wyswietlal to co w pamieci z ustalonej przestrzeni 1K. Procesor
nawet o tym nie wiedzial. Troche bylo problemow z czasami odczytu
pamieci, ale w koncu zadzialalo przy zegarze 12MHz (a pewnie i wyzej
tez by chodzilo - nie sprawdzalem).
pozdrawiam
Tomasz Jeznach
http://home.elka.pw.edu.pl/~tjeznach
Robie podobny uklad i mam problem bo sygnal ALE nie zawsze
jest generowany przez procesor. Niby jest to Fosc/6 ale czasem
"wypada" jakis impuls w zaleznosci od wykonywanego rozkazu.
A moj lcd musi miec dostarczane dane z czestotliwoscia 2MHz.
Probowalem dzielic czestotliwosc kwarcu przez 6 i synchronizowac
go sygnalem ALE. Niestety byly jakies rozbieznosci czasowe
miedzy ALE a "zregenerowanym ALE" i niezbyt to wszystko
poprawnie dzialalo.
Moze ktos ma pomysl jak to rozwiazac?
From: Tomasz Jeznach <tjeznach_at_nospam_elka.pw.edu.pl>
Subject: Re: AVR 8515
Date: Mon, 08 Feb 1999 23:39:18 +0000
Andrzej Radecki wrote:
Rok temu próbowałem (z kumplem) podłšczyć '51 do graficznego
wywietlacza LCD. Niestety ten wywietlacz nie miał wbudowanego
kontrolera (same drivery linii i kolumn). Podłšczenie zewnętrzne
go kontrolera powodowało z kolei kłopoty z konfliktami na magi
strali. I tu włanie przydałby się jaki sygnał /HALT w proceso
rze tak by w sytuacji kiedy kontroler czyta dane z pamięci
zabronić uC (uP?) korzystania z magistrali. W '51 w ten sposób
nie dało się tego zrobić (można jeszcze zastosować RAM o dwu
stronnym dostępie lub przełšczanie magistrali - brr.. tak
chciałem zrobić ale wyszło mi kilka scalaków po 100 pinów i się
poddałem :) ).
Jeli komu udało się to w miarę prosto zrobić to proszę
o kontakt - może projekt jeszcze wróci do łask :)
Probowalem i nawet sie udalo...
Dostep do magistral A/D przelaczany byl sygnalem ALE - podczas wysokiego
stanu magistrala adresowa sterowal zewnetrzny kontroler (cos prawie jak DMA),
podczas niskiego dostep mial uprocesor.
Kontroler czytal dane przy opadajacym ALE.
Z zegarem 12MHz calosc dzialala bez bledow.
Nie jest to moze rozwiazanie najpiekniejsze, ale dziala.
PS. Widzialem tez rozwiazanie z blokowaniem zegara uProcesora.... ale nie polecam.
---
pozdrawiam
Tomasz Jeznach
http://home.elka.pw.edu.pl/~tjeznach
From: Andrzej Radecki <radecki_at_nospam_posejdon.wpk.p.lodz.pl>
Subject: Re: AVR 8515
Date: Thu, 11 Feb 1999 22:25:30 GMT
Tomasz Jeznach <tjeznach_at_nospam_elka.pw.edu.pl> napisał(a):
Andrzej Radecki wrote:
Rok temu próbowałem (z kumplem) podłšczyć '51 do graficznego
wywietlacza LCD.
[...]
Jeli komu udało się to w miarę prosto zrobić to proszę
o kontakt - może projekt jeszcze wróci do łask :)
Probowalem i nawet sie udalo...
Dostep do magistral A/D przelaczany byl sygnalem ALE - podczas wysokiego
stanu magistrala adresowa sterowal zewnetrzny kontroler (cos prawie jak DMA),
podczas niskiego dostep mial uprocesor.
Kontroler czytal dane przy opadajacym ALE.
Z zegarem 12MHz calosc dzialala bez bledow.
Nie jest to moze rozwiazanie najpiekniejsze, ale dziala.
Właśnie oglądam przebiegi czasowe na magistrali '51 i rzeczy
wiście przy '1' na ALE można procesor odciąć od magistrali. Tyle,
że będzie potrzebne dużo TTL'i do tego przełączania. Może napisz
coś więcej o tym pseudo-DMA. Bo właśnie w tym tkwi sedno sprawy.
Poza tym powstaje problem z czasem dostępu do magistrali przez
drugie urządzenie. Jak sprawdziłem stan wysoki na ALE trwa
2 cykle - przy 12MHz to tylko 167ns.
Być może to rozwiązanie nie jest aż tak 'scalakożerne' jak mi się
wydaje ale czy nie lepszym rozwiązaniem byłoby zastosowanie RAM'u
dual-port? Tam też co prawda może dojść do konfliktu ale tylko
w przypadku jednoczego dostępu do tej samej komórki pamięci. Temu
można jednak łatwo zapobiec programowo. Czy ktoś wie ile taki
dual-port kosztuje w detalu? (chodzi mi o jakieś 16-32kb). Zaletą
tego rozwiązania jest możliwość pracy uC i kontrolera obrazu przy
różnych częstotliwościach szyny lub nawet zupełne wyeliminowanie
magistrali procesora (sterowanie pamięcią przez porty).
PS. Widzialem tez rozwiazanie z blokowaniem zegara uProcesora.... ale nie polecam.
Racja. W tym przypadku (kontroler obrazu) zegar procesora byłby
odblokowany tylko w czasie 'powrotu plamki' jeśli tak to można
nazwać w przypadku LCD ;)
pozdrawiam
ja również
--
( /0/ Andrzej Radecki
==== \ mailto:radecki_at_nospam_posejdon.wpk.p.lodz.pl
/ |