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ę

Jaki procesor wybrać?

_Wojciech_
-
-
Posty:269
Rejestracja:1 kwie 2003, o 20:32
Lokalizacja:Bielsko-Biała
Jaki procesor wybrać?

Postautor: _Wojciech_ » 13 gru 2003, o 12:00

Witam.

Mam do wykonania urządzenie, które (nie wnikając w szczegóły) ma (znaczy ma mieć :) ):
- kilka czujników (powiedzmy zwykłych przycisków),
- potencjometr dziesięcioobrotowy, za pomocą którego zmiania się napięcie płynnie od 0 do +Ucc,
- kilka wyjść (na bramki tranzystorów BC238),
- wyświetlacz.

Chciałem to zrobić na jakimś procesorze (typu 8051).
I teraz jest taki ogrom mozliwości, że nie wiem na co się zdecydować.
Niestety ostatnio procesorami się nie zajmowałem i zatrzymałem się na etapie zwykłego 8051 kilka lat temu.

Co byście polecali i co sobie kupić/ściągnąć?
Czyli generalnie jak to szybko i w miarę bezboleśnie zacząć.


Konkretnie (tak jak pisałem, nie wiem jak się to ma do teraźniejszości):
1. Procesor z wewnętrznym EEPROM i przetwornikiem A/C.
2. Najlepszym językiem do zaprogramowania byłby dla mnie C albo coś około Pascala.
3. Skąd pobrać kompilator?
4. Jaki sobie kupić programator?
5. Książki/www/tutoriale, itp.

Jeszcze bardziej konkretnie: W sumie, to już tego typu urządzenia robiłem, ale parę lat temu i teraz w zasadzie pytam o jakiś konkretny typ procesora, kompilatora, programatora, no i oczywiście gdzie znaleźć opis.

Mam nadzieję, że nie "zakręciłem" za bardzo.
Z góry dzięki za pomoc.

mw
-
-
Posty:242
Rejestracja:23 lut 2003, o 23:22
Lokalizacja:Busko Zdrój
Kontaktowanie:

Postautor: mw » 13 gru 2003, o 14:38

Witam,
Polecam procesory AVR np. w tym przypadku atmege8 ktora ma w sobie przetwornik A/C (10 bitow), eeprom i wiele innych blokow. Co do jego zaprogramowania mozesz uzyc nie tylko asemblera ale takze C czy Bascoma.

Jurek Szczesiul
-
-
Posty:175
Rejestracja:10 paź 2003, o 20:44
Lokalizacja:Białystok
Kontaktowanie:

Re: Jaki procesor wybrać?

Postautor: Jurek Szczesiul » 13 gru 2003, o 15:43

Chciałem to zrobić na jakimś procesorze (typu 8051).
I teraz jest taki ogrom mozliwości, że nie wiem na co się zdecydować.
Niestety ostatnio procesorami się nie zajmowałem i zatrzymałem się na etapie zwykłego 8051 kilka lat temu.
[..]

1. Procesor z wewnętrznym EEPROM i przetwornikiem A/C.
2. Najlepszym językiem do zaprogramowania byłby dla mnie C albo coś około Pascala.
3. Skąd pobrać kompilator?
4. Jaki sobie kupić programator?
5. Książki/www/tutoriale, itp.
Popieram przedmówcę. Jeśli wznawiasz po dłuższym czasie i nie siedzisz na bieżaco w '51 - to IMHO warto przerzucić się na AVR. Taki 'bazowy' uP do niewielkich zastosowań to właśnie wspomniana Atmega8 :
- 512 B eeprom,
- 1kB RAM,
- 8 kB flasha
- wbudowany wewnętrzny oscylator, watchdog, reset
- przetwornik A/C
- sprzętowe wyjścia PWM,
- komparator analogowy
- interfejs SPI
- interfejs i2c
- USART o rozszerzonych możliwościach ( m.in. ustawiana parzystość ze sprzętową detekcją błędów itd. )
- dostępna w smd oraz dip
- możliwa do programowania szeregowego w systemie (ISP ) przy pomocy całej gamy programatorków ( w tym zupełnie prostych i tanich ).

Dodatkowe plusy to wyeliminowanie najsłabszych stron '51 :
- duzo większa szybkość pracy,
- dużo mniejszy pobór prądu,
- inna konstrukcja linii portu - po resecie są one skonfigurowane jako
wejścia o wysokiej impedancji, po skonfigurowaniu jako wyjście mają symetryczną dosyć dużą wydajność prądową.

Zwróć uwagę na znaczny RAM - umożliwia to swobodne posługiwanie się wyższym poziomem ( C ) wymagającym sporego stosu.
Jeśli preferujesz C to masz cały szereg rzeczy :
- CodeVision ( komercyjny )
- ImageCraft ( komercyjny )
- IAR ( wspominam do kompletu, bo _bardzo_ komercyjny )
- avr-gcc ( free bez żadnych ograniczeń - GNU, dostępny pod Win i Lin ).

Potężna ilość materiałów, tutoriali , kodu na www.avrfreaks.net
Po polsku niedawno wydana cała duża książka ( szukaj w EP i btc ).

Pozdrowienia Jurek S.

_Wojciech_
-
-
Posty:269
Rejestracja:1 kwie 2003, o 20:32
Lokalizacja:Bielsko-Biała

Postautor: _Wojciech_ » 13 gru 2003, o 16:19

Wielkie dzięki.

Mam jeszcze takie pytania:
1. Czy możecie podać adresy z jakimiś PDF'ami dotyczącymi AVR?
2. Jaki programator? Chodzi mi o "normalny", nie o ISP (z pewnych wzgledów).
3. Jak czytać (co znaczą) te różne oznaczenia: np. AT90S1200 ?

mw
-
-
Posty:242
Rejestracja:23 lut 2003, o 23:22
Lokalizacja:Busko Zdrój
Kontaktowanie:

Postautor: mw » 13 gru 2003, o 16:52

Nie znam w sieci prostych do wykonania programatorow rownoleglych do tych mikrokontrolerow. Natomiast programator do szeregowego programowania mozna wykonac doslownie w pare minut. Wydaje mi sie ze o mikrokontrolerach AVR znajdziesz wiele informacji na stronie www.atmel.com. Natomiast polecam wartosciawa na ten temat ksiazke BTC "Mikrokontrolery AVR" http://www.btc.pl/index.php?id=avr
at90S1200 jest to typ mikrokontrolera. Z mikrokontrolerow AVR mozesz znalezc glownie typy AT90S, ATMEGA i ATTINY

Jurek Szczesiul
-
-
Posty:175
Rejestracja:10 paź 2003, o 20:44
Lokalizacja:Białystok
Kontaktowanie:

Postautor: Jurek Szczesiul » 13 gru 2003, o 18:39

Wielkie dzięki.

Mam jeszcze takie pytania:
1. Czy możecie podać adresy z jakimiś PDF'ami dotyczącymi AVR?
2. Jaki programator? Chodzi mi o "normalny", nie o ISP (z pewnych wzgledów).
3. Jak czytać (co znaczą) te różne oznaczenia: np. AT90S1200 ?
- właśnie www.avrfreaks.net dział tools, www.atmel.com oczywiście jako strona producenta

- przejrzyj oferty firm wysyłkowych ( moze np. www.propox.com ),
z pewnością coś się znajdzie ( BTW klasyka to cała płyta uruchomieniowa STK500 od Atmela, ale dość droga ). Fakt, że czasem równoległy może być niezastąpiony ( jak coś żle skonfigurujemy i unieruchomimy dostęp ISP ), ale na co dzień ISP z powodzeniem wystarcza - ma wszystkie potrzebne funkcje ( łącznie z zabezpieczaniem programu ). Poza tym niezależnie od pierwotnego sposobu programowania bardzo wskazane jest docelowy układ wyposażyć w wyprowadzenia interfejsu szeregowego (ISP lub JTAG, który maja większe Atmegi ). Może to być jedyna szansa na póżniejsze poprawki programu zwłaszcza przy montażu smd.

- rodzina 90s to już klasyka, powoli wychodząca z produkcji. Nowsze, znacznie udoskonalone serie to Atmega ( większe procesorki, z flagowym 128 - 128 kB flasha i mnóstwo wyposażenia ) i AtTiny ( najmniejsze, od 8-pinowych poczynając ). Jednak większość AtTiny ( poza 26 i zapowiadanym 13 ) nie ma pamięci RAM co zazwyczaj uniemozliwia programowanie w wymagającym stosu C.
Zresztą gdzieś tam na stronie będzie z pewnością ogólne zestawienie, a po szczegóły to już do konkretnych pdf. Nie da się ukryć , że trochę tego jest :-)

Pozdrowienia Jurek S.

_Wojciech_
-
-
Posty:269
Rejestracja:1 kwie 2003, o 20:32
Lokalizacja:Bielsko-Biała

Postautor: _Wojciech_ » 13 gru 2003, o 21:18

Dzięki za odpowiedzi.

I jeszcze jedno: Czy te procesory ATmega 128 są w obudowach DIP 40?
W ofercie www.cyfronika.com.pl widziałem tylko PLCC :x

