Microcontroller — CPU, operativ xotira, doimiy dastur xotirasi va turli peripheral modullarni bitta integral chip ichida birlashtiradigan boshqaruv qurilmasi. U sensor o‘qish, motor boshqarish, signal yaratish, aloqa qilish va real-time vazifalarni bajarish uchun embedded tizimlarda qo‘llanadi.
Microcontroller umumiy maqsadli kompyuterga qaraganda kamroq resursga ega, ammo arzon, energiya tejamkor va hardware’ga bevosita yaqin.
CPU core
Microcontroller ichida bir yoki bir nechta processing core bo‘lishi mumkin.
Architecture misollari:
- ARM Cortex-M;
- RISC-V;
- AVR;
- PIC;
- Xtensa;
- vendor-specific core.
Instruction set, word size va clock performance’ni belgilaydi.
Flash memory
Firmware odatda non-volatile flash memory’da saqlanadi.
Power o‘chsa ham dastur qoladi.
cheklovlariga ega.
Tez-tez configuration yozish wear muammosini yaratishi mumkin.
SRAM
Runtime variable, stack va buffer SRAM’da saqlanadi.
SRAM tez, ammo power yo‘qolsa data o‘chadi.
Hajmi cheklangan.
Stack overflow va katta global array tizimni buzishi mumkin.
EEPROM
Ayrim microcontroller alohida EEPROMga ega.
Kichik configuration va counter saqlanadi.
Write cycle cheklangan.
EEPROM bo‘lmasa flash emulation ishlatilishi mumkin.
Wear leveling write umrini uzaytiradi.
GPIO
General-Purpose Input/Output pinlar digital signalni o‘qish yoki chiqarish uchun ishlatiladi.
Mode:
Pin voltage va current limitdan oshmasligi kerak.
Timer
Hardware timer CPU’dan mustaqil count qiladi.
Vazifalar:
- periodic interrupt;
- time measurement;
- pulse generation;
- input capture;
- output compare;
- PWM;
- watchdog.
Timer clock source va prescaler resolutionni belgilaydi.
PWM
Pulse-Width Modulation duty cycle orqali motor tezligi, LED yorqinligi va power controlni boshqaradi.
Signal digital bo‘lsa ham o‘rtacha energiya analogga yaqin ta’sir beradi.
Frequency va duty loadga mos tanlanadi.
Power driver microcontroller pinidan alohida bo‘lishi mumkin.
ADC
Analog-to-Digital Converter sensor voltage’ini raqamli qiymatga aylantiradi.
Muhim xususiyatlar:
- resolution;
- reference voltage;
- sampling rate;
- input impedance;
- noise;
- calibration.
12-bit ADC nazariy 4096 darajaga ega, real effective resolution pastroq bo‘lishi mumkin.
DAC
Digital qiymatdan analog voltage yoki current hosil qiladi.
Audio, control signal va waveform generationda ishlatiladi.
Barcha microcontroller DACga ega emas.
PWM va filter alternativ bo‘lishi mumkin.
UART
Asynchronous serial communication.
Asosiy settinglar:
- baud rate;
- data bits;
- parity;
- stop bits.
TX va RX line ishlatiladi.
Ikki tomon ground reference’ni ulashishi kerak.
SPI
Synchronous yuqori tezlikli serial bus.
Signal:
- clock;
- controller output;
- controller input;
- chip select.
Sensor, display va flash bilan ishlatiladi.
Har device uchun chip-select kerak bo‘lishi mumkin.
I2C
Ikki simli addressli bus:
- SDA;
- SCL.
Bir busda bir nechta device ishlaydi.
Pull-up resistor talab qilinadi.
Address conflict va bus stuck holati boshqariladi.
CAN
Automotive va sanoat muhitida robust multi-node bus.
Differential signal shovqinga chidamli.
Arbitration yuqori priority message’ni collision’siz uzatadi.
Microcontroller CAN controllerga ega bo‘lishi, tashqi transceiver esa fizik busni boshqarishi mumkin.
Interrupt controller
Bir nechta interrupt source priority va masking bilan boshqariladi.
Nested interrupt yuqori priority eventga tez javob beradi.
Shared data atomic yoki critical section bilan himoyalanadi.
Interrupt storm CPU vaqtini egallashi mumkin.
Clock
Clock oscillator CPU va peripheral timingini beradi.
Manbalar:
- internal RC;
- external crystal;
- PLL;
- low-speed oscillator.
Tez clock ko‘proq performance va energiya sarfi beradi.
Clock aniqligi UART, USB va RTCga ta’sir qiladi.
Reset
Reset sabablari:
- power-on;
- external pin;
- watchdog;
- brown-out;
- software;
- clock failure.
Firmware startupda reset cause’ni o‘qib loglashi mumkin.
Brown-out detector voltage past bo‘lganda noto‘g‘ri executionni oldini oladi.
Bootloader
Bootloader firmware’ni ishga tushiradi yoki update mode’ga o‘tadi.
- UART;
- USB;
- CAN;
- radio;
- network.
Image hash va signature tekshiriladi.
Bootloader region write protection bilan himoyalanadi.
Low-power mode
Microcontroller sleep, deep sleep va standby rejimlariga ega bo‘lishi mumkin.
Wake source:
- timer;
- GPIO;
- RTC;
- communication;
- watchdog.
RAM va peripheralning qaysi qismi saqlanishi mode’ga bog‘liq.
Development tool
orqali yaratiladi.
JTAG yoki SWD breakpoint va memory inspection beradi.
Release firmware debug portni cheklashi mumkin.
Microcontroller va microprocessor
Microcontroller memory va peripheralni chip ichida birlashtiradi.
Microprocessor odatda tashqi RAM va katta OS bilan ishlaydi.
Microcontroller deterministic, low-power control uchun; microprocessor boy UI va katta application uchun mos.
Bir qurilmada ikkalasi birga bo‘lishi mumkin.
Security
Zamonaviy microcontroller:
- secure boot;
- hardware key storage;
- cryptographic accelerator;
- memory protection;
- debug lock;
- random generator
imkoniyatlariga ega bo‘lishi mumkin.
Security faqat feature mavjudligi emas, key provisioning va firmware designga bog‘liq.
DMA
Direct Memory Access peripheral va memory orasida data’ni CPU har byte bilan shug‘ullanmasdan ko‘chiradi. ADC sample, UART va SPI transferda ishlatiladi. Transfer tugashi interrupt bilan bildiriladi. Buffer ownership va cache mavjud architecture’da coherence boshqariladi.
Memory-mapped register
Peripheral registerlar ma’lum memory addresslarda joylashadi. volatile access compilerning kerakli read yoki writeni olib tashlamasligiga yordam beradi. Registerga noto‘g‘ri bit yozish boshqa hardware funksiyasini buzishi mumkin.
Pin multiplexing
Bir fizik pin GPIO, UART, SPI yoki timer channel kabi bir nechta alternate functionga ega bo‘lishi mumkin. Bir vaqtning o‘zida faqat tanlangan funksiya ishlaydi. Board schematic va package pinout tekshiriladi.
Debug va production
Debug port productionda yopilishi yoki authentication bilan himoyalanishi mumkin. To‘liq lock recovery va field service jarayoniga ta’sir qiladi.
Bog‘liq tushunchalar
Microcontroller, CPU core, Flash memory, SRAM, GPIO, Timer, PWM, ADC, UART, SPI, I2C, Embedded system