Co byście zmienili w AVR? Więcej RAMu, piny HOLD/HLDA czy lepsze obudowy?

Czego wam brakuje w konstrukcji AVR ?





Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Czego wam brakuje w konstrukcji AVR ?
Date: Sat, 4 May 2002 06:48:08 +0200


Mnie brakuje RAMu. W atmega103 jest tylko 4k, a flasha dali za duzo. Juz bym
wolal 16kRAM/64kFlash
Brakuje pinow HOLD/HLDA, juz sie nie czepiam o kontroler DMA :-) Trzeba
chyba by bylo fifo uartu zrobic.
A w ogole to mega103/128 powinien byc w QFP100 z magistrala danych osobno i
jedan takt mniej :-)

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: set <sdrt_at_nospam_cen.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sat, 04 May 2002 07:45:22 +0200


Mnie brakuje RAMu. W atmega103 jest tylko 4k, a flasha dali za duzo. Juz bym
wolal 16kRAM/64kFlash
Brakuje pinow HOLD/HLDA, juz sie nie czepiam o kontroler DMA :-) Trzeba
chyba by bylo fifo uartu zrobic.
A w ogole to mega103/128 powinien byc w QFP100 z magistrala danych osobno i
jedan takt mniej :-)

Juliusz

Wychodzi na to, ze już czas przesišść się na FPSLICe :}
JanuszR


Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sat, 4 May 2002 11:52:37 +0200


Z tego co wiem, to znasz i lubisz rozne fpga itp.
Wez sobie procka w vhdlu i juz.
Teraz bawie sie Altera-Nios. Fajnie rozwiazali jak jest kilka
rdzeni procka i wspolny flash dla wszystkich. Jest taka szybka
magistrala w srodku Avalon, ktora chodzi w multi-master.
No i co najwazniejsze - pelny zestaw kompilatorow GNU, czyli
asm, C, C++, Objective-C itp.

Powoli stwierdzam ze klasyczne procki (nawet RISC) to przeszlosc.
Tutaj do procka dopisujesz wlasne instrukcje ;)

jerry


Poprzedni Następny
Wiadomość
Spis treści
From: "Artur" <arturk1_at_nospam_zeus.polsl.gliwice.pl>
Subject: Odp: Czego wam brakuje w konstrukcji AVR ?
Date: Sat, 4 May 2002 12:44:17 +0200



Użytkownik jerry1111 <jerry1111_at_nospam_wp.pl> w wiadomości do grup dyskusyjnych
napisał:ab0apr$gqc$1_at_nospam_news.tpi.pl...
Z tego co wiem, to znasz i lubisz rozne fpga itp.
Wez sobie procka w vhdlu i juz.
Teraz bawie sie Altera-Nios. Fajnie rozwiazali jak jest kilka
rdzeni procka i wspolny flash dla wszystkich. Jest taka szybka
magistrala w srodku Avalon, ktora chodzi w multi-master.
No i co najwazniejsze - pelny zestaw kompilatorow GNU, czyli
asm, C, C++, Objective-C itp.

Powoli stwierdzam ze klasyczne procki (nawet RISC) to przeszlosc.
Tutaj do procka dopisujesz wlasne instrukcje ;)

Czesc :)
Mozesz powiedziec gdzie znajde polska literature na ten temat, gdzie sa
opisane uklady fpga i jak to ugrysc?? bo juz pdf po angielsku mam doscm acha
i skad wziasc jakies sensowne oprogramowanie?? ktore by bylo podobne do
ACTIVE-CAD, dla ukladow CPLD LATTICE bo takimi sie bawie ale tylko na
pracowni bo na rynku to ich dostac nie mozna
wiec gdybys mial jakies info bylbym wdzieczny
pozdrawiam
Artur



Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sat, 4 May 2002 17:58:53 +0200


Mozesz powiedziec gdzie znajde polska literature na ten temat, gdzie sa

Po polsku to nie wiem ;(
Wszystko co mam jest po angielsku.

opisane uklady fpga i jak to ugrysc?? bo juz pdf po angielsku mam doscm acha
i skad wziasc jakies sensowne oprogramowanie?? ktore by bylo podobne do
ACTIVE-CAD, dla ukladow CPLD LATTICE bo takimi sie bawie ale tylko na
pracowni bo na rynku to ich dostac nie mozna

Nie wiem czy bedzie podobne do Lattice, ale
na poczatek Max++ z Altery. Jest tam Student Edition, po podaniu nazwiska
i maila dostajesz licencje na rok czasu. Albo Quartus2 Web Edition - to samo.
To sa darmowe programy. No i looknij se na www.opencores.org to zobaczysz
co mozna zrobic w fpga.
Takie proste Atery (64 celki) kosztuja kolo 1$ i maja eeprom
do konfiguracji.
Wieksze ksoztuja wiecej, a te duze maja juz ram i trzeba je po kazdym
wlaczeniu programowac z flasha zewnetrznego.

jerry




Poprzedni Następny
Wiadomość
Spis treści
From: marekmSPAM_at_nospam_amelek.gda.pl (Marek Michalkiewicz)
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sat, 4 May 2002 21:25:41 +0000 (UTC)


Juliusz <jul_at_nospam_fom.pl> wrote:
Mnie brakuje RAMu. W atmega103 jest tylko 4k, a flasha dali za duzo. Juz bym
wolal 16kRAM/64kFlash

To zależy od zastosowania, a RAM pewnie zajmuje sporo większš powierzchnię
struktury...

chyba by bylo fifo uartu zrobic.

Zrobili w ATmega128 - zaledwie dodatkowy 1 bajt, ale to zawsze coś...

A w ogole to mega103/128 powinien byc w QFP100 z magistrala danych osobno i
jedan takt mniej :-)

TQFP64 z rozstawem 0.8mm łatwiej się lutuje w warunkach amatorskich :-)
(wiem, wszystko zmierza do masowej produkcji w milionach sztuk, kości
w obudowach BGA i nikt się raczej nie przejmuje małymi odbiorcami...)
a zewnętrzny RAM nie jest zbyt często potrzebny.

Brakuje mi jeszcze:
- opcji umieszczenia pamięci programu (i być może również EEPROM) dla
odczytu gdzieś w normalnej przestrzeni adresowej (zwłaszcza gdy nie
ma pamięci zewnętrznej - wtedy większość z tych 64KB leży odłogiem,
a dla kompilatora byłoby prościej gdyby nie trzeba było używać LPM).
W jednej kości zresztš tak zrobili (AT76C711 - AVR z interfejsem USB
w którym od adresu 0x8000 można czytać zawartość pamięci programu),
szkoda że wcześniej nie wpadli na to że tak można...
- przy wpisywaniu wskaŸnika stosu w dwóch częściach (SPH i SPL), można by
po wpisaniu SPH blokować przerwania do wykonania następnego rozkazu
(wpisujšcego SPL). Zachowanie SREG, CLI i odtworzenie SREG to zawsze
dodatkowe 3 rozkazy - czyli 5 zamiast 2... Podesłałem kiedyś nawet
takš propozycję do avr_at_nospam_atmel.com - jeśli kiedyś to zrobiš, to będzie
można używać avr-gcc -mno-interrupts i kod wyjdzie trochę mniejszy.
Pomysł nie jest nowy - stary poczciwy x86 tak ma przy wpisywaniu SS:SP.

pozdrawiam
Marek


Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sun, 5 May 2002 04:15:19 +0200



"Marek Michalkiewicz" <marekmSPAM_at_nospam_amelek.gda.pl> wrote in message
news:ab1jkl$ksq$1_at_nospam_alf.amelek.gda.pl...

- przy wpisywaniu wskaŸnika stosu w dwóch częściach (SPH i SPL), można by
po wpisaniu SPH blokować przerwania do wykonania następnego rozkazu
(wpisujšcego SPL).

Hmm ciekawa spostrzezenie.. czy miales z tym problemy kiedys ? Ja daje cli
zawsze na poczatku jako pierwszy rozkaz ale potencjalnie jest tu problem.

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: marekmSPAM_at_nospam_amelek.gda.pl (Marek Michalkiewicz)
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sun, 5 May 2002 19:47:12 +0000 (UTC)


Juliusz <jul_at_nospam_fom.pl> wrote:

Hmm ciekawa spostrzezenie.. czy miales z tym problemy kiedys ? Ja daje cli
zawsze na poczatku jako pierwszy rozkaz ale potencjalnie jest tu problem.

Chodzi o to, że kompilator (konkretnie GCC w którym conieco grzebałem)
nie wie, czy dany kod będzie się wykonywał z włšczonymi przerwaniami czy
też z wyłšczonymi. Inaczej niż w IAR, jest tylko jeden stos wspólny dla
adresów powrotu i zmiennych lokalnych (wskazywane przez r29:r28 czyli Y),
dlatego czasem trzeba przepisać Y do SP i wyglšda to tak:

