Fórum témák

» Több friss téma
Fórum » PIC - USB - PC projekt
 
Témaindító: JohnyBravo, idő: Szept 26, 2006
Lapozás: OK   2 / 55
(#) watt válasza Tomee hozzászólására (») Nov 23, 2006 /
 
Ebben is van igazság, de van aki nem tud felületszerelt nyákot készíteni. Valamint egy kábel mobil, ha több darab céláramkör van, elég egy, csak rájuk kell dugni. Ekkor mindjárt olcsób is lesz.

De tényleg nem akarok ezzel semmit, csak egy lehetőséget vetettem fel. Mindenki dönse el, hogy neki jó e valamire. pl. én arra is használom, hogy a Hondámból kiolvassam az ECU üzeneteit.
(#) bbatka hozzászólása Nov 24, 2006 /
 
Nekem is van egy DKU-5-ös kábelem. Na de hogy tudnám a Popportos kimenetét bármihez is csatlakoztatni. Nem hiszem hogy ilyen aljzatot lehet kapni.
(#) watt válasza bbatka hozzászólására (») Nov 24, 2006 /
 
Esetleg egy régi rossz telefonból? Vagy le kell vágni a végét, másik csatit tenni rá.
(#) gyengus hozzászólása Nov 25, 2006 /
 
Elolvastam a témát és nagyon örülök ennek a projectnek. Esetleg a programozásba be tudnék szállni.
Csak próbálkozom az elektronikával, PIC is érdekel, programozáshoz vmelyest konyítok (Delphi).
Jelenleg LPT-n keresztüli vezérlésen dolgozom, de mivel az új alaplapokról eltünőben van ez a port, szeretném megtanulni az USB-n keresztüli vezérlés lehetőségeit.
(#) Gory válasza gyengus hozzászólására (») Nov 25, 2006 /
 
Akkor kezdésnek szerintem olvasd el azt a kis összefoglalót, amit előrébb töltötem fel. Sajnos még nem volt időm fojtatni a sorozatot. De majd igyekszem.
(#) kissa hozzászólása Dec 1, 2006 /
 
Eljutottam a HID-ig, a mouse emulacio is szepen mukodik, de a billentyuzetkezeles kifogott rajtam, pedig itt van valami...
(#) konop hozzászólása Dec 2, 2006 /
 
Sziasztok!

A legegyszerübb USB-s vezérlést az FTDI FT232R chippel lehet megcsinálni, ez USB-soros átalakító IC.

http://www.ftdichip.com

Itt van hozzá driver is. soros portként látszik.
Az S.O.S. electronic-nál lehet venni, van kábelbe épített is (TTL-232R (5V-os , de lehet 3,3V-osban is venni)

http://www.soselectronic.hu

A mikrokontroller az uarton keresztül tud kommunikálni vele.
A PC-s proginak pedig be kell állítani a COM port címét és kész
(#) potyo válasza konop hozzászólására (») Dec 2, 2006 /
 
Ne keverjük a dolgokat. Mi itt USB-ről beszélünk, te pedig soros vezérlésről. Nem a csatlakozótól lesz lesz USB-s valami.

A másik pedig, hogy mindez néhány hozzászólással arrébb már elhangzott egyszer. Előbb olvass, aztán írj.
(#) konop válasza potyo hozzászólására (») Dec 2, 2006 /
 
Már megbocsájts nekem, hogy így beleszóltam, de egy mikrokontrollerhez akarsz csatlakozni, vagy nem?

Akkor az ember miért szivassa magát, ha erre vannak kész eszközök és driverek, és nem is drágák.

Egyébként az Ftdi chipjeiben, ha jól tudom, át lehet irni az azonosítót, hogy milyen eszköznek ismerje fel a számítógép.

Egyébként már USB host IC is van, ugyancsak az FTDI-nél (pl. ha valaki pendive-ot akar a kütyüjére rakni)

http://www.vinculum.com/prd_vnc1l.html

Ez is van a S.O.S.-nál

(#) Norberto válasza konop hozzászólására (») Dec 2, 2006 /
 
Idézet:
„Egyébként már USB host IC is van, ugyancsak az FTDI-nél (pl. ha valaki pendive-ot akar a kütyüjére rakni)

http://www.vinculum.com/prd_vnc1l.html

Ez is van a S.O.S.-nál”


Köszi, hogy ezt megosztottad, engem ez nagyon érdekelt!
(#) potyo válasza konop hozzászólására (») Dec 2, 2006 /
 
Igen kontrollerhez akarok csatlakozni, de USB-s kapcsolaton keresztül, és nem RS232 kapcsolaton. Azért a kettő között van sebességileg különbség, még ha ez pillanatnyilag nem is szempont.
Nem szivatjuk magunkat, mivel mindannyian tisztában voltunk az FTDI, és mások által gyártott átalakító chipek létezésével.

Egyébként van egy topik, digitális oszcilloszkóp a címe, ott szükség is lesz az USB sebességére az adatok átviteléhez.
(#) kissa válasza Gory hozzászólására (») Dec 2, 2006 /
 
Gory: varjuk!:yes:
(#) NickE hozzászólása Jan 3, 2007 /
 
Sziasztok!

Most tanulmányozom az első USB-s próbaalkalmazást. Lehet, hogy nagyon láma kérdés, de ami nagyon furcsa, hogy a C18-as forráskódban kb. 80%-ban
  1. if(UCONbits.SUSPND==1)...
  2. if(UCONbits.USBEN == 0)...
  3. if(UCFGbits.UTEYE!=1)...

formulát használnak. Ez logikailag jó, gyönyörűen működik, de teljesen szokatlan, ill. nagyon kezdők szoktak csak így kódolni.

Szerintem ez a jobb, nem?
  1. if(UCONbits.SUSPND)...
  2. if(!UCONbits.USBEN)...
  3. if(!UCFGbits.UTEYE)...


Namost kíváncsiságból átnéztem több más forráskódot is és azokban is gyakori volt az első formula, így felmerül bennem a kérdés, hogy valamit én nem tudok jól?
(#) Norberto válasza NickE hozzászólására (») Jan 3, 2007 /
 
Szerintem ez is, az is használható módszer. Valakinek a gyakoribb, valakinek a te módszered tetszik jobban. Egy és ugyanaz mindkét funkció.
(#) NickE válasza Norberto hozzászólására (») Jan 3, 2007 /
 
hááát könyvekben az előbbit inkább csak elrettentő példaként hozzák, mert logikai változót az iratlan szabályok szerint nem illik hasonlítgatni, mert az önmagában ad vissza értéket (igaz, C-ben nincs kimondottan logikai változó, de akkor se. Suliban ezért már nem biztos, hogy 5-öst kapna)
(#) potyo válasza NickE hozzászólására (») Jan 3, 2007 /
 
Én is felkiáltójeles módszert használom, annak idején így tanultuk pc-re.
(#) potyo válasza potyo hozzászólására (») Jan 3, 2007 /
 
Eszembe jutott, az így megírt programokra szokták azt mondani, hogy C nyelven írt pascal programok. Bár én Delphiben sem írok a logikai változónál ilyet, hogy
if a=true then..., hanem if a then..., vagy if (not a) then

Viszont gondolkodtam, és lehet, hogy a felkiáltójeles módszer fordítótól függően kisebb és gyorsabb kódot eredményez, hiszen ha egyenlőségjel van, akkor össze kell hasonlítani az egyenlőségjel két oldalán levő értéket, aminek hatására a W tartalma biztosan felül lesz írva, valamint egy plusz XORLW vagy XORWF utasítás is kerül a kódba. A felkiáltójeles módszernél viszont csak egy "MOVF reg, F" kell, ami nem írja felül a W tartalalmát, és még gyorsabb is.
(#) NickE válasza potyo hozzászólására (») Jan 4, 2007 /
 
Igenám, csakhogy a compilerek szeretnek optimalizálni is. Na most már kíváncsiságból írtam egy egyszerű kis próbát, és megnéztem az asm forrást, hogy hogy oldja meg a feladatot.

  1. #define led PORTCbits.RC3
  2. void main (void){
  3. near unsigned char a;
  4.  
  5. if (!a) led=1;
  6. }


MOVF INDF0, W, ACCESS
BNZ 0xe2
BSF PORTC, 0x3, ACCESS

Tehát MOVF -el a W-be teszi "a"-t. (itt nincs jelentősége annak, hogy átírja a W-t.) És ha 0 volt, akkor Z bebillen, tehát ennek megfelelően ugrik.

ha lecserélem az if (!a) if(a==0) -ra, nem változik a kód. Leoptimalizálta

Na most jön az igazi optimalizálás:
ha if(a==1) -et írok, akkor a-t csökkenti egyel és megnézi, hogy a Z bebillent -e és ennek megfelelően ugrik. Tehát itt sem hasonlít a kis okos

Viszont azt nem értem, hogy mi a poén abban, hogy indirekt címzést használ, mikor megadtam, hogy az access ramban van a változó. Na mind1, ez már legyen az ő baja :yes:
(#) potyo válasza NickE hozzászólására (») Jan 4, 2007 /
 
Ezért írtam, hogy fordítótól függ, hogy nagyobb vagy kisebb kódot eredményez, de én szeretem inkább eleve olyanra csinálni. Bár a végén kitudja, mit hoz ki belőle. Legjobb lepróbálni így is úgy is, és akkor látjuk, mi az optimális megoldás.
(#) cassis válasza potyo hozzászólására (») Feb 21, 2007 /
 
Még mindig az USB 18F4550 el...
Valaki programozta már .asm ben a PIC et USB adatátvitelre?
Ha igen, kérem ossza meg tapasztalatait.
Én már elég sok mindent tudok az USB protokollról, de egyenlőre mégis nagy falatnak tűnik az elindulás.
Első körben megelégednék azzal is, ha pl. data vagy token packet kiküldése menne. Ehhez léteznek jó XP alatt futó monitor programok, melyen lehet nézegetni a kezdeti lépésekből forgalmat....
Szóval, ha valaki(k)nek lenne kedve az alapoktól kezdve beszélgetni a témáról, szívesen várnám isde a fórumba.
(#) kyrk válasza NickE hozzászólására (») Feb 21, 2007 /
 
Kinek mi tetszik jobban. Van aki == szereti van aki pedig a !-et. Szerintem ettol nem lesz egy kod kezdotol valo.

Kezdoket konnyen fel lehet ismerni, hogy az uj dologtol megremulnek. Tipikus esete, hogy ha interruptot nem csinalt meg es megemlited neki akkor heves vedekezesbe kezd.
(#) raron válasza cassis hozzászólására (») Feb 21, 2007 /
 
Engem érdekelne, de nem tudok túl sokat az USB-ről.
Szerintem nem érdemes assembly-ben usbt programozni, van C.
(#) watt válasza raron hozzászólására (») Feb 22, 2007 /
 
C-ben könnyebb, mert az orrunk alá dugnak mindent, csak tudatlanok maradunk a lényeget illetően, hogy mit hogyan kell beállítani, hogy működjön a dolog. Ennek ellenére én sem tudok assemlerben USB-zni, C-ben is alig alig. De igyekszem...
(#) cassis válasza kyrk hozzászólására (») Feb 22, 2007 /
 
Idézet:
„Kezdoket konnyen fel lehet ismerni, hogy az uj dologtol megremulnek. Tipikus esete, hogy ha interruptot nem csinalt meg es megemlited neki akkor heves vedekezesbe kezd.”


Szia kyrk!

Nem érzem magam kezdőnek a PIC témában, még az interruptól sem félek. (no persze a nálam okosabbaktól mindig szívesn tanulok továbbra is...)
Vissza az USB re: kitanulmányoztam a soros portot, ma már tulhaladott rajta a technika, akkor jöhet az USB.
És hogy milyért .asm?
Ennek prózai oka van: assambly nekem jobban megy mint a C.
De nem hiszem, hogy probléma .asm ben írni. Lehet, hogy hosszabb a kód, de érthető és logikus, valamint megvan a maga "szépsége" is.
Én első körben nem is annyira a majdan megírandó programot szeretném kivesézni a topikban , hanem csupán az USB protokollról és az ehhez kapcsolódó 18F4550 -es USB regiszter beállításokkkal kapcsolatosan szeretnék "beszélgetni".

Akinek van kedve tartos velem(velünk)

(#) cassis hozzászólása Feb 22, 2007 / 1
 
No és ne hogy csak a levegőbe beszéljek első lépésnek ajánlanék egy linket, hogy az alapokkal az érdeklődők tisztában legyenek (magyar nyelvű, ami ritkaság):

http://www.gdf-ri.hu/targy/mikroszg/Diploma/html/01Kulsocsatolok.htm


és még néhány angol nyelvű leírás:

http://www.usbdeveloper.com/UnderstandUSB/understandusb.htm

http://www.faculty.iu-bremen.de/birk/lectures/PC101-2003/14usb/FINA...l.html

http://www.beyondlogic.org/usbnutshell/usb1.htm
(több chapter)

http://www.mqp.com/ums_1.htm
(part 1-5)

http://de.wikipedia.org/wiki/Universal_Serial_Bus

és még valami .pdf ben:
(#) cassis hozzászólása Feb 23, 2007 /
 
valakit izgat a téma?
(#) raron válasza cassis hozzászólására (») Feb 23, 2007 /
 
Engem.
(#) Norberto válasza cassis hozzászólására (») Feb 23, 2007 /
 
Engem marhára izgat, de tényleg, viszont egyáltalán nem kezdtem még magam beleásni komolyabban a témába; így egyelőre csak aktív hallgató lennék
(#) Lucifer válasza cassis hozzászólására (») Feb 23, 2007 /
 
Üdv!
Naná, hogy érdekel engem is. Valahol van egy olyan progim, ami ha jól tudom asm forrást generált, mindjárt előkeresem, talán abból el lehet indulni. Ja és a magyar doksiért örök hála, nagyon jó.
(#) BabelFish válasza cassis hozzászólására (») Feb 26, 2007 /
 
Sziasztok,
igen, engem is érdekel.
Ahogy a topic indításakor megfogalmazódott: tudjunk átvinni adatokat PC-PIC (18F4550) között, valódi USB-vel. Lehetőleg maradjunk minél közelebb a hardverhez, hogy megértsük a lényeget. Ez asm programozást jelent, csak akkor használjunk C-t, ha nincs más lehetőség. Gyárilag megírt függvények hívogatása eredményes ugyan, de elfedi a lényeget.
Köszi mindenkinek az eddigi doksikat.
Egy hardver kérdés: a specifikált 100mA-es terhelhetőség az USB 5V-ján egy biztonságos elvi határ, amit nem illik átlépni, vagy kőkemény gyakorlati is? Magyarul: meddig lehet felmenni?
Üdv.
Következő: »»   2 / 55
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