Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

przesiadka na AVR'y

robiw
-
-
Posty: 34
Rejestracja: 21 wrz 2005, o 12:36
Lokalizacja: Gniezno

przesiadka na AVR'y

Postautor: robiw » 9 paź 2005, o 07:16

Witam.
Od jakiegoś czasu „bawię” się w programowanie procesorka 89C2051, które to okazało się całkiem fajną zabawą dość prostą do nauczenia. Jako materiały do nauki służy mi czasopismo Elektronika „Plus” gdzie opisany jest cały kurs Bascom College w miarę wystarczającym zakresie, mała płytka testowa AVT oraz programator AVT. W trakcie tych „zabaw” dokucza przede wszystkim brak przetwornika A/C w procku oraz odpowiedniego EEPROMA, średnia ilość „gotowych” instrukcji Bascom-8051 i mała pamięć programu. Zastanawiam się więc na sensem oraz celowością przesiadki na AVR’y i w związku z tym mam kilka pytań:
1.Czy jest taki kurs programowania AVR jak ten Bascom College zamieszczony w Elektronice „Plus”?
2. Gdzie i za ile można kupić płytkę testową do AVR’a (z częściami)
3. Gdzie i za ile można kupić płytkę programatora do AVR’a (z częściami)
4. Czy jest sens „przesiadać” się na AVR’y – może wystarczy jakiś procek ’51 z przetwornikiem lub innymi dodatkami (ja potrzebuję przede wszystkim więcej pamięci zmiennych, programu i eeprom oraz aby procek był nieduży – najlepiej z płytką testową)
5. Czy aby zmierzyć temperaturę w zakresie 10-30 ‘C z dokładnością 0.5’C pozostaje tylko DS1820?
6. Może znacie jakiś tani sklep internetowy z częściami (aby przesyłka także była tania)

Z góry dzięki za odpowiedź… robiw

Awatar użytkownika
Wojtek
-
-
Posty: 867
Rejestracja: 21 lut 2003, o 18:21

Postautor: Wojtek » 9 paź 2005, o 07:57

Ad.1 Był kurs w EdW "Mikroprocesorowa osla łączka" świetnie napisany kurs Bascom-AVR, oprócz tego jest dobra książka "Programowanie mikrokontrolerów AVR w języku Bascom" na http://www.btc.pl/index.php?id=bas , masz również dobry kurs na http://www.mikrokontrolery.net/ , a początki kursu na www.elektronika.priv.pl
Ad.2 i 3 Zobacz na:
http://www.elektronika.priv.pl/mikroprocesory.html
http://www.btc.pl/index.php?id=zl1avr
http://www.btc.pl/index.php?id=zl2avr
http://www.btc.pl/index.php?id=zl2prg
Ad.4 Według mnie tak
Ad.5 Jeśli trzymać się firmy Dallas-Maxim to zerknij tu http://para.maxim-ic.com/compare.asp?Fa ... rs.cfm&ln= jest tego sporo
Ad.6 Chyba tu na forum znajdziesz takie informacje ja osobiście korzystam często z www.seguro.pl ale to może dlatego że mam blisko :)

a_antoniak
-
-
Posty: 645
Rejestracja: 13 sty 2005, o 18:38
Lokalizacja: Krasnystaw
Kontaktowanie:

Postautor: a_antoniak » 9 paź 2005, o 08:39

"Przesiadka" na AVR-y jest jak najbardziej sensowna, ale nie wolno zapominać o innych ciekawych rodzinach - np. PIC Microchipa (z tych popularnych w Polsce). Trzeba pamiętać, że 2051 to bardzo przestarzała kostka, choć jej nowicześni krewni z rdzeniem '51 są wciąż jak najbardzień "używalni". AVR-y itp. też niedługo powiny odejść w cień, ale trudno na 100% powiedzieć jak się rzezc potoczy.
Na początek dobra jest zabawa w Bascomie, ale potem warto zainteresować się C.

robiw
-
-
Posty: 34
Rejestracja: 21 wrz 2005, o 12:36
Lokalizacja: Gniezno

Postautor: robiw » 10 paź 2005, o 17:48

To wszystko koszmarnie drogie... pod 89C2051 zestawy i programator kosztowały "grosze" w porównaniu z tym... robiw

Awatar użytkownika
Wojtek
-
-
Posty: 867
Rejestracja: 21 lut 2003, o 18:21

Postautor: Wojtek » 10 paź 2005, o 17:56

