Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok, egy mcp41010-es digipotit probalok mar orak ota felkonfiguralni egy pic18f45k20 -assal , s a joistennek sem akar mukodni....
Egy demo boardon van a pic, egy pickit3 assal irom, bread boardon van az mcp... pic => mcp labak osszekotve: ra5 => CS, rc3 => SCK , rc5 => SI , A programom 8mhz-en fut, SPI1_Init(); inicializalom az spi modult s az SPI1_Write(); -al kuldok 2 byte-ot 0b00010001 es 0b01000000 ez elvieg kb 2.5kohmot kelene beallitson... remelem kaptok ebben hibat, s tudtok segiteni. Elore is koszonom!
Ez egy SPI cucc, 1Hz-el is működnie kell. Léptesd a programot kézzel és nézd meg a kimeneteket(LED, műszer, stb.), hogy kimegy-e a kívánt adatsor.
Sajna nem tudom leptetni ,mert mikroC ben van irva, es a hex filet pedig pickit3 -al irom meg, hogy leptetni tudjam, mplab-ba ujra kellene irjam a progit.
- Köss rá egy 1Hz-es órajelet(tökéletesen prellmentesített kapcsoló is jó lehet(RS tároló+morze mikrokapcsoló)). A programot pedig módosítsd, hogy gyorsan odaérjen a teszt részhez...
- Csinálj a PC-ből egy szkópot(hangkártya bemenettel, ellenállás osztóval, esetleg illesztő OPA-val) és állítsd be az SPI-t a lehető legalacsonyabb órajelre(TMR2/2 beállítás). 1..5KHz-et meg lehet mérni PC-vel is. A hozzászólás módosítva: Okt 4, 2013
- Milyen feszültségről jár az MCP41010? Meghaladja-e a 18F45K20 által kiadott magas szint az MCP41010 Vdd -jének 70% -át?
- PICKit2 logikai analizátor funkciójával is felvehető az idődiagram: 2V körüli a komparálási szint, de 4k7 földre hűzó ellenállások a PGD és PGC vonalon megzavarhatják a mérést. Egy meghajtó közbeiktatásával a terhelés hatása kiküszöbölhető. - Az MPLab -ot elindítva, típus beállítása után a hex -et beimportálva lehet lépésenkénti nyomkovetést csinálni. - Elég lenne csak az SPI adatküldési rutint megírni újra, teljesen azonos utasítássorozatra. Ha a teszt működik, az eredeti is működni fog. - A hirdetések között található USB logikai analizátor, amivel fel lehet venni az SPI adatküldés időbeli lefolyását.
PC szkópként az Audacity hangszerkesztő programot ajánlom, a hagyományos analóg szkópot utánzó programok nem jók szinte semmire.
Nagyon olcsón (3000 .. 6000 Ft) lehet kapni (az aprohirdetések között is van) 8 csatornás USB logikai analizátort, amivel a 4 vezérlő jel egyszerre felvehető (24MHz mintavétellel). Az I2C, SPI, UART, 1-Wire protokolt fel is ismeri.
A hozzászólás módosítva: Okt 4, 2013
Sziasztok!
Olyan kérdésem van, mi van akkor amikor egy PIC18F2620-ra elkészítettünk egy LED villogtató programot ami fokozatosan gyorsítja a LED villogását, majd ez kétszer lefutott és utána leállt a mikrokontroller olyan szinten, hogy a programozó sem látja többet. Már többször programoztuk újra és újra, sose volt ilyen. A kvarcon szkóppal látom a 16 MHz órajelet. MCLR láb tápfeszen, de az összes többi PORT 0 Volt... Semmi nem jön ki. Szállt már el így valakinek PIC? A másik kérdés, mi van akkor ha belső órajelgenerátort használok, és minden PORTot kimenetként állítok be és amint áramot kap a kontroller rögtön fut a program, de a programozóval hogyan írhatom újra, ha le van húzva az összes PORT nullára? Mert ebben az esetben se látja a programozó a PIC-et... Nem tudom törölni sem.
Kényes helyzet... MCLR funkció le van tiltva? Még kényesebb helyzet...
Próbáld a programozás Vdd -t 4.0V alatt. Addig vidd lefelé, amíg a kontroller már nem indul el. 3.0V fölött van esélyed a törlésre... Mielőtt ilyen konfigurációt és programot égetne be valaki, gondoljon arra, hogyan is fogja a programot módosítani. Az indulás és a PGC és/vagy PGD kimenetté állítása közé be kell tenni néhány ms várakozást. A hozzászólás módosítva: Okt 4, 2013
A Microchip web rádió forráskódját keresem de nem találom.
Bővebben: AN1128 Idézet: A forrásfájlok a Microchip TC-IP Stack terjesztési csomagjában vannak (vagy voltak 2009-ben), ami a www.microchip.com/tcpip címen érhető el. „The files are part of the Microchip TCP/IP Stack distribution that can be found at www.microchip.com/tcpip.”
Sziasztok!
Lenne egy kérdésem hozzátok. Van 1 SMD PIC -em viszont kicsiszolták a típusát.Hogyan lehetne megtudni a benne levő programot?
Ha már lecsiszolták a típusát, akkor gondolom a kódvédelmet is bekapcsolták, akkor nem olvasható ki. Persze jópénzért megoldható megfelelő felszerelés birtokában a chip szétszedésével, de annyit gondolom nem ér a dolog.
Azért számomra elgondolkodtató, hogy honnan lehet tudni, hogy PIC, ha egyszer le van csiszolva a típusa, ill. mennyire triviális lehet benne a program, ha nem érezték elég védelemnek, hogy a programot nem lehet kiolvasni, még a típust is lecsiszolták.
Hali!
Megpróbáltam a "halott" PIC-et újraéleszteni... De nem jártam sikerrel. Nem fér a fejembe, hogy futott a program rajta és egyszer csak gondolt egyet és úgy elszállt, hogy többé nem működik?! ?! ?! Megfogtam kettőt ugyan abból a típusból és az égetőbe betettem párhuzamban mind a kettőt. Mondom a hibás és nem hibás PIC majd segít egymáson. Töröltem őket, de csak a jól működő PIC törlődött... Mondom égetek bele programot, hátha úgy sikerült felülírnom. Hát a jó PIC-be belemászott a progi, a halottba pedig nem! Tényleg nem fér a fejembe, hogy mi a k...a...szállt el. A táp stabil 5.01 DCV. 1 LED volt rajta, az MCLR pedig tápra kötve :@
Sztatikus kisülés. Ez a villamosszék kistestvére.
A hozzászólás módosítva: Okt 5, 2013
Hozzá se értünk az áramkörhöz, épp csodáltuk, hogy villogtatja a LED-et! Aztán elaludt... :O mondom elszállt a táp?! :O Rámérek, és stabil. Na ez kicsit szíven ütött. Jó drága PIC pápá?!
És hogyan programoztad fel, ha hozzá sem értél...?
Betettem a programozóba, felnyomtam rá a programot, kivettem onnan és betettem a nyákba amin van egy LED az RB3 porton és egy dugasztáp. Bedugtam a konnektorba és a megírt program szerint elkezdte villogtatni a LED-et! Kétszer lefutott a progi, aztán kialudt a LED. Gondoltam szar a nagyon egyszerű LED-villogtató programunk, lefagyott... Ezért kihúztam a tápot, majd vártam egy kicsit és visszadugtam, bízva abban, hogy RESET-el a PIC. De már többet nem éledt fel. Akkor vissza be az égetőbe és az égető sem látta többé már. Na így!
Ezernyi féle módon tönkre lehet tenni egy mai modern CMOS áramkört. Sztatikus kisülés (ESD), túlterhelés, latch-up, hogy csak a leggyakoribb dolgokat említsem.
Akkor mégis csak megfogtad. Nem akarok ezen lovagolni, de ha ilyen drága alkatrésszel dolgozol, akkor megfontolás tárgyát képezi az ESD karperec, munkaasztal és az áramköri ICSP csatlakozó.
És ezek közül mégis melyiknek van valószínűsége abban az esetben amikor távolról figyeled a működését és pár másodperc után leáll?! Biztos valaki EMI-vel játszott mellette, vagy épp valami nagyfesz generátort kapcsolt be?! Próbálom megtalálni a hiba okát. De mindent kizártam, egy dolog lehet, hogy tényleg a program csinált valami olyat ami miatt többé nem működik a PIC.
Én már kipróbáltam a rövidzárat, egyel arréb tettem az égetőbe, fordított tápfeszt, stb... És még sosem sikerült megölni egyetlen egy PIC-et sem! A tegnapi napig! De még ha szadiztam volna akkor megértem. De ezt a PIC-et jó párszor égettem már újra és mutattam be a működését, mert iskolában ez a bemutató darabom... Viszont tegnap én égtem mint a rongy, miért állt le... :@ Ugyan azon körülmények között volt, ahol már párszor bemutattam.
Ugye tisztában vagy vele, hogy ha ESD miatt sül meg, akkor az a megfogás pillanatában történik?!
Mert ezek szerint nem értetted meg, hogy a működés közben SENKI nem ért hozzá! De persze, nem is kell ezen lovagolni, csak gondoltam már másnak is szállt el PIC úgy, hogy esetleg program hiba történt. Nem fogom földelni magam, meg védeni a CMOS áramköreimet, mert még egyetlen FET se szállt el ilyen okból kifolyólag! Akkor téma lezárva... Így jártam.
Részemről is lezárva, csupán annyit említenék meg, hogy az ezzel foglalkozó szakirodalom megemlíti, hogy a sztatikus kisülés pillanatában nem mindig ég át a felvitt (kialakított) vezető/hordozó, lehetséges, hogy csupán elvékonyodik. Ezután ha megfelelő nagyságú áram folyik át rajta, következik be a teljes átégés. Persze, a tokba nem látunk bele, ezért így csupán valamiféle magyarázattal szolgálhatunk.
Idézet: „Ugye tisztában vagy vele, hogy ha ESD miatt sül meg, akkor az a megfogás pillanatában történik?!” Sajnos nem. Az ESD miatt tönkremehet benne egy valami, amitől mondjuk megnő az IC fogyasztása több száz mA-re (pl. egy komplementer MOSFET pár fixen egyszerre kinyit), és amikor elkezded használni, akkor a túlmelegedés miatt idővel bármi elpusztulhat benne. Nálam pl. alap, hogy az összerakás után, a bekapcsolást követően végignézem az alkatrészek hőmérsékletét, mert ha túl melegek, az bizony hibára utalhat (pl. volt, amikor fordítva kötöttem be a tápot - rögtön forró volt, 3 másodperc múlva kihúztam, túlélte az IC).
Ez igaz, csak hogy egyáltalán nem melegedett fel és a tápon áramkorlát volt 20mA-re. Labor körülmények között... :S
A lényeg a lényeg, érthetetlen mi lett vele. Az lett volna jó, ha valahogy még újra lehetett volna éleszteni. De egyébként meg azt az egy magyarázatot találtam a lelkem megnyugtatására, hogy már több ezerszer lett égetve és biztos most jött el az idő, hogy páff.
Táp bekötés, órejel kivezetései, MCLR áramkör, ICSP csatlakozó...
Egy lecsiszolt feliratú DIP40 és DIP28 tokokat tartalmazó kütyűnél csak néhány másodpercbe került a CPU és a memóriák azonosítása. Z80 -at a táp és az órajel buktatta le, a ROM -hoz nem ment a WRITE... |
Bejelentkezés
Hirdetés |