vilken mikrokontroller bör jag välja till mitt projekt?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av Lennart Aspenryd »

Kunskap är makt!
Det gäller familjer också, att bara byta för att det finns nyare är inte rätt.
Men hur länge skall produkten leva? Alltför få har en dödtid (dags att avsluta projekt), inte bara en deadline.
Så om det finns acceptabel hårdvara, då är det rätt.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av lillahuset »

En nackdel med modernare processorer är att periferienheterna och klockstrukturer och annan infrastruktur är så komplicerad att det kan vara svårt att få igång ett projekt om man är ovan vid just den processorfamiljen. En positiv bieffekt av det är att man brukar kunna få bra mycket mer prestanda.

Att alltid byta till det senaste tror jag är improduktivt. Själv har jag valt ARM-spåret, ARM7, ARM9, Cortex M3, Cortex M4 och tittar lite smått på Cortex M0 för ett projekt som uppfinnaren hävdar att har potential att bli många miljoner. Jag är skeptisk och läser bara lite datablad i solen. :doubt:

När man väljer ny processorfamilj kan det vara bra att tänka på om det finns bra, helst open source, verktyg. Bredden på processorfamiljen kan också vara bra att tänka på. Eventuell uppköpsrisk alternativt att processorerna försviner av någon annan anledning.

Eller också väljer man något man tycker verkar kul. 8)
ToPNoTCH
Inlägg: 4890
Blev medlem: 21 december 2009, 17:59:48

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av ToPNoTCH »

Glattnos skrev:så jag lägger gärna mer krut på övriga delar i projektet än att byta till ett obekant chip. Är det så fel att göra så alltså?
Det beror på hur man ser på det.

Byta till ett obekant chip är ju per definition en engångsföreteelse och inget du gör vid varje projekt.
Man kan ju resonera som så att om man ändå tvingas byta förr eller senare så gör det tidigt så att du kan dra nytta av fördelarna vid fler projekt istället.

Jag har lite svårt att se varför du vurmar över Megan.
Det finns väl massa begränsningar (ex. max 20MHz och dessutom 10MHz i 3.3V läge och 32K flash osv.) som talar emot TS behov.

Att jobba med grafisk display på 32K flash gör väl ingen människa glad.
Glattnos
Inlägg: 2984
Blev medlem: 29 oktober 2009, 20:01:18

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av Glattnos »

Projektet jag började med nu är rätt stort och är väldigt tajt i tid, därför byter jag inte nu, men jag ämnar gå över till 32-bit när jag har mer tid.
TS tänkte ju använda Atmega2560 för 80:- så jag föreslog en annan för 12:- som mötte kraven han nämnde samt att programmeringen och utvecklingsmiljön är i stort sett samma som 2560:an som han redan har lite koll på.

Det går såklart att se det på olika sätt. 20MHz eller 32K flash är inte begränsningar om det räcker. Jag har grafisk 128x64 på flera projekt och det är inga problem om man inte ska ha färgskärm(vilket TS inte sagt att han ska ha), vi vet ju inte alls vad han ska bygga.

Men jag ger mig, vi som bara hållit på med 8-bit ska inte rekommendera något som vi gillar eftersom vi inte vet.
Senast redigerad av Glattnos 15 maj 2018, 20:03:30, redigerad totalt 1 gång.
Användarvisningsbild
Icecap
Inlägg: 26147
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av Icecap »

Jag har kört 8-bit i MÅNGA år - och övergången har varit enkel.
Jag hade en källkod där jag isolerade hårdvara-delen som var en I80C320, sedan skrev jag ny hårdvara-del till en Fujitsu 16-bittare och kompilerade det hela - och det fungerade i första försöket.

Visst, hårdvara-delen hade en del trial-and-error men resten fungerade utan anmärkning.

Så att migrera till mer än 8 bit är mest en fråga om att dels finns et mer hårdvara att leka med och dels går mycket snabbare.
Ja, det blir mer nötande av datablad för att det är ny hårdvara - men allvarligt: kan man starta en UART i en ATmega kan man det i många andre versioner µC också.