To wszystko koszmarnie drogie... pod 89C2051 zestawy i programator kosztowały "grosze" w porównaniu z tym... robiw
... można samemu sobie wykonać takie zabawki i wtedy to będzie zdecydowanie taniej

a_antoniak
-
-
Posty: 645
Rejestracja: 13 sty 2005, o 18:38
Lokalizacja: Krasnystaw
Kontaktowanie:

Postautor: a_antoniak » 10 paź 2005, o 21:21

Bierzesz:
- uniwersalkę - 5pln
- proc np. atmega8 - 8pln
- kwarc - 2pln
- jakieś kondensatory itp. badziewie - 3pln

suma=18pln i masz zestaw minimum. a jak chcesz dodatki to dodajesz.

programator stk200/300 kosztuje ok. 5...10pln zrobiony samodzielnie.

_wojtek_
-
-
Posty: 7
Rejestracja: 9 maja 2003, o 18:12
Lokalizacja: kalisz

Postautor: _wojtek_ » 12 paź 2005, o 10:04

Zdecydowanie warto. Rodzina 51 jest już delikatnie mówiąc wysłużona i przestarzała, tego już się nie rozwija, oczywiście są jeszcze jakieś tam ruchy na rynku (to niby jakiś nowy procek albo coś trochę poprawione oprogramowanie), ale to też już zamiera. AVRy są natomiast wciąż rozwijane, tak samo też i kompilatory, czy inne narzędzia programowe na nie.
Warto więc a nawet trzeba.
Tak jednak prawdę mówiąc to mam ten sam problem. Jak już poznam jakąś architekturę i programy to ciężko się jest przestawić. Układy konstruuję po to, aby coś konkretnie zrobić - zmierzyć, wysterować itp. a nie po to żeby ciągle przestawiać się z jednego procka na drugi.
Przyzwyczajenie jest drugą naturą człowieka.

Piotr
Moderator
Moderator
Posty: 465
Rejestracja: 14 lut 2003, o 13:53
Lokalizacja: Warszawa
Kontaktowanie:

Postautor: Piotr » 12 paź 2005, o 17:04

Musialem ;-), tak balamutnej i niekompetentnej wypowiedzi nie widzialem na Forum od dlugiego czasu. Otoz (wiedza o tym Ci, ktorzy zagladaja do EP):
- '51 wystepuje w wielu roznych wersjach, dajacych mozliwosci, do ktorych AVRy dojda za klika lat (jesli w ogole), np.: precyzyjne przetworniki A/C i C/A (do 24 "prawdziwych" bitow), zintegrowane z modemami telefonicznymi, transceiverami radiowymi, zintegrowane z prosta logika SPLD/mostkiem ISA, interfejsem ethernetowym itp.
- '51 jest dostepny w wersjach o predkosci do 100 MIPS,
- '51 jest dosteony w wersjach przystosowanych do pracy w srodowiskach zasmieconych EMC (AVRy dla odmiany glownie smieca i wykladaja sie na potege przy byle zakloceniu),
- '51 jest dostepny w wersjach z wbudowanymi elektronicznymi potencjometrami i czujnikami temperatury - specjalnie dla systemow z autokalibracja termiczna,
- '51 ma najwieksza liczbe wariantow obudow, w tym najmniejsze QFN (3x3 mm), a takze wersje 8, 10, 14, 16, 18 i wiecej pinowe,
- '51 wystepuje w wersji z 16-bitowym rdzeniem, pozbawionym wiekszosci wad wersji 8-bitowej.
To nie wszystko, ale tyle razy artykuly na ten temat byly w EP, ze zainteresowanych odsylam.

Do tego wazna uwaga: mikrokontrolerom 8051 nie brakuje niczego z tego, co maja AVR-y.
Do tego wazna uwaga 2: nowe wersje uC z rdzeniem 8051 wdrazaja m.in.: Infineon, GoalSemiconductor, STM, Chipcon, NordIC, Philips... Pewnie nie wiedza co robia ;-)

Jedyna prawda w poscie _wojtek_'a jest taka, ze Atmel rzeczywiscie (troche) pacyfikuje '51, ale swiat na Atmelu sie nie konczy! Do tego polecam zapoznanie sie z atmelowskimi AT89LP2052 i pochodnymi. Rzeczywiscie wyglada, ze to przedsmiertne drgawki ;-)
Pzdr
PZb

badworm
-
-
Posty: 43
Rejestracja: 11 lip 2004, o 11:03
Kontaktowanie:

