Sari la conținut
ELFORUM - Forumul electronistilor

Interceptare serial.


louis

Postări Recomandate

Se da problema: una bucata HU R770 facut de Phillips prin 2001 dat jos de pe masina si inlocuit cu altceva, dar care are un remote display. Dupa ce l-am dat jos, lcd-ul arata doar ora. La inspectie, LCD-ul consta intr-un pic NEC 75304B si un ecran fiind alimentat constant la 12v,dar are o legatura prin 3 fire cu HU. Acesta nu porneste daca nu gaseste display-ul.Vreau sa descopar cum sa pun si eu text in display. Ma intereseaza sa pun temperatura a 2 senzori, pe langa ora afisata acum.Deci avem 3 fire intre HU si display. Daca la start, HU nu e legat la display pe toate 3 firele, nu porneste. Dupa ce porneste, daca scot oricare din cele 2 care nu sunt masa, el merge in continuare dar nu se mai updateaza display-ul indiferent ce apas prin HU.Tensiunea pe cele 2 fire care nu sunt masa este de 4.04v (cat display-ul e conectat la HU), si am observat ca atunci cand apas o comanda si se schimba textul, tensiunea scade putin pret de 2s, observabil pe un multimetru.Ce pareri aveti? lcd serial dar de care, sincron, asincron? Cum citesc datele? Nu posed osciloscop.

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

Top autori în acest subiect

  • louis

    14

  • Liviu M

    8

  • srdjan

    4

Top autori în acest subiect

bun. pana una alta am reusit sa fac pic-ul 16f88 sa comunice prin uart-ul lui cu portul serial al calculatorului. pentru asta folosesc un max3232 care amplifica voltajul cu care emite pic-ul si il transforma in format rs232 pe care calculatorul stie sa-l citeasca. a trebuit sa-mi caut vreo 2 zile un braket sa-mi scoata unicul port serial in spatele calculatorului, pentru ca mobo n-a avut asa ceva cand am luat-o anul trecut.

 

cu montajul asa facut, functional fiind, am scos pic-ul si am pus la intrarile lui max3232 cate un fir din cele 2 non-masa ce intra in display-ul HU. si am frecat Realterm-ul pe toate combinatiile de bauds cu stop bits si paritati si n-am reusit sa scot ceva inteligibil sau macar repetabil. dupa cum spuneam, pe firele cu semnal care intra in display am in jur de 4v pe multimetru. numai ca forma semnalului n-o cunosc neavand osciloscop. m-am uitat pe ebay dupa un osciloscop micut de incepator si am dat peste asta. pana una alta ma gandesc sa fac input la semnal prin placa audio reducand voltajul la sub 1v si sa fac record si sa ma uit la forma semnalului. apoi sa vad daca ma prind ce tip de semnal serial este din 10011101010100101, gen 8 biti, start bit stop bit paritate :nas: dar pentru frecventa am nevoie de oscilloscopes :nebun:

 

aveti aici un fel de osciloscop software bazat pe recordul semnalului in placa audio. o sa incerc sa vedem ce iese.

Link spre comentariu

Nu cred ca e RS232

Probabil e spi. In mod normal asta e pe 4 fire; daca exista numai un "client", al patrulea fir fiind de selectie a "clientului", acesta se se poate activa permanent si folosi doar 3 fire.

