ការតម្លើង MikroC សម្រាប់ 8-bit PIC

1-   អ្វីទៅជា MicroC

កម្មវិធីមៃក្រូស៊ី (MikroC) ជាកម្មវិធីសម្រាប់បំលែងកូដដែលអ្នកសរសេរកម្មវិធីជាភាសា C ឲ្យទៅជា ភាសារបស់ម៉ាស៊ីនដែលមៃក្រូខុនត្រូល័រ PIC អាចដំណើរការបាន ។  មៃក្រូស៊ីបង្កើតឡើងដោយក្រុមហ៊ុន Mikroelectronika ដែលមានមូលដ្ឋាននៅប្រទេសស៊ែកប៊ី នៃទ្វីបអ៊ឺរ៉ុបខាងកើត ។ មៃក្រូស៊ីមានច្រើនប្រភេទដូចជា៖

  • មៃក្រូស៊ីសម្រាប់ 8-bit PIC
  • មៃក្រូស៊ីសម្រាប់ 16-bit PIC
  • មៃក្រូស៊ីសម្រាប់ 32-bit PIC
  • មៃក្រូស៊ីសម្រាប់ AVR និង STM32 ។ល។

ក្នុងមេរៀននេះយើងសូមលើកយកមៃក្រូស៊ីសម្រាប់ 8-bit PIC ។

គេហៈទំព័រធំរបស់មៃក្រូស៊ី៖ https://www.mikroe.com/mikroc/

ទីតាំងទាញយកកម្មវិធីដែលមានក្រេក៖ https://www.dropbox.com/s/ytpjj9rr6anucf0/MikroC%20Pro%202012%20%5B5.61%5D.rar?dl=0

2-   ការតម្លើង

សូមមើលតាមការណែនាំក្នុងវីដែអូខាងក្រោម៖

 

Advertisements
Posted in MikroC for 8-bit PICMicro | Tagged , , , , , , , , , , , | Leave a comment

ផ្នែកទី២៖ ស្វែងយល់អំពីមៃក្រូខុនត្រូល័រ

1 គោលបំណង

  • ណែនាំអំពីសញ្ញាណនៃ Microcontrollers និង Microprocessors
  • រៀបរាប់ពីភាពខុសគ្នារវាង Microcontrollers និង Microprocessors
  • បង្ហាញអំពីតម្រូវការចាំបាច់ដែល Microcontrollers ត្រូវមាន
  • បង្ហាញអំពីធាតុផ្សំនៃ Microcontrollers
  • ពិពណ៌នាអំពីស្ថាបត្យកម្ម von Neumann និង Harvard
  • ពន្យល់អំពីរកុំព្យូទ័រប្រភេទ RISC និង CISC
  • រៀបរាប់ត្រួសៗពី Microcontrollers ដែលផលិតដោយក្រុមហ៊ុនចម្បងៗ

2 លក្ខណៈនៃ Microcontrollers និង Microprocessors

រូប 1-1 បង្ហាញអំពីប្លុកដ្យាក្រាមគំរូទូទៅនៃ Microcomputer ។ នៅក្នុងនោះវាផ្សំឡើងដោយប្លុកសំ ខាន់បីគឺ៖ Central Processing Unit (CPU) Memory និងប្រព័ន្ធ input/output (I/O) ។

 f2-1
រូបទី1៖ ប្លុកដ្យាក្រាមបង្ហាញពីគំរូទូទៅនៃ Microcomputer (ក្នុងរូបនេះ CPU គឺជា Microprocessor)

ប្លុកនីមួយៗ ត្រូវបានតភ្ជាប់គ្នាដោយបណ្តុំនៃខ្សែចម្លងអគ្គីសនីហៅថា Buses ។ Address Bus មាន តួនាទីដឹកជញ្ជូនអាស័យដ្ឋាននៃ Memory ឫ I/O ។ Data Buses មានតួនាទីដឹកជញ្ជូនទិន្នន័យ ឫពាក្យបញ្ជា (instruction) ។ Control Buses មានតួនាទីដឹកជញ្ជូនស៊ីញ្ញាល់បញ្ជា (control signals) ។

CPU ជាខួរក្បាលនៃ Microcomputer ហើយឋិតនៅក្រោមការបញ្ចាដោយកម្មវិធីដែលរក្សាទុកនៅក្នុង Memory ។ កិច្ចការរបស់ CPU មានដូចជា៖

  • ទាញយក (fetch) ពាក្យបញ្ជាដែលរក្សាទុកនៅក្នុង Memory
  • បកប្រែ (interpret ឫ decode) ពាក្យបញ្ជាទាំងនោះ
  • ហើយអនុវត្ត (execute) ពាក្យបញ្ជាទាំងនោះ

នៅក្នុង CPU មានបណ្តុំសៀគ្វីពិសេសមួយហៅថា Arithmetic and Logic Unit (ALU)។ ALU មាន មុខងារធ្វើប្រមានវិធីនព្វន្ត និងឡូស៊ីកទៅលើទិន្នន័យគោលពីរ ។

CPU គឺជា Microprocessor របស់ Microcomputer ហើយមានតួរនាទីប្រតិបត្តិនូវរាល់កិច្ចការដូច ដែលបានរៀបរាប់ខាងលើ ។ Microcontroller ត្រូវបានគេសន្មត់ថាជា Microprocessor ដែលបង្កើតឡើងនៅ លើអ៊ីសេមួយ ឫបន្ទះឈីប ។ Microcontroller កើតឡើងក្រោយ Microprocessor ហើយឈរលើគន្លងខុស គ្នា ។ គេច្រើនប្រើ microprocessor នៅក្នុង​ម៉ាស៊ីនកុំព្យូទ័រផ្ទាល់ខ្លួន ឫ Workstation ពីព្រោះវាត្រូវការអនុភាព នៃការគណនាធំ មានសមមត្ថភាពអាចគ្រប់គ្រង់សំនុំទិន្នន័យ និងពាក្យបញ្ជាដ៏ច្រើន ក្នុងល្បឿនលឿន។ ប៉ារ៉ា ម៉ែត្រមួយដ៏សំខាន់នៃ microprocessor គឺទំហំនៃថតទិន្នន័យ (Registers) ខាងក្នុងរបស់វា (មាន 8 16 32 ឫ 64 bits) ដែលនេះកំណត់អំពីចំនួន bits ដែល CPU អាចយកទៅដំណើរការក្នុងមួយលើកៗ ។

យ៉ាងណាវិញ Microcontroller ត្រូវបានគេយកទៅអនុវត្តក្នុងវិស័យជាច្រើនដូចជា៖ ឧបករណ៍រង្វាស់ អេឡិចត្រូនិក ឧស្សាហកម្មរថយន្ត សម្ភារៈទូរគមនាគមន៍ សម្ភារៈប្រើប្រាស់ក្នុងផ្ទះនិងប្រើប្រាស់ប្រចាំថ្ងៃ ឧករណ៍លេងកំសាន្ត ។ល។ គេប្រើប្រាស់ microcontroller ក្នុងកិច្ចការណាដែលមានមុខងារសមញ្ញ តិចតួច និងមានតម្លៃថោកតាមដែលអាចធ្វើទៅបាន ។ ជាទូទៅវាដំណើរកាដោយស្វ័យប្រវត្តិទៅតាមកម្មវិធីដែលបាន រក្សាទុកនៅក្នុង Memory ហើយជើងចេញចូលរបស់វាមានមុខងារទំនាក់ទំនងទៅនឹងពិភពខាងក្រៅ ។ ចំពោះ កិច្ចការដែលសាំញ្ញាំគេអាចប្រើ microcontroller ច្រើនក្នុងប្រព័ន្ធតែមួយបាន ។

