crispus Postat Ianuarie 8, 2013 Partajează Postat Ianuarie 8, 2013 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
Sica001 Postat Ianuarie 8, 2013 Partajează Postat Ianuarie 8, 2013 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
crispus Postat Ianuarie 9, 2013 Autor Partajează Postat Ianuarie 9, 2013 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
one Postat Ianuarie 13, 2013 Partajează Postat Ianuarie 13, 2013 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
crispus Postat Ianuarie 13, 2013 Autor Partajează Postat Ianuarie 13, 2013 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
masterpic77 Postat Ianuarie 29, 2013 Partajează Postat Ianuarie 29, 2013 Depinde ce anume numesti scump . Eu de exemplu am lucrat cu LPC11C14 este pe 32biti , merge pana la 50MHz si are transceiver CAN integrat , la 20RON nu mi se pare scump. Link spre comentariu
one Postat Februarie 1, 2013 Partajează Postat Februarie 1, 2013 Cred ca cel mai simplu ar fi sa folosesti o legatura RS485.Transceiverele se gasesc pe toate drumurile, sunt ieftine, protocolul e simplu, viteza suficienta, imunitate la zgomot. Link spre comentariu
Mindware Postat Februarie 1, 2013 Partajează Postat Februarie 1, 2013 LPC de la NXP. Exemple nenumarate, drivere deja scrise, simplu , usor.... Link spre comentariu
crispus Postat Februarie 4, 2013 Autor Partajează Postat Februarie 4, 2013 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
godFather89 Postat Februarie 5, 2013 Partajează Postat Februarie 5, 2013 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
crispus Postat Februarie 5, 2013 Autor Partajează Postat Februarie 5, 2013 STM32F0 discovery are integrat si programator/debuger integrat si 35 lei fara TVA . 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 Link spre comentariu
masterpic77 Postat Februarie 6, 2013 Partajează Postat Februarie 6, 2013 Crede-ma,documentatia pentru LPC de la NXP este cu muuuuult peste cea de la ST sau Microchip , si eu am incercat sa lucrez cu ST dar m-am lasat pagubas din cauza documentatiei. Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum