Beste CO-leden ik heb het volgende probleem.
Ik werk met modulebordjes van MikroE waar onder een COG 2x16 en een RFID-module.
De bedoeling is om de RFID-module werkende te krijgen. De COG werkt en gebruik ik om te debuggen.
Volgens de samplecode moet ik een min.kloksnelheid van 32Mhz hebben om te kunnen communiceren met de module.
Volgens de datasheet vd PIC18F4520 kan ik een kristal van 10Mhz gebruiken en de HS-PLL mode gebruiken waardoor de kloksnelheid intern maal 4 gedaan wordt.
Het probleem zit hem bij de HS-PLL. Wanneer ik het programma start zet ik het woord check op het scherm. In HS-mode is dit ok in HS-PLL-mode krijg ik ce6.
Dus zolang ik het woord check niet krijg op de COG kan ik de RFID ook niet gebruiken.
Ik heb Vdd en MCLR rechtstreeks aan de 5V hangen en gebruik 2 22pF condensatoren aan het kristal.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Met een 10MHz kristal kun je door delen met PLLDIV nooit op 4 MHz komen.
Wel met een 4, 8, 12, 16, 20MHz kristal... (De PLL moet een 4MHz input hebben)
Waarom moet ik op 4Mhz uitkomen, ik ben dat niet tegengekomen in de datasheet.
HS-pll doet toch uw waarde vh kristal maal 4 en voor de PIC18F4520 zou die maximaal 40Mhz aankunnen.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Heb ergens gevonden dat er een ontkoppelcondensator van 100nF tussen de voedingslijnen moet vd µc.
Heb die natuurlijk niet liggen.
Zal het laten weten wanneer die erop zitten.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
Ik weet niet of dit je probleem is, maar bij sommige (alle?) PICs moet je de voeding er afhalen (en weer op doen) om een verandering van het PLL enable bit te effectueren.
De voeding heb ik eraf gehaald zonder resultaat.
Ik heb nog wat gegoogeld en heb wat sourcecode gevonden in mikrobasic om een µc op 40Mhz te laten draaien.
Bij mikrobasic worden de configsettings geregeld door een wizard.
OSCCON & OSCTUNE zullen waarschijnlijk niet juist staan.
Kan het nu niet meer proberen zal voor morgen zijn.
probleem opgelost.
Bij Mikrobasic worden de configuratiebits door een wizard geregeld.
Nu had ik de klok op 10Mhz gezet omdat er op mijn print zoeen staat.
Intern wordt die door de HS-PLL mode maal 4 gedaan dus 40Mhz.
Blijkbaar moest ik 40Mhz instellen.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Bij de project settings moet je altijd de kloksnelheid opgeven waarop de MCU draait. (Ongeacht van oscillatorfrequentie en/of PLL)