mw
-
-
Posty:242
Rejestracja:23 lut 2003, o 23:22
Lokalizacja:Busko Zdrój
Kontaktowanie:

Postautor: mw » 13 gru 2003, o 22:22

ATMEGI128 nie ma w obudowach dip40 ale mikrokontrolery ATMEGA8515 czy atmega8535 sa dostepne w dip40. Sa to nowsze odpowiedniki mikrokontrolerow at90S8515 i at90s8535

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

Re: Jaki procesor wybrać?

Postautor: Wojtek » 14 gru 2003, o 15:37

.... Konkretnie (tak jak pisałem, nie wiem jak się to ma do teraźniejszości):
1. Procesor z wewnętrznym EEPROM i przetwornikiem A/C.
2. Najlepszym językiem do zaprogramowania byłby dla mnie C albo coś około Pascala.
3. Skąd pobrać kompilator?
4. Jaki sobie kupić programator?
5. Książki/www/tutoriale, itp.
...
Zerknij tutaj są w tym miejscu odpowiedzi na twoje pytania.

_Wojciech_
-
-
Posty:269
Rejestracja:1 kwie 2003, o 20:32
Lokalizacja:Bielsko-Biała

Postautor: _Wojciech_ » 14 gru 2003, o 17:57

Ale jaja! Nie wiem, może za mało się w tym jeszcze orientuję, ale czytam dokumentację ATmega16 i tam NIE MA rozkazu dzielenia! Przecież DIV jest w standardzie nawet 8051! :o
O co tu chodzi? Mnie jest potrzebny :cry:

Wojtek: Już tą strone w gooooglu namierzyłem :) . Dzięki.

Dexter
-
-
Posty:115
Rejestracja:29 kwie 2003, o 21:38
Lokalizacja:Warszawa
Kontaktowanie:

Postautor: Dexter » 16 gru 2003, o 16:54

Proste dzielenie przez kolejne potegi dwojki mozna latwo zrealizowac instrukcja przesuwania bitow natomias gorzej z innym wartosciami. AVR sa mikrokontrolerami typu RISC wiec pewne operacje robi sie inaczej.
Pozdro
Dexter

_Wojciech_
-
-
Posty:269
Rejestracja:1 kwie 2003, o 20:32
Lokalizacja:Bielsko-Biała

Postautor: _Wojciech_ » 16 gru 2003, o 18:57

No fakt. Trzeba będzie samemu napisać jakąś procedurkę.

Jurek Szczesiul
-
-
Posty:175
Rejestracja:10 paź 2003, o 20:44
Lokalizacja:Białystok
Kontaktowanie:

Postautor: Jurek Szczesiul » 16 gru 2003, o 20:15

No fakt. Trzeba będzie samemu napisać jakąś procedurkę.
No coś Ty.
Nie dodawaj sobie roboty asemblerową arytmetyką - C ma wszystkie potrzebne podstawowe operatory ( w tym oczywiście dzielenie ) a prócz tego biblioteki matematyczne dla bardziej złożonych obliczeń.

Pozdrowienia Jurek S.

_Wojciech_
-
-
Posty:269
Rejestracja:1 kwie 2003, o 20:32
Lokalizacja:Bielsko-Biała

Postautor: _Wojciech_ » 16 gru 2003, o 22:10

O, to bardzo mi to odpowiada!
Tzn. jak napiszę A=B/C; to zadziała? Oczywiście wcześniej zdefiniowane wszystkie A,B,C.
No i oczywiście: (np.) 10/3=3, tak?

Jurek Szczesiul
-
-
Posty:175
Rejestracja:10 paź 2003, o 20:44
Lokalizacja:Białystok
Kontaktowanie:

Postautor: Jurek Szczesiul » 16 gru 2003, o 23:06

O, to bardzo mi to odpowiada!
Tzn. jak napiszę A=B/C; to zadziała? Oczywiście wcześniej zdefiniowane wszystkie A,B,C.
No i oczywiście: (np.) 10/3=3, tak?
Jeśłi zażyczysz sobie wynik dzielenia całkowity to tak.
Jeśli zechcesz mieć rzeczywisty, to używasz dla
wyniku typu double ( oczywiście z dokładnością
ograniczoną sposobem reprezentacji double w pamięci
ale doskonale wystarczającą dla zwykłych potrzeb ).

Pozdrowienia Jurek S.

_Wojciech_
-
-
Posty:269
Rejestracja:1 kwie 2003, o 20:32
Lokalizacja:Bielsko-Biała

Postautor: _Wojciech_ » 17 gru 2003, o 11:24

Łał :o
To liczby rzeczywiste też już można! No to super.
Dzieki za wszystkie wyjaśnienia.

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 103 gości