Sari la conținut
ELFORUM - Forumul electronistilor

Intrebare de incepator


ohamoha

Postări Recomandate

Am facut niste scheme in care un PIC comunica cu un modul Bluetooth sau un modul radio prin SPI sau RS232. Legatura dintre cele doua componente o faceam pin la pin, fara nimic altceva. Asa am vazut pe internet ca se face. Acum trebuie sa fac doua PIC-uri sa comunice intre ele. Dar am oarecare retineri sa le conectez direct pin la pin. Intuitia imi zice sa leg linia de comunicatie la masa printr-o rezistenta mai mare, de 10K sa zicem, iar pe linie sa mai pun o rezistenta, de 1K de exemplu.Care ar fi un best practice?

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

Top autori în acest subiect

  • puiu

    3

  • ohamoha

    3

  • sofian

    2

  • Liviu M

    2

Top autori în acest subiect

Nu conteaza. Sa zicem ca e unul propriu, scris de mine. Ideea e ca la intervale fixe de timp un PIC pune pe un pin LO sau HI iar celalalt citeste. Sau sa zicem RS232. Si leg pinii TX si RX ai PIC-urilor.

Link spre comentariu

1. Eu zic ca conteaza, deoarece trebuie sa respectii conditiile de protocol. Pentru diverse protocoale si diverse familii de PIC-uri ai periferie dedicata mai mult sau mai putin. PIC-urile au periferie pentru conectare paralela, seriala, USART, I2C, CAN, etc. in functie de ce PIC ai.2. Poti conecta direct doua picuri pe seriala, unde este data chiar si schema respectiva, iar cel care este considerat master da frecventa de ceas. Nu acelasi lucru este daca vrei sa unesti doua picuri prin CAN sau prin trasmisie cu un fir, unde trebuie sa respecti prevederile protocolului respectiv.3. Deci intreaba mai concret si cred ca mai multi or sa-ti vina in ajutor cu sugesti.4. Legat de problema cu RS232, daca mai retin exact poti sa legi direct pini RX si TX(de fapt incrucisat), dar nu ai sa palierele prevazute ale lui RS232. Deci vor comunica PIC-urile intre ele dar nu vei fi in standard, deci nu va merge cu un alt dispozitiv care are o iesire standard de RS232.

Link spre comentariu

Nu vad de ce ai avea probleme sa conectezi picurile pin la pin (in conditiile in care alimentarile picurilor au aceeasi valoare).E desigur nevoie sa le unesti si masele, ca sa aiba aceeasi referinta si... gata (asta cel putin daca folosesti protocoale suportate deja de PIC-uri in hard).

Link spre comentariu
Vizitator GabrielIulian

rezistenta de pull down de 10K oricum nu te ajuta....A.TX (care e setat ca iesire) e conectat la B.Rx(care e setat ca intrare)iar B.TX(care e setat ca iesire) e conectat la A.Rx(care e setat ca intrare)...deci linii sunt conectate la niste pini care sunt de iesire (deci au valori...ori 0, ori 5V)...cand vrei sa nu mai transmiti pui un TX pe 0....si gata....linia ramane in 0 pana la prima modificare a pinului. (unde A si B sunt picuri)...poti lasa doar rezistenta de un 1k pe linia de transmisie....insa la frecvente mai mari e posibil sa ai probleme...banuiesc ca vrei sa simulezi o transmisie seriala pe niste picuri care nu dispun de usart...in cazu asta poti folosi RB0 (pentru receptie...-> setezi intrerupere pe front crescator )...ai grija sa nu iti alegi 1.5 biti de stop, ca sa nu ai bataie de cap :))later edit:de ex la pic16f84a (vazut in datasheet:) ) la reset pinii de la portu B sunt setati ca intrare deci poti elimina rezistentele de 1k....si pui o rezistenta de pull-down de 4.7K pe fiecare linie ca sa iti asigure un 0 pe linie (adika nu exista transmisie) pana ce setezi ca iesiri tx-urile...

Link spre comentariu

Multumesc pentru raspunsuri.Ideea mea era sa fac un protocol propriu. Eventual un RS232 facut in software. PIC-urile mele au si UART hardware, dar imi trebuie pentru altceva.PIC-urile sunt pe aceeasi schema, deci vor fi alimentate din aceeasi sursa.Ca sasimplific lucrurile cat mai mult, ce vreau eu sa fac este:La PIC-ul 1 setez pinul B1 ca iesire.La PIC-ul 2 setez pinul B1 ca intrare.PIC-ul 1 pune initial 0 pe pinul B1. La un moment dat va pune 1 in ideea de a-l semnaliza pe PIC-ul 2. Acesta trebuie sa reactioneze la primirea semnalului. Partea de functionalitate nu e o problema, stiu s-o fac. Intrebarea e, leg pinii B1 direct, sau trebuie sa folosesc vreo rezistenta?

Link spre comentariu

De ce obligatoriu? Unul pin va fi iesire, celalalt intrare, unul "comanda" celalalt e comandat... Eu nu vad absolut nici un motiv sa nu legate mearga direct.Eu cred ca open colectoare si alte minuni ar fi necesare in cazul in care ar folosi 2 iesiri pe acelasi fir, da' asa...Sau imi scapa mie ceva? :nas:

Link spre comentariu

Acum trebuie sa fac doua PIC-uri sa comunice intre ele

eu am crezut ca pe acelasi pin vrea sa comunice Rx/Tx si de aceea am zic ca trebuiedaca sunt doi pini Rx/Tx atunci nu poti lega direct pini
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