Cum eu am vazut display cu interfata seriala (era un samsung http://www.lcd-module.de/eng/pdf/zubehoer/ks0073.pdf), sunt sanse mai mari sa rezolvi ceva cautand in directia asta.

Pe 3 fire si de asemenea cu sanse sa fie intalnit e i2c. Asta e protocol bazat pe adrese, asa ca mai multi slave pot coexista pe acelasi bus.

 

LE Osciloscopul ala soft iti e inutil. Probabil semanlele sunt transmise cu minim cateva sute de kHz.

Link spre comentariu

am pus un divizor de tensiune pe semnalul scos din pic16f88 (pus sa emita semnal Tx format rs232 ttl) si l-am bagat in placa audio pe la 0,5v. apoi am analizat sunetul produs.

 

pic-ul l-am pus sa emita 2 bytes: 0xaa care in binar inseamna 10101010 bis

 

acum sa facem putin serial hacking si sa analizam sa descoperim ce tip de semnal e:

 

pe grafic se vede 11010101001101010100 adica

 

1bit start (1)

8 biti date (10101010)

1 bit stop (0)

 

total 10biti de caracter trimis adica 8N1

mai departe, am marcat varfurile dintre cele 2 caractere si obtinem 0,52ms. atat dureaza transmiterea unui caracter adica a celor 10 biti. ferestruica aia imi arata si frecventa 1/dt = 1928Hz pentru 10 biti. deci pentru 1 byte ar insemna 19280Hz

 

eh, guess what, BAUD-ul configurat in softul pic-ului e chiar 19200 deci se pupa masuratorile :da

Link spre comentariu

Pai eu nu despre protocolul programat de tine in PIC vorbeam (la ala e clar ca ce programezi aia vezi), ci despre cum cred eu ca vorbeste Philipsul ala cu displayul remote.

Link spre comentariu

da Liviu, dar n-am postat ceva legat de comentul tau ci evolutia destelenirii mele. pur si simplu am facut un test pe ceva cunoscut inainte sa ma arunc asupra semnalului dintre display si phillips.

 

iata cum arata comunicatia dintre HU si display. am pus cele 2 fire de semnal pe L si R al placii de sunet si in grafic apar colorate separat, cu mentiunea ca au aceleasi inaltimi dar am schimbat scala pentru galben sa fie mai vizibila imaginea. deci, cam ce protocol poate fi?

 

I2C nu are un clock care ar trebui sa mearga la freq const? nu pare un transfer clock-at.

 

despre SPI nu cred ca poate fi vorba pentru ca eu am doar 2 fire cu semnal si o masa iar SPI necesita 3 fire de semnal.

Link spre comentariu

Sorry, am citit repede si n-am interpretat bine.i2c, ca si spi, clockuieste numai cand are ceva de zis.La spi daca nu astepti date de la slave poti ignora SDO-ul astuia. Daca ai un singur slave, ii poti lega CS(B)-ul la masa si sa-l tii tot timpul "activ" => ai nevoie de doar 3 fire (masa, clk, si SDI (slave)). Da' ai dreptate, pare putin probabil.Formele alea de unda nu-mi zic nimic. Ori placa de sunet e prea "inceata" pentru semanlele alea si atunci ce vedem noi n-are nici o relevanta, ori e un protocol pe care nu l-am mai vazut. Daca semnalul verde ar fi fost mai regulat, l-as fi botezat clock, asa...Eu inclin oarecum spre o combinatie de i2c si placa de sunet cam inceata, cu toate ca nu reusesc sa "detectez" bitii de start/stop.Si daca "corectez" cateva din semnalele verzi (de ex. al 10-lea puls il consider 2 "suprapuse" si il numar de doua ori), atunci imi ies 2 frame-uri de 16 biti, care ar corespunde unei comunicatii spi.

Link spre comentariu

am scos display-ul din ecuatie. HU trimite la start 2 bazaieli scurte in cautarea display-ului. pe un fir am semnal..cele 2 bazaieli, iar pe celalalt nu e nimic. probabil ultima bazaiala e ceva de "close" negasind display-ul.am observat ca imediat ce apas butonul start in HU, acel Tx sa-i zicem, din HU scoate 3 tipuri de "prima bazaiala" care se repeta aparent random.atasez cele 3 versiuni de "bazaiala".intre variante, parca bitii ar fi shift-uiti circular la stanga sau la dreapta constante ca biti ramanand doar intervalele alea intre 1111 si 111

Link spre comentariu

Hm, chiar ca nu-mi zice nimic.

Am rasfoit acum data-sheet-ul unui pic cu can (18f458) si:

- can functioneaza pe 2 fire

- are niste metode interesante de detectie de erori.

Poate ca transmisia respectiva e cu CAN?

O idee ar fi sa pui o intrebare si la pic. Din cate stiu eu, puiu (pe care l-am vazut activ pe subsectiunea aia) a lucrat cu can si poate are o idee.

Link spre comentariu

uite asa arata display-ul. are un chip NEC care ar fi si driver pentru lcd. daca am citit niste specificatii corecte, pare ca are suport serial.

 

SERIAL INTERFACEThe mPD75308B incorporates a clocked 8-bit serial interface. The serial interface has the following threemodes.· 3-wire serial I/O mode· 2-wire serial I/O mode· SBI mode (serial bus interface mode)
Link spre comentariu

am citit si eu spec-ul la I2Cse pare ca transmisia de date si sfarsitul ei incep prin urcarea sau coborarea semnalului pe o portiune de clock high. orice alte tranzactii ale liniei de date se fac pe clock low; clock high trebuie sa gaseasca linia de date constanta, altfel iese sau intra din modul de transmisie.ori daca stau oricum si ma uit la ce iese pe grafic, nu se pupa nicicum. cum spuneai si tu, linia verde parca aduce a clock. un clock cu rateuri. am inteles ca clock-ul poate fi "intins" de catre slave dar tinut jos, nicidecum sus. nu prea pare sa iasa nimic :jytuiyu ori la spcs scrie ca frecv la i2c e destul de mare, peste ce poate prinde o placa audio...MHz, dar are si niste rate mai mici...

Philips Semiconductors (now NXP Semiconductors) developed a simplebidirectional 2-wire bus for efficient inter-IC control. This bus is called theInter-IC or I2C-bus. Only two bus lines are required: a serial data line (SDA)and a serial clock line (SCL). Serial, 8-bit oriented, bidirectional data transferscan be made at up to 100 kbit/s in the Standard-mode, up to 400 kbit/s in theFast-mode, up to 1 Mbit/s in the Fast-mode Plus (Fm+), or up to 3.4 Mbit/s inthe High-speed mode.

atasez si cum trebuie sa se vada un i2c pe osciloscop. adresa slave-ului (addr) daca o calculati pe imagine trebuie sa fie 0x28 adica 101000 (bit-ul 0 din imagine pe segmentul AB e "write"); apoi pe portiunea de la A-B e transmis 1 byte.
Link spre comentariu

mai multe aprofundari: Introduction-to-SPI-and-IC-protocols

 

SPI nu are cum sa fie pentru ca are nevoie de 3 date+ground

 

mai ramane I2C

 

The data rate has to be chosen between 100 kbps, 400 kbps and 3.4 Mbps, respectively called standard mode, fast mode and high speed mode. Some I²C variants include 10 kbps (low speed mode) and 1 Mbps (fast mode +) as valid speeds.

posibil ca pe captura de sunet sa prind acea varianta de 10kb. de fapt am masurat acum pe grafic si pare ceva la 8-10kHz clock-ul

 

Moreover, the I²C protocol also helps at dealing with communication problems. Any device present on the I²C listens to it permanently.

asta imi deschide o noua poarta de investigare in lipsa unui osciloscop. sa introduc un pic in sistem si sa vad ce se transmite :freaza:
Link spre comentariu

din cate stiu eu I2C oficial lucreaza la 100kHz sau la 400kHz. Sample rate-ul la placa de sunet cred ca e de 44.1kHz. Regula e ca sample rate-ul tre sa fie minim 2 x Frecventa semnalului analizat pentru a putea studia semnalul. Eu in locul tau as incerca sa ma joc cu un filtru trece jos, un numarator sau un divizor de frecventa ca sa vad daca ce vede placa de sunet are vreo concordanta cu frecventa semnalului... oricum consider ca e bataie de cap ce vrei sa faci cu ce ai la indemana, ma pun sa citesc tot topicul sa vad si ce motivatie ai :)

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