Jump to content
ELFORUM - Forumul Electronistilor
Sign in to follow this  
paul

Atmel AT89C2051

Recommended Posts

Poate cineva sa ma lamureasca cum pot sa comand doua AT89C2051 cu un singur oscilator de 11,0592 MHz ?.

Share this post


Link to post
Share on other sites

Pai , ai acolo XTAL1 si XTAL2 care au urmatoarele functiuni:Xtal1 -Osc INXtal2 - Osc OUTDaca ai oscilator extern le ataci la Xtal1Daca il pui pe unul sa oscileze (Q intre Xtal1 si Xtal2), legi Xtal2 de la cel ce joaca rolul de oscilator , la Xtal1 la cel caruia ii trebuie osc.

Share this post


Link to post
Share on other sites

Am uitat sa-ti atrag atentia asupra un fapt:Daca utilizezi un microcontroler ca oscilator si iei semnalul de pe Xtal2 ptr celalat in Xtal1, ai grija ca traseul cu care duci semnalul "sa nu treaca pe la Paris sau Londra", vei avea probleme. Cat mai scurt si fara "zorzoane"

Share this post


Link to post
Share on other sites

Partea proasta este ca distanta dintre cele doua procesoare trebe neaparat sa fi de 1,5m !!!.

Totusi am sa incerc cele sugerate de dvs. (am sa incerc sa utilizez unul sau doua "buffere", unul linga "Master CPU" iar celalalt linga "Slave CPU").

Dar numai dupa craciun.

 

Va doresc din suflet un " CRACIUN FERICIT si un AN NOU MULT MAI BUN CA CEL CE SE VA TERMINA IN CURIND" !!!!!!

Share this post


Link to post
Share on other sites

Oscilatoarele din procesoare sunt destul de sensibile, si daca mergi cu un traseu asa de lung mai mult ca sigur ca nu o sa iti functioneze. Incarcarea capacitiva care iti rezulta dintr-o conexiune pe o asemenea distanta o sa iti opreasca oscilatorul. Sa nu mai vorbim de imunitatea la zgomote induse din exterior si de faptul ca daca nu folosesti conexiuni ecranate, un cablu de genul asta o sa se comporte ca si o antena. De ce nu folosesti cate un cuartz pentru fiecare procesor? Din cate stiu eu, un cuartz e extrem de ieftin, mai ales valoarea asta a ta, care e pe toate gardurile. Orice artificiu te va costa mai mult (cabluri, buffere, etc...)/pisoiu

Share this post


Link to post
Share on other sites

Nu ar fi nici o problema sa utilizez doua crystale. Din pacate nu sunt sigur ca cele doua procesoare vor functiona sincron pe timp indelungat.Daca sunt comandate cu un singur oscilator, sincronizarea este asigurata.

Share this post


Link to post
Share on other sites

Fii sigur ca sincronismul nu iese din faptul ca folosesti alcelasi oscilator. Sunt o gramada de alte chestii care impiedica sincronizarea la reset. Ce te sfatui eu este ca in cazul in care ai comunicatie intre ele , sa faci sincronizarea soft. Asta cu ceasul este putin cam ...nelalocul ei. Singurul avantaj posibil din utilizrea unui singur oscilator este economia de un Quartz - vezi ce spunea pisoiu-.Daca nu ai comunicatie intre ele, trebuie sa aloci doua semnale (pinout-uri) pentru sincronismAcum eu nu stiu despre ce aplicatie este vorba, asa ca , ceea ce am spus este relativ si foarte general. Daca, in schimb ai probleme serioase, in cazul in care explici despre ce e vorba poate te mai ajutam.Succes si tie ,La multi ani !!

Share this post


Link to post
Share on other sites

Am incercat asa cum ati sugerat, dar a aparut o problama la care nu m-am gindit.

In primul rind, pentru cine vrea sa-mi de o mina de ajutor, este vorba de un afisaj cu led-uri, realizat cu AT89C2051.

Adresa site-ului unde poate fi gasit este: http://www.woe.de.vu/

poate intereseaza si pe alt cineva. Montajul merge frumos, este realizat cu componente destul de accesibile, dar are un mare dezavantaj : numarul maxim de matrice ce poate fi utilizat este de 11. Si chiar asa este, am testat.

Partea proasta este ca eu am nevoie de 22 de matrici (exact dublu), iar modificarea programului MA DEPASESTE, din pacate. Si atunci am incercat sa fac "o smecherie". Programez deodata ambele EEprom-uri (merge sigur, am incercat) iar uC-urile separat dar cu acelasi program si la pornirea panourilor tin resetat al doilea uC pina cind semnalul ajunge la ultima coloana a primului afisaj.

ACESTA ESTE MOTIVUL PENTRU CARE AM INTREBAT CUM SE POT COMANDA SINCTRON DOUA MICROCONTROLERE. Este adevarat ca se pot utiliza doua quart-uri. Am fost absolut sigur ca in timp vor aparea desincronizari intre cele doua afisaje (si asa este, am testat). Daca cele doua uC lucreaza cu acelasi semnal de tact, desincronizarea este imposibila, cel putin asa cred eu, pentru ca nu am reusit sa testez.

Am facut conexiunea inter cele doua uC ca in schema atasata. La pornire totul este "OK". Ambele EEprom-uri avind acelasi program si cele doua uC functionind cu aceasi frecventa de tact, totul este foarte bine si frumos pina se termina mesajul.

ACUMA "AM DAT CU BITA IN BALTA". Prinul afisaj incepe ca ruleze din nou prugramul si incepe sa afiseze textul stocat in EEpron, dar al doilea nu mai afiseaza nimic. Daca si al doilea uC are oscilator cu quart, totul merge bine dar dupa 5 ore de functionare deja se poate sesiza desincronizarea.

Distanta dintre cele doua controlere este acuma de max. 10 cm.

Banuiesc ca aceasta problema se intimpla din acuza softului dar nu stiu unde sa umblu ???.

Share this post


Link to post
Share on other sites

Am vazut schema si am citit asm-ul. Singurele limitari pe care le ai sunt viteza (ceea ce nu este esential, pentru ca poti pune un quartz de 24M) si RAM-ul disponibil.Transmisia catre buffere (max-uri)este o transmisie standard SPI. Nu trebuie decat sa aloci memorie mai multa si sa faci transmisia pe cati digiti doresti. La alocarea memoriei se poate face un artificiu.MODULE equ 11 se poate dubla prin urmatoarea metoda: Pe masura ce transmiti (deci golesti ramul) poti converti urmatoarele caractere in zonele eliberate. Strobarea (incarcarea latch-urilor) facandu-se paralel nu apar fenomene neplacute (manjeli suprapuneri etc...).In concluzie nu este necesara utilizarea mai multor MC-uri , ajunge unul. Si asa cred ca cu unul MC-ul mai mult sta decat activeaza cu folos.

Share this post


Link to post
Share on other sites

In primul rind va multumesc Dle Mitescu ptentru bunavointa dvs.Am studiat si eu programul si am observat acel "11".Pot sa modific si sa reasamblez programul. Sa inteleg ca modificarea lui "11" in "22" sau "44" inseamna ca pot utiliza atitea matrice?Ce intelegeti dvs. prin "Pe masura ce transmiti (deci golesti ramul) poti converti urmatoarele caractere in zonele eliberate." ?, Asta inseamna ca trebe modificat ceva in program ?.Cu regret, va reamintesc ca programarea nu este punctul meu forte, din contra. Cu partea "hardware" ma mai descurc, lucrez destul de bine in Orcad dar in cea ce priveste programarea ....Va multumesc !

Share this post


Link to post
Share on other sites

Nu neaparat este multiplu de 11Totusi daca vrei sa realizezi ceva trebuie sa si constientizezi ceea ce faci.Prin "eliberarea" ramului am inteles: RAM-ul este ocupat cu conversia caracterelor de la ascii la binar( ledurile de aprins) pe fiecare linie. Cand faci send pe linia SPI se si indexeaza caracterul de convertit si transmis. Faptul se concretizeaza in "golirea" (neutilizarea) locatiei anterioare, si deci ea poate fi utilizata la stocarea unui alt set de conversie (neasteptand terminarea sirului). Dar asta numai in cazul utilizarii RAM-ului.In ceea ce priveste viteza: daca ai prea multe caractere de transmis, efectul ar fi ca afisorul incepe sa "palpaie". Se ridica frecventa de la ceas la 24MHz, binenteles cu modificarea parametrilor de la UART, astfel incat comunicatia sa nu fie afectata.Si apropo de regrete, nimeni nu a stiut de la inceput totul, concluzie >> totul are un inceput. Depinde de fiecare.Mult succes !!

Share this post


Link to post
Share on other sites
Guest kor98

vezi dk trans se face ascr se pote urk la 56 lit

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.