Fórum témák

» Több friss téma
Fórum » V-USB Használata AVR-el
Lapozás: OK   1 / 3
(#) sargarigo válasza bbatka hozzászólására (») Dec 18, 2012 /
 
Jó hír, hogy rezeg a kristály! Sajnos az usb még mindig nem okés.
Ezen az oldalon vagyok megakadva, ahol a Windows driver hell alcím szerepel.
Elméletileg át kellene küldenie a motyónak a címét, hogy a win be tudja azonosítani, de nekem csupa nullát ad át. Ahogy bedugom, rögtön kiírja hogy talált valamit, de beazonosítani már nem tudja az említett nullák miatt.
A vezetékezést átméregettem, azt rendben találtam. Elképzelhetőnek tartom, hogy hosszú a kanóc, és ez hamisítja meg? De annyira azért nem gyors a kommunikáció, hogy egy azonosítás se tudjon lemenni.
Megpróbálok keresni egy másik forrást is, hátha csak kimaradt valami a leírásból.


Modik: Ne vigyük át ezt az utolsó pár hozzászólást egy 'V-USB hogyan' nevű topicba? Mondjuk innen kezdve. Ugyan kapcsolódik, de lehet jobb lenne egy helyen kezelni ezt az usb-kérdést.
A hozzászólás módosítva: Dec 18, 2012
(#) sargarigo válasza sargarigo hozzászólására (») Dec 18, 2012 /
 
Bakker!
Szerintem megvan a hiba! A mega8 adatlapja szerint ahhoz, hogy a vezérlő tudjon menni több mint 8MHz-en, ahhoz kell neki 4.5V, de az usb miatt a táp le van véve 3.3V-ra. Akkor most mehetek, venni két darab 3.6V-os zénert (persze ilyet véletlenül sem tartok)! Lehet hogy ez a gond???
(#) Norberto válasza sargarigo hozzászólására (») Dec 18, 2012 /
 
Ahhoz létre kell hoznotok egy "V-USB hogyan" című topikot, hogy a moderátor oda átpakolhassa a hozzászólásokat. Szerintem ők a saját nevükben nem fognak topikot nyitni.
A hozzászólás módosítva: Dec 18, 2012
(#) sargarigo hozzászólása Dec 18, 2012 /
 
Ezt a topic-ot azért hoztam létre, hogy egy helyen tárgyalhassuk ki az AVR vezérlőkhöz kifejlesztett USB könyvtárat a V-USB-t Bővebben: Link.
(#) sargarigo válasza Norberto hozzászólására (») Dec 18, 2012 /
 
Ezen ne múljon!
Remélem jó ötlet volt
V-USB topic
(#) Hp41C válasza sargarigo hozzászólására (») Dec 18, 2012 /
 
Idézet:
„Akkor most mehetek, venni két darab 3.6V-os zénert”

3.3V -osakat vegyél.

Az AtMega8 Áfá -val kb. 1000 Ft és kell még quartz, két zener és Low Speed USB az eredmény.
A PIC16F1459 Áfával kb. 625 Ft és 1db 470 nF kondenzátor és Full Speed USB 5V -os táp mellett.
A hozzászólás módosítva: Dec 18, 2012
(#) sargarigo válasza Hp41C hozzászólására (») Dec 18, 2012 /
 
Lehet, de ne menjünk bele vallási vitákba! Mega8-am van itthon vagy hat darab, 32-es is van három. Kvarcot bányásztam még anno nyomtatóból, csak a kondik kerültek ennek a projektnek a fényében kemény 40Ft-ba (mert vettem négyet is). Mellesleg eddig csak avr-el foglalkoztam, azért a párszáz forintért nem akarnám megtanulni a pic-et is egyenlőre, egyszerűen az avr-t szerettem meg. A fullspeed-re nem hiszem hogy szükségem lesz, nem videót akarok nézni rajta, csak áttolni 64K adatot.
Ettől még aki akar az persze használjon pic-et.


Az észrevételt köszönöm, de miért 3.3V? A V-USB rajza szerint 3.6V kell!

A hozzászólás módosítva: Dec 18, 2012
(#) bbatka válasza sargarigo hozzászólására (») Dec 18, 2012 /
 
Mi szükség a zenerre? (bár AVR szinten teljesen tájékozatlan vagyok) 5V-ról hajthatod a Mega8-at. Én csak az áramkorlátozó ellenállásokat tenném be az USB adatlábakhoz.
(#) sargarigo válasza bbatka hozzászólására (») Dec 18, 2012 /
 
Azért kell bele, mert az usb egyáltalán nem toleráns a túlfeszültségre. Legalábbis ahogy olvastam. Sajnos még nem sikerült vele dűlőre jutnom. Kíváncsi vagyok, a zenerekkel megjavul-e.
(#) bbatka válasza sargarigo hozzászólására (») Dec 18, 2012 /
 
Lusta vagyok az USB szabványban keresgélni, de ezt nézd meg.
(#) bbatka válasza bbatka hozzászólására (») Dec 18, 2012 /
 
Szilícium diódákból is össze pakolhatod a túlfeszültségvédőt(fordítva szerelve). 5db.x0,7V=3,5V
(#) sargarigo válasza bbatka hozzászólására (») Dec 18, 2012 /
 
Olvastam már, köszi! Sajnos mint írtam, nem jó ha 3.3V-tal táplálom meg, mert akkor nem tudja a 12MHz-et.
Ha diódákból (5x2 db) pakolgatom össze, akkor már inkább megveszem azt a két diódát.
(#) bbatka válasza sargarigo hozzászólására (») Dec 18, 2012 /
 
Ott van a felső rajzon az 5V-os változat. Még áramkorlátozó ellenállást sem használ.
(#) bbatka válasza bbatka hozzászólására (») Dec 18, 2012 /
 
Az USB specifikációban nem találtam semmit az adatláb feszültségtűrésére vonatkozóan.
(#) Hp41C válasza bbatka hozzászólására (») Dec 18, 2012 /
 
Idézet:
„Lusta vagyok az USB szabványban keresgélni, de ezt nézd meg.”

De ez is PIC, amiben belül van egy 3.3V -os stabilizátor. Az USB illesztő kimenetei erről a belső stabilizátorról működnek. Ugyanilyen a 18F2550, a 16F1459 is.
Idézet a 18F2550 adatlapjából:
Idézet:
„D313 VUSB USB Voltage 3.0 — 3.6 V Voltage on pin must be in this range for proper USB operation”


Nem is kell nagyon keresgetni...
USB hivatalos honlapja

Full speed : 12 Mbit/sec=1,5 MB/s Low Speed: 1.5 Mbit/sec = 187kB/s...
A hozzászólás módosítva: Dec 19, 2012
(#) Hp41C válasza Hp41C hozzászólására (») Dec 18, 2012 /
 
Idézet:
„Full speed : 12 Mbit/sec=1,5 MB/s Low Speed: 1.5 Mbit/sec = 187MB/s...”

Helyesen:
Full speed : 12 Mbit/sec=1,5 MB/s Low Speed: 1.5 Mbit/sec = 187kB/s...

A low speed usb alig gyorsabb, mint az uart -os megoldás. Ráadásul a V-USB egy programozott megoldás, amíg az USB kezelése megy, addig a kontroller nem tud mást csinálni. A PIC -es megoldás teljesen megszakításos is lehet, azaz a kontroller az USB kiszolgálása alatt is tud más feladatot csinálni. Mindezt olcsóbban...
(#) benjami válasza Hp41C hozzászólására (») Dec 18, 2012 /
 
Az Atmel-ek között is van ami tudja hardverből a full speed USB-t, pl: ATmega162U2, ATmega32U2 stb. Én sem értem miért kell küzdeni a szoftveres megoldással. Mondjuk ezek itthoni beszerezhetőségéről nincs információm. Az USB szerintem még hardveres USB-vel sem egyszerű.
(#) icserny hozzászólása Dec 19, 2012 /
 
A Texas Instruments MSP430G2452 (a Launchpad kártyához adott mikrovezérlől "butábbika") is beszállt a V-USB kalandba! Bővebben: Link
(#) icserny válasza Hp41C hozzászólására (») Dec 19, 2012 /
 
Idézet:
„A low speed usb alig gyorsabb, mint az uart -os megoldás.”
Nem is a sebesség érdekes itt, hanem az egyszerű csatlakoztatás. Soros port a mai gépeken már elvétve található, ráadásuk egy szintkonverter IC is kellene hozzá. Az USB szoftveres lekezelése tehát hardveresen egyszerűbb megoldást nyújt, mint az UART. Szoftveresen bonyolultabb, tehát valamit-valamiért...
(#) pici hozzászólása Dec 19, 2012 /
 
Pontosítsunk pár dolgot Hp41C

AT90USB162 16Mhz 630Ft (fullspeedUSB és gyorsabb mint amit írtál PIC) beszerezhető
ATMEGA8A csak 430Ft nem 1000Ft

Mivel az egyszerűbb AVR-ek sebessége elég gyors az USB-hez, ezért meg lehet velük csinálni,
ATTINY2313 20MHz 240Ft Link a részletekhez
Egyszerűbbh PIC-el ezt nem tudod megcsinálni, érthető, hogy harverest kell alkalmaznod.

ATMEGA8 helyett én inkább 16-ost néznék (ATMEGA168), 2x nagyobb memo és kb ugyan annyiba kerül most (én még 380-ért vettem fél éve, vettem is belőle 100-at) szépen el is fogy perifériákban (OSD, PID, LCD, Lasersensor...)
(#) bbatka válasza pici hozzászólására (») Dec 19, 2012 /
 
"AT90USB162 16Mhz 630Ft (fullspeedUSB és gyorsabb mint amit írtál PIC) beszerezhető
ATMEGA8A csak 430Ft nem 1000Ft"

Amit belinkeltél ott nem igazán ezeket az árakat látom.
(#) _vl_ válasza bbatka hozzászólására (») Dec 19, 2012 /
 
Nem ő linkeli, hanem a HE automatikusan rak be linkeket a HEStore hasonló nevű termékeire.
(#) Hp41C válasza pici hozzászólására (») Dec 19, 2012 /
 
Szia!
Azt hiszem elbeszélünk egymás mellett.
A V-USB egy programból megvalósított USB 1.1 kezelés, ami csak a Low Speed -et tudja. Mindegy, hogy milyen kontrollerrel alkalmazol, lehet egy kicsit megturbózott (24MHz -ről járatott) 16F628 (16F USB) is vagy, hogy a specifikációt ne sértsük meg egy 16F1824 (270FT) 16F1825 (310Ft), 16F1826 (330Ft)(32MHz -ig bírják). A típus most lényegtelen. Az USB kezelés elviszi a kontroller teljesítményének zömét. Az adás / vétel bit-banged módon zajlik, a megszakítás tiltott állapotában. Debuggolni nem lesz könnyű...
Arra hívtam volna fel a figyelmet, hogy ez a megoldás alig gyorsabb, mint a másik topikban most eldobott uart -os (300bkit / sec -et már elértem az uarttal is.). Eredetileg a hozzászólásom az "Alacsony költségű digitális oszcilloszkóp" topikban volt...
Ha már újratervezném a kapcsolatot egy műszerrel, nem állnék meg a kb. 3-5 szörös sebességnél, hanem felmennék a 15 - 25 szörösre, hardware USB illesztővel rendelkező kontrollerre, lehetne az EzUSB verziója a jó öreg I8051 -nek is. Főleg, ha ennek ára, ahogy Te is írod, nem számottevő: AT90USB162 16Mhz 630Ft, 16F1455 48MHz (400Ft), 16F1459 48MHz (380Ft). Az utóbbi beszerezhető. Az USB kezeléséhez a pic -ekhez még a quartz sem kell. Kipróbáltam...
A hozzászólás módosítva: Dec 19, 2012
(#) pici válasza Hp41C hozzászólására (») Dec 19, 2012 /
 
Ha megnézted a belinkelt topicot, akkor láthatod, az USBEXPLORERREL pont ilyen V_USB-t csináltam, tehát tudom milyen és mennyit zabál az szoftveres USB kezelés.

Overclockot meg ne tekintsük megoldásnak.
Ezzel kapcsolatban is vannak tapasztalataim. PIC-jeim stabilan +10%-ot bírtak, amig az AVR-nél 210%-ot is simán elértem 54MHz (persze itt már volt gond, a beírt program tökéletesen küldte az UART adatokat (időzí, de nem lehetett újraprogramozni)
A PIC 32MHz orajelét osszuk le 4el = 8mips
Gagyi Attiny2313 20MHz = 20mips
Ha meg sebesség kell, akkor FTDI
Anno azzal csináltam logikai analizátort, 2,7...Mbaudon ment a kommunikáció, bár ott valamit kellet a windowson is kalapálni.

Szóval a lényeg, minden gyártónak van versenyképes hw USB-je. Az ár azért irreleváns, mert 2 bolt között és van 60-80% árkülönbség, és ahogy kolléga is mondta okosan 100forintért nem tanulna meg egy másik rendszert.
Ha pedig valaki a sw USB-vel kinlódik, azt valószínüleg itt a hobbi csapatban azért teszi, mert vagy mazohista, vagy mert élvezi, nem biztos, hogy a kész termék sorozatgyártása a cél.

Én is küzdöttem SW USB-vel, pedig volt már itt az asztalomon pár sajátkészítésű fullspeed UART-USB átalakító. De cél leküzdése és a végeredmény "jó móka volt"

(#) sargarigo hozzászólása Dec 19, 2012 /
 
Na kérem!
Megvettem a két zenert, szépen határol, most már minden a rajz szerint van. És mégsem megy
A VUSB example-ben található egér példaprogramot próbálom gerjeszteni, mert elvileg rögtön lenne vizuális visszajelzés ha megy. Konkrétan az egérmutatónak kellene körbe körbe kalimpálni ha jól vettem ki a leírásból.
Linuxon a dmesg ezt mondja amikor rádugom a csatira:
  1. [ 1781.668014] usb 5-2: new low speed USB device using uhci_hcd and address 24
  2. [ 1781.844511] usb 5-2: device descriptor read/64, error -71
  3. [ 1782.068511] usb 5-2: device descriptor read/64, error -71
  4. [ 1782.284512] usb 5-2: new low speed USB device using uhci_hcd and address 25
  5. [ 1782.404010] usb 5-2: device descriptor read/64, error -71
  6. [ 1782.632012] usb 5-2: device descriptor read/64, error -71
  7. [ 1782.848014] usb 5-2: new low speed USB device using uhci_hcd and address 26
  8. [ 1783.256009] usb 5-2: device not accepting address 26, error -71
  9. [ 1783.368514] usb 5-2: new low speed USB device using uhci_hcd and address 27
  10. [ 1783.776010] usb 5-2: device not accepting address 27, error -71
  11. [ 1783.776023] hub 5-0:1.0: unable to enumerate USB device on port 2


Win alatt tegnap még csupa nullát küldött azonosítónak, ezt kipróbálom mindjárt hogy most mi a helyzet.
[szerk:] Most is csupa nullát küld. Valakinek ötlete?
A mazochizmusnak is vannak határai, nálam most készül kidőlni a kerítése. Sikerült már valakinek valami eredményt elérnie ezzel?

Ami a chip-választást illeti, nagyon bele vagytok ebbe merülve, de azt nem veszitek figyelembe, hogy nem mindenki tud pestországból vásárolni. Hiába 300 Ft egy vezérlő, ha minimum 1000 mellé a szállítás. Helyben meg nem árul a boltos, mert nem viszik annyian, nem éri meg neki rendelni. Legalábbis ezt mondja, de a lényeg hogy nincs. Ami van, azt nagyobb tételben rendeltem, hogy a szállítás olcsóbb legyen (effektive).
Szóval ha valaki tud rendelni egy usb-képes avr-t és megteszi hogy postán levélben feladja nekem (persze előre utalnám az árát), és ha valakinek van egy működő példája hozzá, akkor nagyon megköszönném

Jelen pillanatban nincs ötletem, hogy merre tovább.
A hozzászólás módosítva: Dec 19, 2012
(#) pici válasza sargarigo hozzászólására (») Dec 19, 2012 /
 
USB-s AVR-em most nincs, inkább ARM-al csinálok ilyen projectet.
De ha kell felprogramozott ATTINY2313-at tudok adni, abből még van egy marok.
1 hiba: a kvarc értékét meg kell adni a programban 12Mhz 16Mhz...
2 hiba: az AVR beégetésnél külső kvarcot adj meg, sokan beleszaladtak, hogy a kész hex beégetése után nem ment... mert fuse biteket nem állították be
3 hiba: hiányzik a 68ohm 68ohm 1,5kohm USB csati után
4 hiba: 5V-on futó uC-nél nincs zéner (de nálad már van)
5 hiba: Win driver nincs fent. Neten 8 V-USB változatból csak egy megy (W7-en)
(#) sargarigo válasza pici hozzászólására (») Dec 19, 2012 /
 
Köszönöm az érdemi hozzászólást!
Sajnos ezek már mind rendben vannak. Megadtam a kvarcot a makefile-ban FCPU paraméternek, valamint a usbconfig.h-ban is mint USB_CFG_CLOCK_KHZ (itt 12000 szerepel).
Külső kvarcként van beállítva, és ellenőríztem a ledes villogó tesztprogrammal, hogy valóban 12MHz-ről jár (mert másodpercenként villog).
Az ellenállások megvannak, zénert beleraktam (X85C3V6 típus). Win driver-el úgy állok, hogy letöltöttem a libusb-win32-t, ebben van egy inf-wizard.exe, ami előállítja a .inf fájlt. Csakhogy amikor ki kell választani az eszközt a listából, hogy melyikhez generáljon, akkor már látszik, hogy nem stimmel a dolog. A listában szerepel két eszköz, az egyik a programozóm, a másik pedig ismeretlen csupa nulla című eszköz. Amúgy xp a windóz.

Idézet:
„De ha kell felprogramozott ATTINY2313-at tudok adni, abből még van egy marok.”

Köszönöm a lehetőséget, de nem lennék sokkal előrébb vele. Az analizátor jó sok lábat elhasznál, amit még a mega8 ki tud szolgálni, de kisebb lábszámmal már szorulnék. Szerencsére a processzoridő viszont nem gond, úgyhogy elvileg el kellene bírjon vele a mega8 még usb-vel is. Bár most ebben a pillanatban már annak is nagyon örülnék, ha menne az usb minden más nélkül..
A hozzászólás módosítva: Dec 19, 2012
(#) Istvanpisti válasza sargarigo hozzászólására (») Dec 19, 2012 /
 
Szia !

Tedd fel az usbconfig.h, meg a main.c fájlokat.
Hátha talál benne valaki módosítani valót, ha a HW már jónak néz ki.
(#) sargarigo válasza Istvanpisti hozzászólására (») Dec 19, 2012 /
 
A vas most így néz ki. Felül a pici panel a programozóhoz van, és innen megy a vezérlőre az a szép színes korbács. A vezérlő paneljén a négyes láb (INT0) a D+, a hatodik láb (T0) pedig a D-. A narancs-sárga vezeték a PORTB0,1 a visszajelző ledre megy, most csak a PORTB0 van bekötve.
A Makefile azért lett most txt, mert másként nem engedte feltölteni. A main.c a gyári, ahhoz nem nyúltam. A jpg is át lett nevezve, mert különben átméretezi
A hozzászólás módosítva: Dec 19, 2012
(#) Istvanpisti válasza sargarigo hozzászólására (») Dec 19, 2012 /
 
Nézegetve a kapcsolást azt látom, hogy nincsen a D+-ra 100k a föld felé, amit én mindig használok. Egy próbát megér.
Kérdés : a lednek a DDRB és PORTB be van állítva ?

usbconfig.h
Többször jártam úgy, hogy ha ezt a sort kikommentelve hagytam, akkor nem működött, ha kivettem a kommentet, akkor OK volt.
/* #define USB_CFG_PULLUP_BIT 4 */
/* This constant defines the bit number in USB_CFG_PULLUP_IOPORT (defined
* above) where the 1.5k pullup resistor is connected. See description
* above for details.
*/

Én a helyedben meghagynám az eredeti sort :
#define USB_CFG_CLOCK_KHZ (F_CPU/1000).
Ha a programban definiálod az F_CPU-t akkor jó az úgy, ha nem, akkor hibaüzenetet kapsz, akkor is, ha nem az előre megadott frekvenciát adsz meg.

A main.c-ben működik a debug, ami a UART-on küld ki adatokat,ezt már nézted? Ide lehet kötni egy USB/UART átalakítót, vagy soros LCD-t, és a kiküldött adatokból lehetne következtetést levonni a működésről.

Van itt a fórumon cikk (Pici fórumtárstól) USBExplorer néven, ott elérhető a libusb0.dll és az inf file is. Nem tudom segít-e felteszem ide az usbexplorer.inf-et.
Következő: »»   1 / 3
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem