Fórum témák
» Több friss téma |
8 db fényképezőgépem van egy speckó rendszerben.
Az elsütés pillanata után mind a 8 egyszerre kezd menteni a saját kártyájára, amit később kártyánként feldolgozok a számítógépben. Ami elég bonyolult és lehet vele hibázni. Hogyan tudnám azt megcsinálni, hogy a 8 SD kártya helyett 1-re menteném az adatokat valami ésszerű könyvtárstruktúrában? Szerintetek megoldható? Valójában nem is kell, hogy SD-re mentsek. Lehet más is. De nem akarok egy komplett számítógépet odarakni. Valami minimálPIC megoldás kellene. USB is lehet a fogadó oldal, bármi.
Bocsi, es ha ugy oldom meg a dolgot, hogy veszek 8 db ilyet: Bővebben: Single slot SD reader akkor már átváltozna a probléma olyanná, amiben csak az szerepel, hogy lehet-e készíteni olyan USB VEZÉRLÉST, ami 8 db bejövő USB csatornát tud menteni egy darab kártyára? Vagy legyen akkor már vincseszter, engem az sem zavar.
Igazából amíg nem mondasz semmit a rendszeredről, addig nem lehet neked segíteni.
Mi ez, mi kellene, miért nem jó egyesével kiolvasni a kártyákat, milyen fényképezők, ...?
Ha a megoldást nézzük, akkor egy olyan eszközre lenne szükséged, ami 8 bemenettel rendelkezik, és a 8 bemenetén egyidőben kapott adatokat először egy puffermemóriába menti, majd innen kiírja egy tárolóeszközre.
A 8 bemenethez, 8 külön memóriapuffer kell, mivel minden csatornán ugyabban az időben érkeznek az adatok. Miután ez megvan, az egy darabos rögzítőeszközre is valahogy fel kell írni a 8 különböző csatornát, és nyilván itt már szelektíven, vagyis szépen sorban egymás után történik mindez. Ha itt például valami könyvtárrendszert alkalmazol, akkor azok sorszámmal különböztethetőek meg. Viszont itt már el is érkeztünk ahhoz, hogy már nincs is értelme ilyen rögzítőt építeni, hiszen ha a 8 darab fényképezőgépet és a bennük lévő SD kártyákat sorszámozod, majd eleve a gépre áttöltésnél ennek megfelelően másolod át őket külön könyvtárakba, már ugyanott vagy, és ekkor nincs keveredés. Egyébként ezt profi körökben is így csinálják, ha több képrögzítő van, akkor azokat egyszerűen sorszámozzák egy kis matricával, és kész. A berendezésnek, amire gondolsz, csupán annyi lenne az előnye, hogy egy kártyát kéne csak a számítógépbe dugnod, és nem cserélgetni a 8-at, így a csatlakozót is kímélnéd, nameg időt is nyernél. Csakhogy az első probléma ott kezdődik, hogy olyan kábelekre lenne szükséged, 8 darabra, aminek az egyik végén SD kártya "anya" dugasz van. És pontosan erről érdeklődtél itt a fórumon 4 hónappal ezelőtt egy topicban, amit Te nyitottál: Akos3D - SD kártya hosszabbító vezeték Ilyen rögzítőberendezés természetesen készíthető, ennek nincs semmi különösebb akadálya. Kell hozzá RAM memória, FPGA, nameg egy jól megírt szoftver, plusz az elektronikai körítés.
Megoldható, de egyszerűbb uC-vel szerintem lassú lesz.
Sajnos ez kimondottan az a projekt, amit nem tudsz otthon megoldani gyorsan és hatékonyan. De ha van időd és forrásod akkor előbb utóbb össze tudod ollózni a tudást a többi SD-s témából. Vagy mentegess a kártyákra, a gépek USB-it egy HUB-ra dugod, aztán arra már egyszerűbb programot írni, hogy összemásolja egy könyvtárba a képeket.
„A berendezésnek, amire gondolsz, csupán annyi lenne az előnye, hogy egy kártyát kéne csak a számítógépbe dugnod, és nem cserélgetni a 8-at,”
Pont ez a lényeg, de nem azért, hogy kíméljem a csatlakozót. Főleg azért, mert amatőrök használják a készülékeim, nagyot tudnak hibázni, ha nem jó sorrendben dugják vissza a matricázott kártyákat és a letöltésnél is lehet hibázni. Szóval ezerszer jobb lenne, ha egy kártya lenne. A RAM+FPGA megoldás milyen tempóban tudna menteni? Mondjuk ha Compact Flash lenne a mentésre szolgáló kártya?
A "tempó" az nem veszélyes, hogy egy példával illusztráljam, a nagysebességű kameráknál is FPGA-kat használnak, tehát egy FullHD videó, tömörítetlenül(!!!) is lazán lekezelhető FPGA-val, másodpercenként többezer(!!!) kép/sec esetén is.
Itt már nanosecundom-os időzítésekről beszélünk, úgyhogy a Te esetben a sebesség kérdése nem mérvadó ilyen szempontból. Tehát nálad már nem az FPGA+RAM lenne a szűk keresztmetszet, hanem az SD kártya írási sebessége, de ha először a bejövő adatok RAM-ban vannak tárolva, majd innen kiírva a kártyára, már ez sem akadály. Nyilván nem másodpercenkénti többezer kép/sec-el dolgozol, bár a felbontásod valószínűleg nagyobb mint 1920x1080, de ez még 8 gép esetén sem jelent különösebb problémát.
A felbontásom 3664 × 2748. SD-re kábé 3 másodperc alatt menti ki a kamera. Mármint mindegyik külön egyszerre ennyi ideig ment.
Az sem baj, ha a végén kiderül, hogy gyorsabban tud menteni az egész rendszer, tehát mondjuk egy másodpercenként tudnék vele újabb elsütést véghezvinni, de ez valójában nem követelmény. Még, ha lassabb lesz is el tudom esetleg fogadni, mondjuk 5 másodpercig bezárólag. És mondom, akkor már inkább CF kártyát lehetne tenni a másik végére. Az hatszor gyorsabb, mint az SD, nem? Jól értem, hogy valószínűleg a kamera gyorsabban is tudna menteni, de azért 3 mp mert az SD-re csak ennyi idő alatt tudja ráírni? Tehát, ha RAM megoldás lenne, akkor a kamera is gyorsabban tudná küldeni? Mennyi pénz lenne egy ilyen cucc alkatrészileg?
Mint mondottam, a sebességet kizárólag az SD kártya határozza meg, de ez éppúgy igaz a CF kártyára is, de még a merevlemezre is.
Nem hinném, hogy maga a fényképezőgép (most egy darabról van szó) az SD kártya foglalatán lényegesen nagyobb sebességet produkálna, mint maga az aktuális SD kártya szabvány, hiszen ez kívül esne a szabványon és inkompatibilitáshoz vezetne. A berendezés fogadó oldalán nyilván a kompatibilitás érdekében, be kell tartani a játékszabályokat, és ez behatárolja az átvitel sebességét is. Tehát hiába az irtó gyors FPGA+RAM, ha maga az SD szabvány határozza meg a maximális átviteli sebességet. Ebből a szempontból teljesen lényegtelen már, hogy konkrétan milyen médiára rögzíted a 8 csatornát a külső berendezéssel, a sebességedet mindenképpen a fényképezőgép SD interfésze és az erre vonatkozó szabványok már behatárolják. A másik kérdésedre akkor már válaszoltam is, igen, a sebességet az alkalmazott kártya határozza meg, de hogy az SD kártyákból melyik class osztályt használhatod, azt viszont már a fényképezőgépeid szoftvere határozza meg. A fényképezőgépeid nem tudják gyorsabban küldeni az adatokat, akármilyen is a rögzítés, mert az SD szabványnak meg kell felelni, a sebességet pedig ez határozza meg. Nyilván vannak lassabb és gyorsabb kártyák class osztály szerint, de hogy melyiket használhatod, azt a géped szoftvere szabja meg. Tehát hiába van class8-as kártyád, ha például a fényképezőgéped szoftvere csak max. a class4-ig kezeli a kártyákat. Az árakról nem tudok nyilatkozni, ez kizárólag konstrukció függvénye, ehhez teljesen konkrétan meg kell tervezni az egész egységet, de úgy nagyságrendileg tízezres összeg, hogy konkrétan hányszor tízezer, az sokmindentől függ.
Azt valaki megkérdezte, hogy ki fogja megépíteni és megírni ezt a projectet? Álmozni szép dolog!
Hmmm...
Ebből viszont az adódik, hogy az SD sebesség nyolcszor egymás MÖGÉ sorolódik mindenképpen, hiszen a RAM-ba betolás is már csak sorban tud menni. Akkor viszont lehet, hogy az egész cucc éppenhogy lassabb lenne, nem gyorsabb, mint 2-3 mp.
Namost a 8 gép sorozatfelvételt készít páhuzamosan?
Mert ha nem (bár még ez sem lenne különösebb probléma), akkor a sebességgel nincs gond. Egy FPGA+RAM, összemérhetetlenül gyorsabb mint az SD csatorna adatforgalma, még 8 csatorna esetén is. Itt a probléma ott kezdődik, hogy a 8 darab géped teljesen azonos időben, mondjuk úgy szinkronban készíti a 8 különböző képet. És mivel a képek párhuzamosan érkeznek az FPGA-ba, nyilván ez 8 külön memóriacsatornát igényel, hiszen ha csak egy memóriachiped van, hiába nagyon gyors annak a címzése és írása, amíg az első csatorna adatait a memóriába kell írni, a többi 7 csatornának addig várakoztatnia kell az adatokat, vagyis az egész képet egyenként, külön külön valahol tartani kell. Ez egy memóriacsatornával elég neccesen oldható csak meg, és még szoftver oldalról is bonyolultabb, mert legfeljebb soronként lehetne beírni a képtartalmat, úgy hogy először az első gép képének első sorát, majd a második gép képének első sorát, és így tovább, majd ismét előlről ugyanez csak a kép második sorával, majd a harmadik sorral, stb. Azért ez így elég necces, és egyébként ezt nem is így szokták megoldani. Csak a több memóriacsatornás megoldásnak van értelme, éppúgy mint ahogy ezt az SSD-knél is alkalmazzák, vagy a nagysebességű flash videorekordereknél. Ezért is ajánlottam az FPGA-t, mert itt van 8 bemeneted, 8 külön memóriacsatornával, és ezek tökéletesen szinkronban, párhuzamosan dolgoznak. A képek kiolvasása pedig a memóriákból, majd a felírásuk egy választott médiára, már nyugodtan mehetnek szelektíven, teljesen tetszőleges megoldással, hiszen itt már nem lényeges a párhuzamos üzemmód, úgyis csak sorban egymásután van értelme felírni a 8 képet a rögzítéskor arra az egy eszközre.
Na, készítettem neked egy végtelenül leegyszerűsített rajzot a dologról, hogy miben érdemes gondolkodni.
Szerintem.
Kiralysag!
A nyolc kicsi RAM jo otlet. En egyet tettem volna, es persze mar akkor osszeakadt volna a sok bejovo info. A végpontra semmiképpen nem tennék SD-t, hanem CF-et, de ez most nem is lényeges. Felmerulne meg egy csomo kerdes, peldaul egy nagyon fontos az idozitesekkel kapcsolatban: Ha egymas utan surun kattintgatunk a nyolc geppel, akkor az ugyesen feltoltodik a RAM-okra, ha van meg hely, de onnan a letoltes lehet lassu. Lehet olya letoltest csinalni, ami a CF-re mentes kozben mondjuk az egyik labon kiad egy tilto jelet, ha mar nem fer a RAM-ba cucc es a CF mentes meg folyamatban van?
Az SD kártya feliratot csak az egyszerűség kedvéért írtam, de mint utaltam is rá, itt nincs jelentősége, hogy milyen a rögzítő média.
A tiltás megoldható, egyébként is figyelni kell a RAM-okat, hogy mennyi hely van még rajtuk, mert ezeket durván túlméretezni tök felesleges. De vannak már nagyon gyors CF kártyák is, és ha mondjuk egy 80MB/s garantált írási sebességűt veszünk alapul, úgy csatornánként 10MB adat mozgatható másodpercenként. Nem tudom, hogy RAW képeket rögzítetek-e (mert ugye ezek nagyobbak), vagy csak sima jpeg tömörítésűt, de utóbbinál szerintem már maguk a fényképezőgépek (a 8 darab együtt!) nem fog tudni olyan sebességgel adatokat küldeni, hogy azt egy ilyen gyors CF kártya ne tudná felírni. Ha a gépek sorozatfelvételt 10kép/mp sebességgel tudnak jpeg-ben, akkor képenként 1MB méretűnek kellene lenniük, hogy a CF kártya írási sebessége határon legyen. Ha azt a felbontást nézzük, amit írtal, és jpeg-ben mentesz, az azért nagyobb mint 1MB, de még így is tudnátok másodpercenként 7-8 képet lőni a 8 géppel egyszerre. Most nem mélyültem bele mélyebben a konkrét számolásba, csak úgy hirtelen fejben számoltam, de szerintem azért ezek már elég korrekt sebességek, figyelembe véve a lehetőségeket.
4 MB körül van egy kép, amit készítünk, és valójában nem nagysebességű sorozatfelvételről van szó.
De ez már kicsit nem publikus dolog, nem lehetne, hogy átmegyünk privat-ba? Az eredetileg feltett kérdésre a válasz már valójában megszületett, a Fórum közössége okosabb lett, de a többit már inkább nem teregetném ki. Viszont mindenképpen szeretnék veled tárgyalni erről.
Hűha, tartok tőle, hogy ebből itt felháborodás lesz, hogy mi lehet az a nagy titok, amiért ne lehetni itt tovább folytatni a konkrét megvalósítást.
Egyébként én nagyon szivesen segítenék, de azt hiszem elérkeztünk a finisbe, ugyanis ennyit volt ami tőlem telik. Én pusztán egy lehetséges megvalósításban tudtam segíteni, ennyire futotta az ismereteimből, de sajnos FPGA-t nem tudok programozni, így a tényleges megvalósítás további sarkallatos pontjai valaki másra várnak.
Forduljak máshoz a megvalósítási kérdésemmel?
Sajnos ez van.
Nekem két olyan FPGA projectem van a tarsolyban, ami szintén képrögzítéssel áll kapcsolatban, de mivel ez sem igazán publikus, én meg nem jutok benne előrébb (persze ennek anyagi okai is vannak), egyelőre "archív raktárban" van a dolog. Úgyhogy nemcsak neked nem tudok többet segíteni, hanem még magamnak sem. Nekem is olyan FPGA programozó kéne, mint a három kismajom: nem lát , nem hall, nem beszél.
Én megmondtam! Folyik itt a nagy elmélkedés, aztán kiderül, hogy nem lesz aki megvalósítsa! Arra gondolt valaki, hogy a gépek milyen messze lesznek egymástól? Azok a kábelek milyen hosszúak lesznek? Erősítős SD kártya kábel? (
Miért kell rögtön temetni egy ötletet?
Nagyon sok hobbista van, aki keni vágja az FPGA programozást, és biztos nem gyémántban kéri a fizetséget a munkájáért. Én megpróbáltam segíteni amennyit tudtam, ha még csak egy ötlettel is. Ha vetted volna a fáradtságot, hogy átnézz a másik topicba amit linkeltem, ott Akos3D egyértelműen leírja, hogy a gépek olyan közel vannak egymáshoz, hogy még az SD kártyák cseréje is problémás, és olyan 5-10cm hosszú kábelekre lenne szüksége. Ahelyett, hogy leszólod a témát, inkább érdemben segíts. De ha az elképzelésemmel van problémád, akkor azt fogalmazd meg konkrétabban, és javasolj más megoldást.
10 centiig nem kell erősítő tapasztalat szerint.
Szerintem talán picit messzebre sem, de majd még ki kell próbálnom.
FPGA hobbisták!
Légyszi jelentkezzetek! Mindenképpen meg kellene oldanom ezt a feladatot! Királyi magyar forintokról volna szó!
Ha esetleg Canon kamerákról lenne szó, akkor egyszerübb a dolog, USB-n keresztül lehet kezelni, exponálni és a memóriából adatokat letölteni, nem kell fejleszteni semmit, max egy scriptet irni. Ebbe az irányba is érdemes lenne elindulni szerintem....
Ja, a CHDK.
Majd megnézem azt is. Lehet, hogy valoban egyszerubb.
Én a chdk honlaponn láttam egy olyan megoldást, hogy létezik olyan sd kártya amiben van beépített wi-fi adapter és azon keresztül a gépről le lehet tölteni az adatokat, talán lehet Mo.-n is kapni csak lehet hogy nem valami olcsó...
10 cm még elmegy, talán kicsit lassabban. Kívánom, hogy találj valakit! Sok szerencsét!
Üdv
Szerintem is járhatóbb út az ha USBHub-on keresztül egyszerre rákötöd a 8 gépet a PC-re. Lenne 8 meghajtód, mint PenDrive, és erre talán egyszerűbb egy programocskát írni hogy a megfelelő meghajtóról másolja az új fájlokat a megfelelő könyvtárba. Nemtudom hogy a Te fényképezőid működnek-e ilyen funkcióban. Az én Lumix TZ2-esem az tuti. Rádugom USB-vel a gépre és mint egy pendrive-ról átmásolom a képeket (igaz usb1-es szabványban, de ez lényegtelen). Olcsóbb és egyszerűbb lenne. Persze ehhez az kell hogy a gépek tudják ezt a funkciót. Esetleg probléma lehet még hogy a windows ugyanazt a betűjelet rendeli e a fényképezőgépekhez. Ezt ki kellene próbálni. Meg még azt is, hogy ha az USBHub-nak kikapcsolod tápellátását (érdemes külső táposat venni), akkor visszavált e a gép fényképező funkcióba, hogy az USB kábeleket ne kelljen széthúzgálni mindig. Meg ugyan ez visszafele, ha rákapcsolod a tápot akkor átváltanak-e a gépek "pendrive" funkcióba és felismeri e a Win a 8 gépet, és el is érkeztünk a meghajtóbetűjel problémához. Valószínű egyszerűbb ezeket kipróbálni mint szerezni 8db 4MB körüli memóriát meg FPGA-t. Nem tudom a memória IC-k árait, de szerintem nem olcsó mulatság, főleg ilyen nagy méretben. |
Bejelentkezés
Hirdetés |