Fórum témák
» Több friss téma |
Üdv mindenkinek!
Egy RDS-es rádió tuner építésébe vágtam a fejszém, s mielőtt megépíteném egy kis infóra lenne szükségem. Egy TDA7330-as RDS demodulátor kimenetét kellene feldolgozni PIC-el. Nekem az egész adatfolyamból csak a PS(Programme Service name)-re van szükségem. Letöltöttem a netről az RDS rendszer specifikációját, de nem igazán értem, hogy hogyan lehetne ezt megvalósítani..... Illetve van egy txt fájlom, ami állítólag RDS adatfolyamot tartalmaz, de még semmi értelmeset nem tudtam belőle kihozni.... Annyit tudok, hogy valami ismétlődő jelformát kellene keresni az adatfolyamban. Ha valaki tudna segíteni ebben, azt megköszönném és még pontot is kapna érte....
Helló!
Nézd meg ezt a cikket, itt az általad említett IC-t tartalmazó PIC-es rádiót építettek... Van kapcsirajz, program, nyákterv... RDS/RBDS decoder with optional FM stereo receiver
A kapcsolási rajzot innen vettem.... Illetve abból is csak a tuner részt. Nem a hardver részével van gondom... hanem a programmal amit majd a PIC-re kellene majd megírnom. De azért kösz!
Hello, a programot itt nem kell megírnod, mivel adva van.
De van ITT egy projekt, sajnos csak hexával...De ha egysoros LCD-t használsz, akkor csak a PS infó látszik...
hi
egysoros LCD-vel nem, jó mivel csak 8 karakter fog látszani!, mert a 9 karakter az LCD-be 32h (nekem odébb volt) odébb van, nem úgy mint a többsoros LCDnél. üdv
Épp az a bajom, hogy adva van a program... mindkét esetben csak HEX fájl... úgyhogy azt ****hatom....
Amit én építek az csak egy RDS-es Stereo Tuner, ami majd egy 5.1 csatornás rádió-erősítőben fog szolgálatot teljesíteni. Nekem mindenképpen egyedi programot kell írnom, mert egyedi menüje lesz az erősítőnek.... Kérlek titeket, csak olyan írjon, aki ért is hozzá.... mivel a netről én is össze tudom szedni ezeket, sőt amit eddig belinkeltetek, az már mind megvan.... Előre is köszönöm!
Hali!
Már egy párszor csináltam ilyen progit, a lényeg a következő: a bitsorozat tartalma a következő: a legnagyobb egység a group, hossza 104 bit. 4 db blockból alkotja, így ezek 26 bitesek. a 26 bitből az első 16 az infó, a következő 10 ennek az ellenörző összege. (crc) a groupok különböző információkat hordoznak, az azonosítójuk (0A-15B) határozza meg, hogy éppen mit. az azonosító 5 bitből áll, és a group 2. blokkjának első 5 bitjében van tárolva. ebből az első határozza meg a számot, (0-15) az ötödik pedig a tipust (A vagy B). Az adóállomás neve a 0A és 0B groupokban jön át 2 karakterenként, a következő módon: A group negyedik blokkja két 8 bites karaktert tartalmaz, a group második blokkjának utolsó két bitje pedig azt a címet, hogy ez a két karakter a 8 karakterből álló PS-nek hányadik két karaktere. (ld. az ábrát) :yes: A groupok elején (az első blokk) mindig az adóállomás azonosítóját tartalmazza, így ez mindig ismétlődik. tehát a group elejét úgy tudod megtalálni, hogy azt nézed, hogy 104 bittel később ugyanannak a bitsorozatnak kell ismétlődnie. :yes: nem tudtam igazán jól leírni, de nyugodtan kérdezz.
Üdv!
Végre egy normális leírás, így már érthető! Szóval a PI kódot kell megkeresnem, s onnantól már gyerekjáték az egész... én meg a "Group type" kódra próbáltam rákeresni az adatfolyamban.... annyiban még segíthetsz, hogy mondhatnál egy jó technikát a PI kód megtalálására. A legjobb lenne az ha BASIC-ben vagy C-ben tudnál mutatni rá egy példát, de ha nem, az sem baj. majd kikisérletezem VisualBASIC-ben. Onnan már nem lesz nehéz átülteni PIC-re.... Köszi!
Hali!
Sokféle megoldás lehetséges, én a következőt csináltam: kell egy 130 bit hosszúságu puffer. 1. Amikor jön egy bit, 1-gyel el kell léptetni a puffer tartalmát balra és az érkező bitet elheylezni a 130. címen. 2. Utána meg kell nézni, hogy a 0-25 poziciók között levő és a 104-129 poziciók közt levő bitfolyam ugyanaz-e. ha nem,akkor vissza az 1. lépésre. 3. Ha ugyanaz, akkor - mivel minden group elején a PI-t tartalmazó blokk van - 0 poziciótól kezdve helyezkedik el a group (a következőnek az eleje pedig a 104-129 között). Ekkor azonosítható (2. blokk vagy hivatalosan "B" blokk első 5 bitje alapján), hogy melyiket sikerült éppen "elfogni". 4. Ha ez épp egy 0A vagy 0B group, akkor a 4. blokkban levő két 8 bites karakter beírható a nevet tároló 8 bájt azon címére, ahová a a 2. blokk utolsó két bitje mutat. a kód sajna már nincs meg, mert 2001 körül foglalkoztam a dologgal utoljára - akkor delphi3ban csináltam hozzá kódot,de már a w98 sem nagyon hagyta működni -, és azóta volt egy 33GB-os adatvesztésem :no:
Huh.... 130bit hosszúságú változó PIC BASIC-ben.... hát nem tudom hogy fog menni, de majd kitalálom... Fölbontom 17db byte-ra, ha nincs más megoldás.
De jár a pont, mert sokat segítettél! Ha eszmbe jut még valami ami nem világos, akkor kérdezek. S ha eszedbe jut valami fontos még, akkor mondd nyugottan... addig is kösz!
Örülök,hogy sikerült segíteni.
Elvileg van egy ellenörző-hibajavító lehetőség is az adatfolyamban, de annak megcsinálása hosszadalmasabb, és nem nagyon emléxem már rá hogy kell csinálni.
Üdv!
A CRC hibajavítással én sem foglalkozom, túl bonyolult és szerintem nem férne bele abba a 842us-ba ami két órajel impulzus között van. Elég jól haladok a programmal, a "bit-slip"-es dolog már működik és az összehasonlítás is. Most 132.8us-nál tartok 20MHz-es órajel mellett, úgyhogy spórolni kell egy kicsit. De már csak fel kell dolgozni az adatokat, az talán nem lesz olyan bonyolult. Abból a txt-ből amiben állítólag RDS jel van... hát abból nem tudtam semmit sem kinyerni. írtam rá VB-ben progit, de nem talált benne egyezést.
Tedd fel azt a txt-t,hátha sikerül valamit kihámozni belöle.
Parancsolj. Remélem neked sikerül. Mondjuk lehet azért nem lett jó, mert valamit elrontottam a progi megírásánál....
Hali!
Ezt sikerült kiszedni belőle, kezdetnek elég jó. Néhol a bitsorozat megcsúszik, kimarad vagy megváltozik egy-két bit. Lehet, hogy mégis kelleni fog a hibaellenörző, nem nagy durranás az se.
Akkor valamit nagyon elronthattam a programban... na mindegy majd próbálkozok még... "de rühellem a .NET-et..."
Az én leírásomban szó van valamilyen "syndrome"-okról a group és adat szinkronizáció cím alatt... de nekem egy kicsit zavaros... a hibajavítást meg majd meglátom, egyenlőre azt sem nagyon értem, bár még nem is nagyon foglalkoztam vele. Előbb működjön a dolog, s utána lehet bonyolítani....
Sziasztok!
Több mint 2 hete küzdök egy hasonló problémával, hát most már igy kissé kimerülve bedobom a labdát, hátha tudtok nekem segíteni! Egy DVDből kiszervált FM tunerrel vaszakolok, van benne RDS meg PLL szinti minden ami kell sikerült azonosítani az ICket. stb... tudom hangolni (PICel), soros porton keresztül... az új célkitűzésem, és amiért ide írok, az az RDS... Egyszerüen nem értem Semmi használható info nem jön ebből az ICből ( LC72723 )... csak 00 majd FF ... és ezek váltakoznak... vagy néha néha becsuzik más egyéb is.. de az annyira nem sűrű! :S Mit rontok el? segítsetek... probáltam az itt közzétett modon a PI kodot megtalálni hát.. elég sokat talált.. (00 FF ) ... mellékeltem egy általam rögzített RDS adást... HELP!
Hú Emberek! Nagyon meghalt a téma!
A topic felélesztése végett, elmesélem mire jutottam: Ugy néz ki, hogy az én RDS dekoderem hibás, mert egyszerüen nem az a bit folyam jön ki belőle aminek kéne! Megmértem számítógéppel, és pont a fele adat jön ki hogy miért, azt nem tudom! Hamarosan elkezdek foglalkozni a dekodóló IC cseréjével, de addig is írjunk össze, valami komplett leírást, hogy hogy is kéne dekodólni...
Hali!
A feltett adatfolyamnak a szinkronizációja tűnik rossznak. Túl hosszúak az 1 és 0 folyamok. 1 db RDCL jelre 1 db RDDA jelet kéne kapni. Hogy kötötted be? Milyen progit csináltál hozzá / mi volt az elv?
Hali!
Epitettem en is egy RDS dekodert, mukodik is, de lenne egy kis problema vele. Annak ellenere, hogy az RDS specifikacioban tisztan le van irva, hogy az ado nevet nem szabad gyorsan valtoztatni, villogtatni stb., a legtobb radio allomas 1-2 masodpercenket kulonbozo informaciokat kuld. Ado neve, frekvencia, varos neve... A hiba abban nyilvanul meg, hogy sokszor vagy bent marad 2 karakter az elozo szovegbol, (8 kar) vagy a kovetkezobol ir ki hamarabb, tehat zagyvasag olvashato. Probaltam ezt ugy kikuszobolni, hogy addig varok amig a 0-adik helyierteku (c0,c1) 2 karakter erkezik, majd miutan mind a 4 egymas utan kovetkezo bejott, csak akkor iratom ki. Sajnos ez sem mukodik!? Ugyanugy sokszor (nem mindig) zagyvasag jelenik meg, sot neha teljes szavakat atugrik. (elesben osszehasonlitom pl. egy masik gyari RDS-es radioval) Hogyan tudnam ezt kikuszobolni? Koszi.
Egy adóra van hangolva a tuner és mégis váltakozik az adó neve?
Egy adó esetén mindig ugyanannak az infónak kell jönnie. Biztos, hogy a megfelelő groupok (0A és 0B; ld. a #120669 sz. hozzászólásban) tartalmát olvasod ki?
Igen, ugyanazon ado egymas utan kozvetit kulonbozo infokat. Az egesz FM savban talalhato osszes ado szinte ezt teszi.
Van olyan is, amelyik a zeneszam alatt idezojelben a szam szerzojet es cimet kozvetiti, majd 2 szam kozott a pontos idot, az ado nevet es frekvenciajat. Mindezt felvaltva 8-8 karakterenkent. Az erdekes az, hogy volt olyan gyari dekodolo is, (mobil telefon FM radioja+RDS) amely ugyanugy hibazott egy bizonyos adonal mint az enyem. Azonban egy masik auto radios RDS, ugyanazt az adot tokeletesen dekodolta. Sot ezzel a modszerrel amit most hasznalok, van ugy, hogy kihagy-atugrik egy teljes (8 kar hosszu) nevet, mig a mobilos azt is 'latja'. Igen, csakis a 0A es 0B-t ertelmezi. Itt van 2 video: (sajnos nem sikerult tomoriteni) Bővebben: Link Bővebben: Link
Helló. Van egy Yamaha RX-396RDS típusú rádiós erősítőm és a probléma vele az hogy nem áll meg a keresése magyar adóknál illetve ha kézzel állítom magyar adóra akkor nem megy az RDS. Van valakinek valami ötlehet mi lehet a baja?
Előre is köszi.
Sziasztok!
Adott egy Rotel RX-800 -as rádiós erősítő, megvan hozzá minden doksi (áramköri rajz). Kb mi kellene hozzá, hogy egy egyszerű 1soros 8-10karakteres kijelző RDS infókat mutasson (mint az autós rádiókban szokták), erre a rádióvevőre csatlakoztatva, illetve bele applikálva? Sajnos PIC/AVR programozási tudásom/lehetőségem nincs, bár van itthon pár 18F877-esem. Gondolom ez sokat csökkent az esélyeimen...
De még hogy! Mármint hogy ez pont az amit keresek.
Köszönöm szépen! Abban nem tudnál segíteni, hogy a linkelt programot beleégetni a chipbe? Igaz még chipem sincs, de az -gondolom- már csak pénz kérdése. Ha jól értelmezem ezt a mondatot: "AT90S2313 (obsolete part, replace with Atmel ATtiny2313)", akkor ezzel az ATtiny2313-sal egy az egyben kiválthatom?
Helló!
A program zip-ben van külön hex Attiny2323-hoz és 90s2323-hoz. Van egy AVR-Dopper égetőm, de eddig csak Atmega8-at égettem vele, de szerintem megoldható, bár ilyen csippem ( szép magyarosan) nincs. A másik IC azonban sokkal problémásabbnak tűnik. Szerintem előbb azt próbáld beszerezni, mert ahol én néztem ott már nem is lesz.
Nos közben belefutottam ebbe:Bővebben: Link
Még nem néztem meg jobban, de jónak tűnik.
Ez se rossz, de úgy látom, ezt se lehet beszerezni, ahogy a TDA7330B-t.
Illetve 'hazudok', most kaptam egy ajánlatot: 1500Ft+postáért kaphatok 1db TDA7330-ot. Nos, nekem annyit azért nem ér egy ilyen kis kütyü. De ha tudok szerezni olcsóbban, vagy esetleg cserélni valamire, akkor mindenképpen élek a lehetőséggel. |
Bejelentkezés
Hirdetés |