mcu plusminus 201x

j s jarin.hw na gmail.com
Čtvrtek Prosinec 1 07:43:24 CET 2011


Od 51-tiek mas 5 kategorii, ale PIC-y su v jednej kategorii, aj ked su
to minimalne 4 dost odlisne architektury, rozdielne asi ako CDP1802 a
MC68000
Premyslam ako to doplnit tak, aby to bolo konzistentne s tym, co mas -
jedine ak by sa nechalo stare delenie s tym, ze ti dopisem nejake
vyhody a nevyhody konkretnych rodin.

Takze:
PIC vseobecne:
+ vsetky PIC pouzivaju tie iste vyvojove nastroje (HW aj SW). Kupis si
ICD3 a zvladnes programovat/ladit vsetko, od osembitov v SOT23 az po
milionnohove 32-bity
+ programovanie a ladenie prebieha po tych istych dvoch drotoch
+ relativne jednoducha migracia trebars zo 16-bitov na 32-bity, dost
konzistentny pinout. konverzia medzi obvodmi v jednej rodine (trebars
PIC18->PIC18) je vacsinou absolutne bezproblemova
+ open-source programator/debugger PicKit2
+ maju dost dobre zvladnute (presne) interne oscilatory
+ skvela podpora vyvoja. Microchip, na rozdiel od Atmelu napriklad,
skutocne podporuje vyvojarov, dodava dost masivne kusy kodu - TCP/IP
stack, FAT library, USB host/device/OTG stack, wireless library,
graphics library (vratane dekompresnych modulov na jpg a gif)
+ MPLABX, ktory bezi na Windows/Linux/MacOS
+ C kompilatory, ktore su aj vo free verziach perfektne pouzitelne
+ da sa kupit 15-20 rokov stary MCU a je pren podpora v najnovsom MPLAB-e
+ ICD3 je rychly debugger a ma vraj dozivotnu zaruku - vymenia ho v
pripade poruchy zadarmo za novy bez skumania hlbsej priciny. asi to
nebude platit pre zariadenie evidentne prejdene traktorom :-) cena je
velmi priazniva - cca 140EUR (dec. 2011)
- pomaly miznuca podpora pre PicKit2 (ale existuje pren viacero
open-sourced alternativ)
- nove obvody maju casto dost nechutny errata list, takze po uvedeni
obvodu treba chvilku pockat kym sa vychytaju prve kremikove revizie

PIC16F:
- stara architektura, nech to radsej nikto nepouziva (a to hovorim ako PIC-kar)

PIC16F1:
+ vylepsena PIC16 architektura, ma niektore znaky z PIC18
+ viac periferii, vykonu a pamate, ale mensi prikon nez PIC16
+ nizsia cena nez PIC16
- aj tak si nesie pomerne znacne negativne dedicstvo z PIC16

PIC18:
+ stale pokracujuci vyvoj, nove typy su pomerne nadupane
+ u novsich typov PPS - peripheral pin select, teda periferie si
kedykolvek namapujes na tie piny, na ktore potrebujes. naramne to
zjednodusuje routovanie plosnych spojov, prinajmensom
+ davno dostupne typy s USB rozhranim
+ velmi flexibilne clockovanie a nizka spotreba
+ PIC18 si dokaze pripojit externu pamat (max 2MB) ako programovu, ale
da sa do nej jednoducho pristupovat aj datovo.
- RAM konci na 4kB, viac asi uz len bankovanim (alebo jednoducho sa da
pouzit vyssi model)

PIC24:
+ je to 16-bit, vychadza z DSP typu PIC30F, ale maju odstranene DSP
instrukcie, saturovatelne akumualtory a podobne DSP opicky
+ cena asi ako za 8-bit, dost rozumny kompromis na vacsinu aplikacii,
kde clovek nechce davat 32-bit (kvoli puzdru, spotrebe alebo
nabozenskemu presvedceniu)
+ mnoho typov ma PPS
+ kopa periferii, USG OTG
+ robia sa aj v DIP puzdrach (od DIP14 do TQFP144), je to dobre na
prototypovanie
+ relativne mala spotreba
+ vykonovo porovnatelne s Cortex M0

dsPIC33:
+ lowcost DSP, 40MIPS
+ dsPIC33FJ128GP802 - 128kB FLASH, 16kB RAM v DIP28, parada na prototypovanie
- pomerne vysoka spotreba

PIC32:
+ M4K MIPS jadro, vyssi vykon ako porovantelne ARM Cortex M3
+ 128kB RAM na cipe
+ mnozstvo periferii - je toho tak vela, ze ani nebudem spominat
+ upgrade na ceste (dec. 2011) - bude PIC32 s M14K jadrom
- nemaju PPS
- zatial mizerna podpora pre externe pamate


Dalej, su tam veci, ktore platia len obmedzene, napriklad:
- jednoucelovy (uzivatelovi nepristupny) stack
- casti uzivatelov vadi jednoducha architektura, ktora pri vacsich
typoch prinasa
  komplikacie (napr. bankovanie).
plati len pre 8-bity - PIC18 a nizsie. u tych PIC18 to plati len s vyhradami
-- pomaly ICD2 (pro ladeni rosahlych aplikaci je to mizerie)
toto uz davno neplati, odkedy je na svete ICD3
- slabsi podpora vyvoje
absolutne nechapem co to ma byt... ale mozno je chyba vo mne :-)

----------------------------------------------------------------------------

Nakolko som musel robit jeden projekt s AVRkami, a uveris mi asi, ze
to bolo so zatatymi zubami, dovolil by som si prispiet aj sem:
- najdebilnejsie kombinacie ladiacich a programovacich metod ake som
kedy videl - ISP, JTAG, DebugWire, HV programming, lahko sa da MCU
omylom uviest do "mrtveho stavu" jednou metodou, ale z neho sa da
dostat inou metodou, JTAG a ISP zozeru urcite viac IO liniek ako ICSP
pre PIC; pre pouzivanie dW zas treba mat aj pristupne ISP. Kto a preco
vymyslel tento bordel?

dalej toto
+ Levná součástková základna (ATmega8 za 78Kč 30Kč, PIC16F628 -
nesrovnatelně horší
  procesor co do periferií za 68 Kč)
neplati az tak jednoznacne - sice dnes (dec. 2011) Atmega8 dnes stoji
okolo 70centov za stovkove mnozstva, 18F25K22 (o dost lepsi typ) stoji
okolo 1,4EUR; ale atmega64A stoji okolo 2EUR, ale 18F46K22 stoji tolko
isto alebo o nieco menej. Porovnanie mega8 a 16F628 je klasika
miesania hrusiek s jablkami


J.S.


2011/11/30 Jan Waclawek <konfera na efton.sk>:
> Ozaj, ked sa to uz spomenulo, nema niekto chut doplnit - v tom istom duchu, t.j. plusy a minusy?
>
> http://efton.sk/sk/mcuplusminus.htm
>
> wek
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list