Postautor: badworm » 12 paź 2005, o 22:50

średnia ilość „gotowych” instrukcji Bascom-8051 i mała pamięć programu
Ciesz się, że nie piszesz w C(++) - tam te wszystkie funkcje sterujące wyświetlaczem LCD, portem I2C, SPI i innymi byś pisał samodzielnie od zera. A na gotowych poleceniach z Bascoma to gwarantuję Ci, że kiedyś się przejedziesz - ja się już sparzyłem(przykładowo - jeden z sample'owych programów kompiluje się z błędem a obsługa wyświetlacza ze sterownkiem KS0107/0108 nie działa wcale). Dlatego też w przypadku AVR'ów podarowałem sobie rozdział zwany Bascom i startuję od razu z C(++).
To wszystko koszmarnie drogie... pod 89C2051 zestawy i programator kosztowały "grosze" w porównaniu z tym... robiw
Kpisz czy o drogę pytasz??? Wiem, że da się na upartego zrobić programator do 89Cxx51 składający się z wtyczki do portu LPT, tranzytora i paru oporników ale większość ludzi twierdzi, że to lipny programator. Porównując te oferowane z AVT to róznica jest kolosalna - za cenę samych kostek PCF8574 masz już kompletny programator typu STK200/300 a to jest jednak ISP czyli nie musisz przekładać procka w te i wewte. Zestawy startowe - jeśli nie mówimy o fabrycznych(robionych np. przez Atmela) to ceny powinny być podobne. Za to same procki są tańsze - zobacz ile kosztuje np. MEGA8 i jakiś jej zbliżony funkcjonalnie odpowiednik w rodzinie 8051 albo jeszcze lepiej poszukaj odpowiednika dla MEGA128 ;-)

PZb: wszystko byłoby pięknie ale większość układów z rodziny 8051 odziedziczyło po oryginale pewne wady a ceny tych bardziej rozbudowanych wersji są w porównaniu z podobnymi AVR'ami(a ostatnio nawet ARM'ami) kosmiczne. Np. taki 89C51ED2 - niewiele on lepszy od MEGA128 a prawie 2x droższy. Poza tym najczęściej nie ma układów z jądrem 8051 łączących wszystkie pożadane cechy. Znajomy np. się wściekał bo potrzebował układu z interfejsem USB2.0 więc wybór padł na CY7C68013. Niestety proc ten oprócz obsługi USB miał też odczytywać dane z podłączonej do niego karty Compact Flash i przesyłać je do połączonego z procem układu FPGA. I nawet przy taktowaniu zegarem 48MHz transmisja z karty była tylko na poziomie 1,8MiB/s. Dowolny większy AVR robił by tyo szybciej ale niestety nie ma AVR'ów z USB2.0 :-| I jeszcze jedno - GCC niestety nie ma portu na 8051 a inne darmowe kompilatory C generalnie nie cieszą się dobrą opinią.

Piotr
Moderator
Moderator
Posty: 465
Rejestracja: 14 lut 2003, o 13:53
Lokalizacja: Warszawa
Kontaktowanie:

Postautor: Piotr » 12 paź 2005, o 23:10

[b]PZb[/b]: wszystko byłoby pięknie ale większość układów z rodziny 8051 odziedziczyło po oryginale pewne wady

&& Nie napisalem, ze '51 nie maja wad. Nie znam zadnej rodziny mikrokontrolerow, ktore sa wad pozbawione, chociaz jedna sie na taka zapowiada ;-) Dam znac, jak sie potwierdzi.

a ceny tych bardziej rozbudowanych wersji są w porównaniu z podobnymi AVR'ami(a ostatnio nawet ARM'ami) kosmiczne. Np. taki 89C51ED2 - niewiele on lepszy od MEGA128 a prawie 2x droższy.

&& Nie napisalem, ze sa tansze. Odnioslem sie wylacznie do nieprawdziwego stwierdzenia, ze sa przestarzale i linia ta wygasa. Poza tym cena jest obecnie parametrem mocno wzglednym, zwlaszcza przy zakupach w wiekszych ilosciach.

Poza tym najczęściej nie ma układów z jądrem 8051 łączących wszystkie pożadane cechy.

&& Czyli tak samo jak we wszystkich innych rodzinach. Dosc latwo wymyslec takie (prawdopodobne) zestawienie peryferiow, ktorego nie ma w danej rodzinie uC.