ខាងក្រោមនេះគឺជាតម្រូវការចាំបាច់ទូទៅនៃ Microcontroller ដែលត្រូវយកមកប្រើប្រាស់៖

  • ធនធាន Input/output ៖ ជើងចេញចូលរបស់វាត្រូវមានមុខងារផ្សេងៗ និងខុសៗ គ្នាច្រើនដូចជា អាច ចាត់ចែង Interrupt អាចប្រើជាមួយស៊ីញ្ញាល់អាណាឡូក មានចំនួនជើងចេញចូលច្រើន ។ល។
  • មានទំហំកាន់តែតូច៖ ត្រូវមានទំហំតូចហើយតម្លៃសមរម្យ ។ ចំនួនជើងអាស្រ័យទៅនឹងរូបរាងខាងក្រៅ របស់អ៊ីសេ ។ គេអាចធ្វើឲ្យទំហំកាន់តែតូចដោយឲ្យជើងនីមួយៗមានមុខងារផ្សេងៗ គ្នាច្រើន ។
  • ប្រើប្រាស់ឲ្យសាកសម្យទៅនឹងកិច្ចការ៖ នៅក្នុងអំបូរនៃ Microcontroller មួយមានទំហំ Memory ចំនួន ជើងចេញចូល ខុសៗគ្នា ប៉ុន្តែសំនុំពាក្យបញ្ជា និងការសរសេរកម្មវិធីគឺដូចគ្នា ។ ដូចនេះយើងអាចជ្រើស រើស microcontroller ទៅតាមទំហំ និងសមមត្ថភាពដែលយើងចង់បានក្នុងអំបូរនោះដោយប្រើកម្មវិធី ដដែល (ឫមានការកែតម្រូវតិចតួច) ។
  • ដំណើរការមានស្ថេរភាព៖ យើងត្រូវធានាថា microcontroller ដំណើរកម្មវិធីបានត្រិមត្រូវ ដោយគ្មាន ការាំងស្ទះ ឫលែងដំណើរការ ។ ជាធម្មតា Microcontroller បំពាក់ទៅដោយ Watch Dog Timer (WDT) ដើម្បីធានានូវដំណើរការត្រឹមត្រូវ ។
  • ប្រើប្រាស់ថាមពលតិច៖ ចំពោះប្រព័ន្ធដែលដំណើរការដោយថ្មពិលគេត្រូវប្រើ Microcontroller ដែល ស៊ីថាមពលតិច ។ ជាទូទៅ Microcontroller ស៊ីថាមពលតិចបំផុតនៅពេលដែលវាស្ថិតក្នុងលក្ខណនៅ ស្ងៀម (standby ឫ sleep-mode) ហើយរងចាំព្រឹត្តិការណ៍ពីខាងក្រៅដើម្បីដំណើរការ ។
  • ការពារពីការលួចថតចំលង៖ កម្មវិធីដែលបានរក្សាទុកនៅក្នុង Memory ត្រូវតែមានសុវត្ថភាពពីការអាន ទិន្នន័យ ឫការថតចំលងដោយជនណាមួយដោយគ្មានការអនុញ្ញាត្តិពីម្ចាស់កម្មសិទ្ធ ។

3 ធាតុផ្សំនៃ Microcontroller

Microcontroller បង្កើតឡើងដោយធាតុផ្សំសំខាន់ៗ របស់ Microcomputer ដូចជា CPU Memory I/O នៅលើបន្ទះឈីបតែមួយដូចបង្ហាញក្នុងរូប 1-2 ។

 f2-2
រូបទី2៖ ប្លុកដ្យាក្រាមមូលដ្ឋាននៃ Microcontroller
 f2-3
រូបទី3៖ PIC Microcontroller ពីក្រុមហ៊ុន Microchip ដែលមាលក្ខណៈប្រហាក់ប្រហែល

អូស៊ីលេទ័រ (oscillator) បង្កើតស៊ីញ្ញាល់ដើម្បីស័ងក្រូនរាល់ប្រតិបត្តិការណ៍ខាងក្នុងរបស់ microcon-troller ។ អូស៊ីលេទ័រមានច្រើនជម្រើសច្រើនដូចជា RC (រេស៊ីស្តង់-កុងដង់) ឫគ្រីស្តាល់ (quartz crystal ឫ XTAL)។ ជាទូទៅគ្រីស្តាល់ ងាយស្រួលរកទិញ ងាយស្រួលប្រើប្រាស់ ហើយដំណើរការមានស្ថេរភាព និងកម្រិត ល្អៀងតិច ។

 f2-4 រូបទី4៖ ប្រភេទផ្សេងៗគ្នា នៃគ្រីស្ទាល់

CPU ទាញយកពាក្យបញ្ជាពីក្នុងទីតាំងនៃ Memory ម្តងមួយៗ រួចបកប្រែ និងអនុវត្តពាក្យបញ្ជាទាំង នោះ ។ នៅក្នុង CPU មានសៀគ្វី ALU ដើម្បីធ្វើប្រមាណវិធីនព្វន្ត ឫឡូស៊ីកផងដែរ ។

នៅក្នុង CPU របស់ microcontroller មានថតទិន្នន័យជាច្រើនផ្សេងៗគ្នា ។ ថតទិន្នន័យខ្លះសម្រាប់ ប្រើប្រាស់ទូទៅ ខណៈថតទិន្នន័យដ៏ទៃទៀតត្រូវបានគេបង្កើតឡើងក្នុងគោលដៅជាក់លាក់ណាមួយ ។ ថតទិន្ន ន័យមានគោលដៅជាក់លាក់មានដូចជា៖ ថតទិន្នន័យពាក្យបញ្ជា(instruction register ឫ IR) Accumulator Status-Register Program-Counter(PC) Data-Address-Register និង Stack-Pointer ។

ថតទិន្នន័យពាក្យបញ្ជា (IR) រក្សាទុកនូវពាក្យបញ្ជាដែល CPU កំពុងអនុវត្ត ។ តាមធម្មតាអ្នកសរសេរ កម្មវិធីមិនអាចប្រើប្រាស់ថតទិន្នន័យនេះបានទេ ។

Accumulator (ACC) ជាថតទិន្នន័យដែលប្រើប្រាស់ពាក់ព័ន្ធនឹងប្រមាណវិធីនព្វន្ត ឫឡូស៊ីកដែលប្រតិ បត្តិន៍ដោយ ALU ។ នៅពេល ALU អនុវត្តប្រមាណវិធី ទិន្នន័យមួយចំនួនត្រូវរក្សាទុកនៅក្នុង ACC ។ រីឯលទ្ធ ផលនៃប្រមាណវិធីក៏ត្រូវរក្សាទុកនៅក្នុង ACC ផងដែរ ។ PIC Microcontroller មិនមានថតទិន្នន័យ ACC ទេ ជំនួសមកវិញ PIC មានថតទិន្នន័យ W (Working Register) ដែលប្រហាក់ប្រហែលទៅនឹង ACC ។

Status-Register (STATUS) ជាថតទិន្នន័យដែលផ្ទុកទៅដោយ Bits ដែលបង្ហាញអំពីស្ថានភាពនៃ លទ្ធផលនៃប្រមាណវិធីដែលប្រតិបត្តិដោយ ALU ដូចជា៖ សញ្ញានៃលទ្ធផល (វិជ្ជមាន ឫអវិជ្ជមាន) បម្រាប់ពី តម្លៃសូន្ស (Zero) នៃលទ្ធផល ឫមានត្រាទុក (carry-over) ជាដើម ។

Program-Counter (PC) ជាថតទិន្នន័យរបស់ CPU ដែលមានតួរនាទីរក្សាទុកនូវអាស័យដ្ឋាននៃពាក្យ បញ្ជា ។ PC បង្កើនតម្លៃ ឫចង្អុលទៅកាន់ទីតាំងនៃពាក្យបញ្ជាបន្ទាប់ រាល់ពេលដែល CPU ទាញយកពាក្យ បញ្ជាពី ក្នុង Memory ។ រាល់ខណៈពេល PC រក្សាទុកអាស័យដ្ឋាននៃពាក្យបញ្ជាដែលនឹងត្រូវអនុវត្តបន្ទាប់ ។ គេអាចកែប្រែនៃ PC ដោយប្រើពាក្យបញ្ជាដែលគ្រប់គ្រងលំហូរ (control transfer instructions) ។

Data-Address-Register (DAR) មានតួរនាទីរក្សាទុកអាស័យដ្ឋាននៃទីតាំងពីក្នុង Memory ។ ថត ទិន្នន័យនេះមានសារៈសំខាន់នៅពេលដែលយើងចង់ប្រើប្រាស់ទិន្នន័យដោយប្រយ៉ោល (indirect data adder-ssing) ។ ឈ្មោះនៃ DAR ខុសគ្នាទៅតាមប្រភេទនៃ Microcontroller ផ្សេងៗគ្នា ។ ចំពោះ PIC Microcon-troller គេដាក់ឈ្មោះ DAR ថា File Select Register (FSR) ។

Stack Pointer (SP) រក្សាទុកទិន្នន័យនៅក្នុង Stack ។ Stack និងថតទិន្នន័យ SP នឹងត្រូវលើកយក មកសិក្សានៅមេរៀនបន្ទាប់ ។ សម្រាប់ PIC Microcontroller មិនមានថតទិន្នន័យ SP ទេ ។

