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   43 / 55
(#) nem hozzászólása Aug 28, 2012 /
 
Sziasztok!

Volna egy kérdésem:

Hardver:

PIC32MX440F

Adatlap:

http://ww1.microchip.com/downloads/en/DeviceDoc/61143H.pdf

Kérdés:

Az a célom, hogy energiaspórolás végett a PIC belső óráról járjon, de amikor rádugom USB-n keresztül PC-re, váltson át külső kristályra, mivel az USB csak úgy szeret működni. Ezt elvileg detektálhatom úgy, hogy a VBUS vonalat rákötöm egy interruptos lábra. DE: Mivel a VUSB (az 5V, amit a PC felől kap a cucc) eleve be van kötve a PIC megfelelő lábára, lehet, hogy nem is kell külön rákötni interruptos lábra, hanem azon keresztül a PIC képes érzékelni, hogy "buli van"? Csak azért kérdezem, mert szeretném, ha alapból a legminimálisabb fogyasztással futna a PIC (tehát elvileg az USB periféria sem futna (arról nem is beszélve, hogy olyankor még nem kapnám meg a külső órát, mi kell neki)), és így nem vagyok benne biztos, hogy működik a detektálás. Szerintetek?

Elképzelhető-e az, hogy a PIC IDLE módban fut (kb. sleep-ben), és mégis észreveszi interruptos láb nélkül, hogy csatlakozás történt?

Köszönöm!
(#) El_Pinyo válasza nem hozzászólására (») Aug 28, 2012 / 1
 
Szia!
A gyári demo firmware-k esetén is külső láb van használva, hogy az USB 5V meglétét ellenőrizze. Ha nincs USB kapcsolat, akkor az USB SIE modul lekapcsolható.
(#) kameleon2 válasza nem hozzászólására (») Aug 29, 2012 /
 
Szia! Szerintem ne spiráld túl. Az USB-n van 5V-od is. Azaz amint rádugod a csatlakozót, van egy tiszta logikai H szinted. Ez nem elegendő a detektáláshoz? Én maximum hagynék némi időzítést a biztos bedugás végett... Én ezért nem szoktam az USB 5V-ját direktbe húzni a mikrokontroller tápjához. Legalább egy jumper mindig van közben. Ha már eleve bekötötted a lábat, akkor megvan a detektálás. A többi mikrokontroller és programfüggő.
(#) nem válasza El_Pinyo hozzászólására (») Aug 29, 2012 /
 
Értem, köszönöm!
(#) nem válasza kameleon2 hozzászólására (») Aug 29, 2012 /
 
Szia!

Persze, igazad van, a kérdés az volt igazából, hogy tudom-e ellenőrizni az PIC USB moduljának megfelelő lábával, hogy csatlakozás történt-e úgy, hogy nem megy az USB modul. De marad az interruptos láb akkor. A tápot nem akarom a PIC tápjához húzni, csak a "H" szinthez szükséges, ahogy Te is írtad.

Köszönöm!
(#) kameleon2 válasza nem hozzászólására (») Aug 29, 2012 /
 
Nálam az RX vagy a TX - mindig összekeverem, pedig tudom a jelentését , csak az egyik oldalon RX ami a másikon TX - LED is azonnal felvillan csatlakozáskor. Azaz amint sikeres a konnektálás - ezt is figyelembe veheted az 5V-al együtt. Igaz nálam az FTDI chip van USB-n mivel a Propeller mikrokontroller "csak" RS232-t tud élből. Hozzáteszem nem is nagyon kell más - nekem jó így. A PIC-nél nem tudom, van-e ilyen láb - gondolom erre utaltál. Az igazi a két jel együttes vizsgálata: konnektáltam ( 5V) és kommunikálok (RX). Vagy nem kommunikálok - és kikapcsolható az USB.
(#) nem válasza kameleon2 hozzászólására (») Aug 29, 2012 /
 
Világos.
Köszönöm, hogy foglalkoztál vele!
(#) foxi63 hozzászólása Jan 7, 2013 /
 
Tisztelt Fórumtársak!
18f4550-el készítettem egy bootloadert, és a piccolo project nyomvonalán el is jutottam a működő próbapanelig, de sajnos csak a kész lefordított program működik rajta .Tehát USB_HID_LOADER működik, fel is programozza a PIC-et, Az USB-be bedugva soros port, rendben, kiírás, beolvasás rendben.
Próbáltam a ledvillogtató programot lefordítani, de sehogy sem sikerül.Nem az elérési utakkal van problémám, hanem különös szintaktikai hibavan pl.: picollo_all.h 60. sorában #varning kezdetű sor, és az összes ilyen hibát dob....
Ha kikommentezem, akkor pedig folytatódik a 18f4550 .lkr 5. sorától #IFDEF stb.
Ebben kérnék segítséget, nem tudom találkozott -e már valaki ilyennel.
mplab v8.56 mcc18 v3.14
A hozzászólás módosítva: Jan 7, 2013
(#) icserny válasza foxi63 hozzászólására (») Jan 7, 2013 /
 
Idézet:
„mcc18 v3.14”
Valószínűleg ezt kellene frissíteni, vagy pedig egyszerűen töröld ki vagy tedd kommentté a kifogásolt sorokat. Úgy emlékszem, hogy a régebbi C18-cal nekem sem ment még a warning. MCC18 v3.35-tel már megy.
(#) foxi63 válasza icserny hozzászólására (») Jan 8, 2013 /
 
Szia!
Igen ez volt a probléma, sikerült megoldani! Köszönöm! (új verzió)
A hozzászólás módosítva: Jan 8, 2013
(#) foxi63 válasza foxi63 hozzászólására (») Jan 13, 2013 /
 
Szia!
Lenne még egy kérdésem, mégpedig, hogy a ProcessIO() függvény hívásokat meddig lehet elhúzni? 2-13mSec ? vagy max 1 mSec ?
(#) icserny válasza foxi63 hozzászólására (») Jan 14, 2013 /
 
Ha nem megszakításos a kezelés (polling), akkor tudtommal < 1 ms
(#) foxi63 válasza icserny hozzászólására (») Jan 14, 2013 /
 
Szia!
Megszakításos lesz.
(#) icserny válasza foxi63 hozzászólására (») Jan 14, 2013 /
 
Megszakításos esetben sokkal kevésbé kritikus a dolog.
(#) pajti2 hozzászólása Jan 31, 2013 /
 
Hi!

Gyártanom kellene egy usb perifériát, és akadnak problémáim a dolgok ledokumentáltságával. Az eszköz felülete egy printer lenne (bInterfaceClass = 07h), és jó lenne tudnom, hogy a GET_DEVICE_ID -nál COMMAND SET -re milyen előre definiált tagok léteznek eddig. Kotorásztam egy sort az usb.org-on, de nem igazán találok róla dolgokat. Merre lehet ilyesmit fellelni?
(#) rogers hozzászólása Feb 1, 2013 /
 
Helló

Azt szeretném megkérdezni hogy pic18f4550-el

hogy tudnám megoldani azt ,hogy ha rádugom pc-re

sd kártyáról rakja fel a programot amivel használom az eszközt.

Ez igy müködhet? Vagy van esetleg valami leirás róla?

Vagy OTG.

Köszi.
(#) watt válasza rogers hozzászólására (») Feb 1, 2013 /
 
Elvileg lehet olyan egyedi bootloadert írni, ami az SD-ről egy programterületre másolja a programot, majd átadja rá a vezérlést. Nem túl egyszerű feladat!
(#) kameleon2 válasza watt hozzászólására (») Feb 2, 2013 /
 
Ha nem jutsz előrébb a PIC-cel, használj propellert. Abban tudok segíteni. SD és SDmicro működik. USB-s vezérlés szintén.
A hozzászólás módosítva: Feb 2, 2013
(#) kameleon2 hozzászólása Feb 2, 2013 /
 
Sziasztok! Conrad Homematic szoftvere, hardvere nincs véletlenül valakinek? Tapasztalatok, protokoll érdekelne.
(#) watt válasza kameleon2 hozzászólására (») Feb 2, 2013 /
 
Egyrészt nem én kérdeztem, másrész az SD kezelése nem gond, a feladat az(legalább is ha jól értem), hogy az SD-ről fel kell programozni a PIC-et! Ezt kíváncsi lennék, hogy propellerezed le!
A hozzászólás módosítva: Feb 2, 2013
(#) foxi63 válasza icserny hozzászólására (») Feb 2, 2013 /
 
Köszönönöm!
(#) kameleon2 válasza watt hozzászólására (») Feb 2, 2013 /
 
Ez nem kérdés ! A propeller interpreter alapú, képes önátíró program végrehajtására is. Azaz SD-ről is programozhatod. Sőt ha kell i2c-ről is, hiszen alapból is így működik. Külső eepromban van tárolva a szoftver, amit induláskor tölt a saját 32k RAM-jába és azt futtatja. Létezik már külső SD kártyáról működő BASIC interpreter is. Kipróbáltam, jópofa, hogy rádugsz a mikrokontrollerre néhány ellenállást és egy SD kártyát, aztán összedugod a PS2 billentyűzettel, a PS2 egérrel, és a VGA monitorral és programozgatod BASIC-ből. Amit megírtál azt meg lemented az SD-re . Nem PIC kategória. 8db 32bites 80MHz-es proci dolgozik benne. Kifejezetten épületautomatizálásra és retro számítógépek fejlesztésére találták ki. Van is szép számmal ilyen projekt. Én még nem találtam olyan feladatot, ahol a mikrokontroller lett volna a szűk keresztmetszet.
(#) zenetom válasza kameleon2 hozzászólására (») Feb 2, 2013 /
 
Idézet:
„Nem PIC kategória.”

8db 80MHz-es MCU? Ágyúval verébre?
(#) kameleon2 válasza zenetom hozzászólására (») Feb 2, 2013 /
 
Valahogy úgy. Mivel az ára összár/teljesítményben jól alakul. Kameleon rendszer Nos ehhez kell az ágyú. Ez teszi lehetővé, hogy kellően felhasználóbarát rendszert alakítsak ki, mindössze egyetlen eszközzel, szemben több gyártó 2-300db-os eszközkészletével szemben.
(#) zenetom válasza kameleon2 hozzászólására (») Feb 2, 2013 /
 
Mondjuk ha már elérhető a környezet akkor miért ne.
Én is hasonló okok miatt használok inkább 18F-et mint 16F-et (PIC). Habár a 16F-et is fejlesztik, de a 18F szimpatikusabb.
(#) watt válasza kameleon2 hozzászólására (») Feb 2, 2013 /
 
Szia! Én nem kimondottan erre gondoltam. Az SD-ről fel lehet tölteni a propeller program memóriáját? Tudja önmagát programozni? Beteszed az SD-t, majd áttöltöd, utána kiveszed és futtatod?
A hozzászólás módosítva: Feb 2, 2013
(#) kameleon2 válasza watt hozzászólására (») Feb 2, 2013 /
 
Nem értem miért ne lehetne? Az SD egy adattároló. Letöltesz egy olyan programot a Propellerbe, ami olvassa az SDkártyát. onnan átírja az adatokat i2c-n az eepromba, vagy csak a ram-ba. Rövidebben: Igen, fel lehet tölteni bináris formában.
(#) rogers válasza kameleon2 hozzászólására (») Feb 2, 2013 /
 
A Tell gsm-et úgy csináltak meg ami nagyon tetszik , hogy ha rádugom pc USB-re felismeri feltelepiti a HID driver-t majd ha feltelepitettem az eszköz meghajtó programját.

Felismeri az eszközt ami egy új meghajtót csatol fel ami cdként müködik és az már a pc oldali programot tartalmazza nem kell lemezeket adni a hardware-hoz meg keresgélni neten hanem az eszköz tartalmazza.
(#) kameleon2 válasza rogers hozzászólására (») Feb 3, 2013 /
 
A propeller start protokolljában benne van, hogy PC csatlakoztatásakor először nézzen rá a tx rx-re, ha program van fogadja... ha nincs pc, akkor i2c bus és külső eeprom... Azaz propeller esetében vagy egy PC-s programot írsz, ami feltölti amit kell, vagy binárisan kiteszed egy i2c-s eszközre, vagy akár sd-re és te gondoskodsz a már felismert, de nem kihasznált PC kapcsolatról, a tx rx felismeréséről vagy az usb 5v-jának detektálásáról stb. Nem tűnik nagy manővernek számomra. Igaz PC oldalon nincs jártasságom, csak évekkel ezelőtti visual basic De propeller oldalról nincs gond.
(#) watt válasza rogers hozzászólására (») Feb 3, 2013 /
 
A HID drivere a windows része, így azt nem kell telepíteni, nem is telepedik semmi, csak a kapcsolat épül fel a HID szabvány szerint, amit teljesítenie kell a csatlakoztatott eszköznek.

Ha a kapcsolat megvan, utána mehet a forgalom.

Viszont lehet, hogy nem pontosan írtad le mit akarsz. Én jól értettem? Csatlakoztatsz egy 4550-et, feltöltesz a PC-ről egy programot az SD-re és utána erről az SD-ről a PIC program memóriájába töltenéd át az SD-ről a programot, utána futtatnád?
Vagy csatlakoztatsz egy SD-t, erről a PC-re töltenél fel programot, ami a vezérlő programja 4550-en futó programnak?
A hozzászólás módosítva: Feb 3, 2013
Következő: »»   43 / 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