Det som kanske kan skrämma är interrupt-prioriteter, mängder av hårdvara och kommer man från PIC16/18 är det oftast en shitload interruptvektorer att ta hand om - men när man har tagit en sak i sände blir det enkelheten själv.

Om man t.ex. som jag ofta använder en UART till att kommunikera med och då har interruptstyrd sändning och mottagning är det lite extra arbete första gången. Sedan har JAG kopierat filen och ändrat registernas namn till att motsvara nästa UART och sparat i en egen fil så nu har jag en fil för UART RS232-1 och UART RS232-2 samt RS485.

Behöver jag endera i ett projekt är det bara att lägga filen för enheten till projektet och allt är klart.

Igen är det totalt likgiltigt om det är en 8-bitars eller annat, det viktiga är att det passar till hårdvaran man använder.

Migrera program från X bit till Y bit = se till att samma funktioner finns till den nya hårdvara och saken är biff.

MEN en brasklapp: LÅT BLI att använda variablerna int & unsigned int.
Menar man int som i 16-bitars variabel är det short som gäller!
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av lillahuset »

Det är inte ofta jag ser någon anledning att säga mot Icecap. Men, använd alltid int8_t .. int64_t och uint8_t .. uint64_t.
qazwsx
Inlägg: 32
Blev medlem: 10 mars 2018, 20:03:10

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av qazwsx »

tack för alla intressanta svar!
Kul att höra alla starka argument för och emot.
jag får ta mig en funderare kring dessa.
Detta med dynamisk pinalokering känns ju som något som kan spara tid på PCB routingen även om det tar längre tid att sätta sig in i en ny utvecklingsmiljö så detta kanske i sig gör det värt bytet..

men om jag skulle välja att byta så vad väljer jag i så fall för något alternativ?
Jag har fått två förslag:
Pic eller STM32

Det känns som jag borde välja ett alternativ med ett starkt community. Så då är kanske PIC ett bra alternativ då som sagt(eller är STM bättre? eller nån annan?).
Men om jag så väljer PIC så vilken PIC borde jag välja?
Jag har tänkt använda denna display (se länk nedan) (vad tycker ni om den för övrigt?).
mikrokontrollen kommer styra displayen, 3 AD omvandlare och 20-25 pinout som sagt.

har alla PIC detta med dynamisk pin allokering? eller vad ska jag söka efter? (vad kallas detta när man söker på digikey exempelvis)
Vilken programmerare bör jag köpa?

Verkligen stor tack för all hjälp! uppskattas verkligen =)

https://www.digikey.se/product-detail/e ... gJhj_D_BwE
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av lillahuset »

Jag säger naturligtvis STM32. PIC32 har självklart också fördelar, antar jag.

Några gissningar:
ARM Cortex M är med stor sannolikhet populäraste 32-bittaren idag.
Cortex M är den 32-bittare som produceras av flest tillverkare.
STM32 är nog den familj av Cortex M som har flest varianter.
STM32 har (sist jag kollade iallafall) den familjemedlem som har högst prestanda, 400MHz, 1M RAM, 2M flash, 64 bit FPU.
Cortex M är troligen den processorfamilj som har flest utvecklingsmiljöer, både betalda och gratis.
Atmel har troligen de billigaste Cortex M, iallafall "low end".

STM32 har dynamisk pinmappning, möjligen är den bättre i PIC32.
STM32 har pinplacering som ofta inte skiljer sig alls mellan varianter, och nästan aldrig skiljer sig speciellt mycket.
STM32 har en väldigt aktiv community på STs hemsida.
STs hemsida suger. :) Eller gjorde det sist jag var där iallafall.

Edit: Efter att ha sett sodjans svar inser jag att jag missade programmeraren.
Satsar du på STM32 köper du bara ett utvärderingskort för processorn så har du en programmerare/debuginterface. En eller ett par hundringar.
Jag skulle tro att detsamma gäller de flesta tillverkarna men jag vet inte säkert.

Korrekt att Atmel numera är en del av Microchip.
Senast redigerad av lillahuset 16 maj 2018, 00:53:56, redigerad totalt 2 gånger.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av sodjan »

> Atmel har troligen de...

Atmel har ingenting sedan ett par år tillbaka, Atmel existerar inte längre.

> Jag har fått två förslag: Pic eller STM32.

Nej, ingen har föreslagit PIC (och inte Pic heller), det var PIC32 som nändes.

> Det känns som jag borde välja ett alternativ med ett starkt community. Så då är kanske PIC ett bra alternativ...

Det som har nämnts i denna tråd är PIC32, vilket är en radikalt annorlunda 32-bitars
processor än de som de allra flesta förknippar med "PIC". Traditionella PIC har en stor
community, PIC32 är en ganska liten marknad i jämförelse. Traditionella PIC och
traditionella AVR är dock förhållandevis lika.

> 3 AD omvandlare...

Alltså 3 st. externa ADC? Du har högre krav än vad de inbyggda erbjuder?


> Men om jag så väljer PIC så vilken PIC borde jag välja?

Med nästan 600 olika (8-bitars) PIC modeller, så är det självklart helt omöjligt
att peka ut en specifik av dessa, det är bara du som sitter på kraven.

Om du väljer 8-bitars AVR så har du 67 modeller att välja på.

Sen har du PIC24 (16-bitars, ca 150 olika modeller) om du vill ha lite mer kraft.
Bra val för de som är inkörda på PIC arkitekturen, men inget naturligt steg från
8-bitars AVR kanske.

Om du bedömer att du behöver gå till 32-bitars processorer, och vill stanna hos
samma leverantör som dina AVR, så har du ca 450 olika ARM baserade och PIC32
baserade modeller.

När det gäller displayen så verkar det vara en KS0108 klon. Inget större problem med
den antar jag. Det beror helt på vad du vill göra med den, vad du ska visa. Ska du bara
visa lite text eller tänker du streama filmer (fungerar sannolikt inte alls på den där)?
Jag är inte intresserad av vilket det är, bara säger att det "beror på"...

> har alla PIC detta med dynamisk pin allokering?

Nej.

> (vad kallas detta när man söker på digikey exempelvis)

Inte en aning. Men sök hos Microchip istället.

> Vilken programmerare bör jag köpa?

Beror på vilken processor du väljer.
limpan4all
Inlägg: 8210
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av limpan4all »

OM du skall byta, byt rejält. En Cortex-M4 har alla prestanda du behöver (och mer därtill). Jag är själv mycket förtjust i Kinetis K66 (tidigare Freescale nu NXP)
https://www.nxp.com/products/processors ... re:K66_180

Snabb som attan, mera periferi än vad man behöver och bra support från tillverkaren. Ooops lite dyrare än vad du tänkt, 120 SEK i 500 kvantitet. Jag har för mig att dom ligger runt 80-100 i 10k...

Men man kan ju alltid titta på småbröderna, fortfarande Cortex-M4 men välj ut hur mycket I/O pinnar/funktioner du behöver.
https://www.digikey.se/products/en/inte ... ageSize=25
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4694
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av Swech »

Tänk på att 80kr x 100st/år trots allt är 8000:- som kan gå rakt ner i din ficka om du gör detta ensam. Många bäckar små...
Lite lyxfällan matte där.... ersättaren är ju inte ingen processor utan kostar säkerligen minst 20:- (troligtvis närmare 40:-)
så då är det 6000:- det handlar om
med 300:- i timmen så är det 20 timmar det får max ta att lära sig den nya häftiga 500+ sidor manuals processorn

Swech
qazwsx
Inlägg: 32
Blev medlem: 10 mars 2018, 20:03:10

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av qazwsx »

>Alltså 3 st. externa ADC? Du har högre krav än vad de inbyggda erbjuder?
Nej, inbyggda. inga krav på speciellt högupplöst. Kanske till och med räcker med komparator.

>Med nästan 600 olika (8-bitars) PIC modeller, så är det självklart helt omöjligt
att peka ut en specifik av dessa, det är bara du som sitter på kraven.

