Fórum témák
» Több friss téma |
Sziasztok!
Először is elnézést, ha véletlenül létezne hasonló topic, nekem nem sikerült megtalálnom. Mostanában azon dolgozom, hogy az itthoni (amúgy elég fejlett) fűtésrendszert számítógépről vezérelhetővé tegyem. A dolgot rövidre fogva: pincében lévő tartály hőmérséklete beállítható egy, a lakórészben lévő távvezérlőről. Magát a hőmérséklet beállítását egy másik egység végzi lent a pincében, és a távvezérlő ezzel kommunikál. Én a távvezérlő helyére szánom az én rádiós modulomat, ami annak a viselkedését emulálná. A távvezérlő összesen két vezetéken csatlakozik, tehát ezen kap tápot (kb. 12V), illetve ezen kommunikál. Erre ráakasztottam egy laptopot (elé egy feszültségosztót), hogy a hangkártyával belenézhessek a kommunikációba (szegény ember oszcilloszkópja ). A kapott eredmény kicsit elbizonytalanított. Az 1. képen látható a jel egy része. Ez még nagyjából rendben van, torz négyszögjelnek elmegy. Az első dolog, amit nem értek, hogy a négyszögimpulzusok előtt mi lehet az a kis negatív tüske. Túl szabályos ahhoz, hogy véletlen legyen (a négyszögimpulzusok előtt 12ms vagy annak egész számú többszöröse a távolság). További furcsaság, hogy az 1. képen lévő jelsorozatok előtt egy másik jelsorozat van (2. ábra) (itt is felfedezhető a 12 ms-os periódus). Erre ránagyítva észrevettem, hogy a kis hullámok közt változik a jel, sokkal sűrűbb lesz, mint a háttérzaj, viszont hasonlóan kis amplitúdója van (3. ábra). Ezután észrevettem, hogy a jelenség a negatív tüske és a négyszögimpulzus közt is ott van (4. ábra). Sajnos ezt nagyobb felbontásban nem tudom kimérni, mivel a hangkártya 44 kHz fölött nem jó ilyen célokra. Az első négyszögimpulzustól kezdve 12 ms-onként végiglépkedtem, és így 66 bit jön ki (gondolom 8 byte adat, 1 start és egy stop bit). Ami érdekes továbbá, hogy egymás mellett sosem volt két négyszögimpulzus (minimum 24 ms volt köztük a távolság, de közéjük esett egy negatív tüske). Egyébiránt a kérdés-válasz felfedezhető az adatforgalmazásban, a burst.wav-ban ez jól látható (pl. audacity-vel lehet nézegetni, ingyenes). Szóval a kérdés: van valakinek valami ötlete, hogy miféle kommunikáció lehet ez? kösz előre is
Becsatolok még egy képet a négyszöges dolog előtti kis amplitúdójú jelsorozatról. Ezen jól látszik, hogy nem véletlenül van ott.
Szia!
A leírtak alapján ez a kommunikáció a "1-WIRE BUS"-ra hasonló. A PC hangkártyával az a baj, hogy a bemenetén kondenzátor van. Emiatt a DC és a "lassú" jeleket nem viszi át rendesen. A negatív tüske tulajdonképpen a négyszögjel. Ugyanis a vezérlő a vezetéken lévő állandó 12V-ot húzza le a 0V-ra, amikor kommunikál. Emiatt látsz negatív tüskét. Amikor a vezérlő "elengedi" a vonalat, akkor 0V-ról 12V-ra emelkedik a feszültség, amihez még hozzáadódik a vezeték induktivitása miatt keletkezett feszültség. Ez a pozitív tüske. Azért megadhattad volna a feszültségosztás mértéket és egy bekötési rajzot. Mert nem mindegy, hogy a hangkártya GND-je a 0V-ra vagy a 12V-ra csatlakozik. Én úgy vettem, hogy a 0V-hoz.
Szia!
Kösz a választ. Igen, a 0V a GND-hez csatlakozott. Mellékelek egy képet az osztóról (1k/(1k+10k+10k)=1:21 áttételű, sajnos nem volt itthon 20k-s ellenállás). Azért gondoltam ennyinek, mert valahol olvastam, hogy a hangkártya 0,7V-nál többet nem szeret, és 12V/21=0,57V.
Szia, építsd meg ezt vagy zárd rövidre a hangkártya bemenetén lévő kondenzátort. Bár nekem furcsa lenne, ha egy kommunikációs jel négyszögeit ennyire differenciálná, mert azoknak hangfrekvenciás tartományú frekvenciájuk legalább van, így szerintem tényleg ez van a vonalakon. Írod, hogy 12ms, ilyen jeleket többé-kevésbé alakhűen ad vissza egy hangkártya szkóp
Szia, kösz neked is a választ.
Nem nagyon merem rövidre zárni a kondit, mert laptopról van szó, abba meg nem szívesen forrasztgatok. Majd megnézem, mire jutok ezzel az áramkörrel (bár lehet, hogy egyszerűbb lenne kölcsönkérni valakitől egy rendes szkópot).
Tanulmányozd a Manchaster-kódolást, hátha ráismersz...
Pár éve majdnem sikerrel fejtettem meg egy szobai wezeték nélküli hőmérő kódolását. Nálam feltétel volt, hogy tudjam, hogy milyen jelsorozat épp hány fokot jelent. Nálad ez adva van?
Nálam is hasonló a feladat. Egyrészt a távvezérlő elküldi, hogy mekkora tartályhőmérsékletet állítottam be rajta, másrészt kiolvassa az aktuálisat. Indulásnál (amikor megkapja a tápot) kicsit többet kommunikál. A hőmérsékleteket kijelzi, úgyhogy látom, hogy minek kéne az adatfolyamban lennie. Feltéve, ha sikerül rájönni, hogyan is vannak a jelszintek.
Az általad kapott jelalakoknak természetes okai vannak. A vezeték, amiken az impulzusok haladnak, egy tápvonalnak tekinthetők. Ha esetleg tanultad, vagy utánanézel a tápvonal elméletnek, rájöhetsz a dolog nyitjára.
A tápvonal egy elosztott paraméteres komplex áramkör, aminek van kapacitása, induktivitása, és ohmos ellenállása. A reaktáns elemekből számítható a tápvonal karakterisztikus impedanciája, amely lezárások között a tápvonal valós (ohmos) impedanciát képvisel. Egyrészt ezért is fontos a tápvonal helyes lezárása. Másrészt egy impulzus (sorozat) végtelen számú frekvenciájú összetevőre bontható, a fel, és lefutási idők által meghatározott amplitúdójú és frekvenciájú szinuszos, és koszinuszos jelek formájában. (Fourier analízis) Tehát egy impulzus sorozat átvitele egy meglehetősen szélessávú átvitelt tesz szükségessé. Ezekután ha egy tápvonalra ráküldesz egy impulzus (sorozatot) a következő történik. A tápvonalnak a komplex mivoltából adódóan van futás idő késleltetése, ami frekvencia függő. Ebből adódik, hogy a tápvonal mintha tudná, hogy jönni fog egy impulzus, és ezért van az impulzus előtti, és utáni jel. A másik, jeled onnan származhat, hogy a tápvonalad nincs rendesen lezárva, ezt a visszavert jelet láthatod. (így is lehet kábelben hibahelyet behatárolni, beküldesz egy impulzust, megnézed a visszavert jel késleltetését, ebből, és a terjedési sebességből számolhatod a távolságát) Ha a tápvonalad hossza elegendően rövid ahhoz, hogy ezek a jelek ne zavarják egymást, akkor semmi gond, (így számolnak az informatikusok a saját adatátviteli hálózataikban, buszaikon, hogy korlátozzák a hosszát) A "szkópod" pedig nem a legalkalmasabb eszköz ilyen jelek vizsgálatára, a kis sávszélessége miatt, azonban ahogy a vonalra rákötötted, semilyen gondot nem okozhat. Nem annak a kapacitása okozza a látott jeleket.
Huh hát nem mondom, hogy teljesen felfogtam. A 3. és 5. képen lévő kis amplitúdójú jelek az általad említett futásidő késleltetés miatt vannak ott? Vagy ez a rossz lezárás miatt visszavert jel? (gondolom ekkor követnie kéne, nem megelőznie a négyszög-jellegű jeleket). Azt nem értem, ha ilyen rossz minőségű a csatorna, hogy képes értelmezni a kommunikációt a távvezérlő? Tudsz javasolni valamit, hogyan szűrjem ki az általad említett zavarokat? köszi
Az, hogy a komunikációs vonal milyen, az annak a függvénye, hogy milyen jelsebességet használsz, mekkora torzítású jelet képes feldolgozni a jelvevőd, és mindezekhez képest milyen hosszú a vezetéked (tápvonalad). Ha ilyen állapotban is rendesen működik a komunikáció, ezeket a zavarokat nem kell, sokszor nem is lehet kiszűrni, hanem a vevő dekódolási módszerének kiválasztásával, vagy az összeköttetés hosszának limitálásával lehet befolyásolni.
Ha nagyobb távolságokra , nagyobb sebességre kell adatátvitelt készíteni, akkor vonalmeghajtó/vevő áramköröket kell használni, ezek többnyire szimmetrikusak, így zavartűrőbbek is (brumm), valamint tisztességesen lezárják a tápvonalat is. A hibajavításról, és a vonal feltöltődésének megakadályozásáról vonali kódolással kell gondoskodni. Mégnagyobb távolságoknál már modulált vivőhullámon kell átvinni a jeleket, de ez már nem biztos hogy otthoni kategória, de ezt a módszert használják DSL áramköröknél, illetve vezeték nélküli átvitel esetén. Ezek mindegyikének megvannak a sajátos vonali kódolási technikájuk. Azonban ha csak a vonalon közlekedő információra vagy kíváncsi, akkor (ha egyébként működik stabilan az összeköttetés) a zavarokkal nem kell foglalkozni, és erre nem túl nagy sebesség esetén elég lehet a PC szkóp is.
Értem. Nem csak monitorozni szeretném a vonalat, hanem később ki szeretném váltani az egyik kommunikáló egységet, azt viszont közvetlenül a pincében lévő vezérlőre kötném, szóval a vezeték hossza rövid lenne. Ehhez szeretném visszafejteni az átküldött adatokat.
Sok információ elhangzott már, de egyre bizonytalanabb vagyok a kommunikáció módjával kapcsolatban. Szóval akkor a 12V-ot lerángatja a földre? Vagy valahogy ráültet egy-egy négyszögimpulzust? Az a gond, hogy nem nagyon látom át, pontosan mely jelekkel kell, és mely jelekkel nem kell foglalkoznom, így a visszafejtés sem egyszerű. Mindenesetre amit mondtál a tápvonalakról, az nagyon hasznos információ.
Sziasztok!
-1: A hangkártya bemeneti impedanciája olyan 1K...20KOhm, ami leterheli az általad épített feszültségosztót. -2: A jel frekvenciája olyan 80Hz körül van (1/12ms), ami igencsak a hangkártyák alsó határfrekvenciája. Lehet, hogy egy időben folyamatosan változó (pl.: szinusz) jelet még átvisz alakhűen, de a digitális jelet erősen differenciálja. -3: Szerintem nézz utána a "1-Wire Protocol"-nak, (Google segít). -4: Egy oszcilloszkópos mérés után kiderülne,hogy pontosan milyen jel van a tápvonalon. Így el lehetne dönteni, hogy a hangkártyás mérés helyes-e.
Megnéztem az 1 wire protocol-t. Én is láttam hasonlóságot, de írták (Microchip), hogy TTL jelszintű, max 6V Bővebben: Link. Továbbá azt olvastam, hogy egy eszköznek 64 bites egyedi címe van Bővebben: Link, nekem meg úgy tűnik, hogy a kommunikációban összesen 64 bitből áll egy üzenet. A 80 Hz szerintem is stimmel. No akkor elkezdek felkutatni egy ismerőst, akinek van szkópja.
Én csak a hasonlóság miatt írtam a 1-wire protocol-t. Az már a készüléket tervező embertől függ, hogy betartja-e a szabvány, vagy készít egy hasonlót. Mert ekkor csak a saját eszközei tudnak egymással kommunikálni. Ebben az esetben csak tőle tudod megrendelni az eszközöket. Ilyen pl. a TV-k távirányítója, ahány TV, annyiféle szabvány, de működési elve azonos.
Ez jogos.
Bár az 1 wire protokol is az adatátvitel egy fajtája, de én inkább busz rendszernek nevezném, és általában egy modulon belüli vezérlők, és perifériák összekötésére szolgál, ahogy az I2C is. De pl a CAN busz már a távolságot tekintve inkább átmeneti módszer az igazi adatátviteli rendszerek között. A TV távirányítója pedig igazi, modulált vezetéknélküli átviteli rendszer, és semmi köze az 1 wire rendszerhez.
Ha van rá lehetőséged, akkor esetleg megpróbálhatnád szétszedni a távvezérlőt, vagy a tartálynál levő vevőegységet. Valószínű, hogy van valamilyen jelformáló áramkör, ami a vezetéken levő jelet átalakítja kisebb jelszintre, amit egy mikrokontroller/mikroprocesszor fel tud dolgozni. Könnyen lehet, hogy valamilyen Schmitt-triggeres jelformálóról van szó. Szerintem ott könnyebb lenne mérni a PC szkóppal is, így jobb esély van a protokoll megfejtésére. Azért egy normális szkóp beszerzése erősen javallott.
|
Bejelentkezés
Hirdetés |