Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   982 / 1318
(#) watt válasza trudnai hozzászólására (») Jún 14, 2011 /
 
Én ezt eleve időosztassal gyújtanám ki úgy, hogy amikor 1LED ég, akkor is ugyanolyan fénnyel égjen, mint amikor mind a hat. Így bármilyen kombináció megoldható. Érdekes feladat, és lehet, hogy van mikor hasznos is, ha elfogynak a lábak...
Maga a program kitárgyalása belefér természetesen.
(#) watt válasza n_yálastrubadúr hozzászólására (») Jún 14, 2011 /
 
Ez így nem lesz jó, mert a sleep közben nincs olyan, hogy az mclr vár, illetve hogy közben véletlenszámot generálsz.
Az mclr megszakítást okozhat, ha jól sejtem, de ezt meg kell nézni az adatlapban.
Tehát sleepben van a PIC, majd az mclr megszakítására véletlenszámot generál, kijelez a gomb nyomvatartásáig, majd amikor elengeded, akkor ismét elalszik. Ha az mclr-re nem lehet megszakítást kérni, akkor olyan lábra kell tenni a gombot, ami megszakítást okozhat(a sleep erre ébred).
(#) watt válasza watt hozzászólására (») Jún 14, 2011 /
 
Most nézem, hogy a 10F200-ban nincs interrupt. Viszont az mclr felébreszt a sleep-ből. Szóval ez eddig rendben lesz.
(#) trudnai válasza watt hozzászólására (») Jún 14, 2011 /
 
GP0, GP1 es GP3 (mikor nem MCLR-nek hasznalod) is felebreszt amugy, szoval nem olyan rossz darab az a kis kocka
(#) bumate90 hozzászólása Jún 14, 2011 /
 
PIC mikrokontroller programozásához, illetve a működtetéséhez lehet használni 9v-os elemet?
Ezt tápegységgel szokás megoldani? Elég drágák, ahogy néztem.
Mivel szokás megoldani ezt az +5v Vpp-t?
(#) bbalazs_ válasza bumate90 hozzászólására (») Jún 14, 2011 /
 
Lehet, de nem direkt modon. Vagy stabIC-vel (mondjuk 7805) vagy stepdown-al kell csokkenteni a feszultseget.
Sokfelekeppen meg lehet oldani, lehet akar USB fesz is.
De a legegyszerubb szerintem egy regebbi telefontolto, az pont 5V, ingyen hajigaljak utanad.

Ha hordozhato dolgot akarsz, akkor persze lehet elemet hasznalni, csak ilyenkor az elem elettartama miatt celszeru stepdownt hasznalni, azt is kapcsolhatoan.
(#) trudnai válasza bumate90 hozzászólására (») Jún 14, 2011 /
 
Persze, hogy lehet 9V-os elemet hasznalni, ra kell tenni egy stabilizatort ami 5V-ot csinal belole. Lehetoseg szerint kapcolo uzemu DC-DC step-down konverter kell, az nem szivja le az elemed.

A +5V Vpp ugyanakkora,mint a +5V Vdd, igy az nem problema. Ha High Voltage programozast szeretnel, akkor a Vpp olyan +12-13V kornyeken mozog, ezt vagy a programozo allitja elo DC-DC setp-up konverterrel az 5V-bol, avagy egy kapcsolo elem segitsegevel (bipolaris tranzisztor vagy FET) kivulrol eloallitott 12-13V szintet kapcsol a megfelelo pillanatban az aramkorre.

PicKit2-ben pl setp-up konverter van, az USB 5V-jabol allitja elo a szukseges jelszintet.
(#) Atielektro hozzászólása Jún 14, 2011 /
 
Sziasztok!

Egy olyan kérdésem lenne, hogy lehet-e a pickit2 saját programozó szoftverével pl. PIC24FV32KA302 típusú pic-et programozni? A 2.61-es readme-jében csak a sima F-esek, azaz a 3.3V-osak vannak megemlítve, de azokból is csak pár típus.
A programozóm a szilva-féle furat szerelt pickit2, szóval a 3.3V-osakat nem tudja programozni.
(#) n_yálastrubadúr hozzászólása Jún 14, 2011 /
 
A fejemet. Kiterveztem rámértem és persze raszternyi távban lett a kör mérete szerkesztve, mikor én egy matek kockás lapjára tettem. Ami ugye 5mm Szóval kb pont a fele lett. Nem volt egyszerű a béndzsa nagyítóm alatt eszkábálni a maratás és ónozás után. Pici gombelem méretű. Sebaj prototípusnak jó. Sok infantilis haverom van akik menjek ne menjekre pénzt dobnak fel.
Köszi mindenkinek
(#) potyo válasza bbalazs_ hozzászólására (») Jún 14, 2011 /
 
Idézet:
„De a legegyszerubb szerintem egy regebbi telefontolto, az pont 5V, ingyen hajigaljak utanad.”


Tegyük hozzá, hogy névleges terhelésnél kb. 5V. Üresjáratban mértem már 9V-ot is telefontöltőn, úgyhogy csak óvatosan.
(#) bbalazs_ válasza potyo hozzászólására (») Jún 14, 2011 /
 
Kapcsolouzemuekre gondoltam. Mar kicsi terhelesre beall.
(#) subpower hozzászólása Jún 14, 2011 /
 
3,3 V os kontrolleres környezetben rövidzárat keresgélni multiméterrel nem veszélytelen? "Sipoló" üzemmódjában használva V nagyságrendű a vizsgálófeszültég, ezt azonban akár fordított polaritással adhatjuk a különböző bemenetekre, táplábakra, általában mindenféle előzetes elméleti megfontolás nélkül (fordított polaritással, mint amit megkívánna pl. a tápbemenet). Szóval elszállhat a processzor a mérésektől?
(#) kissi válasza subpower hozzászólására (») Jún 14, 2011 /
 
Szerintem nem, mert viszont áramgenerátorosan hajt ( ált. 0,1 v. 1 mA ) és ez kevés még fordított polaritásnál is! Nagyobb gond lehet a statikus feltöltődésből ( ha nincs beforrasztva az áramkör! ).

Steve
(#) subpower válasza kissi hozzászólására (») Jún 14, 2011 /
 
Igazad lehet, max 1 mA talán még nem teszi tönkre.
(#) trudnai válasza subpower hozzászólására (») Jún 14, 2011 /
 
De hanagyon aggodsz akkor ohm mero allasban keresgelsz, ott meg kisebb az aram (Mega ohm ngysagrendu az impednancia)
(#) kerteszsasa hozzászólása Jún 15, 2011 /
 
Sziasztok!
Most ismerkedek a PIC-ekkel, és azt szeretném kérdezni, hogy a 16f676-nak mekkora a program memóriája. Adatlap, és a boltok listáiban 1kb-ot írnak (adatlapban 1024 words )
Viszont találtam olyan projektet, ahol 7k-s hex volt mellette forrásként, és amit én kiolvastam, az is ~6kb. Ezt valaki el tudná magyarázni?
(#) watt válasza kerteszsasa hozzászólására (») Jún 15, 2011 /
 
A hex mérete nem egyenlő a program helyfoglalásával. A pontos méretet akkor tudod meg, ha betöltöd egy égetőszoftverbe(ezt PIC nékül is megteheted) és megnézed meddig foglal helyet a flash területen.
(#) Hp41C válasza kerteszsasa hozzászólására (») Jún 15, 2011 /
 
A 16F hagyományos felépítésű sorozatban 2k szavas lapok vannak. pl: 16F628 1 db 2K -s lapja van, a 16F648A -nak már 2 db.

A 16F676 -nak csak egy lapja van, az is csak félig kiépítve, a memória kapacitása 1k szó, azaz 1024 * 14 bit.

A hex formátum karakteresen tárolja az információt Intel Hex formátumban, sokkal hosszabb lehet, mint binárisan tárolva.
(#) netnet.hu hozzászólása Jún 15, 2011 /
 
Helló mindenki!

Valaki magyarázza el nekem:
PIC18F97J60-at használok. Az Ethernet miatt 25Mhz-es külső quarz van rajta. A programom viszont (TCP-IP Stack) 40 MHz-ként kezeli a dolgokat, lásd:
  1. // Clock frequency values
  2. // These directly influence timed events using the Tick module.  They also are used for UART and SPI baud rate generation.
  3. #define GetSystemClock()                (41666667ul)                    // Hz
  4. #define GetInstructionClock()   (GetSystemClock()/4)    // Normally GetSystemClock()/4 for PIC18, GetSystemClock()/2 for PIC24/dsPIC, and GetSystemClock()/1 for PIC32.  Might need changing if using Doze modes.
  5. #define GetPeripheralClock()    (GetSystemClock()/4)    // Normally GetSystemClock()/4 for PIC18, GetSystemClock()/2 for PIC24/dsPIC, and GetSystemClock()/1 for PIC32.  Divisor may be different if using a PIC32 since it's configurable.


És olyat is hallottam, hogy a külső órajel 1/4-e a belső.

Ebbe végképp belezavarodtam... az egyetlen amit biztosan tudok, hogy 25MHz a külső tam-tam. De akkor most mennyivel dolgozik a PIC, mennyivel a belső CPU, mennyivel a buszok a külömböző perifériák között (ram, programmemória, adatemória)... milyen gyorsan tudom folyamatosan váltogatni egy kimenet állapotát?

Szóval, végül is mennyivel is megy a PIC-em?

Ja és ami szintén fontos. Ugye egy ciklus egy instrukció, ha assemblerben írom le. De ha C-ben ezt írom le:
  1. if(TickGet() - t >= TICK_SECOND/100ul)
  2.         {
  3.             t = TickGet();
  4.                         LED1_IO ^= 1;
  5.         }

Akkor az 3 instrukció, vagy sokkal több?
(#) icserny válasza netnet.hu hozzászólására (») Jún 15, 2011 /
 
A kristály frekvenciája még nem minden, mert lehet előosztó, PLL, utóosztó...
(#) watt válasza netnet.hu hozzászólására (») Jún 15, 2011 / 1
 
Nagyon egyszerű. A 25MHz-et osztja 3-al, majd szorozza 5-el. Keress rá a static void InitializeBoard(void)-ra a projecben. Nézd meg az adatlapban az OSCTUNE regisztert még !
(#) netnet.hu válasza watt hozzászólására (») Jún 15, 2011 /
 
  1. #if defined(__18CXX)
  2.         // Enable 4x/5x/96MHz PLL on PIC18F87J10, PIC18F97J60, PIC18F87J50, etc.
  3.     OSCTUNE = 0x40;


Megvan és gyakorlatilag világos, de elméletileg nem. A data sheet szerint
Flexible Oscillator Structure:
• Selectable System Clock derived from Single
25 MHz External Source:
- 2.778 to 41.667 MHz


Eddig azt hittem, hogy több kristályt is rá lehet kötni, viszont most látom, hogy csak 25MHz-est.

Viszont nem tudom mi az a 96 MHz (lehet owerclockolni a procimat?) ami ott van kommentelve és nem tudom mi az a PLL. Erre a két krdésemre kérek szépen választ.
(#) netnet.hu válasza watt hozzászólására (») Jún 15, 2011 /
 
És akkor most nekem végül is 40 MHz-el hajtja végig az utasításokat? Vagyis egy egy órajelet igénybe vevő utasítás 0,025 us alatt hajtódik végre?

És tudom egy kimenet sebességét ilyen gyorsan változtatni PORTA-n?
(#) watt válasza netnet.hu hozzászólására (») Jún 15, 2011 /
 
A PLL egy szorzó áramkör. Ha részletek érdekelnek a fáziszárt hurokról, keress a google-val a témára.
A PLL max kimenete lehet 96MHz, ha jól tudom, de ezt meg kell nézni az adatlapban. A proci max 41.66MHz-el mehet.
"Bármilyen" kristályt ráköthetsz, csak a microchip stack-hez kell 25MHz! Ha másra akarod használni, nem kell ehhez ragaszkodni, bár akkor nem is ez a PIC-et kell választani. Megaztán más kristályokkal is kijöhet a 41,66MHz, igaz ennek most nem számoltam utána...

A programfreki Fosc/4, de ez le van írva az adatlapban.
A kimenetek sebessége nem lehet egyenlő a programvégrehajtás sebességével, ez szerintem egyértelmű, csak gondolkodni kell!

Javaslom ne tedd fel az összes adatlapban fellelhető kérdést, inkább kezd el olvasni és megérteni a PIC működését! Persze lehet, hogy nem egy ilyen bonyolulttal kéne kezdeni...
(#) icserny válasza netnet.hu hozzászólására (») Jún 15, 2011 /
 
Az előosztó valószínűleg 1:3-ra van állítva, az ötszöröző PLL be van kapcsolva, az utóosztó pedig le van tiltva. Így jön ki a 25 MHz-es kristály frekvenciájából a Fosc = 41,666667 MHz. Bővebben lásd az adatlap 3-2 táblázatában! Ott fel van sorolva az összes lehetőség.

Az utasításciklus négy órajel periódust igényel, tehát Fcy = Fosc/4 = 10,4167 MHz

A kimenet szoftveresen történő oda-vissza kapcsolgatása minimum két utasításciklust igényel (egy a felkapcsolás, egy a lekapcsolás), tehát "bit bang" módban max. 5.20833 MHz frekvencia érhető el. Hardveresen valamivel több: általában 10 MHz-ig mehet pl. az SPI.
(#) Kefeúr hozzászólása Jún 15, 2011 /
 
Sziasztok!
Adott 1 profi rádiós mikrofon.
Adott 1 vevő , csak épp nem 1 frekin dolgoznak.
16 csatornás mindkettő , de más a frekvencia kiosztása.
Pic vezérelt pll áramkörös ketyere.
A készülék Dvon névre hallgat.
Van benne eeprom is , de azt már kiolvastam és csak a működési paraméterek 1 része tárolódik benne .
Pl.: zajzár mekkora jelnél oldjon , frekvenciát vagy csatornaszámot mutasson a kijelzőn ....
Frekvencia vagy osztási viszony (pll ) nincs benne .
A vételi frekit a pic tárolja "intézi".
I2c kommunikáció van jelen a készülékben .

Kérdés :
A picből kiolvasva a kódot azt elemezve megoldható-e a frekvencialépcsők módosítása.
Elegendő lenne 1 frekire belőni.

Előre is köszi az ötleteket.
(#) Kefeúr válasza Kefeúr hozzászólására (») Jún 15, 2011 /
 
Ic prog -gal kiolvasva a pic tartalmát , asm ablakra kattintva olvasható is az asm kód.
Ki ért asm ül??
(#) netnet.hu válasza Kefeúr hozzászólására (») Jún 15, 2011 /
 
PIC ért asm-ül
(#) trudnai válasza Kefeúr hozzászólására (») Jún 15, 2011 /
 
Az aramkort is vissza kell fejtened, ertened kell hogy mukodik az aramkor, utana lehet csak megerteni hogyan muodik a PICben tarolt firmware.
(#) Kefeúr válasza netnet.hu hozzászólására (») Jún 15, 2011 /
 
Ez igaz , de a módosításhoz kevés.
Következő: »»   982 / 1318
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