Natív usb-hez mit tanácsoltok?

A meglévő hardware eszközök fejlesztési lehetőségei, módosítások, illetve új eszközök bevezetése
Válasz küldése
sargarigo765
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. április 2. kedd, 19:49

Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: sargarigo765 »

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
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: Robert »

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 !
sargarigo765
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. április 2. kedd, 19:49

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: sargarigo765 »

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!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: Robert »

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!
sargarigo765
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. április 2. kedd, 19:49

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: sargarigo765 »

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.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: Robert »

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...
sargarigo765
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. április 2. kedd, 19:49

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: sargarigo765 »

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.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: Robert »

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...
sargarigo765
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. április 2. kedd, 19:49

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: sargarigo765 »

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ó :)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: Robert »

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!
sargarigo765
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. április 2. kedd, 19:49

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: sargarigo765 »

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.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: Robert »

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/
sargarigo765
Újonc
Újonc
Hozzászólások: 7
Csatlakozott: 2013. április 2. kedd, 19:49

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: sargarigo765 »

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 :)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Natív usb-hez mit tanácsoltok?

Hozzászólás Szerző: Robert »

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.
Válasz küldése