Memory របស់ Microcontroller រក្សាទុកទាំងពាក្យបញ្ជារបស់កម្មវិធី និងទិន្នន័យ ។ Microcontroller មាន Memory ពីរប្រភេទគឺ Random Access Memory (RAM) និង Read Only Memory (ROM) ។ ទិន្ន ន័យនៅក្នុង RAM អាចបើកមើល (Read) និងកែប្រែ (Write) បាន ។ RAM អាចរក្សាទុកទិន្នន័យដោយត្រូវការ តង់ស្យុង ហើយទិន្នន័យនឹងបាត់បង់ទៅវីញនៅពេលគ្មានតង់ស្យុងផ្គត់ផ្គង់ ។ ទិន្នន័យនៅក្នុង ROM បានត្រឹមតែ បើកមើលប៉ុណ្ណោះ (read) ហើយវាមិនត្រូវការតង់ស្យុងដើម្បីរក្សាទុកទិន្នន័យទេ ។ បច្ចេកវិទ្យាផ្សេងៗ គ្នាដែល គេប្រើប្រាស់សម្រាប់ផលិត ROM មានដូចជា៖ EPROM (Erasable Programmable Read Only Memory) EEPROM (Electrical Erasable Programmable Read Only Memory) OTP (One Time Programm-able) និង Flash ។ ទាំង ROM និង RAM គេហៅថាជាប្រភេទ Memory “Random Access” ពីព្រោះគេអាច ប្រើប្រាស់ទិន្នន័យនៅខាងក្នុងរបស់វាដោយមិនអាស្រ័យទៅលើលំដាប់លំដោយនៃទីតាំង ឫអាស័យដ្ឋានដែល រក្សាទុកទិន្នន័យនៅក្នុង Memory ទេ ។ វាមានលក្ខណៈផ្ទុយទៅនឹង Memory ប្រភេទ “Sequential Access” ដែលចំនួនដែលការប្រើប្រាស់ទីតាំងណាមួយអាស្រ័យទៅនឹងទីតាំងខាងក្នុងរបស់វា ។

ROM ត្រូវបានប្រើប្រាស់ដើម្បីរក្សាទុកកម្មវិធីជាអចិន្រ្តៃយ៍ ខណៈដែល RAM ត្រូវបានប្រើប្រាស់ដើម្បី រក្សាទុកទិន្នន័យដែលត្រូវបានប្រើប្រាស់ដោយកម្មវិធីជាបណ្តោះអាសន្ន ។ Microcontroller ប្រភេទថ្មីៗមួយ ចំនួនមានបន្ថែម EEPROM ដើម្បីរក្សាទុកទិន្នន័យបន្ថែម ។ EEPROM ជា Memory ដាច់ដោយឡែកអាចរក្សា ទុកទិន្នន័យដោយមិនចាំបាច់មានតង់ស្យុងផ្គត់ផ្គង់ ។

ROM មានទំហំធំជាង RAM ដោយអាស្រ័យលើមូលហេតុពីរ៖

  • ការងារភាគច្រើនត្រូវការទំហំកម្មវិធីធំ ហើយប្រើប្រាស់ទីន្នន័យតិចតួច ។
  • RAM មានទំហំរូបរាងធំជាង ROM ដូចនេះតម្លៃក៏ថ្លៃជាង ROM ដែរ ។

ជើងចេញចូល(I/O) មានមុខងារទំនាក់ទំនងនឹងពិភពខាងក្រៅ ។ I/O អាចមានមុខងារច្រើនផ្សេងៗគ្នា ដូចជា៖ Serial-Port Parallel-Port Timer Interrupt ។ល។ ជើងខ្លះមានមុខងារពាក់ព័ន្ធស៊ីញ្ញាល់អាណាឡូក ដូចជា៖ Analog-to-Digital-Converter (A/D) ឫ Digital-to-Analog-Converter (D/A) ។ Watchdog ក៏ត្រូវ បានរាប់បញ្ចូលផងដែរដើម្បីធានានូវដំណើរការប្រក្រតីរបស់ I/O ។

ជាទូទៅ Parallel-Ports បង្កើតឡើងដោយបណ្តុំខ្សែ I/O ឌីជីថលចំនួន 8 ។ ដំណើរការនៃការបញ្ជូន ឫទទួលទិន្នន័យមានភាពតំណាលគ្នា ឫយើងអាចយកខ្សែ I/O ណាមួយមកប្រើក៏បានដែរ ។ Serial-Ports មាន ប្រភេទផ្សេងៗ គ្នាជាច្រើនដូចជា៖ RS-232C (Recommended Standard 232, Revision C) I2C (inter-integrated Circuit) USB (Universal Serial Bus) និង Ethernet ។

 f2-5
រូប5៖ ឧទាហរណ៍នៃការប្រើប្រាស់ Parallel-Port របស់ microcontroller ដើម្បីបញ្ជា LCD

3-1 Watchdog

Microcontroller ភាគច្រើនបំពាក់ទៅដោយ Watchdog Timer (WDT) ។ WDT បង្កើតឡើងដោយ អូស៊ីលេទ័រ និង Binary-Counter ទំហំ N Bits ។

 f2-6
រូប6៖ ដ្យាក្រាមនៃ WDT (ច្រកចេញរបស់វាត្រូវបានភ្ជាប់ទៅកាន់សៀគ្វី Reset ខាងក្នុងរបស់ Microcontroller ដើម្បីបង្កើតស៊ីញ្ញាល់ Reset )

ប្រភពអូស៊ីលេទ័រអាចជាអូស៊ីលេទ័រជាមួយគ្នានឹង Microcontroller ឫក៏ជាអូស៊ីលេទ័រដោយឡែក ។ ច្រកចេញរបស់ WDT ត្រូវបានតភ្ជាប់ទៅនឹងសៀគ្វី Reset ខាងក្នុងរបស់ Microcontroller ។ ដំណើរការនៃការ រាប់ចំនួនផាល់(Pulse) របស់ WDT នៅតែដំណើរការឥតឈប់ឈរ ទោះយ៉ាងណាកម្មវិធីដែលកំពុងប្រតិបត្តិការ អាចត្រលប់សារដើម (reset) counter ទៅកាន់តម្លៃដើមរបស់វាវិញបានដោយទៀងទាត់ ។

Counter រាប់គ្រប់ចំនួនផាល់ដែលចេញពីអូស៊ីលេទ័រ ។ នៅពេលដែល counter រាប់ដល់តម្លៃអតិបរិមា នោះច្រកចេញនៃ counter នឹងធ្វើការបង្កើតស៊ីញ្ញាល់ Reset ទៅឲ្យ Microcontroller ។ ចំពោះអ្នកសរសេរ កម្មវិធី ប្រសិនបើគេប្រើប្រាស់ WDT គេមិនត្រូវឲ្យ WDT រាប់ដល់តម្លៃអតិបរិមានោះទេ ពីព្រោះពេលដល់តម្លៃ អតិបរិមាវាបង្កើតស៊ីញ្ញាល់ Reset ឲ្យ microcontroller ធ្វើការសារដើមទោះបីជា microcontroller ដំណើរការ ដោយប្រក្រតីក៏ដោយ ។ WDT ចាប់ផ្តើមរាប់រហូតហើយមិនអាចបញ្ឈប់បាន គេអាចបញ្ចៀស WDT មិនឲ្យ បង្កើតស៊ីញ្ញាល់ Reset បាន ដោយកំណត់ឲ្យ counter ត្រលប់ទៅតម្លៃសូន្សវិញតាមរយៈកម្មវិធីដែលកំពុងប្រតិ បត្តិការ (clear-from-program ដូចបង្ហាញក្នុងរូប 1-6) ។ កម្មវិធីដែលកំពុងប្រតិបត្តិការត្រូវធ្វើបែបនេះឲ្យបាន ទៀងទាត់ ហើយឆាប់រហ័ស បើមិនដូចច្នោះទេ counter នឹងរាប់ដល់តម្លៃអតិបរិមា ។

យ៉ាងណាវិញ ប្រសិនបើ microcontroller ដំណើរការខុសប្រក្រតី ឫគាំងឈប់ដំណើរការ នោះ WDT នឹងរាប់ដល់តម្លៃអតិបរិមារបស់វា ហើយវានឹងបញ្ជូនស៊ីញ្ញាល់ Reset ទៅឲ្យ microcontroller ហើយកម្មវិធីនឹង ចាប់ផ្តើមដំណើរការពីចំនុចចាប់ ផ្តើមវិញម្តងទៀត ។ ដូចនេះ WDT គឺជាធាតុផ្សំដ៏សំខាន់របស់ microcontro-ller ពីព្រោះវាធានាថាកម្មវិធីដំណើរការដោយស្ថិតស្ថេរ ជាប់លាប់។

3-2 ស៊ីញ្ញាល់ Reset

ដំណើរការសារដើម (Reset) ធ្វើឲ្យ microcontroller ឫ microprocessor ត្រលប់ទៅស្ថានភាពដើម ឫចំនុចចាប់ផ្តើមរបស់វាវិញ ។ ដំណើរការសារដើមកើតឡើងនៅពេលដែលជើង Reset (Reset-Pin) ទទួលនូវ ស៊ីញ្ញាល់ Reset ។

