Sari la conținut
ELFORUM - Forumul electronistilor

Ajutor alegere microcontroller


crispus

Postări Recomandate

Trebuie sa aleg un microcontroller pentru aplicatie in care vor exista mai multe microcontroller-e (la distante de maxim 0.5-1m) si care sa comunice intre ele. Fiecare microcontroller e responsabil de o anumita parte a ansamblului. Timpul de raspuns intre microcontrollere ar trebui sa fie de ordinul zecilor de ms.Conditiile pe care ar trebui sa le indeplineasca ar fi:- cat mai ieftin- suport pentru SPI / I2C / sau oricare alta metoda de comunicare intre microcontrollere- sa aiba 8+ pini intrare / iesire (citire senzori, comanda pentru un motor)- preferabil capsula smd, dar care sa poate fi lipita manual relativ usor- as prefera parca microcontrollerele pe 32 biti.Mi-a atras atentia ARM Cortex-M0. E aproximativ la fel de ieftin ca si microcontrollerele pe 8 biti, dar e pe 32 biti, cu tot felul de periferice, iar capsula LQFP e acceptabila...Am cautat scheme in care sa gasesc echivalentul la aprins leduri pentru cortex-m0 si nu prea am gasit. Cred ca e mai productiv sa iau niste placi de dezvoltare gata facute pana ma familiarizez, si eventual apoi sa construiesc singur circuitul de care am nevoie.Deci, aveti sugestii pentru o placa de dezvoltare ieftina care sa pot comunica pe SPI/I2C/etc si usor de folosit? :rade:Vreun producator recomandat?O alta metoda mai eficienta de comunicare intre microcontrollere?Orice sugestie e binevenita.Multumesc.

Link spre comentariu
  • Răspunsuri 11
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • crispus

    5

  • one

    2

  • masterpic77

    2

  • Sica001

    1

Top autori în acest subiect

Din cate am citit eu (dar poate gresesc) ARM Cortex-M0 este procesor nu microcontroller. Oricum alegerea nu cred ac e dificil - alegeti din familia de microcontrollere cu care sunteti familiarizat. Specificatile cerute cam orice microcontrolere de 8 biti le indeplineste. Comunicarea daca nu sunt foarte multe e ok si SPI( ex. 5 slave + 1 master - > master 3 pini SPI (SDO,SDI,SCK) + 5 pini enable. selectia slave-ului se face printr-un fir direct intre master si fiecare slave) dar I2C sau 9bit UART ar merge.Sica

Link spre comentariu

Cortex-M sunt intentionate aplicatiilor cu microcontrollere. Oricum, linia dintre procesoare sau microcontrollere e din ce in ce mai putin distinctiva...

 

Referitor la comunicarea dintre ele: nu am gasit nicaieri care e maximul de dispozitive slave. Dar avand in vedere ca e doar unul activ la un moment dat, cred ca pot sa fie oricate poti selecta din master. Si daca as folosi un demultiplexor, cu 4 pini as putea controla 16 dispozitive ceea ce ar fi acoperitor.

Link spre comentariu

Nu ai spus nimic despre viteza de comunicatie nici despre numarul maxim de controllere. Pentru aplicatiile mele, eu m-am orientat catre CAN. Este un protocol robust, relativ simplu, nu necesita managementul coliziunilor, dispozitive pentru analiza-debugging sunt relativ accesibile. Nu ar fi foarte ieftin insa poti folosi un microcontroller cu CAN inclus sau SPI si faci circuitul de CAN extern.Controllere cu CAN inclus: AT90CAN32/64/128, PIC18Cx58, STM32, etc.Interfata CAN pe SPI: MCP2515iti mai trebuie transceiverul.. exemplu MCP2551.Altfel, daca ai un master si mai multi slave.... e mai simplu sa faci un 485

Link spre comentariu

Numarul maxim de controlere nu e foarte bine definit. 16 cred ca e un numar acoperitor. Dar pentru aplicatia mea, masterul comunica cu doar 1 singur controler la un moment dat. Singurul lucru dezirabil ar fi posibilitatea ca oricare "slave" sa poata notifica cumva masterul.

 

Daca pot trimite un mesaj in ~ 1ms ma declar multumit. Un mesaj n-o sa fie mai lung de 8 octeti. Deci ceva de genul 64 kbps+, 100 kbps cred ca ar fi suficient. Nu e foarte importanta comunicarea, adica nu e critica. Fiecare controler e autonom si e responsabil de bucata lui. Masterul ii spune doar cand sa inceapa, si apoi citeste status-ul. Intr-o faza ulterioara, daca ar fi posibil pe acelasi bus, masterul sa poata face update la codul program pe slave. Nu stiu cat de fezabil e...

 

Am avut ceva tangenta la un moment dat cu CAN. Mi-a placut. Singurul dezavantaj e costul: controlerele ce suporta CAN sunt semnificativ mai scumpe. Dar ca idee imi place cel mai mult.

 

Am citit un articol interesant despre I2C cum poti mari imunitatea la zgomot si distanta: fiecare controler accesa "bus-ul" prin niste translatoare de nivel izolate galvanic. E interesanta ideea.

http://www.nxp.com/documents/leaflet/75016081.pdf

Link spre comentariu
  • 3 săptămâni mai târziu...

Am luat o placuta de dezvolare de la STMicroelectronics, STM32F0Discovery dar incep sa regret. Mi se pare ca documentatia nu e bine structurata.Ma chinui de cateva zile bune sa fac sa comunic prin SPI cu raspberry si nu reusesc sa-l configurez sa mearga ca slave. Ca master, pot sa citesc ce am scris daca am conectat MISO cu MOSI. Si n-am gasit nici un exemplu cum se configureaza sa mearga. Am gasit doar oameni care nu reusesc sa-l configureze...Aveti un exemplu de RS485? Am vazut ca ar putea fi configurat ca full duplex daca se folosesc 4 fire.La USART se conecteaza transceiver-ul de 485 si gata?

LPC de la NXP. Exemple nenumarate, drivere deja scrise, simplu , usor....

Ai folosit microcontrolere din seria LPC? Documentatia / exemplele sunt mai bine structurate?Multumesc.
Link spre comentariu

Eu folosesc Cortex-M0+ de la Freescale (FRDM-KL25Z sau FRDM-KL05Z). Pentru cca. 50 ron (fara TVA) ai programator si debugger integrat pe placuta.Ai si un IDE customizat de freescale ce vine cu GCC si ceva plugin-uri pentru dezvoltare rapida, totul gratuit. Din pacate, este o limita la dimensiunea maxima compilata.Oricum, eu zic ca isi merita banii.Momentan am KL05Z (vreau sa fac un proiect ce trebuie sa consume foarte putin, si nu e nevoie de resurse foarte multe) dar o sa imi iau in curand si KL25Z.

Link spre comentariu

STM32F0 discovery are integrat si programator/debuger integrat si 35 lei fara TVA :d. Il folosesc cu Eclipse si gcc fara nici o limitare. Debug-ul il fac cu Eclipse si OpenOCD si merge foarte bine. Mie imi trebuie ~50 GPIO, cu cat mai multe surse externe de intrerupere pentru ce vreau sa fac. Ca si specificatii, sunt foarte multumit. In schimb, documentatia mi se pare destul de prost comparativ cu cele de la Microchip de exemplu.Motivul care am ales ST a fost pretul mic al placii de dezvoltare. E sub pretul componentelor. In license agreement, aia specifica foarte clar ca n-ai voie sa folosesti placutele in alte scopuri decat de evaluare a microcontroler-ului :rade:

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări