-
41. Data: 2012-07-07 16:22:47
Temat: Re: Popularność mikrokontrolerów
Od: Sebastian Biały <h...@p...onet.pl>
On 2012-07-07 12:05, Mario wrote:
> Skoro chcesz trzymać się tego klasycznego podziału
Kiedyś "klasycznie" to bylo bardzo prosto: mikrokontroler dziala
zazwyczaj tylko na zasilaniu. Mikroprocesor musi mieć masę układów
wspomagających do pracy.
-
42. Data: 2012-07-07 16:58:52
Temat: Re: Popularność mikrokontrolerów
Od: Marek Borowski <m...@...borowski.com>
On 07-07-2012 16:16, Sebastian Biały wrote:
> On 2012-07-07 11:28, Marek Borowski wrote:
>>> To bardziej informatyka niż elektronika. Szczególnie te większe.
>> Jeszcze nie spotkalem nikogo kto ma pojecie o programowaniu
>> niskopoziomowmym a nie poznal asemblera w dosc wczesnej fazie nauki.
>
> Ja natoamist spotkalem w życiu 2 osoby które programując mikrokontrolery
> miały pojęcie o programowaniu w ogóle (od asm po języki funkcyjne). Z
> tego taki wniosek że albo marny programista albo marny elektronik.
Bo malo kto po skonczeniu pozadnej uczelni laczacej elektronike z
informatyka programuje uC.
Ale jak widac sa wyjatki i obaj chyba zgadzamy sie iz w nalezy laczyc
obie umiejetnosci. Moze z dokladnoscia co do tego ktora jest bardziej
istotna :-).
Pozdrawiam
Marek
-
43. Data: 2012-07-07 18:02:00
Temat: Re: Popularność mikrokontrolerów
Od: "J.F." <j...@p...onet.pl>
Dnia 07 Jul 2012 12:26:51 GMT, Jarosław Sokołowski napisał(a):
> W tym arbitralnym rozróżnieniu Z80 może być elementem mikrokontrolera,
> albo elementem mikrokomputera CP/M. Rzecz w tym, że mało sensowne jest
> (i zawsze było) użycie CP/M na Z80 do sterowania windą, a ARM z Linuksem
> w podobnych zastosowaniach, to już nie jest zły pomysł.
A nie odwrotnie ?
CP/M ma podobna zalete jak MS-DOS - nie przeszkadza :-)
Tylko to po prostu kompletnie oplacalne wstawiac naped dyskietek zamiast
(EP)ROM z programem.
Natomiast linux ... a po cholere on w sterowniku do windy ?
>> W miare rozwoju powstaja i male systemy na typowe uC.
>Co to jest ten "typowy uC"?
Na tyle popularny i o duzych mozliwosciach, zeby sie oplacilo sie system
wymyslac i tworzyc.
>Jeśli jest nim np. ARM czy coś równie
>mocnego, to podejście "bezsystemowe" w ogóle schodzi na margines.
Ale to z innych powodow IMHO - sterownik do windy, a jak ma miec USB na
pokladzie do diagnostyki, i BT zeby serwis nie musial chodzic po drabinie,
i ethernet zeby pracowac w sieci z innymi sterownikami, i podlaczony ma byc
do systemu inteligentnego budynku, i miec webserver dla zarzadcy, i
oczywiscie TCP/IP do tego potrzebne , i jeszcze gniazdo na karty SD - to
niestety oprogramowanie tego wszystkiego kosztuje, a w systemie w cenie..
J.
-
44. Data: 2012-07-07 18:20:19
Temat: Re: Popularność mikrokontrolerów
Od: "J.F." <j...@p...onet.pl>
Dnia Sat, 07 Jul 2012 13:44:05 +0200, Sebastian Biały napisał(a):
> On 2012-07-07 10:51, J.F. wrote:
>> Jak ktos zrozumie 51, to zrozumie i inne.
> Nie. Jak ktoś zrozumie '51 to mu już tak zostanie. Czyli: bedzie pisał w
> asm (bo tak jest nawygodniej)
Na ARM tez jes asm :-)
> z kompilatorów bedzie znal jeden, ktory
> obsługuje jakiś mało znany dialekt C, a w rozmowach będzie rzucał
> hasłami o jakiś mitycznych, produkowanych na innych planetach '51 które
> mają zegary 50MHz, tylko ich nikt nie stosuje, ale *SĄ* jak by co.
Te army to tez sa, sa, tysiace, tylko kupic je trudno :-)
> To zostawia piętno na całe życie.
Zalezy od nacisku w edukacji. Tak to raczej mowi ktos z dluzszym stazem i
dorobkiem, kto wie ze postawiony mu projekt moze rozwiazac szybko (z
wykorzystaniem wczesniejszych programow), albo przyjdzie mu sie uzerac.
> Przeoczy: debugowanie w systemie,
Na maszynie debugowac moze byc trudno. Moze wymagac odpowiednio szybkiej
obslugi.
> nowoczesne kompilatory,
gcc sprzed 30 lat ? :-)
> RISC
A to jakas istotna roznica ? Moze sie tylko wscieknie ze paru przydanych
rozkazow brakuje.
> i rdzen projektowany dla programistów a nie dla programatorow w asm.
Zdaje sie ze na poczatku zarzucales pisanie w asm - o co cie teraz
architektura obchodzi ? Piszesz w C, i nie masz pojecia czy jest RISC czy
CISC, czy rdzen jest dla programistow czy programatorow :-)
Czasem tylko bedziesz sie dziwil po co jakies dziwnie instrukcje, albo
czemu nowoczesny kompilator taki niewydajny :-)
J.
-
45. Data: 2012-07-07 18:36:27
Temat: Re: Popularność mikrokontrolerów
Od: "J.F." <j...@p...onet.pl>
Dnia Sat, 07 Jul 2012 13:39:04 +0200, Sebastian Biały napisał(a):
> On 2012-07-07 11:18, J.F. wrote:
>> A tak swoja droga to mnie troche dziwi ze nie rozpowszechnily sie uC oparte
>> o popularne architektury - np 8086.
>
> Z80 jest na tyle blisko że nie widać różnicy więc po co przepłacać?
> Jesli chcesz sobie strzelić w stopę to Z80 nadaje się do tego idealnie.
tez sie nie rozpowszechnil w tej roli.
A byl jednak sporo gorszy.
>> Wydawaloby sie ze w miare postepu nie
>> powinno byc problemow ze zmieszczeniem, mozna zreszta odchudzic o pare
>> instrukcji, a przy niewielkiej ilosci pamieci, rzedu paru razy po 64kB,
>> programuje sie to to calkiem przyjemnie.
>
> Weźmy spieprzony procesor 16 bitowy i potraktujmy go jak nie popsuty
> procesor 8bitowy. Eeee, panie ... po cholere.
bo czesto czysty 8-bitowy nie jest wystarczajacy. Zreszta i 8080 i Z80
wykraczaly poza "8 bit".
Poza tym masz sprawdzona konstrukcje, masz biegle kadry, masz narzedzia -
czemu niewykorzystac ?
Tylko cena 186/188 zawazyla, czy one jednak za malo uC przypominaly ?
J.
-
46. Data: 2012-07-07 18:46:30
Temat: Re: Popularność mikrokontrolerów
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan J.F. napisał:
>> W tym arbitralnym rozróżnieniu Z80 może być elementem mikrokontrolera,
>> albo elementem mikrokomputera CP/M. Rzecz w tym, że mało sensowne jest
>> (i zawsze było) użycie CP/M na Z80 do sterowania windą, a ARM z Linuksem
>> w podobnych zastosowaniach, to już nie jest zły pomysł.
>
> A nie odwrotnie ?
Praktyka pokazuje, że nie.
> CP/M ma podobna zalete jak MS-DOS - nie przeszkadza :-)
> Tylko to po prostu kompletnie oplacalne wstawiac naped dyskietek zamiast
> (EP)ROM z programem.
A teraz (wiele lat po pogrzebie CP/M) opłacalne jest wstawianie tylu
zasobów, że korzysta się z jakichś 2%.
> Natomiast linux ... a po cholere on w sterowniku do windy ?
Można powiedzieć, że po nic -- tak jak CP/M i MS-DOS, Linux również nie
przeszkadza. Ale jednak po coś -- zostało to opisane niżej.
>>> W miare rozwoju powstaja i male systemy na typowe uC.
>> Co to jest ten "typowy uC"?
>
> Na tyle popularny i o duzych mozliwosciach, zeby sie oplacilo sie system
> wymyslac i tworzyc.
Tak, to chyba dość rzadko. Nikomu się nie chce wymyślać i tworzyć systemu
od podstaw. A tam gdzie się da, wstawia się gotowy, który jest za darmo.
Czyli coś uniksowatego, przeważnie linux, czasem bsd.
>> Jeśli jest nim np. ARM czy coś równie mocnego, to podejście
>> "bezsystemowe" w ogóle schodzi na margines.
>
> Ale to z innych powodow IMHO - sterownik do windy, a jak ma miec USB na
> pokladzie do diagnostyki, i BT zeby serwis nie musial chodzic po drabinie,
> i ethernet zeby pracowac w sieci z innymi sterownikami, i podlaczony ma byc
> do systemu inteligentnego budynku, i miec webserver dla zarzadcy, i
> oczywiscie TCP/IP do tego potrzebne , i jeszcze gniazdo na karty SD - to
> niestety oprogramowanie tego wszystkiego kosztuje, a w systemie w cenie..
Nie tyle "ma mieć", co "może mieć za śmieszne pieniądze". Jak może mieć,
to się robi -- żeby było wygodniej. A z systemem zawsze jest wygodniej
niż bez systemu. Nawet jeśli nie chcę mieć USB, BT itd.
--
Jarek
-
47. Data: 2012-07-07 18:57:38
Temat: Re: Popularność mikrokontrolerów
Od: Michoo <m...@v...pl>
On 07.07.2012 12:38, Mario wrote:
> W dniu 2012-07-06 17:50, Michoo pisze:
>> On 06.07.2012 17:22, janusz_kk1 wrote:
>>> Dnia 06-07-2012 o 13:39:15 Michoo <m...@v...pl> napisał(a):
>>>
>>>> AVR - bo ma niezłą wartość dydaktyczną a jednocześnie nie odrzuca,
>>>> dużo przykładów w sieci, dostępne w DIPie
>>> Koszmarny asembler, z tego powodu polecam 51 albo jeszcze lepiej Z80 :)
>> Brrr. Po co na początku uczyć assemblera?
>>
>
> Przy okazji zaznajamiania z listą rozkazów. Trudno uczyć budowy i zasady
> działania mikroprocesora/mikrokontrolera bez stosowania rozkazów
> procesora.
Po co inżynier potrafiący zaprojektować/zaimplementować system
mikroprocesorowy ma znać "bebechy procesora"? To jest broszka
projektanta procesorów - nauki mechanika samochodowego nie zaczynamy
przecież od górnictwa i przetwórstwa stali i ropy.
Rozumiem jeszcze kogoś zaawansowanego[1], kto potrzebuje znać
architekturę, sposób działania użytej magistrali, peryferia w
procesorze, bo coś robi na FPGA z microblaze/openrisc/etc.
Nie rozumiem po co ktoś, kto się uczy podstaw uC ma wiedzieć jaki jest
dokładnie pipeline w procesorze, skoro tego nie widzi a interesująca i
potrzebna jest informacja np.:
- najszybszy na te architekturze typ zmiennej to (u)int16_t
- 2 cykle na rozkaz
- nie używać floating-point jeżeli nie jest to _konieczne_
- nie używać busy-wait jeżeli można to zrobić inaczej (automaty
skończone + zegar)
- wykorzystywać przerwania gdzie się da
- dokumentować przebieg algorytmu
- przy częstotliwościach zegara powyżej xxx MHz krytyczne czasowo
funkcje oznaczać yyy przy czym należy skontrolować czy to za bardzo nie
uszczupla ramu.
[1] Raczej na studiach magisterskich, albo bardzo specyficznym kierunku
inżynierskich.
> A assembler to po prostu bardziej czytelny zapis kodu
> maszynowego.
Ale zaczynanie od kodu maszynowego prowadzi do "liczenia cykli" i
przesadnego komplikowania programu. Optymalizację należy przeprowadzać
gdy jest to potrzebne, a nie od początku tworzyć "unmaintainable code".
--
Pozdrawiam
Michoo
-
48. Data: 2012-07-07 21:16:14
Temat: Re: Popularność mikrokontrolerów
Od: Mario <m...@p...onet.pl>
W dniu 2012-07-07 14:26, Jarosław Sokołowski pisze:
> Pan Mario napisał:
>> W dniu 2012-07-06 14:08, Jarosław Sokołowski pisze:
>>> Pan roman rumian napisał:
>>>
>>>>> Wydaje się, ze obecnie przyszłość procesorów należy do ARM (cortex)!
>>>>
>>>> Niewątpliwie, ale z kolei wątpię, czy to jest dobry start dla świeżego
>>>> absolwenta liceum czy gimnazjum.
>>>
>>> Pytanie trzeba uściślić. Czy chodzi o popularność mikrokontrolerów, czy
>>> mikroprocesorów? Subtelną różnicę zdefiniowałbym na lokalny użytek w ten
>>> sposób: do mikrokontrolera pisze się "wsad", a mikroprocesora używa się
>>> z jakimś systemem operacyjnym, do którego dodaje się swoje programy
>>> użytkowe. Kości ARM zdecydowanie częściej wykorzystuje się jako
>>> mikroprocesory.
>>
>> Skoro chcesz trzymać się tego klasycznego podziału to weź pod uwagę że
>> mikrokontroler to mikroprocesor wyposażony w zegar, timer, kontroler
>> przerwań porty I-O, porty komunikacyjne. Mikrokontrolerem jest bez
>> wątpienia 51, a ARMy posiadają dużo innych peryferiów, więc bardziej
>> zasługują na miano mikrokontrolera. To że ktoś do nich dokłada pamięć
>> RAM i kontroler grafiki to jest raczej kaprys a nie konieczność. Może
>> pełnić rolę wyspecjalizowanego komputera bez tych dodatków.
>
> Czy ja wiem, czy ja się trzymam klasyki -- wyżej wymieniony podział
> opiera się o kryteria organizacji hardware, mój jest software'owy.
> W tym arbitralnym rozróżnieniu Z80 może być elementem mikrokontrolera,
> albo elementem mikrokomputera CP/M. Rzecz w tym, że mało sensowne jest
> (i zawsze było) użycie CP/M na Z80 do sterowania windą, a ARM z Linuksem
> w podobnych zastosowaniach, to już nie jest zły pomysł.
>
Ale nie wiem po co wprowadzać własną definicję gdy jest już powszechnie
przyjęta. Poza tym twoja definicja jest nieprecyzyjna. Według niej to
ARM w Raspberry Pi jest mikroprocesorem. A jeśli ten sam procek wlutuję
w swoją płytkę i wszystkie potrzebne funkcje wrzucę w main to będzie to
mikrokontroler. A co jak zastosuję Freertosa? Czy to nadal będzie
mikrokontroler czy już mikroprocesor. Tak wiec stosując twoją definicję
nie wiem czy kupując ten mikroukład w sklepie to kupuję mikrokontroler
czy mikroprocesor.
-
49. Data: 2012-07-08 00:11:29
Temat: Re: Popularność mikrokontrolerów
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Mario napisał:
>>>>>> Wydaje się, ze obecnie przyszłość procesorów należy do ARM (cortex)!
>>>>>
>>>>> Niewątpliwie, ale z kolei wątpię, czy to jest dobry start dla świeżego
>>>>> absolwenta liceum czy gimnazjum.
>>>>
>>>> Pytanie trzeba uściślić. Czy chodzi o popularność mikrokontrolerów, czy
>>>> mikroprocesorów? Subtelną różnicę zdefiniowałbym na lokalny użytek w ten
>>>> sposób: do mikrokontrolera pisze się "wsad", a mikroprocesora używa się
>>>> z jakimś systemem operacyjnym, do którego dodaje się swoje programy
>>>> użytkowe. Kości ARM zdecydowanie częściej wykorzystuje się jako
>>>> mikroprocesory.
>>>
>>> Skoro chcesz trzymać się tego klasycznego podziału to weź pod uwagę że
>>> mikrokontroler to mikroprocesor wyposażony w zegar, timer, kontroler
>>> przerwań porty I-O, porty komunikacyjne. Mikrokontrolerem jest bez
>>> wątpienia 51, a ARMy posiadają dużo innych peryferiów, więc bardziej
>>> zasługują na miano mikrokontrolera. To że ktoś do nich dokłada pamięć
>>> RAM i kontroler grafiki to jest raczej kaprys a nie konieczność. Może
>>> pełnić rolę wyspecjalizowanego komputera bez tych dodatków.
>>
>> Czy ja wiem, czy ja się trzymam klasyki -- wyżej wymieniony podział
>> opiera się o kryteria organizacji hardware, mój jest software'owy.
>> W tym arbitralnym rozróżnieniu Z80 może być elementem mikrokontrolera,
>> albo elementem mikrokomputera CP/M. Rzecz w tym, że mało sensowne jest
>> (i zawsze było) użycie CP/M na Z80 do sterowania windą, a ARM z Linuksem
>> w podobnych zastosowaniach, to już nie jest zły pomysł.
>
> Ale nie wiem po co wprowadzać własną definicję gdy jest już powszechnie
> przyjęta.
Ponieważ nie wiedziałem jaka jest ogólnie przyjęta, podałem taką, która
jest pomocna przy odpowiedzi na pytanie o wybór chipa w kontekscie jego
popularności.
> Poza tym twoja definicja jest nieprecyzyjna.
Ależ skąd! Niezwykle ostro dzieli dziedzinę na dwie klasy abstrakcji.
> Według niej to ARM w Raspberry Pi jest mikroprocesorem.
Prawda.
> A jeśli ten sam procek wlutuję w swoją płytkę i wszystkie potrzebne
> funkcje wrzucę w main to będzie to mikrokontroler.
Święta prawda.
> A co jak zastosuję Freertosa? Czy to nadal będzie mikrokontroler czy
> już mikroprocesor.
Łatwo się domyśleć, że mikroprocesor.
> Tak wiec stosując twoją definicję nie wiem czy kupując ten mikroukład
> w sklepie to kupuję mikrokontroler czy mikroprocesor.
Jak kupuję mikroukład celem wlutowania jej samodzielnie zaprojektowaną
płytkę i załadowanie kodu ze wszystkimi funkcjami wrzuconymi w main,
to mikrokontroler. A jeśli kupuje płytkę Rapsberry Pi (z tym samym
mikroukładem), to jest to mikrokomputer. W mikrokomputerach są
mikroprocesory.
--
Jarek
-
50. Data: 2012-07-08 00:18:04
Temat: Re: Popularność mikrokontrolerów
Od: Kernel Panic <n...@l...nope>
W dniu 2012-07-07 16:58, Marek Borowski pisze:
> On 07-07-2012 16:16, Sebastian Biały wrote:
>> On 2012-07-07 11:28, Marek Borowski wrote:
>>>> To bardziej informatyka niż elektronika. Szczególnie te większe.
>>> Jeszcze nie spotkalem nikogo kto ma pojecie o programowaniu
>>> niskopoziomowmym a nie poznal asemblera w dosc wczesnej fazie nauki.
>>
>> Ja natoamist spotkalem w życiu 2 osoby które programując mikrokontrolery
>> miały pojęcie o programowaniu w ogóle (od asm po języki funkcyjne). Z
>> tego taki wniosek że albo marny programista albo marny elektronik.
> Bo malo kto po skonczeniu pozadnej uczelni laczacej elektronike z
> informatyka programuje uC.
Możesz rozwinąć tą myśl?
Pozdrawiam!