ស៊ីញ្ញាល់ Reset កំណត់ឲ្យ Program-Counter (PC) ត្រលប់ទៅលក្ខ័ណដែលបានកំណត់ ឧទាហ រណ៍ PC=0 ធ្វើឲ្យ microcontroller ឫ microprocessor ចាប់ផ្តើមប្រតិបត្តិកម្មវិធីពីអាស័យដ្ឋាន Memory ជាក់ លាក់នោះ ។

នៅក្នុង microcontroller គេអាចបង្កើតស៊ីញ្ញាល់ Reset ដោយចុចបូតុង Reset ដែលភ្ជាប់ទៅនឹងជើង Reset របស់វា ឫ Reset នៅពេលដែលវាបើកភ្លើងឲ្យដំណើរការ (power-on-reset) ។

 f2-7
រូប7៖ Reset ដោយប្រើបូតុង Reset ដែលភ្ជាប់ ទៅជើង Reset របស់ microcontroller ។ គេហៅថា Reset ដោយដៃ (manual-reset) ។
 f2-8
រូប8៖ នៅពេលដែលវាបើកភ្លើងឲ្យដំណើរការ (power-on-reset) ។ ក្រាបនេះបង្ហាញអំពីទំនាក់ទំនង រវាងតង់ស្យុងនឹងការ Reset ។

នៅក្នុងរូប 1-8 សកម្មភាពសារដើម (Reset) កើតមានឡើងនៅពេលដែល RESET=”0” ។ VRESET គឺជាតង់ស្យុង RESET រីឯ VTH គឺជាតង់ស្យុងអតិបរិមា (Threshold) ដើម្បី RESET ។

  • ប្រសិនបើ VRESET < VTH នោះ RESET=”0” ដូចនេះ microcontroller ស្ថិនក្នុងលក្ខណ RESET ។ មានន័យថាវាស្ថិតនៅក្នុងចំនុចចាប់ផ្តើមនៃកម្មវិធីរហូតមួយកន្លែង ហើយកម្មវិធីមិនដំណើរការទៅមុខ ទេ ។
  • ប្រសិនបើ VRESET > VTH មានន័យ microcontroller បានឆ្លងផុតពីលក្ខណ RESET ហើយ ។ កម្មវិធី ចាប់ផ្តើមដំណើរការពីចំនុចចាប់ផ្តើមតាមរហូតដល់ចប់ ។

នៅក្នុងរូប1-7 រេស៊ីស្តង់ (R) និងកុងដង់ (C) បង្កើតបានសៀគ្វី RC ដែលមានថេរពេល  ។

នៅពេលបើកភ្លើងដំណើរការចរន្តរត់កាត់រេស៊ីស្តង់ (R) ដើម្បីហ្សាកកុងដង់ (C) ។ ប្រសិនបើ មានតម្លៃធំ នោះ VRESET < VTH ក្នុងកំឡុងពេលកុងដង់ហ្សាក ។ ក្នុងកំឡុងពេលនេះ microcontroller រងចាំដល់កុងដង់ហ្សាក ពេញដើម្បីដំណើរការកម្មវិធីបានត្រឹមត្រូវ ។

ក្រៅពី Reset ដូចដែលបានរៀបរាប់ខាងលើ នៅមាន Reset ផ្សេងទៀតដែលបណ្តាលមកពីប្រភពផ្គត់ ផ្គង់មិនមានស្ថេរភាព ( Power-Glitch-Reset Brown-Out-Reset ) និង Reset ដែលបណ្តាលមកពី WDT ជាដើម ។ Power-Glitch-Reset កើតឡើងនៅពេលដែលតង់ស្យុងផ្គត់ផ្គង់ធ្លាក់ចុះភ្លាមមួយរំពេច ក្រោមកម្រិត តង់ស្យុងដែល microcontroller អាចដំណើរការបាន ជាហេតុធ្វើឲ្យកុងដង់ផ្ទេរបន្ទុក ពេលនោះ VRESET < VTH  ( នាំឲ្យ microcontroller ស្ថិតក្នុងស្ថានភាព Reset ) ដូចបង្ហាញក្នុងរូប ១-៧ ។ Reset ដែលបង្កឡើងដោយ WDT កើតឡើងនៅពេលដែល counter របស់វាដំណើរការរហូតដល់ចំនុចអតិបរិមា ពេល នោះច្រកចេញរបស់ វា ធ្វើការបង្កើតស៊ីញ្ញាល់ Reset ។ ការនេះកើតឡើងនៅពេលដែល microcontroller ឈប់ ដំណើរការកម្ម វិធីតាម ប្រក្រតីរបស់វាពីក្នុង Memory ។ អ្វីដែលសំខាន់សម្រាប់ microcontroller និង WDT គឺថា microcon-troller ត្រូវបង្កើតស៊ីញ្ញាល់ Reset ដើម្បី Reset តម្លៃ Counter ក្នុង WDT ឲ្យមកសូន្សវិញ ជៀសវាងមិនឲ្យ counter របស់ WDT កើនដល់អតិបរិមា ។ ការនេះធានាថា microcontroller ដំណើរការជាប្រ ក្រតីពីទីតាំង Memory ដែលបានកំណត់ ជាជាងឲ្យធ្វើការនៅទីតាំងមិនច្បាស់លាស់ដែលអាចកំទេចប្រព័ន្ធទាំងមូល ។

 f2-9
រូបទី9៖ Power-Glitch-Reset កើតឡើងនៅពេលដែលតង់ស្សុងប្រភពធ្លាក់ចុះក្រោមកម្រិតដែលបានកំណត់ ឧទាហរណ៍ក្នុងករណីនេះគឺ VTH ។ ក្នុង microcontroller ខ្លះគេហៅថា Brown-Out-Reset ។

3-3 ការប្រើប្រាស់អនុភាពតិច

គេច្រើនប្រើ microcontroller នៅក្នុងឧបករណ៍ទាំងឡាយណាដែលដំណើរការដោយបាក់តេរី ។ ក្នុង ស្ថានភាពនេះការប្រើប្រាស់អនុភាពជាកត្តាមួយដ៏សំខាន់ដែលត្រូវពិចារណា ។ ការប្រើប្រាស់អនុភាពក្នុងអ៊ីសេ អាស្រ័យនឹងកត្តាបីយ៉ាងគឺ៖ បច្ចេកវិជ្ជារបស់ឈីប ប្រេកង់ដែលប្រើប្រាស់ កម្រិតតង់ស្យុង ។

គេច្រើនប្រើបច្ចេកវិទ្យា CMOS (Complementary-Metal-Oxide-Semiconductor) ដើម្បីផលិត ឈីបពីព្រោះវាដំណើរការដោយអនុភាពតិច ។

ការប្រើប្រាស់អនុភាពកើនឡើងនៅពេលដែលមានការផ្លាស់ប្តូរនៃលក្ខណៈឡូស៊ីក (ការផ្លាស់ប្តូរពីទាប ទៅខ្ពស់ និងពីខ្ពស់មកទាប) ឫលំយោល (oscillating) ។ ការបង្កើនប្រកង់របស់អូស៊ីឡេទ័រ មានន័យថាការផ្លាស់ ប្តូរ ឫលំយោលមានការកើនឡើង ដូចនេះការប្រើប្រាស់ថាមពលក៏មានការកើនឡើងដែរ ។ Microcontroller ភាគច្រើនត្រូវបានដាក់ឲ្យនៅក្នុងស្ថានភាពនៅហ្នឹងថ្កល់ (idle-state ឫ sleep-mode) ហើយវារងចាំសកម្មភាព ខាងក្រៅដើម្បីដំណើរការ ។  ការនេះអាចសន្សំថាមពល ។ ក្នុង microcontroller ខ្លះមានថត ទិន្នន័យ ឫពាក្យបញ្ជាដើម្បីកំណត់ការប្រើប្រាស់ថាមពលរបស់វា ។

ឧទាហរណ៍១-១៖
ចំពោះ microcontroller 8051 យើងអាចកំណត់ឲ្យវាប្រើប្រាស់អនុភាពតិចក្នុងលក្ខណពីរ៖ idle (នៅរងចាំ) និង power-down (បិទចោល) ។ លក្ខណៈទាំងពីរនេះអាចកំណត់បានដោយដាក់ឲ្យ bit ណាមួយក្នុងថតទិន្នន័យ Power Control (PCON) ស្មើរ 1 ។ CPU មិនដំណើរការក្នុង idle-mode ទេទោះបីជាអូស៊ីឡេទ័រដំណើរការក៏ ដោយ ។ CPU អាចដំណើរការបានឡើងវិញដោយសារការរំខានពីខាងក្រៅ (external-interrupt) ឫ Reset ។ សម្រាប់ power-down-mode អូស៊ីឡេទ័រ និង microcontroller ទាំងមូលផ្អាកដំណើរការទាំងស្រុង ។ Microcontroller អាចដំណើរការបានឡើងវិញដោយប្រើ Reset ។

