vlad_2770 Posted September 17, 2005 Share Posted September 17, 2005 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 to comment
sifor Posted September 17, 2005 Share Posted September 17, 2005 E foarte simplu ! Pe site-ul Philips !Vrei sa-ti caute cineva ? Roaga-l pe Domnul Google !Don Mario Link to comment
Cristiano Posted September 18, 2005 Share Posted September 18, 2005 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 to comment
vlad_2770 Posted September 18, 2005 Author Share Posted September 18, 2005 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 to comment
Cristiano Posted September 18, 2005 Share Posted September 18, 2005 E explicat mai clar aici, la paginile 8-9. Link to comment
vlad_2770 Posted September 19, 2005 Author Share Posted September 19, 2005 Cristiano, la paginile 8-9 unde? ca nu vad nici un link.multumesc Link to comment
Cristiano Posted September 19, 2005 Share Posted September 19, 2005 Cristiano, la paginile 8-9 unde? ca nu vad nici un link.multumescTi-am dat link-ul, apasa pe textul "aici" din mesajul precedent. Link to comment
vlad_2770 Posted September 19, 2005 Author Share Posted September 19, 2005 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 to comment
Cristiano Posted September 19, 2005 Share Posted September 19, 2005 Oricum daca nu imi iese am sa ma uit si la problema asta.Nu e abordarea potrivita. Verificarile trebuie facute inainte sa pui jucaria sub tensiune. Link to comment
bogdanm Posted September 21, 2005 Share Posted September 21, 2005 Hmmm ... atentie, s-ar putea sa ai nevoie de conversie de nivele logice. Foarte probabil ca asta sa fie motivul pentru care nu-ti merge. E drept ca e prima data cand aud de I2C la 9V ... Link to comment
vlad_2770 Posted September 21, 2005 Author Share Posted September 21, 2005 m-am uitat in pdf si am vazut ca tensiunea de alimentare este minim 10,8 V si tipic este 12 V dar nivelul de HIGH pentgru comanda I2C este de 3 V , deci am scapat de conversie. Link to comment
bogdanm Posted September 21, 2005 Share Posted September 21, 2005 ...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 to comment
vlad_2770 Posted September 21, 2005 Author Share Posted September 21, 2005 m-am exprimat gresit, nivelul de HIGH incepe de la 3 V si merge pina la Vcc in cazul meu 12 V. Deci nu imi trebuie adaptare. Link to comment
MihaiStoica Posted September 22, 2005 Share Posted September 22, 2005 Pe site-ul Philips gasesti AN-10216-01 I2C manual. Este coool! Link to comment
vlad_2770 Posted September 23, 2005 Author Share Posted September 23, 2005 multumesc foarte mult de sprijin dar mi l-a trimis CRISTIANO. Astazi citesc si ma apuc din nou de treaba. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now