Fórum témák
» Több friss téma |
Fórum » PIC - USB - PC projekt
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!
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ó.
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ő.
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!
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.
Világos.
Köszönöm, hogy foglalkoztál vele!
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
Idézet: 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. „mcc18 v3.14”
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
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 ?
Ha nem megszakításos a kezelés (polling), akkor tudtommal < 1 ms
Megszakításos esetben sokkal kevésbé kritikus a dolog.
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?
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.
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!
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
Sziasztok! Conrad Homematic szoftvere, hardvere nincs véletlenül valakinek? Tapasztalatok, protokoll érdekelne.
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
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.
Idézet: „Nem PIC kategória.” 8db 80MHz-es MCU? Ágyúval verébre?
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.
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.
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
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.
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.
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.
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
|
Bejelentkezés
Hirdetés |