Никола Јовановски Извори на системски такт (SYSCLK)
• High speed internal RC осцилатор 8Mhz
(HIS) • High speed external crystal осцилатор (HSE) • Phase locked loop (PLL) такт Дополнителни такт извори: • 40 kHz low speed внатрешен RC осцилатор (LSI RC) со кој може да се тактираат независната watchdog периферија и опционално RTC периферијата која служи за автоматско будење на микроконтролерот од Stop или Standby режимот на работа. • 32 kHz low speed надворешен кристал (LSE кристал) кој опционално го тактира real-time тактот (RTCCLK). Магистрали на STM32F303 • AHB (Advance High-Performance Bus) магистрала • High speed магистралата за периферијата (APB2 Advance Peripheral Bus) • Low speed магистралата за периферијата (APB1 Advance Peripheral Bus) • Максималната фреквенција на AHB и APB2 домените е 72 MHz, додека пак максималната фреквенција на APB1 доменот е 36 MHz Структура на такт сигналите • Сите периферни тактови се добиваат од тактовите на магистралите (HCLK од AHB, PCLK1 од APB1 и PCLK2 од APB2) со исклучок на: • Тактот за интерфејсот за програмирање на FLASH меморијата кој секогаш е HSI тактот (FLITFCLK). • USB тактот кој се добива од PLL VCO (PLL voltage-controlled oscillator) Структура на такт сигналите (1)
• ADC периферијата го добива такт сигналот
секогаш од PLL излезот. Излезот од PLL јамката може да ја достигне максималната фреквенција од 72 MHZ и пред да стигне до ADC периферијата може да се подели со 1, 2, 4, 6, 8, 10, 12, 16, 32, 64, 128 или 256. Структура на такт сигналите (2)
• U(S)ART периферијата може да биде
тактирана од еден од следниве четири извори: – Системскиот такт – HSI тактот – LSE тактот – APB1 или APB2 тактот (PCLK1 или PCLK2 во зависност од тоа на која APB магистрала е мапиран соодветниот USART) Структура на такт сигналите (3)
• I2C1/2 периферијата може да биде
тактирана од еден од следниве два извори: – Системскиот такт – HSI тактот • Тактот за I2S2 и I2S3 периферијата може да се добие и од надворешен посебен такт извор. Структура на такт сигналите (4)
• Тактот за RTC може да се добие од LSE,
LSI или од HSE тактот поделен со 32 • Тактот за IWDG периферијата секогаш е тактирана од внатрешниот LSI такт. HSE такт • Надворешен керамички/кристален резонатор – 4 – 32Mhz фреквенција – Многу попрецизен и постабилен такт сигнал – HSERDY во Clock Control register (RCC_CR) – HSEON битот во Clock Control регистарот (RCC_CR). HSE такт (1) • Надворешен такт сигнал – Мора да се обезбеди надворешен такт сигнал – HSEBYP и HSEON битовите во Clock Control регистарот (RCC_CR) – Го тактира OSC_IN пинот – OSC_OUT може да се користи за GPIO HSE такт (2) HSI такт • Внатрешен 8 MHz RC осцилатор – Директно како системски такт – Поделен со 2 како влезен такт за PLL • Предности – Извор на такт сигнал за ниска цена (без користење на дополнителни елементи) – Побрзо време на стартување • Недостатоци – помалку прецизен такт – Зависност од варијации на напонот и темп PLL phase-locked loop • Мултиплицирање на HSI или HSE такт фреквенцијата • PLL конфигурирањето – Избор на влезен такт сигнал – факторот на множење • Конфигурирањето мора да биде пред овозможувањето на PLL јамката • PLL овозможена параметрите на PLL јамката не може да се менува • Фреквенција на излез од 16-72 MHz. Процедурата за модификација на PLL параметрите • Оневозможување на PLL јамката со ресетирање на PLLON битот на 0 • Да се чека се додека PLLRDY битот не се ресетира од страна на хардверот. По ресетирањето на овој пин од хардверот PLL јамката е целосно стопирана (оневозможена) • Промена на посакуваните параметри • Овозможување на PLL повторно со поставување на PLLON битот на 1 Prefetch buffer • Два блока од по 8 bytes. • Еден блок може комплетно да се прочита во еден циклус на читање од FLASH меморијата • Големината на блокот се совпаѓа со ширината на пристап на FLASH меморијата • Се забрзува извршувањето на инструкциите со тоа што додека едната инструкција се извршува следната е спремна во prefetch buffer-от Prefetch controller • Одлучува да пристапи во Flash мем во зависност од празниот простор во баферот • Ако во баферот има најмалку еден слободен блок контролерот чита од FLASH • Вклучен после ресет • Може да се вклучува/исклучува само доколку прескалерот на AHB тактот е 1 • Ако прескалерот на AHB е различен од 1 prefetch баферот мора да биде вклучен Латенција на пристап
• Соодносот на тактот на prefetch
контролерот времето на пристап на FLASH меморијата може да се програмира во FLASH ACCESS control регистарот со битовите LATENCY[2:0] • Бројот на циклуси потребни за одржување на контролните сигнали од FLASH меморијата и правилно читање на потребните податоци Flash access control register (FLASH_ACR) Clock configuration register (RCC_CFGR)