Fórum témák
» Több friss téma |
Köszönöm mindenkinek!
A kapott elérhetőségeket továbbítottam! (Akár törölhető is a hozzászólásom. Hogy ne zavarjon meg senkit.)
Sziasztok!
A PIC16F628A mikrocsipemben 2 timert használok (TMR0, TMR1). Az alábbi kapcsolás receiver részét megépítettem(ebből kell kettő, egyet-egyet mindkét timernek). A kapcsolás a timer0-val tökéletesen működik az RA4 lábra kötve(pin3, T0CKI). Viszont a timer1 nem reagál rá az RB6 lábon (pin12, T1CKI). Négyszögjel generátorral viszont szépen működik az utóbbi is. Mi lehet a probléma? Bővebben: Link Ide vonatkozó kódrészek:
A hozzászólás módosítva: Feb 20, 2013
Milyen a jel alakja? Az adatlapokban egy táblázat ismerteti, hogy az az üzemmódtól függően a számláló bemeneteken legalább meddig kell magas, illetve alacsony szintűnek lennie a jelnek.
A "TIMER0 AND TIMER1 EXTERNAL CLOCK REQUIREMENTS" táblázatot keresd! Általában 0.5 TCY + 20 ns ideig kell magas, majd ugyanennyi ideig alacsony állapotban lenni. Előszámláló használata esetén, vagy T1 aszinkron módban ennél kedvezőbb a helyzet... A lelölés magyarázata: TCY az utasításciklus periodusideje, azaz 4/Fosc. Például Fosc = 4 MHz estén Tcy = 1 us vagy 1000 ns. Idézet: „TMR1L = 0;” Ez az utasítás törli a számláló alsó byte -ját és az esetleges prescaler -t. A timer1 írásáról van egy errata is...
Nem úgy van, hogy a prescalert, a T1CON tartalmazza, a TMR1 pedig 2 8bites részből áll:
TMR1H a felső 8 bit értéke tulcsoruláskor nő és TMR1L az alsó 8bit ahova a timer1 számol? (#) icserny válasza hepi02 hozzászólására (») A jel alakot sajna nem tudom megnézni, nincs szkópom. Pontosabban van valami 1000 éves orosz, majd megnézem, hogy megy-e még. Viszont, ha timer0-nak megfelel a jelalak, akkor ebből nem következik ezek szerint, hogy timer1-nek is? Idézet: „Nem úgy van, hogy a prescalert, a T1CON tartalmazza” Pontosan: A prescaler beállítását a T1CON tartalmazza. A prescaler tartalma (aktuális állapota) nem hozzáférhető. A timer írása törli a prescaler tartalmát is. Idézet: „TMR1 pedig 2 8bites részből áll: TMR1H a felső 8 bit értéke tulcsoruláskor nő és TMR1L az alsó 8bit ahova a timer1 számol” Számolna az a szerencsétlen timer1, ha a while (1) TMR1L = 0; nem írná felül az alsó byte -ot minden lefutásra.
Van egy ilyen rész is a nullázás után:
Tehát mire a while végére érünk már feldolgoztuk a TMR1 értékét, ezért lehet nullázni és újra számolni. Csupán a felesleges számításokat kihagytam innen a kódból, mert nem releváns a kérdésre nézve. És ismétlem, hogy négyszögjel generátorral tökéletesen számol, csak a fent linkelt kapcsolással nem. A fent linkelt kapcsolás valamiért csak a timer0-val dolgozik együtt. Kipróbáltam egy ilyen kapcsolással is, ami lényegében a korábbi kapcsolás butított változata, de ezzel sem működik. Bővebben: Link
Szia,
Vajon nincs köze a DC characteristics-hez? Az adatlapban a 170-es oldalon ugyan azt írja, hogy 0,8*VDD a VIH úgy schmitt-triggeres bemenet, mint MCLR és RA4/T0CKI esetén. Mégis külön írja őket, ebből arra következtetek, hogy lehet mégis lehet különbség a két küszöb között.. Lehet, hogy az áramköröd által kiadott jel nem éri el azt a 0,8*VDD = 4 voltot, és az öli meg az egészet. Generátorral valószínűleg azért megy, mert 5 voltos amplitúdójú jelet adsz neki, s az okés. Próba!
Az MCU RB6 lába le van húzva testre egy 3K6 ellenállással. A tranzisztoros kapcsolás pedig elvileg csak annyit csinál, hogy az adott lábon kapcsolgatja a tápfeszt(jelen esetben 5V-ot). És a tranzisztor collector lábán mérve meg is van az 5V.
Az RTCC modullal kapcsolatban kérdeznék. Az RTCCFG regiszter RTCSYNS -je (Read Synchronization) elvileg az RTCVALx regiszterek olvasás közbeni túlcsordulása ellen használható. Amíg értéke low, az RTCVALx regiszterek gyors kiolvasása nem okoz átfordulást. A - dsPIC33F Family Reference Manual 18. oldalán találtam ennek működéséről kicsit bővebbet.
Eszerint a 32768 órajelciklus (1 sec) lejárta előtt 32 órajelciklussal előbb "1" lesz RTCSYNC bit, jelezve "nemsokára" átfordulás lesz a sec ban, vagy a többiben átfordulás lehet, kiolvasás már nem "ajánlott". (esetleg visszaolvasással, majd összehasonlítással de az egy másik megoldás lenne) . Amit kérdezni szeretnék, hogy a fenti gondolatmenet helyes -e, és miért van az, hogy a neten nem találtam egyetlen példát sem, amit a modul Time regisztereinek kiolvasását így oldotta volna meg, vagy visszaolvasással. Lehet én nem értelmezem jól az RTCSYNC bitet?
Kipróbáltam a progit,
Azt csinálja, ha csak bekapcsolom akkor nem jelez ki semmit üres a kijelző Csak a kis kockák látszódnak a mibe a karakterek lennének kontraszt állástól függően, de viszont ha a beállítás menübe belépek akkor látszik minden a kijelzőn. Tehát beszabályozni lehet de használt közben nincs kijelzésem. Ez program hiba? Köszi
sziasztok egy nagyon kezdő kérdésem lenne, de inkább kételyt kéne eloszlatni. Ahogy olvasom a PIC adatlapját, a portok más más dolgot tudnak (lásd. belső D/A, LCD kezelés). A protokat szabadon használhatom fel, és a programba írom le, hogy ki vagy bemenet legyen és hogy miként üzemeljen. Legalább is gondolom én. Vagy kivan kötve hogy ez a port akkor ahogy az adatlapon van csak D/A...?
Szia!
Ez úgy működik, hogy különböző funkciókat (analog bemenet, analog kimenet, i2c, spi, komparator...) összemultiplexelnek egyetlen lábra, lábspórlás végett. Programból ezeket ki-be tudod kapcsolgatni, annak függvényében, hogy mit akarsz felhasználni az adott lábra multiplexelt funckiókból. Például ha egy lábat IOként akarsz használni, ki kell rajta kapcsolni az analog bemeneteket (ha éppen van), komparátor kimeneteket, meg minden egyebet ami felülírja az IO funkciót. Táblázatot erről találsz az adatlapban, minden lábnak felsorolják minden funkcióját, általában az adatlap elején van IO pins fejezetben. Legtöbbször van részletes utasítás, hogyan kell eljárj, hogy az adott funkcionalitást használhasd. Kezdi azzal, hogy ki/bemenetnek kell állíts egy lábat, aztán leírja, mit kell inicializálj, mit kell bekapcsolj, stb. Remélem segítettem!
Sziasztok!
Saját fejlesztésű propeller órán dolgozok. 5 napja készítem és minden szuper apróságokat leszámítva. Pl a bázison az ir ledet nem a pic vezérli. később jöttem rá hogy leállított módban az is kikapcsolhatna. A bázis sok mindent nem csinál, nem volt nehéz beollóznom a korábban megírt samsunng 4byte-os távirányító kódját minden apróság irányítására. Az propeller része is halad az óra pontos, de még sokmindent akarok beleírni. Így is sok felesleges sort emészt fel a hasamra ütött legegyszerűbb nyákterv miatt. ("összevissza" vannak a portokon a ledek) És nincsen több lábam se ahova a propelleren a tsop-t majd kötni fogom, de a lényeg, hogy szerintem időm se lesz könnyen az infrát feldolgozni. Ezért kicseréltem az óra egyszerűsége miatt használt 3,6864Mhz-es kristályt egy 24,576Mhz-esre. A pic megy (16f716 ez volt itthon) de azt kérdezném, ha az adatlapja szerint 20Mhz-es, akkor számíthatok frekvencia "vesztéssel" kiszámíthatatlansággal? Az első kép 5 napja készült akkor még fogalmam sem volt róla, hogyan lesz ebből valami. És úgy rázott, hogy 2.jára 1 napig csak a trafót tekertem.
szia! Teljesen kielégítő válasz volt, és pont erre voltam kíváncsi. Köszönöm a segítséget.
Amikor a csatolt képen látható figyelmeztetést kapom akkor mit kell állítani?
Ez okozhat olyan hibát hogy nem helyesen működik a program? A hozzászólás módosítva: Feb 22, 2013
Azt mondja, hogy nem minden konfigurációs bitet állítottál be, győződj meg róla, hogy az alapértelmezett beállítások megfelelnek!
Ezt én sajnos nem tudom, mivel nem tudok programozni ezért kértem segítséget.
De azt viszont te tudod, hogy mit akarsz csinalni, ennek megfeleloen kell allitani a biteket. Vagyis mi ezt nem tudjuk erdemben megvalaszolni.
Kell a kapcsolasi rajz es a program. Kb olyan kerdes, hogy mennyi sot tegyek az etelbe? Nem tudjuk, hogy husleves, palacsinta vagy eppen langos keszul-e.
Jó reggelt! Nem válaszolt senki, de jelentem, hogy a 24,574Mhz-es kristállyal 12 óra alatt 3mp siet a gépemhez képest. (gondolom a gép azért azért ennyire nem pontatlan) Ezek szerint a kristállyal elég jól megy. Mekkora a tűrése e tekintetben amivel még tökéletesen fut, ha valaki próbálta? Azt viszont tapasztaltam, hogy sokkal többet eszik mint a sima 3,6864Mhz-essel. Kikapcsolt állapotban a trafó meghajtás elég volt 12%-oson. Ez folyamatosan leállt egészen 20%-ig.
A HS oszcillátorok használata mindig nagyobb áramot igényel. 3-as oldal.
http://ww1.microchip.com/downloads/en/devicedoc/31002a.pdf Ez éppen azt hiszem a 32 bites család közös adatlapja, de ez éppen egy általános tulajdonság.
Jó persze az nem is anniyra meglepő, minthogy inkább az, hogy egyáltalán megy, hiszen 20Mhz, a felső határ az adatlap szerint.
Szia!
A 20 MHz a garantált működési tartomány teteje. Nem azt jelenti, hogy 20MHz-en működik, de 20MHz + 1Hz-en már nem. Egészen egyszerűen a megfelelő működés nem garantált, lehet, hogy jó lesz, lehet, hogy nem.
Egy C-MOS áramkör (ugyan azt a funkciót ellátva) fogyasztása k*U*U*f.
A hozzászólás módosítva: Feb 23, 2013
Értem én, ebben az estben jónak látszik a közel 25% -os többlet. A pontosság igencsak elfogadhatónak látszik, beleszámítva a többszöri indítás leállítás okozhatta tranzienseket. Azzal is tisztában vagyok hogy miért 20Mhz az adtlap. Ennyit vállal. De ezek szerint bármelyik pic ennyi töbletet elbír. Én csak azt kérdézném, hogy valaki kisérletezett e a pontosság kontra határfrekvenciával?
Nem biztos, hogy sokkal többet elbír bármelyik. Amit 20MHz felett bír, az szerencse kérdése.
PIC32MX795F512L az mondjuk ment 120MHz-en is nekem Pontosság a kvarctól függ, nagyfrekvenciás kvarcok kevésbé pontosak. 32768Hz-es kvarcok a legpontosabbak.
Nem nagyon van akkora kvarcom. A pontatlanság logikusnak látszik. Csak az a baj, hogy így is agyalok az Ra4-et ki és bemenetként is használnom kell. Egy plusz óra kvarc bemenet szóba sem jöhet ebben a verzióban. De valamkor biztosan építek egy sokkal különlegesebbet ami full rgb - s lesz.
|
Bejelentkezés
Hirdetés |