Rob, your PWM prescaler is set to divide source by 2. PWM1CLKCON = 0b00000001 -- No prescaler, divide clk source by 1 5KHz it's correct. :) Yourscope has also antialising filter. :) :) there is a Philips scope which does not handle antialising . Or Hantek.
On Mon, Dec 16, 2024 at 8:46 AM vsurducan <[email protected]> wrote: > Hi Rob, I have understood some things: > 1. Indeed the 12F1572_blink_intosc, with pragma target CLKOUTEN ENABLED > returns Fosc/4 on RA4 pin only if forever loop end loop exists. If you > expect to have that clock without any repetitive main program (comment the > forever loop), it will not be there. > It's possible to be a compiler issue, or a normal behavior of the > microcontroller, I do not now. > > 2. The code below is showing on my scope 10Khz. However I've learned that > depends by antialising filter of the scope. > Can you please take a look on the scope on 20uS time base, on both 8MHz > and 32Mhz Clock? I'm curious what you will find. > > On Sun, Dec 15, 2024 at 10:12 PM Rob Hamerling <[email protected]> > wrote: > >> >> I'm not sure if I fully understand the description of PWM in the >> datasheet... >> You have selected HFINTOSC as clock source for PWM. I think this should >> be Fosc . >> I modified my code to run the 12f1572 at 8MHz with INTOSC_NOCLKOUT and >> added your code for PWM (but with Fosc as clock source) >> With the following (essential part of the) code I get a 5 KHz signal on >> pin_A1 with 50% dutycycle: >> >> PWM1CON = 0b11000000 -- enable module and pwm pin, standard pwm >> mode >> PWM1CLKCON = 0b00000000 -- No prescaler, source: Fosc >> PWM1PH = 800 -- phase count high (for 50% dutycycle) >> PWM1DC = 1600 -- PWM1 phase count >> PWM1PR = 1600 -- PWM1 period count >> APFCON_P1SEL = 0 -- PWM1 output on pin_A1 >> pin_A1_direction = OUTPUT >> >> Rob_H >> >> >> >> On 15-12-2024 16:14, vsurducan wrote: >> >> Thx Rob for the feedback! >> >> Well. I've checked the hardware, I have a PCB manufactured in lab, A4 >> goes to a connector only. >> I suspect a defective chip. It also has a weird behavior on PWM. >> There are five registers to be written to get the standard PWM mode as >> shown in the code below. >> The PWM clock source was set to Fosc (PWM1CLKCON_CS = 00) >> That is meaning according to my understanding that changing the Foc from >> 8Mhz to 32MHz and keeping the PWM registers unchanged, the PWM frequency >> will increase 4 times on 32Mhz compared with 8 Mhz. >> However, the frequency reamains exactly the same, 10KHz at 8Mhz or 32Mhz >> ( verified on RA4) so the PWM clock arhitecture from datasheet seems to be >> wrong, or the chip is bad. >> >> PWM1CLKCON = 0b00000001 -- No prescaler, divide clk source by 1 >> PWM1CON = 0b11000000 >> >> PWM1PH = 800 --100uS, 0.5duty >> PWM1DC = 1600 ; PWM1_duty = (PWM1DC - PWM1PH)/(PWM1PR+1) >> PWM1PR = 1600 ; PWM1_period = (PWM1PR + 1)*prescaler/ PWM1CLK >> ; PWM1CLK = 1/(target_clock/4) = 0.5uS at 8MHz >> >> On Sun, Dec 15, 2024 at 4:41 PM Rob Hamerling <[email protected]> >> wrote: >> >>> >>> Just tested the jallib blink sample (which is running at 4 MHz). At >>> pin_A4 see a freq. of 0.998 MHz. So it seems like you have a >>> hardware/wiring problem.. >>> >>> On 14-12-2024 12:15, vsurducan wrote: >>> >>> Hi Rob, >>> I'm trying to understand the PWM in PIC12F1572, for which the pwm >>> library can not be used. >>> >>> I need to see the system clock. >>> The problem is that I can not make it visible on clockout pin. The >>> following code should do it? >>> >>> include 12f1572 -- target PICmicro >>> -- >>> ;pragma target clock 32_000_000 -- oscillator frequency >>> pragma target clock 8_000_000 -- oscillator frequency >>> -- >>> pragma target OSC INTOSC_NOCLKOUT -- internal oscillator >>> pragma target PLLEN DISABLED -- PLL off >>> pragma target CLKOUTEN ENABLED -- clock output enabled >>> pragma target WDT DISABLED -- watchdog >>> pragma target BROWNOUT DISABLED -- no brownout reset >>> pragma target LVP ENABLED -- low voltage >>> programming >>> pragma target MCLR EXTERNAL -- external reset >>> -- >>> >>> OSCCON_SCS = 0 -- select primary oscillator >>> OSCCON_IRCF = 0b1110 -- 8 MHz >>> ;OSCCON_SPLLEN = ENABLED -- software PLL on 8x4=32MHz >>> OSCCON_SPLLEN = DISABLED - 8Mhz OSC >>> -- >>> enable_digital_io() -- make all pins digital I/O >>> pin_A4_direction = output ; output osc/4 >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "jallib" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion visit >>> https://groups.google.com/d/msgid/jallib/CAM%2Bj4qskr5urcQxa_Ok3gHTeq4nMBAtz%2BkmziB4kBf1HBuHCJg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/jallib/CAM%2Bj4qskr5urcQxa_Ok3gHTeq4nMBAtz%2BkmziB4kBf1HBuHCJg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> >>> -- >>> *Rob H*amerling, Vianen, NL >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "jallib" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion visit >>> https://groups.google.com/d/msgid/jallib/1c978896-3436-41c8-be39-b2d1bd05dc3b%40gmail.com >>> <https://groups.google.com/d/msgid/jallib/1c978896-3436-41c8-be39-b2d1bd05dc3b%40gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "jallib" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/jallib/CAM%2Bj4qsF4Ew0bxJG1h_CkC4cHSxyS%3DTEGtHeVtwFzm4h%2B53y5Q%40mail.gmail.com >> <https://groups.google.com/d/msgid/jallib/CAM%2Bj4qsF4Ew0bxJG1h_CkC4cHSxyS%3DTEGtHeVtwFzm4h%2B53y5Q%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> >> -- >> *Rob H*amerling, Vianen, NL >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jallib" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion visit >> https://groups.google.com/d/msgid/jallib/7f22d2e1-7fbb-4e45-b68f-5ef134aa285f%40gmail.com >> <https://groups.google.com/d/msgid/jallib/7f22d2e1-7fbb-4e45-b68f-5ef134aa285f%40gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "jallib" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/jallib/CAM%2Bj4qt72QYm%2Bgw3Xc%2BezOpZSYPQP1ipAF54bG4Gm2%2BuWSKg_w%40mail.gmail.com.
