Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Én is úgy tudom, hogy az USB port max. 500 mA leadására képes. Azonban a perifériák csatlakozáskor maguk mondják meg, hogy mekkora az áramigényük, s a PC akár le is kapcsolhatja a készüléket, ha az túllépi az általa deklarált korlátot.
A PICkit2 kézikönyve is tartalmaz egy ilyen kitételt: The USB port current limit is set to 100 mA. If the target plus the PICkit 2 exceed this current limit, the USB port may turn off. The target may be powered externally if more power is required. Tehát a PICkit2 maga "korlátozza" 100 mA-re a felvehető áramot. Azt is írja, hogyha rövidzárat vagy nagy terhelést érzékel a VDD kimenetén, akkor automatikusan lekapcsolja a kiadott tápfeszt.
Az 500mA-t, ill a 100mA-nél nagyobb áramot az eszköz kérheti, és ki is szolgálhatja a host, ha tudja. De ennek ellenére még nem volt olyan, hogy ne adott volna ki a port 300mA-t vagy többet, annak ellenére, hogy nem kérte tőle "senki". Volt itt valaki, aki 4A-t szedett ki! Az más kérdés, hogy ezt azért nem kéne erőltetni!
![]() A PK2 pedig szerintem csak a rövidzárat látja és kezeli, mert nekem nem kapcsol le még nagyobb áramnál, nem is tudom hogyan mérné, ha csak úgy nem, hogy a benne felhasznált FET nem bírja a terhelést, és leesik a fesz(és ezt figyeli). Ez a PK2 klónban nem történik meg.
Sziasztok!
Az USB 2.0 specifikáció szerint a "Standard Configuration Descriptor" utolsó bejegyzése az áram igény 2mA egységben. Ez a bejegyzés 8 bites, innen jön az 512mA áramhatár. Ez, azt jelenti, hogy az eszközből az enumeráció során kiolvassa az usb host az áramigényt, a kiolvasott érték alapján beállítja a kimenetáre az áram küszöbértékét. Ha az eszköz nagyobb áramot vesz fel, mint amit bejegyeztek az áramigény bejegyzésbe, a host kikapcsolhatja, csökkentheti a kimenő feszültséget ezen a kimeneten. A PicKit2 firmware is a leíróban állítja be a 100mA-nek megfelelő 50 (0x32) értéket. Ez itt átírható, de a frissítésnél a PicKit2 és az MPlab program ellenőrzi a firmware helyességét.
Igen, próbáltam módosítani, de igazából nem kellett, mert a legtöbb PC host nem foglalkozik a kéréssel, hanem egyből kiadja amaxot, vagy annál is többet, ami a "csövön kifér"! Az elmélet ettől még igaz.
Azt nem értem, hogy miért nem kér gyárilag a Pickit2 500mA-t? Az ICD2 is csak 100mA-t kér. Átírtam a hex-et, hogy kérjen 500mA-t, rádugáskor kérte is, csak amikor az MPLAB-ban connect-et nyomtam, akkor visszaírta a régi firmware-t. Ha az MPLAB mappájából kitöröltem az ICD2 firmware-jét tartalmazó fájlt, akkor békén hagyta, mert nem volt mivel felülírnia, de az újabb MPLAB verzióval már felül is írta, mert elfelejtettem törölni. Lehet, be kéne kapcsolni a kódvédelmeket rá, hátha akkor nem írná felül?
Egyébként én voltam, aki levett 4A-t az USB-ről, szintén NF7 lappal ![]()
A PK2 firmware a Vdd leesését figyeli, már régen néztem, de ha jól emlékszem, a 8 ms-onkénti tiner interruptban teszi ezt A/D segítségével, és szintén itt méri a Vpp szintjét is, ami alapján a pumpát ki-be kapcsolgatja.
Egyébként az valós meglátás, és én is mondtam régen, hogy ha szabvány szerint működnének az USB portok, akkor az igényelt áramnál nagyobb fogyasztás esetén le is kapcsolnák a csatlakoztatot fogyasztót. Megint más kérdés, hogy a gyakorlatban én sem láttam még olyat, hogy ez megtörtént volna. Az a 100 mA elég necces amúgy a PK2 esetében, nemrég mértem meg a saját klónomat és a Vpp bekapcsolt állapotában, külső terhelés nélkül kb. 90 mA volt a fogyasztása. Kikapcsolt Vpp-nél is 60 felett volt, tehát hivatalosan nem túl sok teret hagy a külső áramkörnek, igazán írhattak volna a firmware-be egy 200 mA-s áramigényt, semmibe nem került volna.
Pedig az ICD2-nél alapban sokkal több "áramzabáló" lakik az áramkörben, ott a 100 mA tényleg nagyon kevés, gyakorlatilag a normál működés közben is túllépi. Nem tudom, emlékszel-e rá, de megírtam ide a fórumra is, amiko egy egész napot szenvedtem végig az ICD2 felélesztésével, mert (mint később kiderült) az USB kábel ellenállásán 2 V (!) esett a Vpp bekapcsolása után. 5 V-os külső tápegységről indítva 200 mA-t mértem az ICD2-n, a leesett tápfeszültség miatt USB-ről táplálva ez felment 260 mA körülre (Vpp pumpa).
Le kéne mérni, az enyém mennyit eszik, csak nincs most kéznél félbevágott usb kábelem. De mintha régebben mértem volna, és ilyen 100mA környéke rémlik...
Idézet: „Azt nem értem, hogy miért nem kér gyárilag a Pickit2 500mA-t?” En ugy gondolnam azert, mert azt a host megtagadhatja. Es lehet a Microchipnel is ugy talaltak, hogy a legtobb host controller nem foglalkozik tulzottan mennyit vesz le az eszkoz ameddig birja szusszal. Amugy halkan jegyzem meg nehany host controller, foleg a mobil eszkozokben levok eleg erzekenyek az aramfelvetelre. Pl a video kameramra ra lehet aggatni DVD irot is, es ugyanazzal a porttal lehet a PC-re is csatlakozni - magyaran egy USB OTG controller van benne mini AB csatlakozoval. Ketlem, hogy az eszkozrol nagyobb terhelest le lehetne venni, sot amig elemrol megy addig egyaltalan nem engedelyezi az USB-t... Mas eszkozok, pl PDA-k eseteben is eleg vacak lehet a helyzet - pl kivancsi lennek egy netbook mit szolna mikor a PICkit2 le akar emelni 200mA-t...
Dugd rá a Pickit2-t a video kamerára, kíváncsi vagyok, mit szól hozzá
![]() ![]() Idézet: „Dugd rá a Pickit2-t a video kamerára, kíváncsi vagyok, mit szól hozzá” Lehet megnyernem vele a video palyazatot ![]()
Megvettem a chipcad-nél a PIC Mikrovezérlők alkalmazástechnikája Pic programozás c nyelven című könyvet.
közel 400 oldal, 6600Ft. Olvasta már valaki?
Nekem is megvan már lassan két hete, de még nem nagyon volt időm olvasni, csak belelapozgattam.
A CD mellékleten rajta van a második kiadás is.
Ugyan nekem nincs meg két hete, de még én is csak belelapoztam.
Nagyon érdekesnek tűnik.
Nekem is 2 hete van meg; suliban szoktam olvasni, ha van szabadidőm. Én is belelapozgattam, aztán úgy gondoltam, hogy érdemesebb az elejéről kezdeni, és végigmenni az egészen, közben jegyzetelni. 80 oldal már mögöttem van
![]()
Sziasztok!
Icserny linkelt nekem egy projektet MMC kártyához, amit átírtam PIC16F690-semhez (kommenteket hagytam), aminek ASCII kerektereket kellene írnia az MMC kártyára és vissza kellene olvasnia soroson és a PC-nek küldenie, de sajna nekem csak ---- karaktereket küld. Ránézne valaki,h.mi lehet a hiba? ![]()
Ez nyilvanvaloan egy visszafejtett program. ilyenekkel nem szabad foglalkozni. Csak jol kommentezett es szepen strukturalt forrasokkal szabad csak foglalkozni. Ezt kihamozni, hogy mit akar nagyobb munka mint ujat irni.
Nem az a lenyeg el tudsz-e olvasni 80 oldalt, hanem, hogy megerted-e es tudod-e alkalmazni azt ami ott le van irva. Ne tamadasnak vedd amit irtam, csak arra akartam felhivni a figyelmet, hogy az ilyen konyvek akkor jok ha allandoan nyitva van mikozben dolgozol es beloluk tudod kinezni hogyan is kell csinalni azt amit epp szeretnel. Magyaran egyarant hasznos ankonyvnek es referencia konyvnek is.
Jól látom, hogy te belső RC oszcillátort konfiguráltál, az eredeto program meg 20 MHz-es kvarchoz készült? Akkor ez így hogy működik? Átszámoltad hozzá a baud rate generátor paramétereit?
Idézet: „Ez nyilvanvaloan egy visszafejtett program.” Tévedsz, ez még visszafejésre vár! ![]() ![]()
Köszi!
Kijavítottam, most már csak pppppp jön, de ha kiveszem az SD kártyát, akkor is küldi az adatokat ![]()
Túl sokat markolsz egyszerre! Bontsd a programot kisebb egységekre, s csak annyit vizsgálj egyszerre belőle, amennyit át tudsz látni! Addig például teljesen fölösleges a kártyát erőltetni, amíg a soros port kezelésére nincs egy kiforrott (áttekinthető, és garantáltan működőképes, letesztelt) eljárásod. A kártya kipróbálása előtt az SPI port kezelését is le kellene próbálni valamivel (pl. SPI EEPROM).
Rendben, már úgy próbálgatom.:yes:
Sorosra már van egy kiforrt, működő programom, az SPI-t meg most próbálgatom. Már lassan én is kezdem belátni, h.egyszerre mindent átlátni ebben a progiban nehéz ![]() Aztán meg végül lehet megírom a sajátomat és hagyom ennek a visszafejtését.. ![]() Köszi
Nem veszem támadásnak, mivel én is így látom ezt a kérdést. Először azért akarom végigolvasni elejétől a végéig, mert rámfér. Mint már írtam, közben jegyzetelek egy külön erre a célra fenntartott füzetbe. Hazudnék, ha azt mondanám, hogy mintdent egyből felfogtam. Ezért jó az, hogy leírom/lerajzolom magamnak, mert ez sokat segít a megértésben és a megjegyzésben, közben persze ki is próbálom a leírtak nagyrészét.
Idézet: „közben persze ki is próbálom a leírtak nagyrészét.” Remélem, hogy főleg csak a szimulátorban! A soklábú 16 bites mikrovezérlőket ugyanis nagyon elkuruzsolták, gyalázatosan alacsony az újraprogramozhatósági szám. Többek között ezért fogtam hozzá egy, az alacsony lábszámú PIC24/dsPIC mikrovezérlőkre alapozott egyetemi kurzus jegyzetének áttanulmányozásához és lefordításához. A 28 és 44 lábú PIC24H/dsPIC33 mikrovezérlők újraprogramozhatósági száma ugyanis két nagyságrenddel magasabb.
Mivel csak 18-as és 16-os PIC van itton, így igen, csak szimulátorban
![]()
Hali!
Mennyi lenne az a "gyalázatosan alacsony" ? Ugyanis páldául a PIC18F66XX széria gyári adataiban az EEPROM újraírhatósági száma szzem egymillió és hó ha 20-30 ezret kibír bithiba nélkül .... Van ennél is gyalázatosabb ?? ![]()
Ha kellően figyeltél volna, olvashattad volna, hogy nem a 18F-ekről volt szó és ráadásul nem az EEPROM-járól!
A gyalázatosan alacsony szám pedig 1000(ezer!)
Sziasztok!
Eddig Mplab-ban assembly kódot írtam csak, lehet benne C-t is?Ha igen, akkor ugyanúgy létrehozok projektet és írom bele a C kódot?Vagy kell állítgatni egy-smást és letölteni valamilyen fordítót? Ne haragudjatok a triviális kérdésért. Köszi |
Bejelentkezés
Hirdetés |