kraven var det jag skrev. 25 I/O, 3 ADC och tillräckligt minne för att styra displayen. (displayen ska bara ha en enkel text meny)
och sedan är väl ett krav att det är något som är rätt "main stream" och lätt att få information kring och finns att kunna köpa ett tag (bl.a. därför jag valde från början atmega2560. denna används för arduino mega och jag tänkte då borde den säljas ett tag framöver..).

Swech: =) ja jag tänkte också på det där.. men samtidigt så får du addera att om den har dynamisk allokering så lär routingen ta mindre tid så där tjänar man in också. och dessutom är det ju investering för framtiden. och förhoppningsvis säljs de längre än atmega2560 (?) Men du har rätt.. rent pengamässigt så går det nog inte räkna hem.
Men känns bara lite fel att utveckla något nytt på en produkt som redan när det utvecklas så säger folk att det är gammalt..
och sedan är ju inte atmega miljön i närminnet heller som sagt. känns också dumt att lägga ner tid på att återlära sig något som folk säger inte finns längre och är gammalt skräp typ..
jäkla atmel...kunde de inte bara fortsatt som förut och ge fasen i att bli uppköpta?.. :x


okej, så då får jag jag börja gräva i vad detta med STM32 och ARM Cortex M är för nått.. för det verkar ju vara det som de flesta förespråkar.
om det är den som ni säger har bättre community resurser etc.
Användarvisningsbild
swesysmgr
Inlägg: 14176
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av swesysmgr »

qazwsx skrev:har alla PIC detta med dynamisk pin allokering? eller vad ska jag söka efter? (vad kallas detta när man söker på digikey exempelvis)
Nej men de flesta nya modeller verkar ha det, gäller bara digitala pinnar dock och helt fritt kan man inte disponera dem. Vissa saker som klocka/oscillator går bara att koppla till vissa pinnar eller inte alls.

Det finns ett lättanvänt grafiskt verktyg för att konfigurera pinnarna (MCC), låg inlärningströskel.

http://microchipdeveloper.com/8bit:pps
qazwsx skrev:Vilken programmerare bör jag köpa?
Jag hade väntat på Pickit4 om du kan. Pickit 3 fungerar bra men försök välja en modell som har stöd för mer än en hårdvaru-brytpunkt i processorn, blir mycket smidigare då. Med de dyrare programmeringsverktygen (ICD) tror jag inte detta spelar någon roll, de ordnar obegränsat med brytpunkter, men ICD kostar tusenlappar när Pickit kostar hundralappar.

8-bitars med mycket minne (mer än 2-3kB) brukade vara väldigt dyra som ATMega 2560 för 90-100kr med 8kB RAM/256kB flash, behöver du verkligen det? Den nyss släppta ATMega4809 ger dig 6kB RAM/48kB flash för 15:- i enstyck (http://se.farnell.com/microchip/atmega4 ... dp/2849259).

Generellt tycker jag att för både PIC och AVR gäller att ju nyare modell desto billigare för samma prestanda/minner/periferi.
Användarvisningsbild
AndLi
Inlägg: 17134
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av AndLi »

qazwsx skrev:>Alltså 3 st. externa ADC? Du har högre krav än vad de inbyggda erbjuder?
Nej, inbyggda. inga krav på speciellt högupplöst. Kanske till och med räcker med komparator.
Sen är frågan också om du behöver en ADC med multiplexad ingång eller tre separata ADC block.
(i.e behöver du läsa av värdena EXAKT samtidigt, eller räcker det att få in värdena i sekvens)

Jag har själv gått över från Atmels 8 bitars till STM32 och det är en oändlig massa fler register att sätta upp, och med en HAL som inte alltid är upplevs helt logiskt. (Som man tur är kan hoppa över och sätta register direkt..)
Användarvisningsbild
Platis
Inlägg: 2464
Blev medlem: 24 november 2009, 20:19:28
Ort: Ljungby

Re: vilken mikrokontroller bör jag välja till mitt projekt?

Inlägg av Platis »

swesysmgr skrev: Jag hade väntat på Pickit4 om du kan.
Verkar redan vara ute! :)
https://www.electrokit.com/produkt/pickit4-debugger/

Infovideo om ATmega4809!


Datablad ATmega3209/4809
Skriv svar