3-4 ការការពារពីការលួចថតចម្លង

យើងត្រូវធានាថាកម្មវិធី ឫពត៌មានដែលយើងបានបញ្ចូលទៅក្នុង Memory របស់ microcontroller មានសុវត្ថភាព អ្នកដទៃមិនអាចមិនអាចបើកមើល ឫលួចថតចម្លង។

Microcontroller មានប្រព័ន្ធសុវត្ថភាពដែលអាចការពារការលួចថតចម្លងកម្មវិធីដែលបានរក្សាទុកក្នុង Memory ។ ជាឧទាហរណ៍អំបូរ PIC គេអាចកំណត់ឲ្យវាការពារមិនឲ្យមានការលួចថតចម្លងកម្មវិធីបាន ។ Microcontroller ខ្លះទៀតប្រើប្រាស់ Memory ពីខាងក្រៅដើម្បីដំណើរការកម្មវិធីបាន ។ ក្នុងករណីនេះពត៌មាន ត្រូវបានការពារដោយការធ្វើអ៊ីនគ្រីប (encryption) លើពត៌មានដែលដោះដូរទៅវិញទៅមករវាង microcontro-ller និង Memory ខាងក្រៅរបស់វា ។ ជាឧទាហរណ៍អំបូរ 8051 ។

ឧទាហរណ៍ 1-2៖
អំបូរ 8051 ប្រើប្រាស់ Memory ពីខាងក្រៅ (open-memory-architecture) ។ ការការពារពីការលួចថតចម្លង Memory មានពីរកម្រិត៖

កម្រិតទី1៖ ពត៌មានត្រូវបានអ៊ិនគ្រីប (encrypt) ជាមួយនឹងទិន្នន័យ (encryption-word) ដែលមានប្រវែងប្រែ ប្រួលរវាង 16 និង 64 bits ។ ដំណើរការ (encryption) ធ្វើឡើងដោយប្រតិបត្តិការ XNOR (exclusive-NOR) គ្នារវាងទិន្នន័យ (encryption-word) និងកម្មវិធីនៅក្នុង Memory ។ នៅពេលដែល CPU អានទិន្នន័យនៅក្នុង Memory វាធ្វើប្រតិបត្តិការ XNOR ជាមួយនឹងបីតណាមួយរបស់ទិន្នន័យ (encryption-word) ដូចនេះវាអាច ទាញយកបីតដើម បានមកវិញ ។ ដូចនេះគេមិនអាចដឹងពីពត៌មានដើមដែលរក្សាទុកនៅក្នុង memory ទេប្រសិន បើគេមិនស្គាល់ ទិន្នន័យ (encryption-word) នោះទេ ។

កម្រិតទី២៖ ថតទិន្នន័យពិសេសមួយនៅក្នុង microcontroller មានបីតពិសេសមួយដែលអាចកំណត់មិនឲ្យបើក មើលទាំងស្រុង ឫបានខ្លះៗនូវកម្មវិធីខាងក្នុង Memory ។

4 ស្ថាបត្យកម្ម Von Neumann និង Harvard

Memory របស់ Microcomputer Microprocessor ឫ Microcontroller រក្សាទុកទាំងទិន្នន័យក៏ដូចជា ពាក្យបញ្ជា ។ ពាក្យបញ្ចាត្រូវបានទាញយកតាមលំដាប់លំដោយដោយ CPU ដើម្បីបកប្រែនិងប្រតិបត្តិ ។ ទិន្ន ន័យត្រូវបានអាន (read) ឫ បញ្ចូល (write) ទៅក្នុង Memory ដោយ CPU ។ ដូចនេះរបៀបរៀបចំរបស់ Memory និងរបៀបដែលវាធ្វើទំនាក់ទំនងនឹង CPU កំណត់អំពីសមត្ថភាពប្រតិបត្តិការរបស់ឧបករណ៍នោះ ។ ទម្រង់នៃ Memory មានគំរូទូទៅពីរគឺ៖ ស្ថាបត្យកម្ម Harvard និង Von Neumann ។

ស្ថាបត្យកម្ម Von Neumann ត្រូវបានបង្កើតដោយគណិតវិទូលោក John von Neumann នៅពេល ដែលគាត់រចនា Electronic Numerical Integrator និង Calculator (ENIAC) នៅសកលវិទ្យាល័យ Pennsy-lvania កំឡុងសង្រ្គាមលោកលើកទីពីរ ។ នេះគឺជាគំនិតដើមនៃការបង្កើតម៉ាស៊ីនកុំព្យូទ័រដែលមានកម្មវិធី (stor ed-program-computer) ។

ស្ថាបត្យកម្ម Harvard ត្រូវបានបង្កើតឡើងដោយលោក Howard Aiken នៅពេលដែលគាត់កំពុងអភិ វឌ្ឈន៍កុំព្យូទ័រពពួកសេរ៊ី Mark I II III និង IV នៅសកលវិទ្យាល័យ Harvard ។ ប្រភេទនេះជាកុំព្យូទ័រដំបូង ដែលប្រើប្រាស់ Memory ផ្សេងគ្នាសម្រាប់រក្សាទុកទិន្នន័យ និងពាក្យបញ្ជាដោយឡែកពីគ្នា ។ ដូចនោះវាប្រើ ប្រាស់វិធីសាស្ត្រផ្សេងគ្នាច្រើនពីប្រភេទ Stored-Program-Computer ។

ដូចបង្ហាញនៅក្នុងរូប1-9 ស្ថាបត្យកម្ម von Neumann ប្រើ Memory តែមួយដើម្បីរក្សាទុកពាក្យបញ្ជា និងទិន្នន័យ ។ ការនេះមានន័យថា Address-Bus តែមួយអាចចូលប្រើប្រាស់ទាំងទិន្នន័យ និងពាក្យបញ្ជា ។ Data-Bus តែមួយអាចប្រើដើម្បីបញ្ជូនទិន្នន័យ និងពាក្យបញ្ជា ។ CPU ផ្ញើរ Control Signal តែមួយដើម្បីអាន ទិន្នន័យ ឫអានពាក្យបញ្ជា ។​  ពុំមាន Control-Signal ដោយឡែកពីគ្នាសម្រាប់ទិន្នន័យ ឫពាក្យបញ្ជាទេ ។

 f2-10  

រូបទី10៖ ស្ថាបត្យកម្ម von Neumann ប្រើប្រាស់ Memory តែមួយភ្ជាប់ទៅនឹង CPU តាមរយៈ Address-Bus តែមួយ (ADDR B) Data-Bus តែមួយ (DATA B) និង Control Bus តែមួយ (CNTR B) ។

ទោះបីជា ROM ប្រើសម្រាប់រក្សាទុកពាក្យបញ្ជា និង RAM ប្រើសម្រាប់រក្សាទុកទិន្នន័យក៏ដោយ ក៏ CPU ប្រើប្រាស់ពួកវាក្នុងរបៀបតែមួយដែរដោយមិនខ្វល់ពីទិសដៅ ។ សម្រាប់ CPU ទាំង ROM និង RAM បង្កើតឡើងនូវប្លុក Memory តែមួយដែល CPU ផ្ញើរ Control-Signal សម្រាប់ Address និង ទិន្នន័យ ។

ចំពោះស្ថាបត្យកម្ម Harvard គេប្រើ Memory ផ្សេងគ្នាដើម្បីរក្សាទុកទិន្នន័យ និងពាក្យបញ្ជា ។ Mem-ory សម្រាប់កម្មវិធី (Program-Memory) មាន Address-Bus ផ្ទាល់ខ្លួនរបស់វា (Instruction-Address-Bus) Data-Bus ផ្ទាល់ខ្លួន (Instruction-Bus) និង Control-Bus ផ្ទាល់ខ្លួន ។

 f2-11
រូបទី11៖ ស្ថាបត្យកម្ម Harvard ប្រើប្រាស់ Memory ផ្សេងគ្នាសម្រាប់រក្សាទុក ទិន្នន័យ និងពាក្យបញ្ជា ។ Memory ត្រូវបានតភ្ជាប់ទៅនឹង CPU តាមរយៈ Instruction-Address-Bus (I-ADDR-B) Data-Address-Bus (D-ADDR B) Instruction-Bus (INST B) Data-Bus (DATA B) Instruction-Control-Bus

(I-CNTR B) និង Data-Control-Bus (D-CNTR B)

Memory សម្រាប់ទិន្នន័យ (Data-Memory) មាន Address-Bus ផ្ទាល់ខ្លួន Data-Bus ផ្ទាល់ខ្លួន និង Control –Bus ផ្ទាល់ខ្លួន ។ Program-Memory បានត្រឹមតែអាន (Read) តែប៉ុណ្ណោះ ខណៈ Data-Memory អាចទាំង អាន (Read) ទាំងបញ្ចូល (Write) ឫ R/W ។

  • ស្ថាបត្យកម្ម von Neumann ប្រើចំនួនខ្សែតិចជាង Harvard ដូចនេះការតភ្ជាប់គ្នារវាង CPU និង Memory មានភាពងាយស្រួលជាង ។ ប៉ុន្តែក្នុងទម្រង់នេះ CPU មិនអាចទាញយកទិន្នន័យ និងពាក្យប ញ្ជាមកប្រើប្រាស់ក្នុងពេលតែមួយបានទេ ពីព្រោះពួកវាប្រើ Bus តែមួយរួមគ្នា ។
  • ដោយសារការប្រើ Bus ផ្សេងគ្នាក្នុងស្ថាបត្យកម្ម Harvard ប្រតិបត្តិការណ៍របស់ទិន្នន័យ និងពាក្យបញ្ជា អាចធ្វើឡើងក្នុងពេលតំណាលគ្នា ។ ដូចនេះស្ថាបត្យកម្ម Harvard អាចឲ្យកម្មវិធីប្រតិបត្តិការណ៍ក្នុង ល្បឿនលឿន ។

នៅក្នុង microcomputer ផ្គុំឡើងដោយ CPU ទិន្នន័យ និងកម្មវិធីស្ថិតនៅក្នុង Memory តែមួយ ។ ដូច នេះគេប្រើប្រាស់ស្ថាបត្យកម្ម von Neumann ព្រោះជើងតិច និងខ្សែតភ្ជាប់តិច នាំឲ្យប្រព័ន្ធមានទំហំតូច ។ ដោយមូល ហេតុនេះ microcomputer ស្ទើរទាំងអស់ដែលប្រើ microprocessor ត្រូវអភិវឌ្ឈន៍ឡើងដោយផ្អែក លើស្ថាបត្យ កម្ម von Neumann ។

នៅក្នុង microcontroller រាល់គ្រឿងបង្គុំដូចជា RAM ROM CPU ជាដើមត្រូវបានដាក់នៅលើបន្ទះ ឈីបតែមួយ ដូចនេះគេមិនត្រូវការបង្រួមចំនួនជើងនោះទេ ។ ដោយមូលហេតុនេះ microcontroller ស្ទើរតែ ទាំងអស់បង្កើតឡើងដោយប្រើស្ថាបត្យកម្ម Harvard រួមទាំងអំបូរ PIC ផងដែរ ។

5 CISC និង RISC

ម៉ូឌែលនៃកុំព្យូទ័រត្រូវបានបែងចែកជាពីរអាស្រ័យទៅនឹងសំនុំទិន្នន័យរបស់វាគឺ៖ CISC (Complex Ins-truction Set Computer) និង RISC (Reduced Instruction Set Computer) ។ CISC មានសំនុំទិន្នន័យ ច្រើនសាំញ្ញាំ ខណៈ RISC សំនុំពាក្យបញ្ជាត្រូវបានកាត់បន្ថយឲ្យតិច ។

នៅពេលដែល microprocessor និង microcontroller មានវត្តមានដំបូង និន្នាការទូទៅគឺគេចង់ឲ្យមាន ពាក្យបញ្ជាកាន់តែច្រើនតាមតែអាចធ្វើទៅបាន ។ ដូចនេះ CISC គឺជាជម្រើសទីមួយ ។ ការអភិវឌ្ឈន៍នៃពាក្យ បញ្ជាប្រភេទនេះកាន់តែមានភាពស្មុគស្មាញទៅៗ ពីមួយថ្ងៃទៅមួយថ្ងៃ។ ប្រវែងនៃពាក្យបញ្ជាកាន់តែខុសគ្នា រីឯ Addressing mode ក៏កាន់តែមានភាពស្មុគស្មាញ នាំឲ្យ CPU កាន់តែសាំញ្ញាំ និងទំហំឈីបកាន់តែធំ ។

CPU ប្រភេទ RISC មានសំនុំទិន្នន័យតែមួយចំនួនតូចតែប៉ុណ្ណោះ។ ពាក្យបញ្ជានីមួយៗ ប្រតិបត្តិតែ កិច្ចការសមញ្ញៗ (ឧទាហរណ៍៖ ផ្ទេរទិន្នន័យរវាង CPU និង Memory ) ប៉ុន្តែធ្វើឡើងក្នុងរយៈពេលដ៏ខ្លី ។ លើស ពីនេះរាល់ពាក្យបញ្ជាមានប្រវែងដូចៗ គ្នា ។ Addressing-mode មានតែពីរបីតែប៉ុណ្ណោះ ហើយមិនសូវសាំញ្ញាំ ជាហេតុអាចឲ្យយើងអាចបង្កើនល្បឿននៃអូស៊ីឡេទ័រ ដើម្បីបង្កើនល្បឿននៃប្រតិបត្តិការ ។ លើសពីនេះ ដោយ សារ CPU ប្រភេទ RISC មានចំនួនត្រង់ស៊ីស្ទ័រតិចជាង នាំឲ្យវាមានតម្លៃថោក និងងាយស្រួលផលិត ។ CISC ត្រូវបានជ្រើសរើសជាម៉ូឌែលសម្រាប់ microprocessor និង microcontroller តាំងពីទសវត្ស 1980s មកម្លេះ។ PIC Microcontroller ប្រើប្រាស់ប្រភេទ RISC ។

6 ក្រុមហ៊ុនចម្បងៗ

ចំពោះ microcontroller ផ្សេងគ្នា ប៉ុន្តែមានស្នូលខាងក្នុង (core) ដូចគ្នា មានន័យថាពួកវាប្រើ CPU ដូចគ្នា ប្រតិបត្តិសំនុំទិន្នន័យដូចគ្នា គេហៅថាអំបូរ (family) នៃ Microcontroller ។ microcontroller ក្នុងអំបូរ មួយអាចមានចំនួនជើងខុសគ្នា ឫទំហំ Memory ខុសគ្នា ប៉ុន្តែ CPU ខាងក្នុងនិងពាក្យបញ្ជាគឺដូចគ្នា ។

ក្រុមហ៊ុន ផលិតផល
Actel FPGA ដែលប្រើស្នូល 8051 និង ARM7
AMD Microprocessor ប្រភេទ xx86
Altera FPGA ដែលប្រើស្នូល Nios II
Analog Device រចនា DSP(Digital Signal Processing) សម្រាប់ 8052 និង ARM7
ARM រចនាស្នូល ARM7 ARM9 Cortex-M ។ល។
Atmel AVR និងពពួក 8051 និង ARM7
Broadcom Processor សម្រាប់ប្រព័ន្ធទូរគមនាគមន៍ និងបណ្តាណទិន្នន័យ
Dallas Semiconductor ពពួក 8051
Holtek Semiconductor Microcontroller HT8
Intel អំបូរ MCS-51 MCS-151 MCS-251 microprocessor ប្រភេទ xx86 ។ល។
Microchip Technology អំបូរ PIC និងពពួក Digital Signal Controller (dsPIC)
STMicroelectronics ពពួក 8051 និង ARM
Texas Instrument (TI) Digital Signal Processor TMS370 TMS470 microcontroller MSP430
Xilinx FPGA ដែលប្រើស្នូល PowerPC
ZiLOG 8-bit microcontroller Z8 និង Z80

7 សង្ខេប

  • Microcomputer បង្កើតឡើងជាមូលដ្ឋានដោយ CPU Memory និង I/O ។
  • Bus មានបីគឺ៖ Data-Bus Address-Bus និង Control-Bus ។
  • តួរនាទីរបស់ CPU គឺទាញយក បកប្រែ និងអនុវត្តពាក្យបញ្ជា ។
  • ALU ជាផ្នែកមួយនៅក្នុង CPU ដែលមានតួរនាទីធ្វើប្រមាណវិធីនព្វន្ត និងឡូស៊ីក ។
  • ទំហំនៃថតទិន្នន័យជាប៉ារាម៉ែត្រដ៏សំខាន់របស់ microprocessor ។
  • Microcontroller បង្កើតឡើងដោយ microcomputer និងធាតុផ្សំជាច្រើនទៀតក្នុងបន្ទះឈីបតែមួយ ។
  • នៅក្នុង microcontroller មានថតទិន្នន័យផ្សេងៗគ្នាជាច្រើន ថតទិន្នន័យខ្លះសម្រាប់ប្រើប្រាស់ទូទៅ និងខ្លះទៀតមានមុខងារពិសេស ។
  • ROM ប្រើសម្រាប់រក្សាទុកម្មវិធី ខណៈ RAM ប្រើសម្រាប់រក្សាទុកទិន្នន័យ ។
  • WDT ជាផ្នែកមួយដ៏សំខាន់ដែលធានានូវដំណើរការប្រក្រតីរបស់ Microcontroller ។
  • ស៊ីញ្ញាល់ Reset មានមុខងារបញ្ជាឲ្យ Microcontroller ធ្វើការសារដើម ។
  • ការប្រើប្រាស់អនុភាពតិចជាកត្តាដែលចាំបាច់ចំពោះ Microcontroller ។
  • Microcontroller ឫ Microprocessor ត្រូវបានរចនាដោយប្រើស្ថាបត្យកម្ម Harvard និង von Neu-mann ។
  • CISC ជាម៉ូឌែលកុំព្យូទ័រដែលមានពាក្យបញ្ជាដ៏ច្រើនស្មុគស្មាញ ខណៈ RISC មានពាក្យបញ្ជាតិច សា មញ្ញ និងប្រតិបត្តិក្នុងល្បឿនលឿន ។
  • ជាចុងក្រោយើងបង្ហាញពីក្រុមសំខាន់ៗ មួយចំនួននិងផលិតផលផងដែរ ។

8 សំនួរ

  1. តើ microcomputer បង្កើតឡើងដោយធាតុសំខាន់ៗ អ្វីខ្លះ ? ចូររៀបរាប់ ។
  2. អ្វីទៅជា Bus មានប៉ុន្មានប្រភេទ ? អ្វីខ្លះ ? មានមុខងារអ្វីខ្លះ ?
  3. តើ CPU ជាអ្វី ? មានមុខងារដូចម្តេចខ្លះ ?
  4. តើគេប្រើប្រាស់ microcontroller និង microprocessor ក្នុងកិច្ចការប្រភេទណាខ្លះ ?
  5. តើ microcontroller ចាំបាច់ត្រូវមានធនធានអ្វីខ្លះ ?
  6. តើធាតុផ្សំនៃ microcontroller មានអ្វីខ្លះ ? ចូររៀបរាប់ពីមុខងារនីមួយៗដោយសង្ខប ?
  7. ចូររៀបរាប់ពីថតទិន្នន័យមានមុខងារពិសេសរបស់ microcontroller ឲ្យបានប្រាំ ព្រមទាំងពន្យល់ពីមុខ ងាររបស់វាផង ?
  8. អ្វីទៅជា WDT ? ចូរពន្យល់ត្រួសៗពីដំណើរការរបស់វា ?
  9. នៅក្នុង microcontroller តើ Reset ជាអ្វី ? មានប៉ុន្មានប្រភេទ ? ចូរពន្យលត្រួសៗពីប្រភេទនីមួយ ?
  10. ការប្រើប្រាស់អនុភាពរបស់ microcontroller អាស្រ័យនឹងកត្តាអ្វីខ្លះ ចូររៀបរាប់ ?
  11. នៅក្នុង microcontroller តើគេអាចការពារពីការលួចថតចម្លងកម្មវិធីដោយប្រើវិធីអ្វីខ្លះ ? ចូររៀបរាប់ ?
  12. តើស្ថាបត្យកម្ម von Neumann និង Harvard មានលក្ខណៈដូចម្តេច ? ហើយគេច្រើនប្រើវាក្នុងស្ថាន ភាពណា ?
  13. ចូររៀបរាប់ពីគុណសម្បត្តិ និងគុណវិប្បត្តិនៃស្ថាបត្យកម្មទាំងពីរខាងលើ ?
  14. អ្វីទៅជា CISC និង ​RISC ? ចូរពន្យល់ ?
Posted in Microprocessors/Microncontrollers | Tagged , , , , , | Leave a comment

ការប្រើប្រាស់កម្មវិធី Proteus 7

សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_01សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_1សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_03សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_04សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_05សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_06សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_07សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_08

សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus

សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus

សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_11សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_12សេចក្តីណែនាំពីការប្រើប្រាស់កម្មវិធី Proteus_Page_13

Posted in Software Tutorials | Tagged , , , , , , , , , , , | Leave a comment

មូលដ្ឋានគ្រឹះនៃប្រព័ន្ធ microprocessor ( Basic microprocessor systems )

medium-ATmega1284-TQFP-44   ១ កំណើតនៃ Microprocessor

នៅឆ្នាំ ១៩៧១ ក្រុមហ៊ុនពីររបស់អាមេរិកបានដាក់បង្ហាញនូវផលិតផលថ្មីឲ្យពិភពលោកស្គាល់ នោះគឺ Microprocessor ។ ក្រុមហ៊ុនទាំងពីរនោះ ទើបតែបង្កើតថ្មី គឺក្រុមហ៊ុន Intel និងគូរប្រជែងរបស់ខ្លួនគឺក្រុមហ៊ុន Texas Instrument ។

Microprocessor និង Microcontroller ត្រូវបានបង្កើតឡើងក្នុងគោលដៅបញ្ចៀបចូលទៅគ្រប់ប្រទេសទូទាំងសកលលោក គ្រប់សង្វាក់ផលិតកម្ម និងស្ទើរគ្រប់គេហដ្ឋាន ។ នាពេលបច្ចុប្បន្នមនុស្សភាគច្រើនដឹងអំពីផ្នែកខាងក្នុងនៃឧបករណ៍ដែលគេកំពុងប្រើប្រាស់ ។ ប៉ុន្តែមានមនុស្សភាគ តិចណាស់ដែលដឹងថា ” តើអ្វីទៅជា Microprocessor ” ហើយតើវាដំនើរការយ៉ាងដូចម្តេច ។

២ ស្វែងយល់អំពីប្រព័ន្ធ

ពាក្យថា ” ប្រព័ន្ធ ” ត្រូវបានប្រើប្រាស់ដើម្បីពិពណ៌នាអំពីរចនាសម្ព័ន្ធ ឫឧបករណ៍ដែលមានផ្នែកសំខាន់ចំនួនបី ។

ក្នុងប្រព័ន្ធមួយត្រូវមាន ច្រកចូល (input) យ៉ាងហោចមួយ ទិន្នផល(output) យ៉ាងហោចមួយ ហើយត្រូវតែធ្វើកិច្ចការអ្វីមួយ ជាឧទាហរណ៍វាគួរ មានដំនើរការ ( Process ) មួយ ។ ជារឿយៗ វាមានច្រកចេញច្រើន និងច្រកចូលច្រើន ។ ច្រកចូលនិងទិន្នផលទាំងនោះ មួយចំនួនមិនត្រូវបាន ប្រើប្រាស់ទេ ទោះជាមានការប្រើប្រាស់តិច ឫច្រើនក៏ដោយ រាល់ដំណើរការគឺត្រូវបញ្ចេញកំដៅ ។ រូប 1.1 បង្ហាញពីលក្ខណៈអស់ទាំងនេះ ។

រូប 1.1 តំរូវការចាំបាច់នៃប្រព័ន្ធមួយ

ឧបករណ៍ជាច្រើនបំពេញគ្រប់តំរូការទាំងនេះ ។ ជាឧទាហរណ៍រថយន្តត្រូវការឥន្ទនៈ ទឹកសម្រាប់បន្ថយសីតុណ្ហភាព និងអាគុយដើម្បីបញ្ឆេះម៉ាស៊ីន ប្រព័ន្ធភ្លើងជាដើម ។ ដំនើរការ ( process ) របស់រថយន្តគឺដុតឥន្ទនៈបង្កើតចំហេះ ដើម្បីទាញយកថាមពលឲ្យរថយន្តដំនើរការ ។ ទិន្នផល ( output ) ដែលត្រូវការគឺ ចលនា និងអ្វីដែលគេមិនត្រូវការគឺ កំដៅ ឧស្ម័នបំពុល ចំហាយទឹក និងសំលេងរំខាន ។

នៅក្នុងរថយន្តមានផ្នែកផ្សេងៗ ជាច្រើនទៀត ។ នៅក្នុងរូប 1.2 យើងដាក់បន្ថែមអគ្គីសនីជាតំរូវ តំរូវការមួយនៅច្រកចូលដើម្បីបញ្ឆេះម៉ាស៊ីន ផ្គត់ផ្គង់ប្រព័ន្ធភ្លើង និងផ្គត់ផ្គង់ប្រព័ន្ធផ្សេងទៀត ប៉ុន្តែក្រោយមកអាគុយត្រូវបានហ្សាកដោយម៉ាស៊ីនរថយន្ត ។ ដូចនេះ វាតំរូវឲ្យមានប្រព័ន្ទអគ្គីសនី ក្នុងរថយន្តបន្ថែមទៀត ដូចបានបង្ហាញក្នុងរូប 1.3 ។

f1_1

រូប 1.2 ៖ ប្រព័ន្ធទូទៅ

រូប 1.3 ៖ ការហ្សាកអាគុយ

រូប 1.3 ៖ ការហ្សាកអាគុយ

៣ ប្រព័ន្ធ microprocessor

