Fórum témák
» Több friss téma |
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
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???
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
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.
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
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
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.
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.
Lusta vagyok az USB szabványban keresgélni, de ezt nézd meg.
Szilícium diódákból is össze pakolhatod a túlfeszültségvédőt(fordítva szerelve). 5db.x0,7V=3,5V
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.
Ott van a felső rajzon az 5V-os változat. Még áramkorlátozó ellenállást sem használ.
Az USB specifikációban nem találtam semmit az adatláb feszültségtűrésére vonatkozóan.
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
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...
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ű.
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
Idézet: 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... „A low speed usb alig gyorsabb, mint az uart -os megoldás.”
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) ![]()
"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. ![]()
Nem ő linkeli, hanem a HE automatikusan rak be linkeket a HEStore hasonló nevű termékeire.
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
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"
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:
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
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)
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
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.
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
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. |
Bejelentkezés
Hirdetés |