in r0,SREG
cli
out SPH,r29
out SREG,r0 ; odblokowuje przerwania po następnym rozkazie!
out SPL,r28

(r0 to rejestr tymczasowy, nigdy nie przydzielany dla żadnej zmiennej).
Da się to uprościć (opcja avr-gcc -mno-interrupts) do:

out SPH,r29
out SPL,r28

jeśli mamy pewność, że między wpisaniem SPH i SPL nie przyjdzie przerwanie
(bo przez chwilę wskaŸnik stosu ma złš wartość i odłożenie adresu powrotu
mogłoby nadpisać jakšś zmiennš, dajšc trudne do znalezienia błędy).

Marek


Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sat, 4 May 2002 19:22:39 +0200


Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:aavp1g$huc$1_at_nospam_news.tpi.pl...
Mnie brakuje RAMu. W atmega103 jest tylko 4k, a flasha dali za duzo. Juz
bym
wolal 16kRAM/64kFlash
=>Mnie brakuje rejestrow. Oprocz tego denerwuje mnie, ze polowa instrukcji
dziala tylko na rejestrach R16-31. Brakuje mi jeszcze 16 bitowych licznikow
i troche pinow I/O (nigdy nie robilem na ATmedze :)

Pozdrawiam,
Jacek



Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sun, 5 May 2002 04:26:41 +0200



"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:ab1nnr$mq3$1_at_nospam_news.tpi.pl...

=>Mnie brakuje rejestrow.
Eee to juz sie czepiasz :-) Rejestrow jest az za duzo :-) Ja tez trzymam na
stale w rejestrach pewne rzeczy, ktore sa czesto uzywane. Tak jest szybciej,
jasne ale zeby to bylo za malo ? :-)

Oprocz tego denerwuje mnie, ze polowa instrukcji
dziala tylko na rejestrach R16-31.

Tak ale jak wspomnialem .. jak trzymasz w dolnych 0..15 jakies stale czy
zmienne do szybkich porownan to cp r16,r6 dziala i o to chyba chodzilo. STS
i LDS tez dziala na dolnych.

Brakuje mi jeszcze 16 bitowych licznikow

Jeden jest a 8 bitowe maja preskalery. Wystarcza to do dlugich czasow.

i troche pinow I/O (nigdy nie robilem na ATmedze :)

Zacznij, fajny procek :-) Piszesz kod nie zastanawiajac sie czy sie zmiesci.
Normalnie masz problem zeby w 2313 wsadzic cokolwiek, gimnastykujesz sie,
robisz cale kaskady porownan zaleznych od siebie. A tu kopiujesz procedury
robiace podobne rzeczy i tylko do nich skaczesz czy callujesz. Kod ma 20k
zamiast 2k ale o wiele szybciej dziala. Np zamiast czytac 10 bajtow w petli
to piszesz sobie 100 rozkazow jeden za drugim. Jak zalezy na czasie
wykonania to masz oszczednosc 2-3 krotna.

Juliusz




Poprzedni Następny
Wiadomość
Spis treści
From: "Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Mon, 6 May 2002 00:50:23 +0200


Użytkownik "Juliusz" <jul_at_nospam_fom.pl> napisał w wiadomości
news:ab2547$h5a$1_at_nospam_news.tpi.pl...
"Jacek Meyerhold" <victoriii_at_nospam_poczta.onet.pl> wrote in message
news:ab1nnr$mq3$1_at_nospam_news.tpi.pl...
=>Mnie brakuje rejestrow.
Eee to juz sie czepiasz :-) Rejestrow jest az za duzo :-) Ja tez trzymam
na
stale w rejestrach pewne rzeczy, ktore sa czesto uzywane. Tak jest
szybciej,
jasne ale zeby to bylo za malo ? :-)
=>Hm, napisalem, ze brakuje. Troche zle sie wyrazilem. Moglo by byc wiecej.
Narazie zawsze sie miescilem.

Tak ale jak wspomnialem .. jak trzymasz w dolnych 0..15 jakies stale czy
zmienne do szybkich porownan to cp r16,r6 dziala i o to chyba chodzilo.
STS
i LDS tez dziala na dolnych.
=>Raczej nie o porownania mi chodzilo. Chcialbym sobie wsadzic np. rejesty
do petelek, ale INC, DEC nie dziala na dolnych. LDS i STS uzywam tylko do
RAMu.