មានលក្ខណៈដូចគ្នាទៅនឹងប្រព័ន្ធផ្សេងទៀតដែរ microprocessor រួមមានច្រកចូល ទិន្នផល និងដំនើរការដូចបង្ហាញក្នុងរូប 1.4 ។ ច្រកចូល និងទិន្នផលនៃ microprocessor គឺជាសេរ៊ីនៃ តង់ស្យុងដែលគេយកទៅបញ្ចាឧបករណ៍ខាងក្រៅ ។ ដំនើរការដែលពាក់ពាន់នឹងការវិភាគ និងប្រើប្រាស់តង់ស្យុងនៅច្រកចូលត្រូវគេហៅថា ” ការសំរេចចិត្ត ” ទៅលើតង់ស្យុងនៅ ច្រកចេញ ។ ការសំរេចចិត្តអាស្រ័យទៅលើដែលគេបានដាក់បញ្ចូលទុកជាមុន ។

រូប 1.4 ៖ ប្រព័ន្ធ Microprocessor

រូប 1.4 ៖ ប្រព័ន្ធ Microprocessor

   ៤ លក្ខណៈរូបនៃ microprocessor

microprocessor គឺជាសៀគ្វីអេឡិចត្រូនិកដ៏តូចមួយ ដែលមានអង្កតទ្រូងប្រមាណ 12mm ប៉ុណ្ណោះ ។ វាងាយនឹងខូចដោយាសារសំណើម និងការបាក់បែក ដូចនេះគេច្រើនវិចខ្ចប់វា ក្នុងផ្លាស្ទិក ឫសេរ៉ាមុិច ។ គេកំរផ្សាភ្ចាប់ជើងនៃ អ៊ីសេmicroprocessor ដោយផ្ទាល់ណាស់ គេច្រើនភ្ចាប់វាទៅនឹង រន្ធស៊ក (socket) ដែលត្រូវាបានផ្សាជាប់នៅលើក្តាសៀគ្វី ។ ទំហំ រូបរាង និងចំនួនជើងនៃ microprocessor មានចំនួនខុសៗគ្នាទៅតាមតំរូវការជាក់ស្តែងដែលគេអនុវត្ត ។ រូប 1.5 បង្ហាញអំពីរូបរាងនៃ microprocessor ដ៏សាម័ញ្ញមួយ ។

រូប 1.5 រូបរាងសាម័ញ្ញនៃ microprocessor

រូប 1.5 រូបរាងសាម័ញ្ញនៃ microprocessor

៣ ប្រជុំស័ព្ធបច្ចេកទេស

Integrated Circuits  សៀគ្វីអេឡិចត្រូនិកដែលត្រូវបានបង្កើតឡើងដោយប្លុកនៃវត្ថុធាតុ ស៊ីមីកុងឌុចទ័រ ។ គេច្រើនហៅថាសៀគ្វី solid state ដែលមានសៀគ្វីយ៉ាងច្រើន ហើយស្មុគ ស្មាញតភ្ជាប់គ្នា ។ គេអាចហៅវាម្យ៉ាងទៀតថា ” chip ” ។

Microprocessor ដូចដែលបានរៀបរាប់ និងបានដាក់បង្ហាញក្នុងរូប 1.5 ។

Microprocessor-based system (ប្រព័ន្ធអាស្រ័យ microprocessor ) គឺជាប្រព័ន្ធណាដែលមានmicroprocessor ហើយក៏មិនចាំ បាច់មានការគណនាអ្វីដែរ ។ តាមការពិតម៉ាស៊ីនកុំព្យូទ័រប្រើប្រាស់microprocessor តែមួយភាគតូចនៃចំនួនmicroprocessor ដែលបានផលិតទាំងអស់តែប៉ុណ្ណោះ ។ microprocessor-based systems នៅទីនេះ យើងសំដៅលើ microprocessor-controlled system ។

Microcomputer  គឺជាប្រព័ន្ធអាស្រ័យmicroprocessor ណាមួយដែលត្រូវបានគេប្រើប្រាស់ជា កុំព្យូទ័រ ។ គេអាចដាក់បន្ថែមសៀគ្វីផ្សេងទៀតដែលគេត្រូវការសំរាប់កុំព្យូទ័រ នៅលើអ៊ីសេតែមួយ ។ លក្ខណនេះគេហៅថា microcomputer ប្រើប្រាស់ chip តែមួយ ។

Microcontroller គឺជាប្រព័ន្ធបញ្ជាអាស្រ័យmicroprocessor ដ៏ពេញលេញមួយដែលត្រូវបាន បង្កើតឡើងនៅលើchip តែមួយ ។ វាមានលក្ខណៈតូចសមរម្យ ប៉ុន្តែវាមិនអាចធ្វើអ្វីបានទេប្រសិន បើគ្មានmicroprocessor និងគ្រឿងបង្គុំដ៏ទៃផ្សេងទៀត ។

MPU និង CPU  MPU សំដៅទៅលើ MicroProcessor Unit ឫ microprocessor ។ CPU សំដៅទៅលើ Central Processing Unit ។ វាគឺជា “ខួរក្បាល” កណ្តាលនៃកុំព្យូទ័រ ហើយវា អាចបង្កើតឡើងដោយmicroprocessor មួយឫច្រើន ។ កុំព្យូទ័រធំជាងគេ ” Blue Gene ” ដែលផលិតដោយក្រុមហ៊ុន IBM រួមមានprocessor រហូតដល់ចំនួនមួយលាន !

Micro ពាក្យថា “Micro” ត្រូវបានប្រើប្រាស់ជាទូទៅក្នុងវិស័យអេឡិចត្រូនិក និងវិទ្យាសាស្រ្ត ដែលមានន័យថា ” មួយលើមួយលាន ” ឫ 1×10^-6 ។ វាមានន័យម្យ៉ាងទៀតក្នុងជីវភាពប្រចាំថ្ងៃ ថាជាវត្ថុដែលមានទំហំតូច ដូចជាmicroprocessor ជាដើម ។ ឫគេកំនត់ថាជាពាក្យកាត់នៃ microcontroller ឫ microprocessor – គេតែងហៅដោយខ្លីថា ” Micro ” នៅក្នុងវិស័យអេឡិចត្រូនិក។

ឯកសារយោង ៖

Introduction to Microprocessors and Microcontrollers Second Edition John Crips Newnes Press 2004 .


 សំនួរ

  ចូរជ្រើសរើសចំលើយដែលអ្នកគឹតថាត្រឹមត្រូវខាងក្រោម ៖

1. microprocessor ៖

(a) ត្រូវការឥន្ទនៈ ទឹក និងអគ្គីសនី

(b) ជាអក្សរកាត់នៃ µC

(c) ជារឿយៗត្រូវបានខ្ចប់នៅក្នុងសំបកប្លាស្ទិក

(d) មិនត្រូវបានគេប្រើប្រាស់នៅក្នុង CPU ទេប៉ុន្តែអាចប្រប្រាស់នៅក្នុង MPU

2. ក្នុងប្រព័ន្ធមួយគប្បីមាន ៖

(a) ច្រកចូល ទិន្នផល និងដំនើរការ

(b) កិច្ចការពាក់ព័ន្ធនឹងការធ្វើដំនើរ

(c) microprocessor

(d) ឥន្ទនៈ ទឹក និងអគ្គីសនី

3. MPU

(a)  ដូចគ្នាទៅនឹង µP

(b) អាចកើតឡើងដោយមាន CPU ច្រើនជាងមួយ

(c) គឺជាកុំព្យូទ័រដំនើរការនៅលើchip តែមួយដែលមានទំហំតូច

(d) គឺជាអក្សរកាត់នៃ Main Processing Unit

4. Integrated Circuits មិនមែន ៖

(a) ហៅថាchip

(b) ប្រើដើម្បីសង់ប្រព័ន្ធផ្អែកលើmicroprocessor

(c) សៀគ្វីsolid state

(d) ផ្នែកចាំបាច់នៃម៉ាស៊ីន ។

Aside | Posted on by | Tagged , , , , , , , , , , , | Leave a comment

ស្វែងយល់អំពីប្រព័ន្ទឌីជីតាល់

កំពុងសរសេរ

Posted in Digital Electronics | Leave a comment

សូមស្វាគមន៍

សូមស្វាគមន៍មកកាន់ទំព័រ មេរៀនបច្ចេកវិទ្យា ។

យើងខ្ញុំជាអ្នកស្ម័គចិត្ត ចូលចិត្តចែករំលែកផ្នែកបច្ចេកវិទ្យាដែលប្រែសម្រួលជាភាសាជាតិ ។

សូមចូលទៅកាន់ facebook:

https://www.facebook.com/phnlab

https://www.facebook.com/groups/EceLab2

Posted in Uncategorized | Leave a comment