Sari la conținut
ELFORUM - Forumul electronistilor

Sistem de dezvoltare modular pentru MCU


Vizitator Chupacabra

Postări Recomandate

Vizitator Chupacabra

Propun realizarea unui sistem de dezvoltare modular pentru microcontrollere asemanator cu "Arduino" sau "Freescale Tower". Principala diferenta fata de sistemele deja existente va fi "universalitatea", fara constrangerea de a folosi doar o anumita familie de microcontrollere.

 

Va exista o placa pricipala (mainboard) ce va contine microcontrollerul dorit impreuna cu partea de alimentare si oscilator(quartz). Toti pinii utili ai MCU vor fi rutati catre placile modulare secundare printr-un sistem de conectori. Pe placile secundare vor fi construite diverse sisteme ce se vor a fi conectate la MCU, asemanatoare cu "shield"-urile Arduino ( porturi RS232 cu MAX232, porturi Ethernet cu ENC28J60, memorii EEPROM,FLASH pe SPI sau I2C etc. ).

 

Pana aici nu e nimic diferit fata de sistemele existente. Pentru a putea fi un sistem universal, toate semnalele I/O utile ale circuitelor secundare vor trebui sa poata fi conectate la oricare dintre pinii MCU, astfel incat sa poata fi folosit orice MCU. Va trebui gasita o metoda eleganta pentru a face acest lucru.

 

Avantajul acestui sistem modular este ca se pot realiza diverse placi secundare universale si fiecare utilizator va fi nevoit sa-si proiecteze doar placa pricipala cu microcontroller-ul dorit, fara nici o restrictie.

 

Eu am lucrat pana acum cu PIC si de curand am trecut si la ARM Cortex M3 ( STM32). Voi realiza in limita timpului disponibil acest sistem, putem discuta configuratia sistemelor secundare, poate gasim o metoda ca toti cei interesati sa intre in posesia placilor secundare dorite dupa ce vor fi proiectate si realizate.

 

As dori propuneri/sugestii despre dimensiuni, conectori, solutii etc.

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

Top autori în acest subiect

  • bbogdanmircea

    9

  • MifTy

    1

  • nooob64

    1

Top autori în acest subiect

Imagini postate

Vizitator clausundercover

Ideea e interesanta la nivel teoretic, dar foarte greu de implementat in practica. O solutie mecanica (switch-uri) ar fi prima la care m-as gandi, dar complexitatea de a mapa 16 pini MCU la 16 pini extension board oricare la oricare mi se pare prea mare.O alta solutie sunt IC-uri dedicate, care pot sa-ti ruteze o intrare la o iesire, stiu ca am vazut asa ceva dar nu-mi amintesc nici un exemplu. Problema lor e ca iti altereaza specificatiile de in/out ale pinilor MCU (de exemplu, s-ar putea ca impedanta de intrare pe care o asteapta un senzor touch sa fie cu totul alta, sau, pentru o iesire de pwm, s-ar putea ca integratul respectiv sa nu-ti poata da acelasi curent, sau sa aiba alt curent rezidual).Tu te-ai gandit ca poti accepta unele compromisuri? Te gandesti la un anumit tip de extension boards, de exemplu cele cu input/output de nivel logic, sau la orice fel de boards, inclusiv un display LCD?

Link spre comentariu
Vizitator Chupacabra

Cu siguranta un semnal digital, dar mai ales analogic va fi afectat de trecerea printr-un swich IC.Voi construi bineinteles si un "shield" care sa aiba elemente de interfata cu utilizatorul (display LCD, butoane).Eu ma gandeam sa utilizez MCU-uri chiar si cu 100 de pini si care sa fie disponibili in totalitate pe toate placile secundare, sa poata fi utilizate la proiecte de complexitate medie ( Arduino mi se pare prea simplu, se folosesc doar 28 de pini ).O idee ar fi utilizarea unor fire scurte tip "jumper" pentru a conecta de exemplu semnalele MOSI, MISO, SCK si CS ale unui sistem periferic SPI (o memorie, un adaptor Ethernet etc.) la pinii doriti de la MCU. Va fi o platforma foarte simplu de configurat/reconfigurat.Sistemul periferic va fi sub forma unei "insule" conectata doar la tensiunea de alimentare, iar semnalele utile vor fi disponibile sub forma de pad-uri care vor putea fi conectate la pad-urile corespunzatoare I/O-urilor MCU.Trebuie gasita o solutie ca firele de conexiune sa fie rutate cat mai estetic, eventual sa fie folosite niste ghidaje, treceri/gauri prin cablaj. Exista un sistem foarte rapid de rutare cu fire de Cu emailat, asa numitele "wiring pen".

Link spre comentariu
Vizitator clausundercover

Pai majoritatea pinilor de pe atmel sunt interschimbabili. Pentru aplicatiile simple poti face pwm in soft deci nu mai ai nici restrictia asta. Vad un avantaj substantial daca ai mai multe placi de extensie gata facute, pe care nu vrei sa le modifici, si folosesc aceiasi pini. Dar daca iti faci tu placile de extensie, poti sa ti le faci cum te taie capul si sa folosesti ce pini vrei tu...Ref la SPI: pe atmel sunt mereu aceiasi pini... nu trebuie sa "rerutezi" nimic... si daca schimbi si treci la pic, atunci headerul de SPI e semi-standard si daca nu e poti sa-ti faci un cablu adaptor...Daca spui mai concret ce vrei sa faci poate te pot ajuta. Daca ai nevoie pur si simplu de pini "la gramada" de ce nu folosesti niste demultiplexoare ca drivere? exista specializat pentru leduri...

Link spre comentariu
Vizitator Chupacabra

Asta e ideea, sa existe cateva placi de extensie gata facute, universale, testate si functionale care sa poata fi folosite cu orice MCU.Pini remapabili se gasesc nu doar la Atmel ci la majoritatea microcontrollerelor. Si la PIC-uri e la fel, la toate care au aceeasi capsula, pinii SPI/I2C/UART sunt in acelasi loc, doar ca trebuiesc folosite capsule cu acelasi numar de pini. Eu pot lucra la proiecte cu un procesor care sa aiba 18 pini, sau la altele care necesita un procesor cu 100 de pini, de asta vreau sa fac un sistem universal care sa-mi permita orice configuratie doresc cu modulele functionale de pe extensii.Placile de extensie se vor adresa proiectelor de complexitate medie, vor fi realizate in fabrica, cu tehnologie multistrat daca este nevoie si nu as vrea sa ma mai ating de ele odata ce vor fi in regula.Vreau sa construiesc aceasta platforma de lucru care sa permita demararea unui proiect cat mai repede, fara intarzieri cu proiectarea si executarea circuitelor imprimate pentru modulele periferice. Daca se lucreaza cu un MCU nou (indiferent ca e Motorola, PIC, Atmel, ARM s.a.m.d), nu trebuie realizata decat placa principala care sa contina MCU-ul respectiv, conectorul de programare (ICSP/SWD/JTAG), alimentarea si ceasul(quartz-ul) si care va fi conectata la placile secundare configurabile.In cateva ore (sau chiar minute daca mainboard-ul este deja disponibil) poti avea gata un sistem destul de complex (in orice configuratie dorita) care nu mai necesita decat munca de programare.Am deschis aceasta discutie nu neaparat pentru ajutor, mai mult pentru a vedea daca mai sunt si alte persoane interesate, pentru sugestii, propuneri. Ma gandesc ca nu sunt singurul care vrea sa poata realiza un circuit cu microcontroller cat mai repede, fara a proiecta alte placi, fara sa mai astepte executarea lor in fabrica. Experienta mi-a aratat ca cu cat esti mai rapid, cu atat ai mai multe de castigat.

Link spre comentariu

Aproximativ ce vrei tu sa faci este la mikroelektronika si cred ca iese mult mai ieftin decit ce vrei sa faci , plus ca pina incepi sa vinzi o sa apara altele .

Link spre comentariu
Vizitator Chupacabra

Vreau sa le fac pentru mine, sa ma ajute sa asamblez cat mai repede un proiect hardware.Sa spunem ca problema initiala ar fi cum sa aduc 150 de semnale (trasee) la toate "etajele" sistemului.Arduino foloseste niste conectori cu pini lungi, doar ca ei au un numar foarte mic de semnale.Am gasit niste conectori asemanatori care au 2x18pini, deci cu 4 bucati se pot obtine 144 de pini.Freescale Tower foloseste niste conectori asemanatori cu sloturile PCI, dar nu se poate forma o structura tip "stiva".