Znajomy np. się wściekał bo potrzebował układu z interfejsem USB2.0 więc wybór padł na CY7C68013. Niestety proc ten oprócz obsługi USB miał też odczytywać dane z podłączonej do niego karty Compact Flash i przesyłać je do połączonego z procem układu FPGA. I nawet przy taktowaniu zegarem 48MHz transmisja z karty była tylko na poziomie 1,8MiB/s.

&& Slabo mnie przekonuje to co napisales. Brak warunkow brzegowych, w ten sposob mozna "udowodnic" kazda teze.

Dowolny większy AVR robił by tyo szybciej ale niestety nie ma AVR'ów z USB2.0 :-|

&& Ok, jesli sprawdziles, jesli nie, to nie pisz tak. Arek Antoniak _wykazal_ niedawno, ze "koszmicznie" szybkie ARM-y sa wolniejsze od ATmega. Znam jednak ludzi, ktorzy zalecaja do wymagajacych aplikacji te wlasnie procesory. Pewnie mysla, ze sa szybkie ;-)

I jeszcze jedno - GCC niestety nie ma portu na 8051 a inne darmowe kompilatory C generalnie nie cieszą się dobrą opinią.

&& Znowu dosc ogolnie - czyja opinie cytujesz? Sprawdziles to, zaslyszales? Dobra ilustracja takich opinii jest sprawa J. Kurskiego, ktory wylecial z Komitetu Wyborczego Kaczynskiego za opowiadanie tego co uslyszal. Pech chcial, ze to akurat nie byla prawda, ale "opinia" w swiat poszla. Elektronik _powinien_ byc bardziej precyzyjny od polityka ;-)
Pzdr
PZb

P.S. Akurat w moich kregach GCC na AVR-y nie ma dobrej opinii, a SDCC ma bardzo dobra ;-)
Poza tym ta czesc dyskusji odplywa mocno od tematu.

a_antoniak
-
-
Posty: 645
Rejestracja: 13 sty 2005, o 18:38
Lokalizacja: Krasnystaw
Kontaktowanie:

Postautor: a_antoniak » 13 paź 2005, o 19:54

Elektronik _powinien_ byc bardziej precyzyjny od polityka ;-)
To niestety małe wymaganie, bo to tak jakby powiedzieć, że powinien być inteligentniejszy od przeciętnego kretyna :(. No ale tacy politycy są jakich ludzie chcą (jeśli w ogóle mozna powiedzieć, że większośc ludzi samodzielnie myśli)... Rzyg, rzyg...rzygam...

Co do uP, to wciąż wiele osób nie zdaje sobie sprawy, że zajmowanie się elektroniką to nie tylko lutowanie i programowanie ale (w dużej mierze!) także znajomość trendów, szerokiej oferty producentów, tendencji na rynku itp. W kraju wśród amatorów i początkujących przyszłych zawodowców popularny jest Bascom a Bascom to 8051 lub AVR. Dlatego np. ciekawe i łatwo dostępne PICki są wciąż mniej popularne niż AVRy, ale na szczęście wyszły z cienia w ostatnich latach. Rozwój 8051 zapoczątkowany (na nowo) na dobre chyba przez Analoga parę lat temu jest dziś imponujący, ale ludzie na hasło 8051 wciąż mają skojarzenia sprzed lat - w najlepszym przypadku ADuC, częściej 89C51/2051 itp. - i znów Atmel...
W swiadomości zadziwiająco wolno raczkuje C, choć język ten wymyślono przed 30 laty. Pokutuje dziwna opinia, że jest trudny do nauczenia. A C daje możliwość łatwego programowania różnych rodzin. Doszło do ciekawej standaryzacji - języki obiektowe, wśród których obserwujemy bogactwo form, ze względu na specyfikę uP nie są popularne, a najlepszym (w ogólności!) językiem strukturalnym jaki kiedykolwiek wymyślono jest C.

badworm
-
-
Posty: 43
Rejestracja: 11 lip 2004, o 11:03
Kontaktowanie:

Postautor: badworm » 15 paź 2005, o 12:51

&& Slabo mnie przekonuje to co napisales. Brak warunkow brzegowych, w ten sposob mozna "udowodnic" kazda teze.
Problem polegał na tym, że trzeba było odczytać pewną ilość danych z karty w określonym czasie. A wspomniany układ Cypressa okazał się jedynym (względnie) łatwo dostępnym w detalu posiadającym interfejs USB2.0(który miał być używany do innych celów, niekoniecznie zapełniania karty z poziomu PC). Samą komunikację z kartą CF można by zrealizować przy pomocy jakieś ATMegi i odbywała by się ona szybciej niż z wykorzystaniem układu Cypressa ale oznaczało by to konieczność dołożenia kolejnego scalaka do projektu urządzenia a to raczej z pewnych powodów nie wchodziło w grę.
&& Ok, jesli sprawdziles, jesli nie, to nie pisz tak. Arek Antoniak _wykazal_ niedawno, ze "koszmicznie" szybkie ARM-y sa wolniejsze od ATmega. Znam jednak ludzi, ktorzy zalecaja do wymagajacych aplikacji te wlasnie procesory. Pewnie mysla, ze sa szybkie ;-)
Pytanie tylko czy w każdej sytuacji ARM'y są wolniejsze czy tylko przy jakiś syntetycznych testach. W tym przypadku różnica pomiędzy klonem 8051 a AVR była oczywista bo wiadomo, w jaki sposób odbywa się komunikacja z kartą CF i ile cykli zegarowych trwa każdy rozkaz procesora. Znając maksymalną dopuszczalną częstotliwość taktowania procesorów łatwo policzyć jaki transfer na każdym z nich uda się osiągnąć.
&& Znowu dosc ogolnie - czyja opinie cytujesz? Sprawdziles to, zaslyszales?


Jest to opinia co najmniej kilku osób z pl.misc.elektronika, wobec których nie mam powodów by im nie ufać. Jeśli ktoś np. kupuje za ciężkie pieniądze pełną wersję kompilatora C na 8051 firmy Keil i pomimo zgłaszania błędów w tym kompilatorze(środowisku) producentowi błędy te nie są usuwane w następnej wersji to coś jest nie tak - wolę pozostać przy darmowym, w pełni funkcjonalnym GCC. Nie będę musiał się uczyć obsługi nowego środowiska przy zmianie rodziny procesorów(także przesiadając się z pisania programów na uC na pisanie programów na PC). Poza tym to, że dany kompilator(środowisko) jest w pełni darmowe jest też dla mnie niebagatelnym znaczeniem. A jak faktycznie zachowuje się GCC-AVR(WinAVR) to będę miał się okazję przekonać w najbliższym czasie :-)

a_antoniak
-
-
Posty: 645
Rejestracja: 13 sty 2005, o 18:38
Lokalizacja: Krasnystaw
Kontaktowanie:

Postautor: a_antoniak » 15 paź 2005, o 14:07

Pytanie tylko czy w każdej sytuacji ARM'y są wolniejsze czy tylko przy jakiś syntetycznych testach.
Widać, że nie czytałeś artykułu :). Testy dotyczyły kości Philipsa serii LPC2xxx (i tylko tych, a nie wszystkich uP z rdzeniem ARM). Przez średnioprzemyślane "położenie" GPIO względem rdzenia szybkośc portów była baaardzo mała jak na szybkośc pracy rdzenia. Dostrzegł to w końcu Philips i ostatnio poprawił, o czym tez niedawno był artykuł. Tak więc sprawa dotyczyła nie "każdej sytuacji" a bardzo konkretego zbioru sytuacji (wykorzystanie GPIO) a testy nie były żadne "syntetyczne" tylko jak najbardziej praktyczne.

badworm
-
-
Posty: 43
Rejestracja: 11 lip 2004, o 11:03
Kontaktowanie:

Postautor: badworm » 18 paź 2005, o 16:13

Przynaję, że nie czytałem tego artykułu. Ale z tego, co napisałeś wynika, że problem wydajności dotyczył tylko układów Philipsa, nie wiedzieć czemu tak mocno promowanych przez EP ;-) Ja natomiast jeśli będę się brał za ARMy to będą to raczej układy Atmela.

a_antoniak
-
-
Posty: 645
Rejestracja: 13 sty 2005, o 18:38
Lokalizacja: Krasnystaw
Kontaktowanie:

Postautor: a_antoniak » 18 paź 2005, o 16:22

Nie doszukiwałbym się tu spisków. Philipsy są po prostu tanie, a co pokaże przyszłość - zobaczymy. Ja nie rozumiem tego, że ktoś "bierze się" za takie a nie inne uP i chce się trzymać. uP wybiera się stosownie do aplikacji. A nauka na takim czy inym ARMie - co za różnica?
Sądząc po Twojej przekorności, gdyby EP "niewiedzieć czemu" promowała ARM-y Atmela, to wziąłbyś się za Philipsy :). Oczywiście - bez urazy :).

Pzdr

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 55 gości