Natív usb-hez mit tanácsoltok?
-
sargarigo765
- Újonc

- Hozzászólások: 7
- Csatlakozott: 2013. április 2. kedd, 19:49
Natív usb-hez mit tanácsoltok?
Sziasztok!
Az aktuális projektemhez (digit-analizátor) kellene, hogy át tudjak tölteni a vezérlőmből a pc-re 64K adatot, lehetőleg egy blokkban, gyorsan, megbízhatóan.
A soros portot már elvetettem, mert lassú, kártya dugdosással nem akarok szórakozni, ethernethez kevés vagyok. Szerintem maradt az usb. Kipróbáltam a szoftveres usb-t ( http://www.obdev.at/products/vusb/index.html, http://www.hobbielektronika.hu/forum/to ... .html?pg=0 ), de vagy én vagyok béna (ez is lehet), vagy csak nem alkalmas ekkora adatmennyiség kezelésére. Van hogy megy, van hogy nem, és csak nullákat küld át.
Arra jutottam, hogy akkor legyen hardveres megoldás, szét is néztem az usb-s avr-ek között, és siralmas a helyzet. Drága, nehezen forrasztható, vagy csak beszerezhetetlen.
Gondolkodtam még azon, hogy beszerzek egy arduino-t, és azon is van pl. atmega8u2, de nem tudom, hogy ezt lehet-e külön programozni, vagy az csak bele van gyógyítva a rendszerbe és kész?
Ajánljatok valamit plííz!
Üdv,
Krisztián
Az aktuális projektemhez (digit-analizátor) kellene, hogy át tudjak tölteni a vezérlőmből a pc-re 64K adatot, lehetőleg egy blokkban, gyorsan, megbízhatóan.
A soros portot már elvetettem, mert lassú, kártya dugdosással nem akarok szórakozni, ethernethez kevés vagyok. Szerintem maradt az usb. Kipróbáltam a szoftveres usb-t ( http://www.obdev.at/products/vusb/index.html, http://www.hobbielektronika.hu/forum/to ... .html?pg=0 ), de vagy én vagyok béna (ez is lehet), vagy csak nem alkalmas ekkora adatmennyiség kezelésére. Van hogy megy, van hogy nem, és csak nullákat küld át.
Arra jutottam, hogy akkor legyen hardveres megoldás, szét is néztem az usb-s avr-ek között, és siralmas a helyzet. Drága, nehezen forrasztható, vagy csak beszerezhetetlen.
Gondolkodtam még azon, hogy beszerzek egy arduino-t, és azon is van pl. atmega8u2, de nem tudom, hogy ezt lehet-e külön programozni, vagy az csak bele van gyógyítva a rendszerbe és kész?
Ajánljatok valamit plííz!
Üdv,
Krisztián
Re: Natív usb-hez mit tanácsoltok?
AVRUSBKEY a kulcs.
AT90USB1287 a központi chip és tud memóriakulcs lenni...
Ebben minden benne van.
1 blokk nem lehet 64k. Az USB protokoll sem engedi meg.
Kiindulásnak "USB in nutshell" könyv.
Hamár integrált USB-s eszköz: leonardo. ATMega32U4 chip és Arduino alatt kezelhető
http://provideyourown.com/2012/arduino- ... whats-new/
Áramkör:
http://shop.tavir.hu/product_info.php/a ... nardo-p-31
Vagy Arduino DUE. Ez is érdekes lehet....
Kulcskérdés: Mennyi idő alatt kell átrakni az adatot?
Leonardo USB sebesség ~1Mbit/s !
AT90USB1287 a központi chip és tud memóriakulcs lenni...
Ebben minden benne van.
1 blokk nem lehet 64k. Az USB protokoll sem engedi meg.
Kiindulásnak "USB in nutshell" könyv.
Hamár integrált USB-s eszköz: leonardo. ATMega32U4 chip és Arduino alatt kezelhető
http://provideyourown.com/2012/arduino- ... whats-new/
Áramkör:
http://shop.tavir.hu/product_info.php/a ... nardo-p-31
Vagy Arduino DUE. Ez is érdekes lehet....
Kulcskérdés: Mennyi idő alatt kell átrakni az adatot?
Leonardo USB sebesség ~1Mbit/s !
-
sargarigo765
- Újonc

- Hozzászólások: 7
- Csatlakozott: 2013. április 2. kedd, 19:49
Re: Natív usb-hez mit tanácsoltok?
Pontatlan voltam az egy blokkot illetően, valóban 64byte rémlik ha a te oldaladról nézzük. Arra értettem, hogy "nagyjából egyben" küldje át a cuccot.
A KEY-t megnézem mit tud.
Csak a leonardo és a due tudja kezelni az usb-t? Pl az uno nem alkalmas rá (ár) ?
A sebesség ezen a ponton már nem olyan kritikus, csak ne kelljen percekig várni rá. Ha már a LOW USB sebességét eléri (kb 15s), akkor elégedett vagyok. Persze ha gyorsabb, az azért nem baj
Van valahol valami leírás, hogy miként kell megizgatni az usb-t? Konkrétan az ellenoldalon lenne egy c# program, ami fogadja. Persze minden minden megoldás játszik, csak működjön, a többit "összefaragom" ..
Köszönöm a választ!
A KEY-t megnézem mit tud.
Csak a leonardo és a due tudja kezelni az usb-t? Pl az uno nem alkalmas rá (ár) ?
A sebesség ezen a ponton már nem olyan kritikus, csak ne kelljen percekig várni rá. Ha már a LOW USB sebességét eléri (kb 15s), akkor elégedett vagyok. Persze ha gyorsabb, az azért nem baj
Van valahol valami leírás, hogy miként kell megizgatni az usb-t? Konkrétan az ellenoldalon lenne egy c# program, ami fogadja. Persze minden minden megoldás játszik, csak működjön, a többit "összefaragom" ..
Köszönöm a választ!
Re: Natív usb-hez mit tanácsoltok?
Sorosport: pl. UNO megoldással (memóriaméret miatt a Mega alappanel javasolt): 250 kbps = 25 kbyte/sec!
Az USB igen komplex -> USB in nutshell-t olvasd végig. Vagy a www.usb.org
.
USB kliens kell neked....
Azért ajánlom a leonardot, mert ha az USB-t akarod megtanulni, arra az a legjobb. (Bár az USB megtanulása és megértése szerintem van vagy fél év...)
A chipje kb. ugyanaz mint az UNO illesztője. Csak egyszerűen kezelhető....
Én maradnék a sorosportnál...
Vagy a FTDI chip esetén (igaz a AVR és FTDI sorops sebességeltérése 0% kell legyen), akkor 1 Mbit/s simán megy! Ez meg 100k/sec!
Az USB igen komplex -> USB in nutshell-t olvasd végig. Vagy a www.usb.org
USB kliens kell neked....
Azért ajánlom a leonardot, mert ha az USB-t akarod megtanulni, arra az a legjobb. (Bár az USB megtanulása és megértése szerintem van vagy fél év...)
A chipje kb. ugyanaz mint az UNO illesztője. Csak egyszerűen kezelhető....
Én maradnék a sorosportnál...
Vagy a FTDI chip esetén (igaz a AVR és FTDI sorops sebességeltérése 0% kell legyen), akkor 1 Mbit/s simán megy! Ez meg 100k/sec!
-
sargarigo765
- Újonc

- Hozzászólások: 7
- Csatlakozott: 2013. április 2. kedd, 19:49
Re: Natív usb-hez mit tanácsoltok?
Hm..
Kövezz meg, de én most csak használni akarom, nem megtanulni. Arra ugyanis semmi időm nincs jelenleg, majd ha a Kicsi nagyobb lesz
Az Uno-nál nem esett szó arról, hogy ez most a csip soros portja, vagy amit az usb-n keresztül a pc felé mutat?
Amit kinéztem, az ez : Arduino Uno ATmega328P-PU modul ATMEGA8U
Akkor jól értem, hogy maga a feldolgozó csip a mega328-pu, és a mega8u az ne érdekeljen?
Én is maradok a soros portnál azt hiszem.
Kövezz meg, de én most csak használni akarom, nem megtanulni. Arra ugyanis semmi időm nincs jelenleg, majd ha a Kicsi nagyobb lesz
Az Uno-nál nem esett szó arról, hogy ez most a csip soros portja, vagy amit az usb-n keresztül a pc felé mutat?
Amit kinéztem, az ez : Arduino Uno ATmega328P-PU modul ATMEGA8U
Akkor jól értem, hogy maga a feldolgozó csip a mega328-pu, és a mega8u az ne érdekeljen?
Én is maradok a soros portnál azt hiszem.
Re: Natív usb-hez mit tanácsoltok?
A Diecimila esetén a USB-soros átjáró az FT232RL chip, UNO esetén az ATMegax8U2 (és a benne levő Soros-USB Firmware).
A központi chip a feldolgozást végzi, annak sorosportján küldöd az adatot. És ezt fogadja az illesztőchip és alakítja USB-re. Neked az USB-s felület jelenleg transzparens. A sorosport lehetne ethernet alapú is. Hisz nem a normál RS232 sorosportot használod...
A központi chipnek mi a feladata? Mert a 64k adatmennyiség az memóriaintenzív feladatot vetít előre...
Ehhez meg a ATMega328 chip pici lesz...
A központi chip a feldolgozást végzi, annak sorosportján küldöd az adatot. És ezt fogadja az illesztőchip és alakítja USB-re. Neked az USB-s felület jelenleg transzparens. A sorosport lehetne ethernet alapú is. Hisz nem a normál RS232 sorosportot használod...
A központi chipnek mi a feladata? Mert a 64k adatmennyiség az memóriaintenzív feladatot vetít előre...
Ehhez meg a ATMega328 chip pici lesz...
-
sargarigo765
- Újonc

- Hozzászólások: 7
- Csatlakozott: 2013. április 2. kedd, 19:49
Re: Natív usb-hez mit tanácsoltok?
Ezzel az erővel használhatom a vezérlő saját soros portját is egy max232-vel nem? Nem tudom az alaplapi soros portok mekkora tempóval tudnak tekerni.
A memória nem akadály, mert statikus memóriába pakolom a mintavett adatokat, így a vezérlőnek csak annyi dolga van, hogy rángatja az órajelet (jó lenne minél nagyobb svunggal), meg beállítja a vezérlő jeleket. A memóriát már külső számlálólánc hajtja (ennek az órajelén lóg a vezérlő). A kiolvasás szintén ennyi, és közben byte-onként küldi tovább a pc-re, ahol egy program megjeleníti a diagramokat, kiszámolja az időket, stb. Ez már off-line munka.
Ami még a processzorra marad, az az opcionális gLCD, amit még nem tudom belerakok-e, meg egy sd-kártya, amit szintén nem tudom bele fog-e kerülni. Előbb a "magot" kellene normálisan kivitelezni.
Azt hiszem ideje újra elmélyednem a c# soros porti megoldásit illetően. Vagy van valami egyszerűbb környezet ilyen célra? Persze csak natív windózos kód játszik, hogy hordozható legyen.
A memória nem akadály, mert statikus memóriába pakolom a mintavett adatokat, így a vezérlőnek csak annyi dolga van, hogy rángatja az órajelet (jó lenne minél nagyobb svunggal), meg beállítja a vezérlő jeleket. A memóriát már külső számlálólánc hajtja (ennek az órajelén lóg a vezérlő). A kiolvasás szintén ennyi, és közben byte-onként küldi tovább a pc-re, ahol egy program megjeleníti a diagramokat, kiszámolja az időket, stb. Ez már off-line munka.
Ami még a processzorra marad, az az opcionális gLCD, amit még nem tudom belerakok-e, meg egy sd-kártya, amit szintén nem tudom bele fog-e kerülni. Előbb a "magot" kellene normálisan kivitelezni.
Azt hiszem ideje újra elmélyednem a c# soros porti megoldásit illetően. Vagy van valami egyszerűbb környezet ilyen célra? Persze csak natív windózos kód játszik, hogy hordozható legyen.
Re: Natív usb-hez mit tanácsoltok?
RS232 -> 115200 kbps és a PC sem szereti a nemszabványos soros jelet (Arduino: 16 MHz quartz-l NEM hibamentes az átvitel. Tessék berakni 18.xxx MHz-sat (lsd AVR adatlap)).
A Grafikus LCD és a SD le is lassitja szépen a rendszer
GLCD-re tegyél külön videó alrendszert - ha sebességkrtikus a rendszered. Sőt, sebességkrtikus esetben az Arduino is felejtős...
A Grafikus LCD és a SD le is lassitja szépen a rendszer
GLCD-re tegyél külön videó alrendszert - ha sebességkrtikus a rendszered. Sőt, sebességkrtikus esetben az Arduino is felejtős...
-
sargarigo765
- Újonc

- Hozzászólások: 7
- Csatlakozott: 2013. április 2. kedd, 19:49
Re: Natív usb-hez mit tanácsoltok?
Ennyire azért nem lesz profi a rendszer! 
Gombnyomásra leszámolja a 64k-t, utána következik a megjelenítés (pc-n, vagy lcd-n). Tehát egyszerre csak egy dologgal kell foglalkoznia, van rá ideje bőven!
Jelen pillanatban egy mega32 teljesít szolgálatot, 16MHz-es kristállyal, de ezt akkor kicserélem 18-asra, és megpróbálom belőni a 115200 baud-ot. Még így is kész kell lennie kb 6 másodperc alatt a forgalmazással, ami jelen alkalmazásban azt mondom belefér.
Ellenben anno mikor a soros portot bűvöltem, sehogy sem tudtam kicsalni belőle a nyolcadik bitet, csak hét bites átvitelre volt hajlandó. Mármint a c# pc oldalon. Erre azért még ráfigyelek.
Úgy tűnik lassan azért kezd összeállni a koncepció
Gombnyomásra leszámolja a 64k-t, utána következik a megjelenítés (pc-n, vagy lcd-n). Tehát egyszerre csak egy dologgal kell foglalkoznia, van rá ideje bőven!
Jelen pillanatban egy mega32 teljesít szolgálatot, 16MHz-es kristállyal, de ezt akkor kicserélem 18-asra, és megpróbálom belőni a 115200 baud-ot. Még így is kész kell lennie kb 6 másodperc alatt a forgalmazással, ami jelen alkalmazásban azt mondom belefér.
Ellenben anno mikor a soros portot bűvöltem, sehogy sem tudtam kicsalni belőle a nyolcadik bitet, csak hét bites átvitelre volt hajlandó. Mármint a c# pc oldalon. Erre azért még ráfigyelek.
Úgy tűnik lassan azért kezd összeállni a koncepció
Re: Natív usb-hez mit tanácsoltok?
Nézz be az adatlapba.
UART speed error rész. Ha nem 0%, akkor nem is fog menni stabilan az adatküldés!
Nem az USB hibás, hanem a kristályod pontatlan!
UART speed error rész. Ha nem 0%, akkor nem is fog menni stabilan az adatküldés!
Nem az USB hibás, hanem a kristályod pontatlan!
-
sargarigo765
- Újonc

- Hozzászólások: 7
- Csatlakozott: 2013. április 2. kedd, 19:49
Re: Natív usb-hez mit tanácsoltok?
Várj, ne keverjük a dolgokat!
Csak most próbáltam az usb-t, de nem az rs232 emulációt, hanem pollingozva adok-veszek módszerrel. Linkeltem is a V-USB projektet, hogy miről van szó. Ezzel állt be a tudomány.
Régebben a vezérlő saját uart-ját használtam, ami nagyjából működött is, csak a c-sharp nem vette a nyolcadik bitet. Erre mondtam, hogy most majd nekifutok újra.
Csak most próbáltam az usb-t, de nem az rs232 emulációt, hanem pollingozva adok-veszek módszerrel. Linkeltem is a V-USB projektet, hogy miről van szó. Ezzel állt be a tudomány.
Régebben a vezérlő saját uart-ját használtam, ami nagyjából működött is, csak a c-sharp nem vette a nyolcadik bitet. Erre mondtam, hogy most majd nekifutok újra.
Re: Natív usb-hez mit tanácsoltok?
Ops, eltévedtem
.
A SW alapú USB emuláció nem az igazi...
Talán segít:
http://www.dreamincode.net/forums/topic ... n-in-c%23/ (a lap vége fele)
és
http://www.c-sharpcorner.com/uploadfile ... n-C-Sharp/
A SW alapú USB emuláció nem az igazi...
Talán segít:
http://www.dreamincode.net/forums/topic ... n-in-c%23/ (a lap vége fele)
és
http://www.c-sharpcorner.com/uploadfile ... n-C-Sharp/
-
sargarigo765
- Újonc

- Hozzászólások: 7
- Csatlakozott: 2013. április 2. kedd, 19:49
Re: Natív usb-hez mit tanácsoltok?
A dreamincode oldal éppen valamiért nem üzemel. (Szerk.: most már működik, nézegetem)
Néztem a másik linket is, de ezt a megoldást már próbáltam. Sajnos a net a text alapú megoldásokkal van teli, és az biza nem nyolc bites! De míg erre rájöttem!
Egyébként most én is éppen túrom a netet valami megoldás után kutatva. A processing jó lehet nekem esetleg valamire? Vezérlők mellé még azt használják sokan..
Köszönöm az eddigi segítséget, kipróbálom mire jutok, aztán majd beszámolok ha érdekel
Néztem a másik linket is, de ezt a megoldást már próbáltam. Sajnos a net a text alapú megoldásokkal van teli, és az biza nem nyolc bites! De míg erre rájöttem!
Egyébként most én is éppen túrom a netet valami megoldás után kutatva. A processing jó lehet nekem esetleg valamire? Vezérlők mellé még azt használják sokan..
Köszönöm az eddigi segítséget, kipróbálom mire jutok, aztán majd beszámolok ha érdekel
Re: Natív usb-hez mit tanácsoltok?
Tipp:Amibe belefutsz:
A 0-s kódú karakter. Ez a sorvége/karakterlánc vége jelzés.
Nálam Bascom/QBasic(LibertyBasic) páros alatt ami bevált:
1, A PC oldalon byte sorként fogadom, így a 0-s kódú is megfogható. és itt is byte alapú tömbbe rakom az adatot.
2, Átalakítani minden adatot és HEX-ként küldeni. És innen karakterlánc vagy bytesorozat.
A 0-s kódú karakter. Ez a sorvége/karakterlánc vége jelzés.
Nálam Bascom/QBasic(LibertyBasic) páros alatt ami bevált:
1, A PC oldalon byte sorként fogadom, így a 0-s kódú is megfogható. és itt is byte alapú tömbbe rakom az adatot.
2, Átalakítani minden adatot és HEX-ként küldeni. És innen karakterlánc vagy bytesorozat.