post-40396-139829286756_thumb.jpg

post-40396-139829286762_thumb.jpg

post-40396-139829286765_thumb.jpg

Link spre comentariu
  • 2 luni mai târziu...

Primul (si sg) proiect cu PIC a fost cu un 16F877A care are multe porturi de 8 pini disponibile.Ce am facut eu a fost sa scot toate acest porturi la marginea unei placute de test si sa le conectez la conectori cu 8 biti.Apoi am facut alte placute mai mic cu diferite chestii care s-au conectat la acest porturi in functie de nevoi cu panglici.De exemplu o placuta cu drivere ptr motoare.Alta placuta cu leduri.Pana la urma ce ai mai facut?

Link spre comentariu

Cu siguranta un semnal digital, dar mai ales analogic va fi afectat de trecerea printr-un swich IC.

Voi construi bineinteles si un "shield" care sa aiba elemente de interfata cu utilizatorul (display LCD, butoane).

 

Eu ma gandeam sa utilizez MCU-uri chiar si cu 100 de pini si care sa fie disponibili in totalitate pe toate placile secundare, sa poata fi utilizate la proiecte de complexitate medie ( Arduino mi se pare prea simplu, se folosesc doar 28 de pini ).

 

O idee ar fi utilizarea unor fire scurte tip "jumper" pentru a conecta de exemplu semnalele MOSI, MISO, SCK si CS ale unui sistem periferic SPI (o memorie, un adaptor Ethernet etc.) la pinii doriti de la MCU. Va fi o platforma foarte simplu de configurat/reconfigurat.

Sistemul periferic va fi sub forma unei "insule" conectata doar la tensiunea de alimentare, iar semnalele utile vor fi disponibile sub forma de pad-uri care vor putea fi conectate la pad-urile corespunzatoare I/O-urilor MCU.

 

Trebuie gasita o solutie ca firele de conexiune sa fie rutate cat mai estetic, eventual sa fie folosite niste ghidaje, treceri/gauri prin cablaj. Exista un sistem foarte rapid de rutare cu fire de Cu emailat, asa numitele "wiring pen".

e singura soluție accesibilă la nivel de amator, dacă vrei să ai conexiuni sigure și ușor de schimbat, și ar fi nemaipomenit să ai jumperi cu izolația cât mai divers colorată.

va trebui să ai, până le înveți pe de rost, o ”arătarea firelor/pinilor” pe masă, să nu faci vre-o greșeală de conectare.

chiar dacă nu afumi nimic, o greșeală banală de genul ăsta poate însemna mulți nervi și mult timp irosit...

Link spre comentariu
  • 4 săptămâni mai târziu...
Vizitator Chupacabra

Azi am primit circuitele imprimate pentru prima placa de baza, cu ARM STM32, atasez cateva poze. Numerotarea pinilor din conectorii laterali e la fel cu cea a pinilor procesorului, sunt foarte usor de urmarit in datasheet ( capsula folosita are 100 de pini ).Urmeaza sa proiectez o placa aditionala cu diverse periferice si eventual inca o placa de baza cu PIC.Imi place si sistemul lui "bbogdanmircea" , doar ca eu prefer ceva putin mai complex, cu mai multe porturi disponibile.

post-40396-139829327846_thumb.jpg

post-40396-139829327854_thumb.jpg

post-40396-139829327862_thumb.jpg

post-40396-139829327869_thumb.jpg

post-40396-139829327877_thumb.jpg

Link spre comentariu

Foarte fain.Cat te-a costat toata placa de dezvoltare?Eu la a mea cred ca am gresit ceva nu-mi recunoaste PIC-ul cand ma conectez cu programatorul la portul ICSP.Daca e cineva priceput sa-mi spuna unde am conectat gresit.Eu am pus jumperi pe PGD si PGC ca sa le pot folosi cu jumper la programare si apoi sa scot jumperu si sa le folosesc la porturi dar ceva am gresit sau am vreun scurt pe placuta.Din pacate am fost foarte ocupat cu munca si n-am mai avut timp sa fac masuratori.

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