Fórum témák
» Több friss téma |
Fórum » DSP - Miértek, hogyanok
Témaindító: kemenygolya, idő: Szept 10, 2009
Témakörök:
Jo hogy nyitottad ezt a temat, de a kerdes nem annyira DSP.
Szétnéztem online és rájöttem, hogy olcsóbb volna megvenni a miniDSP-t kit-et, összekötni raspberryvel, beleszerelni szépen 1U rack-be, felszerelni szépen neutrik XLR csatikkal és hálózatról vezérelhető, sőt még van 3 USB periféria.
Igen, van amit mar nem erdemes kitalalni, csak megismerni
Sziasztok! Van egy ilyen DSP kit-em: Bővebben: Link Az volna a kérdésem, hogy hogyan tudnák vele "beszélgetni" SigmaDSP szoftwerrel (ez a DSP kit az ADAU1701 ic-n alapul, azt hiszem I2C csatlakozó van neki, de a programnak valami USBi interfész kellene)?
Feltétlen meg kell vásárolni ezt a kütyüt? Bővebben: Link Vagy elég volna egy sima I2C to USB adapter?
Sziasztok,
Ehhez a DSP-hez milyen fordito letezik ? Valahogy nem akadok ra meg a TI oldalan sem. TMS320C6726
Sziasztok! Adott egy ADAU1701 DSP, és az volna a kérdésem hogy MP9 lábra (AUX ADC0) rákötöttem egy potméter középső lábát, másik kettőt az 5V és GND-be, de ha a programba beállítom hogy hangerő szabályzó legyen, akkor teljes kitekerésnél max -12dB jelszint jön ki. Próbáltam 5V helyett 3V-ot úgy nem ad ki semmit. A firmware-t simgastudioval írtam az eepromba, ott volt egy olyan lehetőség, hogy volume control --> ext. gain control, a slew rate-et 12 nek hagytam, kijelöltem a GPIO-bol az ADC0-át és hozzácsatoltam a slew rate blokk-hoz
A hozzászólás módosítva: Márc 25, 2017
Sikerült megoldanod? Kíváncsi lennék mi lett belőle...
Igen, A poti 0-5V ot szabályoz a GPIO lábra, a programban pedig a beolvasott aux adc értéket megszoroztam egy konstansal, és az az érték megyen az ext. gain control blokkba. A konstans értékét úgy célszerű megválasztani, hogy generálsz egy szinusz jelet, átviszed a gain control blokkon, a végén meg jelszintet mérsz. Ha a poti max álláson van és a kimeneti gain 0dB és nem hallgató torzítás, nem megy 0dB felé az erősítés akkor jó a konstans érték
Sziasztok! Elsősorban elnézést szeretnék kérni, de a DSP topik egyszerűen kihalt, s most nagyon sűrgősen kellene válasz.
Szóval Adott egy ilyen KIT Bővebben: Link sajnos nem nagyon értem a nyelvet ahogy az íródott. A kithez még kötöttem egy opampokból álló áramkört, hogy balanced in és out legyen XLR csatin, a fő DSP modulon a kvarcot kicseréltem 12.288Mhz-re, hogy működjön 48khz-en a mintavételi frekvencia. Az egész egy 1U dobozban foglal el helyet, két darab crown macrotech végfokot hajt. Most eljött a pillanat, hogy szeretném használni a SPDIF In-t. Van benne egy WM8804 ic, ami a SPDIF jelet alakítaná I2S-re, a DSP-n van I2S in és out is. A master clock-ot mindenképp az a WM8804 ic kell adja amelyik az I2S in-re van kötve, és ha ő adja akkor működhet 48khz mintavételi frekvenciával a DAC? A spdif bemenő jelet egy PCM2704 usb kit szolgáltatná. Mi lenne a helyes jumper konfiguráció a SPDIF kártyán?
Sziasztok a vs1053-al foglalkozott-e már valaki?
Van egy ilyen lapkám: Vs1053 Összekötöttem egy Arduino Nano-val. Szépen üzemel is, de lenne pár kérdésem ezzel kapcsolatban: -A belső frekvenciáját gondolom a kvarc adja meg, ami a lapkán van. Az, ha minden igaz 12MHz-es. A gyári adatlap szerint, viszont alacsony sebességen, a MIDI polifónia nagyon gyér (2-3 hang), illetve a MIDI reverb effekt sem indul be. Ugye az SPI frekvenciáját tudom változtatni, de ha jól gondolom, az az Arduino frekvenciájából osztódik (16MHz-nél: SPI_CLOCK_DIV16 azaz 1MHz), és nem hinném, hogy köze lenne a vs órajeléhez, meg ugye annak csak a kommunikációhoz van köze. Másrészt a vs regisztereit tudom írni, az arduinos példányon keresztül, erre egy példa:
Ezzel esetleg érek valamit? Ugye a dokumentációban a csatolt linken a 37. oldalaon, beállítgat bizonyos regisztereket a ]frekvencia függvényében... Minden segítség jól jön, köszönöm! vs1053]Bővebben: Link A hozzászólás módosítva: Ápr 27, 2021
Moderátor által szerkesztve
Tehát ezt szeretném valahogy megvalósítani: (42. oldal alja)
"Example: If SCICLOCKF is 0x9BE8, SCMULT = 4, SCADD = 3 and SCFREQ = 0x3E8 = 1000.This means that XTALI =1000×4000+8000000= 12 MHz. The clock multiplier is set to3.5×XTALI=42MHz, and the maximum allowed multiplier that the firmware may automatically choose to use is(3.5 + 2.0)×XTALI= 66MHz."
Valami ilyesmit szeretnék megvalósítani:
(De lehet ez is csak az SPI frekvenciáját változtatja meg...) A hozzászólás módosítva: Ápr 25, 2021
Közben én egy két dologgal kísérleteztem ma. Ugye alapból a vs1053-hoz lehet két függvénytárat letölteni pl. van egy 1053sdfat függvénytár Arduino-ra, illetve az Adafruit-os. Körülbelül mindkettő ugyanazt csinálja, hogy mp3-lejátszót csinál az eszközből, ami nekem nem nagyon jön be.
Ezen az oldalon egy SPI-os midiGM szintetizátort csinálnak belőle, ami nekem nagyon megtetszett. Illetve nem használ külső függvénytárat! Alapból a szabványos SPI-os kommunikációt használja, és a VSWriteRegister, és a VSLoadUserCode függvényei a hardverspecifikusak. Ugye a VSWriteRegister-rel tudom írni az adatlapon bemutatott regisztereket. Nekem sikerült is a VOL(0xB) és aBASS(0x2) regisztereket elérnem. A VOL regiszterben a két oldal hangerejét lehet változtatni 0-FF-ig. A BASS regiszter elvileg a magas és mély hangszín kiemelésére szolgál. 4-4-4-4 biten megadva az értékeket. (frekvencia, level)Ezek teljesen jól működnek nekem eddig. A többi regiszternél viszont nem egyszerű az írás, mivel sokszor csak egy adott biten tárolnak információkat, és ahhoz, hogy azt megváltoztassam, előbb ki kell olvasnom az adott regiszter értékét, és azt vagyolni az én értékemmel. Ehhez pedig nem ált rendelkezésemre VSReadRegister függvény. Most a write és az adatlap alapján ezt sikerült összehoznom, most tesztelem: Ez volt a write:
És ez lenne a read:
Kis különbség van a típusokban. Ugye a write egy alsó és egy felső bájtot kap meg. A read viszont egy int típusú adattal tér vissza. Mivel 16bites regiszterekről van szó, ezért ez megfelelőnek tűnik így.
Úgy néz ki, hogy működik a read, bár 1-2 teszten vagyok csak túl:
Ugye kiolvastam az SCIMODE regiszter értékét és ezt kaptam: B0100100000000000 Ugye az adatlap szerint, a 14-es és a 11-es bit van bekapcsolva, tehát native SPI módban van az eszköz, illetve a line csatlakozó az aktív. Megpróbáltam bebillenteni a 15. bitet, mely a 24..26 MHz-es órajelnél kell beállítani, és lefeleződött a kimeneti mintavételi frekvenciám, egész űrhangja lett az eszköznek... A hozzászólás módosítva: Ápr 26, 2021
Közben lehet működik a sebesség többszörözése.
Ha minden igaz sikerült megértenem az adatlapon írtakat, és beállítanom nagyobb frekvenciára. Az egy sáv polifóniája nem változott, az ugyanúgy 1-2-3 hang. Viszont, ha több csatorna szól egyszerre, nem csuklik meg a hangszer hangja. A SCICLOCKF regisztert az adatlap ajánlása szerint állítottam be, amit már fentebb bemásoltam:hivatkozás A következő kódot küldtem el a regiszternek.
A kiolvasás visszaadta a beállított értéket. A változás egyébként nem annyira szembetűnő a működésen, de nem csuklik meg a MIDI dob egyidejű lejátszáskor, ha másik MIDI csatorna hangszerén játszom. A hozzászólás módosítva: Ápr 27, 2021
Annyi megjegyzés még, hogy egy picit elcsúszott a hangmagasságom a MIDI hangszíneknél. Valószínűleg a SCFREQ-nál ezért lehet 10biten szabályozni a frekvenciát, hogy finomhangolható legyen a valódi mintavételezés időzítése.
Kezd a dolog számomra egyre érdekesebbé válni, és megtetszeni, és remélem jól értelmezem az adatlapot... Ami viszont elengedhetetlennek látszik,hogy valóban ki tudjuk használni ezt a VS1053-as DSP-ét, hogy az SCI wram-ot elérjük. Ugye van egy SCIWramaddress regiszterem. Ha ide beírok egy címet, akkor elvileg tudom írni és olvasni, a hozzá tartozó adatot. Na itt elérhetővé válnának a speciális funkciók,mint ami engem érdekel, a MIDI reverb, illetve akár kész program is feltölthető lehet. Természetesen a dsp a saját fejlesztő környezetével is programozható(VLSI Solution), de akkor meg kell venni egy fejlesztőhardvert, ami ugye pénzbe kerül, ami nincs...
Egy barátom adau1701-et használ, i2c buszon vezérli. Hangerő állításkor (a hangerő paraméter átküldésekor) időnként hatalmasat pattan a hang. Létezik erre valamilyen megoldás? Mi okozhat ilyet?
Ugye tudni kellene, hogy melyik regiszternek milyen adatokat küld hangerőállításkor.
Lehet nem mindegyik regiszter 0-127-ig állítható, hanem mondjuk 0-100-ig, vagy -27-100-ig stb. Mert ugye ugyanannak a regiszternek, lehetnek egyes bitjei más-más funkciókért felelősek. Ezt az adatlapból ki lehet elvileg nézni. Ha lib-et használ hozzá, akkor ennek jónak kellene lennie, de akkor is tesztelném a helyébe, hogy melyik konkrét értéknél van a pattanás. Tehát első hallásra, nem annyi bites a küldött adat, mint amennyit a regiszter szeretne... Honnan tudott 1701-est szerezni? Irigykedem! A hozzászólás módosítva: Okt 18, 2021
Esetleg a bal-jobb csatorna kavar be, mint külön regiszterérték... Az adatlapból ki kellene, hogy derüljenek a volume regiszter paraméterei...
Másrészt az i2c-nek módosítható a frekvenciája, érdemes lassúbb értékekkel is kísérleteznie... A hozzászólás módosítva: Okt 18, 2021
Az a kérdés, hogy ilyenkor hol van az SdrLab barátunk, mint a dsp-k fő szakértője?
Üdv Mindenki, és Gábor! :Đ
Hosszú ideje már, hogy nem igazán ténykedek ezen a fórumon, és más fórumokon sem igazán vagyok aktív tag, inkább csak esetenként megfigyelő. Nemrégiben viszont ráérős pillanatomban, és kissé nosztalgikus hangulatomban eszembejutottak azok az időszak amikor elég aktivan zajlottak az eszmecserék Gáborral, és akkor már miért is ne kérdezzem meg tőle, hogy mi újság vele, és mivel is foglalatoskodik mostanság. Most ennek az lett a következménye, hogy bogarat ültetett a fülembe ezekkel a DSP-kkel, és be is rendeltem kínából két modult, egy ADAU1404, és ADAU1452-vel szereltet. Olvastam viszont valahol itt is, és Gábor is említette, hogy a DSP-ben lévő értékek változtatásakor kattanás lép fel, ami talán érthető is, ha hirtelen nagy mértékű változás történik a feldolgozásban. Ha nem írok hülyeséget, akkor erre olvastam valami olyasféle megoldást, hogy minden változtatás alkalmával, az aktuális munkaértékhez képes kis lépésekben ciklikusan kel az értékek változtatását átküldeni, míg nem elérjük a tényleges célértéket. Tehát az időben elnyújtott, és kissebb mértékű változás elvileg nem okoz durva kattanást. Mivel még nem rendelkezem ilyen modullal, így nem volt alkalmam kipróbálni. Programozó gyanánt egy ESP-t próbálok majd ki. Ezt sikeresen feltöltöttem egy ESP32 modulra, és kapcsolódni is tudok rá de nem tudom, hogy működik e: ESP TCPi A hozzászólás módosítva: Ápr 28, 2022
Ha van processzorteljesítmény, vagy eltárolva 1-2 görbetípus, akkor én inkább görbével közelíteném! Illetve a legjobb megoldás, ha megfelelően nagy felbontásban tudod a dsp értékeit változtatni, ezt kellene elérni!
Fejlesztgetek szabadidőmben egy fm szintetizátort, és amikor 1-1 hangerőállítást lineáris egyenessel próbáltam kellően finoman megvalósítani, azzal azt értem el, hogy a dolog nem 1 nagyot, hanem két kicsit roppant, ami akusztikailag nem bizonyult jobbnak, hiába nézett ki jobban a görbe. Egyébként ha létezik gyors algoritmus ezeknek a zenei tüskéknek az eltávolítására utólag, az engem is érdekel...
Sziasztok! Implementáltam ezt a kódot ESP32-re. Egész számos audió bufferem van. Szépen működik! Változtatható frekvenciával és jósági tényezővel. Hátha valakinek jól jön. A bufferbe változó az aktuális bufferértéket tartalmazza az adott minta ciklus alatt. Ez az egy dolog, ami egy global változó, minden mást intéz a függvény, ha meghívjuk a parametereq függvényt! természetesen valamikor előtte, amikor még ráért az eszköz az eqkiszámol függvényt illik meghívni, de természetesen ezt nem kell minden mintánál!
A hozzászólás módosítva: Jan 15, 2023
Helló mindenki!
Motorola/Freescale/NXP DSP56F80x szériával nincs valaki képben (20 évvel ezelőttről?) Van egy panel amit javítok és át kellene írni egy újba a régi DSP tartalmát. Ez ugye Harvard elvű tehát van külön Prog meg Data flash. Az egyik NXP-s fórumon találtam egy flashert amivel lehet olvasni JTAG-en (LPT portos) azt megpatkoltam, hogy FTDI-t használjon. Ki is olvastam az app, boot flash területet, illetve az adatot is. A boot meg user app tartalma jónak néz ki, de a dataflash teljesen FF. Létezhet-e, hogy ez így jó?
Idézet: „dataflash teljesen FF. Létezhet-e, hogy ez így jó?” Kiolvasás ellen védettség lehetséges?
Idézet: „Kiolvasás ellen védettség lehetséges?” Nem. |
Bejelentkezés
Hirdetés |