Sari la conținut
ELFORUM - Forumul electronistilor

intrebare I2C


vlad_2770

Postări Recomandate

Am gasit pe net doua documente despre comunicatia I2C. Din nefericire se bat cap in cap. Conditia de start la unul imi spune ca pe palierul pozitiv al semnalului de clock trebuie sa existe o tranzitie din 1 in o logic al semnalului de pe date. In cea de a doua documentatie imi spune ca pe palierul de 0 logic al semnalului de clock trebuie sa fac tranzitia semnalului de date din 1 in 0 logic.Mai am o intrebare, pentru rezistentele de pull up ce valori sa folosesc. Eu am pus de 4,7 K , va merge?Daca imi poate spune si mie unde gasesc documentatia originala de la Philips pentru I2C?multumesc

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

Top autori în acest subiect

  • vlad_2770

    8

  • Cristiano

    4

  • bogdanm

    2

  • sifor

    1

Top autori în acest subiect

Ambele documente gasite de tine sunt corecte. Conditia de start difera de modul de transmitere al unui bit. Rezistentele de 4k7 sunt ok. Pentru a avea toate detaliile, urmeaza sfatul lui sifor si citeste documentatia de la Philips.

Link spre comentariu

Cristiano, nu am inteles mesajul tau. Daca ambele sunt bune eu pe care sa-l folosesc? (oricum am incercat si asa si asa si nimik nu merge, receptionez ACK 1 de fiecare data).pun aici o bucatica de cod(am pus la delay valori numerice ca sa fie mai usor de citit)//conditia de start void i2c_start(void) { SDA=1; SCL=1; DelayUs(20); SDA=0; DelayUs(20); return; } unsigned char i2c_ReadAcknowledge(void) { unsigned char ack; SCL=0; TRISB = 0b10000001; (configurez pinul 7 al portului B in intrare sa pot citi ACK-ul de la TDA8245)DelayUs(40); SCL=1; DelayUs(40); ack = SDA; TRISB = 0b00000001; (reconfigurez in iesire pinul dupa ce am citi ACK-ul)return ack; }

Link spre comentariu

Iti dai seama ce super atent sunt? ca niic macar nu am vazut ca textul aici era link. Multumesc foarte mult, cu ce mi-a dat sigur o scot la capat. Ar mai fi o nelamurire dar e mai mult de electronica. Acest circuit este alimentat la 9V parca si eu rezistentele de pull up le pun la +5 V ca eu picul il am alimentat la 5V. Acum nu stiu daca este asta un impediment. Nu m-am uitat acum in pdf sa vad ce reprezinta 0 logic si 1 logic la TDA8245.Oricum daca nu imi iese am sa ma uit si la problema asta.

Link spre comentariu

...not really :) Tot trebuie conversie 5V - 3V. Uite un link spre o discutie despre cum se face treaba asta in practica pentru un alt circuit (cel mai probabil merge si in cazul tau):

 

http://www.pjrc.com/tech/mp3/sta013.html

 

(cauta dupa Power Supply Issues, 5 Volt to 3 Volt Interface)

 

Verifica totusi daca merge, solutia nu este universala. Pe de alta parte ... daca i-ai dat deja 5V pe intrarile de I2C, s-ar putea sa ai surprize de cu totul alta natura :(

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