Brakuje mi jeszcze 16 bitowych licznikow

Jeden jest a 8 bitowe maja preskalery. Wystarcza to do dlugich czasow.
=>Tez troche zle sie wyrazilem. Mogloby byc wiecej licznikow. W sumie to
preskalery mi sie podobaja. 30 sekund opoznienia na liczniku to jest to :)

i troche pinow I/O (nigdy nie robilem na ATmedze :)

Zacznij, fajny procek :-)
=>Uwaga ogolna. Troche kosztuje a ja mam ograniczone fundusze. Narazie
jeszcze z wyjatkiem I/O nie byl mi potrzebny, a ceny jak patrzylem to jakies
~90zeta. Poza tym zrobienie w domu plytki pod TQFP to nie to samo co PLCC
czy SO.

Piszesz kod nie zastanawiajac sie czy sie zmiesci.
=>Do tej pory nie mialem takich problemow, no z wyjatkiem jednego razu :)

Normalnie masz problem zeby w 2313 wsadzic cokolwiek,
=>Chyba pisze mniej skomplikowane programy ;).

gimnastykujesz sie,
robisz cale kaskady porownan zaleznych od siebie. A tu kopiujesz procedury
robiace podobne rzeczy i tylko do nich skaczesz czy callujesz. Kod ma 20k
zamiast 2k ale o wiele szybciej dziala.
=>Dokladnie. Zreszta jak pisze jakies nowe procedury to zawsze jade
rozkaz-po-rozkazie, a dopiero jak dziala to robie petle.

Np zamiast czytac 10 bajtow w petli
to piszesz sobie 100 rozkazow jeden za drugim. Jak zalezy na czasie
wykonania to masz oszczednosc 2-3 krotna.
=>O tak i jeszcze mam przetwornik A/C.

=>A powiedz cos takiego. Wykorzystywales kiedys "self-programming" (czy
jakos tak) czy jest to tylko bajer? Aha no i przypomnial mi sie jeden minus
ATmegi. Tez nie ma 3 16bitowych licznikow. pod tym wzgledem 8052 jest lepszy
)))

Pozdrawiam,
Jacek



Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows_at_nospam_amwaw.edu.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sun, 05 May 2002 01:38:57 +0200


Juliusz wrote:

Mnie brakuje RAMu. W atmega103 jest tylko 4k, a flasha dali za duzo. Juz bym
wolal 16kRAM/64kFlash
Brakuje pinow HOLD/HLDA, juz sie nie czepiam o kontroler DMA :-) Trzeba
chyba by bylo fifo uartu zrobic.
A w ogole to mega103/128 powinien byc w QFP100 z magistrala danych osobno i
jedan takt mniej :-)


A w ogóle to w takich zastosowaniach wyrzucasz ATmegę do kosza i
wlutowujesz jakiś tani DSP. W obecnych czasach taki 160-MIPSowy z 96 KB
RAMu na pokładzie kosztuje kilkadziesišt zł.

--

Adam Dybkowski
adybkows_at_nospam_amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows


Poprzedni Następny
Wiadomość
Spis treści
From: "Juliusz" <jul_at_nospam_fom.pl>
Subject: Re: Czego wam brakuje w konstrukcji AVR ?
Date: Sun, 5 May 2002 04:12:55 +0200



"Adam Dybkowski" <adybkows_at_nospam_amwaw.edu.pl> wrote in message
news:3CD47111.2010308_at_nospam_amwaw.edu.pl...
Juliusz wrote:

A w ogóle to w takich zastosowaniach wyrzucasz ATmegę do kosza i
wlutowujesz jakiś tani DSP. W obecnych czasach taki 160-MIPSowy z 96 KB
RAMu na pokładzie kosztuje kilkadziesišt zł.

tylko, ze DSP trzaba bootowac czyli narazac kod na analize przez
konkurencje. DSP Analoga maja za szybka magistrale zewnetrzna i nawet
dodawanie WS'ow niewiele zmienia czasami. Timingi sa nie zawsze takie jakie
by sie chcialo. maja za to pozytywne cechy jak bufory kolowe i usarty
(sporty:-) Mozna czytac kod pinami udajac magistrale w sumie tylko zwalniamy
caly procesor nieziemsko.

Juliusz