CMT2186A Sub-1G Transmitting Micro Controller

លក្ខណៈបច្ចេកទេសផលិតផល

  • ម៉ូដែល៖ CMT2186A
  • ជួរប្រេកង់៖ 210 - 960 MHz
  • ម៉ូឌុល៖ យល់ព្រម/សួរ
  • ថាមពលបញ្ចេញ៖ +13dBm អតិបរមា
  • ខឺណែល CPU៖ ការសម្តែងខ្ពស់។
    រយៈពេលណែនាំ 1T-8051 ខឺណែល។
  • ការងារបច្ចុប្បន្ន៖ 24mA @ +13dBm 433.92MHz
    CW
  • វ៉ុលការងារtagអ៊ីជួរ៖ 1.8V - 3.6V
  • ការផ្ទុក៖ ការផ្ទុកកម្មវិធី 4-KB MTP, 512-Byte
    XRAM, 256-Byte IRAM, 512-Bit EEPROM
  • ជួរសីតុណ្ហភាព៖ -40°C ដល់ 85°C
  • ជម្រើសកញ្ចប់៖ SOP16 (9.9 x 6 x 1.75 mm),
    SOP14 (8.65 x 6 x 1.75 ម.ម)

ការណែនាំអំពីការប្រើប្រាស់ផលិតផល

1. បើកភ្លើងនៅលើ CMT2186A

ដើម្បីបើកថាមពលនៅលើ CMT2186A សូមប្រាកដថាវ៉ុលរបស់អ្នក។tagប្រភព e គឺនៅក្នុង
ជួរពី 1.8V ទៅ 3.6V ។

2. ការកំណត់ម៉ូឌុល

CMT2186A គាំទ្ររបៀបម៉ូឌុល OOK និង ASK ។ យោងទៅ
សៀវភៅណែនាំលម្អិតសម្រាប់ការកំណត់រចនាសម្ព័ន្ធម៉ូឌុលជាក់លាក់។

3. ការលៃតម្រូវថាមពលទិន្នផល

អ្នកអាចលៃតម្រូវថាមពលទិន្នផលនៃម៉ូឌុលបញ្ជូនពី 0
ដល់ +13dBm ។ សូមមើលសៀវភៅណែនាំសម្រាប់ការណែនាំអំពីការកែតម្រូវ
អំណាច​ទិន្នផល។

4. ការប្រើប្រាស់អង្គចងចាំ

CMT2186A មានជម្រើសផ្ទុកអង្គចងចាំផ្សេងៗ។ ធានា
ការប្រើប្រាស់ត្រឹមត្រូវនៃការផ្ទុកកម្មវិធី MTP, XRAM, IRAM និង
EEPROM សម្រាប់តម្រូវការកម្មវិធីរបស់អ្នក។

5. សីតុណ្ហភាពការងារ

ដំណើរការ CMT2186A ក្នុងជួរសីតុណ្ហភាពដែលបានបញ្ជាក់
-40°C ទៅ 85°C សម្រាប់ដំណើរការល្អបំផុត។

សំណួរដែលសួរញឹកញាប់ (FAQ)

សំណួរ: តើជួរប្រេកង់ការងាររបស់ CMT2186A គឺជាអ្វី?

A: CMT2186A ដំណើរការក្នុងចន្លោះប្រេកង់ 210 - 960
MHz

សំណួរ: តើខ្ញុំអាចលៃតម្រូវថាមពលទិន្នផលរបស់ឧបករណ៍បញ្ជូនដោយរបៀបណា
ម៉ូឌុល?

A: ថាមពលទិន្នផលអាចត្រូវបានលៃតម្រូវពី 0 ទៅ +13dBm ។ យោងទៅ
សៀវភៅណែនាំសម្រាប់ការណែនាំជាក់លាក់ស្តីពីការកែតម្រូវទិន្នផល
អំណាច។

Q: តើសមត្ថភាពអង្គចងចាំរបស់ CMT2186A គឺជាអ្វី?

A: CMT2186A មានមុខងារផ្ទុកកម្មវិធី 4-KB MTP, 512-Byte
XRAM, 256-Byte IRAM និង 512-Bit EEPROM សម្រាប់ការប្រើប្រាស់អង្គចងចាំ។

“`

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
CMT2186A
210-960 MHz OOK/ASK Transmitter SoC
CMT2186A Sub-1G Transmitting Micro-controller
ការណែនាំអ្នកប្រើប្រាស់

1. ឯកសារនេះពិពណ៌នាអំពីមុខងារ ប្រតិបត្តិការ និងការប្រើប្រាស់ CMT2186A។ វាគឺជាការណែនាំសម្រាប់វិស្វករដែលប្រើ CMT2186A ។
2. សៀវភៅណែនាំនេះត្រូវបានកំណត់ដោយប្រវែងនៃឯកសារ ហើយការចុះឈ្មោះដែលបានណែនាំនៃម៉ូឌុលមុខងារបន្ទះឈីបត្រូវបានរាយបញ្ជីប៉ុណ្ណោះ។ សូមមើលសៀវភៅណែនាំលម្អិតចុះឈ្មោះ CMT2186A សម្រាប់ការពិពណ៌នាលំអិតនៃការចុះឈ្មោះ។ អ្នកប្រើប្រាស់អាចយល់ពីមុខងាររបស់បន្ទះឈីបកាន់តែមានប្រសិទ្ធភាពដោយយោងទៅលើឯកសារនេះ។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 1/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

លក្ខណៈពិសេស MCU

គុណលក្ខណៈម៉ូឌុលបញ្ជូនរង 1G

ខឺណែល CPU

ប្រេកង់ការងារ៖ ២១០-៩៦០ MHz

- រយៈពេលការណែនាំតែមួយដែលមានប្រសិទ្ធភាពខ្ពស់ 1T-8051 របៀបកែប្រែខឺណែល៖ OOK / ASK

- គាំទ្ររហូតដល់ 26MHz (XOSC) ឬ 24Mhz (HFOSC) អត្រាទិន្នន័យ៖ 0.5 40kbpsOOOK

ប្រេកង់ប្រតិបត្តិការជាមួយនឹងប្រសិទ្ធភាពចូលដំណើរការអតិបរមានៃថាមពលទិន្នផល + 13dBmMax ។

20MIPS

ដំណើរការបច្ចុប្បន្ន 24mA @+13dBm433.92MHz CW

- ការផ្ទុកការប្រើប្រាស់ប្រតិបត្តិការ

ការបញ្ជូនប្រេកង់ខ្ពស់ PA ថ្នាក់ E ប្រសិទ្ធភាពខ្ពស់តែមួយ

– 4-KB MTP program storage, support 10K erasing ពេលវេលា

PA Ramping ប្រែប្រួលទៅតាមអត្រាទិន្នន័យ

- 512-Byte XRAM និង 256-Byte IRAM

– 512-Bit EEPROMsupport 1,000,000 erasing ពេលវេលា

លក្ខខណ្ឌការងារ

ថាមពល

ជួរសីតុណ្ហភាព -40-85

- កំណត់ថាមពលឡើងវិញនិងវ៉ុលទាបtagការរកឃើញអ៊ី

វ៉ុលធ្វើការtagជួរ e គឺ 1.8V - 3.6V

- បង្កប់ LDO ឯករាជ្យផ្តល់នូវថាមពលសម្រាប់ CPU និង

citcuit ឌីជីថល

ការដាក់ពាក្យ

- ថាមពលទាបបំផុតដែលបានបង្កប់ ULPLDO សម្រេចបាននូវមុខងារ Remote garage door control Retention of CPU/RAM/SFR និងប្រព័ន្ធគ្រប់គ្រងទ្វារពីចម្ងាយមួយចំនួន។

គ្រឿងកុំព្យូទ័រនៅក្នុងរបៀប STOP I/O

ឧបករណ៍បញ្ជាពីចម្ងាយឥតខ្សែសម្រាប់អ្នកប្រើប្រាស់ Smart home

- ម្ជុល IO ពហុមុខងារ 11/9 (SOP16 / SOP14)

សន្តិសុខផ្ទះ

- គាំទ្រការគូសផែនទីមុខងារគ្រឿងកុំព្យូទ័រដែលមានភាពបត់បែនខ្ពស់។

ប្រភព RFID tagខ្ញី

- ការផ្លាស់ប្តូរកម្រិតគាំទ្ររំខាន / ភ្ញាក់ឡើង

បណ្តាញឧបករណ៍ចាប់សញ្ញាឥតខ្សែ

ប្រភពនាឡិកា

របៀប WM- Bus T1

- គាំទ្ររហូតដល់ 26Mhz XOSC (គ្រីស្តាល់ប្រេកង់ល្បឿនលឿន

លំយោល)

កញ្ចប់

- ភ្ជាប់មកជាមួយនូវល្បឿនលឿន 24MHz HFOSC (±1% RC oscillator)

SOP16

- ភ្ជាប់មកជាមួយនូវការប្រើប្រាស់ថាមពលទាប 32kHz LFOSC (± 1% RC SOP14

លំយោល)

បំបាត់កំហុស onchip

- CPU ដែលភ្ជាប់មកជាមួយ 1-Wire debugger circuit hardware

- គាំទ្រ Keil C51 សម្រាប់ការបំបាត់កំហុសកម្មវិធីអនឡាញ

- គាំទ្រ 3 ចំណុចបំបែកផ្នែករឹង, ការបំបាត់កំហុសមួយជំហានគ្រឿងកុំព្យូទ័រ

- 1x UART

- 1x SPI - 1x CDRsingle wire RX input clock recovery - 1x WDTindependent hardware - 1x sleep timer32KHz LFOSC

SOP-14
8.65 x 6 x 1.75 ម។

SOP-16
9.9 x 6 x 1.75 ម។

- 2x 16 bit កម្មវិធីកំណត់ម៉ោងសាមញ្ញ - 2x 16 bit multi-Function timer3 channel PWM/CCP

- 2x អាណាឡូកប្រៀបធៀបកូដសុវត្ថិភាព

- ច្រកសៀរៀលដែលកំពុងឆេះ និងចំណុចប្រទាក់បំបាត់កំហុសតែមួយខ្សែ

មានមុខងារចាក់សោ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 2/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
សេចក្តីផ្តើម
CMT2186A គឺជាឧបករណ៍បញ្ជូន SoC RF ថាមពលទាបដែលបង្កប់ជាមួយ 1T-8051 core 1. ដែលគាំទ្រមុខងារបញ្ជូនឥតខ្សែរបស់ OOK/ASK ក្នុងចំណោម 210 ~ 960 MHz 2. ម៉ូឌុលបញ្ជូនមិនត្រឹមតែផ្តល់នូវ PA តែមួយដែលមានប្រសិទ្ធភាពខ្ពស់ប៉ុណ្ណោះទេ ជាមួយនឹងថាមពលទិន្នផលដែលអាចលៃតម្រូវបានពី 0
+13dBm ហើយមានតែ 24mA ប៉ុណ្ណោះដែលត្រូវការសម្រាប់ការបញ្ជូន +13dBm; 3. ប៉ុន្តែក៏ផ្តល់នូវអង្គចងចាំកម្មវិធី 4-KB MTP, 512-Byte XRAM, 256-Byte IRAM និង 512-bit EEPROM; 4. ថាមពលទាបបំផុតដែលភ្ជាប់មកជាមួយ ULPLDO គាំទ្របន្ទះឈីបដើម្បីរក្សាទុកស្ថានភាពស៊ីភីយូ ទិន្នន័យ RAM និងការចុះឈ្មោះការកំណត់រចនាសម្ព័ន្ធ
ទិន្នន័យនៅក្នុងរបៀប STOP 5. ជាមួយនឹងមុខងារក្លែងធ្វើអនឡាញ 1-WIRE អ្នកប្រើប្រាស់អាចទាញយកកូដបំបាត់កំហុសគោលដៅដោយផ្ទាល់ទៅកាន់នៅលើបន្ទះឈីប។
MTP តាមរយៈកម្មវិធីបំបាត់កំហុស 1-WIRE និងកម្មវិធី Keil C51 ដែលងាយស្រួលបំផុត។ 6. វាគាំទ្រ 26MHz XO ខាងក្រៅ ឬភ្ជាប់មកជាមួយ 24MHz HFOSC ជាប្រេកង់ចម្បងនៃប្រព័ន្ធ និងកម្រិតទាបដែលភ្ជាប់មកជាមួយ។
ថាមពល 32 kHz LFOSC អាចត្រូវបានប្រើសម្រាប់កម្មវិធីកំណត់ម៉ោងថាមពលទាបភ្ញាក់ឡើង។ 7. វាក៏គាំទ្រម៉ូឌុលការងើបឡើងវិញនាឡិកាផ្នែករឹងបញ្ចូលតែមួយខ្សែផងដែរ ដែលងាយស្រួលសម្រាប់ខឺណែលដើម្បីប្រមូល
ទិន្នន័យខាងក្រៅធ្វើសមកាលកម្ម (ដូចជា RX ទទួលទិន្នន័យ)។

រួមបញ្ចូលគ្នាជាមួយអ្នកទទួលស៊េរី NextGenRFTM របស់ CMOSTEK CMT2186A អាចត្រូវបានអនុវត្តនៅក្នុងបណ្តាញឥតខ្សែដែលមានថាមពលទាបបំផុត។

លេខផ្នែក
CMT2186A-ESR14 CMT2186A-ESR16

ព័ត៌មានអំពីផលិតផល។
កញ្ចប់
SOP-14 SOP-16

វិមាត្រ
8.65 mm x 6.00 mm x 1.75 mm 9.90 mm x 6.00 mm x 1.75 mm

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 3/100 ទំព័រ

www.hoperf.com

ប្រភេទ

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

១ ប្រព័ន្ធស្ថាបត្យកម្ម…………………………………………………………………………………………………………………………………….. ៧
2 ប្រព័ន្ធដំណើរការ និងរបៀបការងារ………………………………………………………………………………. ៨
2.1 ដំណើរការប្រព័ន្ធ ……………………………………………………………………………………………………………………… 8 2.2 ទម្រង់ប្រតិបត្តិការរបស់ប្រព័ន្ធ……………………………………………………………………………………………………………………… 9 2.3 ការពារយន្តការ…………………………………………………………………………………………………………………………………………………. ១២
3 ការបំបាត់កំហុស និងការដុតចំណុចប្រទាក់ …………………………………………………………………………………………….12
3.1 1-Wire ONLINE Debugging and Burning Interfaces ………………………………………………………………………………….. 12 3.2 S3S BUS Burning Interface ……………………………………………………………………………………………………………………… 13
4 T8051XC3 MICRO Controller …………………………………………………………………………………………………………….14
4.1 ស្ថាបត្យកម្មដំណើរការ……………………………………………………………………………………………………………………………………។ ១៤ ៤.២ ការណែនាំកំណត់៖ ……………………………………………………………………………………………………………………….. 14 ៤.៣ ៨០៥១ CORES ការចុះឈ្មោះដំបូង…………………………………………………………………………………………………………………………………….. ១៥
5 រចនាសម្ព័ន្ធអង្គចងចាំ …………………………………………………………………………………………………………………………………… ១៧
5.1 ការណែនាំ………………………………………………………………………………………………………………………………………………….. 17 5.2 ការចុះឈ្មោះលក្ខណៈពិសេសពិសេស SSFR………………………………………………………………………………………………………………………. 18 5.3 ការចុះឈ្មោះដែនជានិច្ច (AON REG) ………………………………………………………………………………………………………………. 19 5.4 ទម្រង់ការចូលដំណើរការនៃការចងចាំ …………………………………………………………………………………………………………….. 19
6 កំណត់រចនាសម្ព័ន្ធឡើងវិញ…………………………………………………………………………………………………………………………………… 20
7 រចនាសម្ព័ន្ធនាឡិកា……………………………………………………………………………………………………………………………………..20
7.1 CLOCK Source…………………………………………………………………………………………………………………………………….. 20 7.2 CLOCK CALIBRATION …………………………………………………………………………………………………………………………………………………. 22 7.3 CLOCK FREQUENCY DIVISION …………………………………………………………………………………………………………….. 22 7.4 CLOCK GATE CONTROL ……………………………………………………………………………………………………………………………………. 22 7.5 ការចុះឈ្មោះដែលពាក់ព័ន្ធ…………………………………………………………………………………………………………………………………………………. ២៦
8 ការរំខាន និងការភ្ញាក់……………………………………………………………………………………………………………………….27
8.1 សេចក្តីផ្តើម…………………………………………………………………………………………………………………………………….. 27 8.2 WAKEUP SOURCE ……………………………………………………………………………………………………………………….. 27 8.3 ការរំខានប្រភព និងការគ្រប់គ្រងការរំខាន ………………………………………………………………………………………………………… APP 28 8.4 ផ្ទៃខាងក្រៅ។ ៨.៥ ការចុះឈ្មោះដែលទាក់ទង ………………………………………………………………………………………………………………………………………………… ៣២
9 GPIO MODULE ………………………………………………………………………………………………………………………………………..34
9.1 មុខងារជាមូលដ្ឋាន …………………………………………………………………………………………………………………………….. 34 9.2 ការណែនាំអំពីរចនាសម្ព័ន្ធ GPIO ……………………………………………………………………………………………………………………… 34 9.3 ជីភីអូ ឌីជីថល ជីភីអូ …………………………………………………………………………………………………………………………………… 36

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 4/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
9.4 GPIO DIGITAL OUTPUT ……………………………………………………………………………………………………………………… 36 9.5 GPIO ANALOG Input និង Output ……………………………………………………………………………………………………………. 37 9.6 ការធ្វើផែនទីបញ្ចូលទិន្នន័យឌីជីថល GPIO…………………………………………………………………………………………………………………. 37 9.7 ការគូសផែនទីទិន្នផលឌីជីថល GPIO ………………………………………………………………………………………………………………………. 39 9.8 GPIO LEVEL Flipping Detection ………………………………………………………………………………………………………………………. 45 9.9 ការចុះឈ្មោះដែលទាក់ទង ………………………………………………………………………………………………………………………………………………… 47
10 TIMER0 ម៉ូឌុល…………………………………………………………………………………………………………………………………….49
10.1 មុខងារមូលដ្ឋាន …………………………………………………………………………………………………………………………….. 49 10.2 TIMER0 MODE0…………………………………………………………………………………………………………………………………… 49 10.3 TIMER0 MODE1…………………………………………………………………………………………………………………………………… 50 10.4 TIMER0 MODE2…………………………………………………… RISTER 50 …………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ៥១
11 TIMER1 ម៉ូឌុល…………………………………………………………………………………………………………………………………….52
11.1 មុខងារមូលដ្ឋាន …………………………………………………………………………………………………………………………….. 52 11.2 TIMER1 MODE0…………………………………………………………………………………………………………………………………… 52 11.3 TIMER1 MODE1…………………………………………………………………………………………………………………………………… 53 11.4 TIMER1 MODE2…………………………………………………… RISTER 53 …………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ៥១
12 SPI MODULE ………………………………………………………………………………………………………………………………………..55
12.1 មុខងារមូលដ្ឋាន ……………………………………………………………………………………………………………………………………….. 55 12.2 ការកំណត់រចនាសម្ព័ន្ធ Option ……………………………………………………………………………………………………………………… 56 12.3 របៀបធ្វើការ……………………………………………………………………………………………………………………………………….. 57 12.4 ស្ថានភាពទង់ជាតិ……………………………………………………………………………………………. ចុះឈ្មោះ…………………………………………………………………………………………………………………………………… ៥៩
13 UART MODULE …………………………………………………………………………………………………………………………………….60
13.1 មុខងារជាមូលដ្ឋាន …………………………………………………………………………………………………………………………….. 60 13.2 SYNCHRONOUS SHIFT MODE (MODE0) ………………………………………………………………………………………………………… 60 13.3 ASYNCHRONOUS FULL-DUPLEX MODE with CONFIGURABLE MODE ………………………… 1 RATE (3 RATE) 62 ASYNCHRONOUS FULL-DUPLEX MODE with Fixed BAUD RATE (MODE 13.4) ……………………………………………………………….. 2 65 ENHANCED MODE OF USART ……………………………………………………………………………………………………………………… 13.5 66 ការចុះឈ្មោះដែលពាក់ព័ន្ធ ……………………………………………………………………………… 13.6
14 កម្មវិធីកំណត់ម៉ោង A/TIMER B ម៉ូឌុល……………………………………………………………………………………………………………………… 69
14.1 វិធីសាស្រ្តប្រតិបត្តិការ …………………………………………………………………………………………………………………………………….. 70 14.2 UP MODE …………………………………………………………………………………………………………………………………….. 71 14.3 របៀបបន្ត…………………………………………………………………………………………………………………………………… 72 14.4 UP/DOWN MODE 73.………………………………………………………………… ម៉ូឌុលចាប់យក/ប្រៀបធៀប ……………………………………………………………………………………………………………………… 14.5 75 EXAMPLES FOR VARIOUS MODES ……………………………………………………………………………………………………………………….. 77 14.7 ការចុះឈ្មោះដែលទាក់ទង ………………………………………………………………………………………………………………………………………………… 79

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 5/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
15 ម៉ូឌុល WATCHDOG (WDT) …………………………………………………………………………………………………………….80 15.1 មុខងារមូលដ្ឋាន ………………………………………………………………………………………………………………………………….. 80 15.2 ការចុះឈ្មោះដែលទាក់ទង ………………………………………………………………………………………………………………………………………………… 80
16 ពេលវេលាគេង ……………………………………………………………………………………………………………..81 16.1 មុខងារមូលដ្ឋាន ……………………………………………………………………………………………………………………………………. 81 16.2 ការកំណត់ LPOSC …………………………………………………………………………………………………………………………………… 81 16.3 ការចុះឈ្មោះដែលទាក់ទង 81……………………………………………………………………………………………
17 អ្នកប្រៀបធៀប……………………………………………………………………………………………………………………………………..82 17.1 COMPARATOR ANALOG INPUT ……………………………………………………………………………………………………………………… 82 17.2 COMPARATOR REFERENCE VOLTAGអ៊ី…………………………………………………………………………………………………………….. 83 17.3 របៀបធ្វើការប្រៀបធៀប ………………………………………………………………………………………………………………………….. 83 17.4 ការចុះឈ្មោះដែលទាក់ទង …………………………………………………………………………………………………………………………………… 83
18 វ៉ុលទាបTAGE RESET (LVR) …………………………………………………………………………………………………………………………………….84 19 LOW VOLTAGអ៊ី ម៉ូឌុលការរកឃើញ ……………………………………………………………………………………………………………………….84
19.1 មុខងារមូលដ្ឋាន ………………………………………………………………………………………………………………………….. 84 19.2 ការចុះឈ្មោះដែលទាក់ទង …………………………………………………………………………………………………………………………………… 85 20 ម៉ូឌុលបញ្ជូនរង 1G ………………………………………………………………………………………………………………………..85 20.1 ការណែនាំ………………………………………………………………………………………………………………………. វិធីសាស្ត្របញ្ចេញ …………………………………………………………………………………………………………………………………….. 85 20.2 ដំណើរការបញ្ជូននៃរបៀបទ្រនាប់ …………………………………………………………………………………………………… 86 20.3 ដំណើរការបញ្ជូននៃរបៀបផ្ទាល់…………………………………………………………………………………………………………. 86 20.4 ការចុះឈ្មោះដែលពាក់ព័ន្ធ ……………………………………………………………………………………………………………………………………… 88 20.5 កញ្ចប់ក្រៅប្រព័ន្ធ……………………………………………………………………………………………………………………….89 21 CMT90A-ESR21.1 កញ្ចប់ ………………………………………………………………………………………………………………………. 2186 14 CMT90A-ESR21.2 កញ្ចប់ ………………………………………………………………………………………………………………………. 2186 16 ការបោះពុម្ពសូត្រកំពូល……………………………………………………………………………………………………………………….91 22 ឯកសារពាក់ព័ន្ធផ្សេងទៀត………………………………………………………………………………………………………….92 23 កែប្រែប្រវត្តិ…………………………………………………………………………………………………………………………………………………..93 24 ទំនាក់ទំនង……………………………………………………………………………………………………………………………………. ក!……………………………………………………………………………………………………………………………………………………………….94

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 6/100 ទំព័រ

www.hoperf.com

1 ស្ថាបត្យករប្រព័ន្ធ

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

បង្កប់ជាមួយឧបករណ៍បញ្ជូនរង 1 GHz OOK/ASK CMT2186A គឺជា MCU ឥតខ្សែ 8051 ដែលមានប្រសិទ្ធភាពខ្ពស់។ កម្មវិធីអ្នកប្រើប្រាស់ត្រូវបានដុតក្នុង 4K Bytes MTP ដែលអាចត្រូវបានដំណើរការនៅប្រេកង់នាឡិការហូតដល់ 26MHz ។ បន្ទះឈីបរួមបញ្ចូលម៉ូឌុលសំខាន់ៗខាងក្រោម៖

ស្នូល 8051 ដំណើរការខ្ពស់ជាមួយនឹងសៀគ្វីបំបាត់កំហុសតាមអ៊ីនធឺណិត 1-Wire; ធនធានឌីជីថល និងអាណាឡូកសម្បូរបែប។ Sub-1G OOK / ASK ម៉ូឌុលបញ្ជូនដែលបានកែប្រែ

1- ខ្សែ (D10)

1-Wire Debug Hardware

កំណត់ថាមពលឡើងវិញ

កំណត់ឡើងវិញ

ស្នូល / Momory 1T-8051 ស្នូល 4K-Byte MTP 512-Byte XRAM

ការត្រួតពិនិត្យការផ្គត់ផ្គង់
RSTn (D0)

256-Byte IRAM 16 x 32b EEPROM

ការរំខានដល់ការភ្ញាក់

ដែន AON

កម្មវិធីកំណត់ម៉ោងឃ្លាំមើលឯករាជ្យ

I/O ផ្លាស់ប្តូរការស្កេន

កម្មវិធីកំណត់ម៉ោងគេង

AON REG

INT

ឡានក្រុង

XTAL

D0,1,2…

LFOSC_CLK

ការកំណត់រចនាសម្ព័ន្ធនាឡិកា

32 kHz LFOSC

24 MHz HFOSC

0

/ ន

1

26 MHz XOSC

MCU_CLK SYS_CLK TX_CLK

ឌីវីឌី GND

DLDO

ULPLDO

ឡានក្រុង SFR

ការកំណត់រចនាសម្ព័ន្ធច្រក I/O

គ្រឿងកុំព្យូទ័រឌីជីថលជំរុញដោយ MCU_CLK
កម្មវិធីកំណត់ម៉ោង 16 ប៊ីត 0
កម្មវិធីកំណត់ម៉ោង 16 ប៊ីត 1
UART
ច្រក 0
ច្រក 1
គ្រឿងកុំព្យូទ័រឌីជីថលជំរុញដោយ SYS_CLK
កម្មវិធីកំណត់ម៉ោង ១៦ ប៊ីត SPI A
3ch PCA w/ PWM 16-bit Timer B 3ch PCA w/ PWM RX CDR

GPIO MUX
អ្នកបើកបរ

ឧបករណ៍ប្រៀបធៀបអាណាឡូក 0 ឧបករណ៍ប្រៀបធៀប 1
LBD

ឧបករណ៍បញ្ជូនរង 1Ghz ASK / OOK Modulator

PLL

ការបែងចែក

PA

D0,1,2…
AVDD TX

គំនូសតាង 1- 1. ដ្យាក្រាមប្លុកប្រព័ន្ធ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 7/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
2 ដំណើរការប្រព័ន្ធ និងរបៀបធ្វើការ
2.1 ដំណើរការប្រព័ន្ធ
ដំណើរការប្រព័ន្ធនៃ CMT2186A ត្រូវបានបង្ហាញដូចខាងក្រោម:

ថាមពល POR នៅលើកំណត់ឡើងវិញ កំណត់ម្ជុល RSTn ឡើងវិញ
BOR វ៉ុលtage detection reset Watchdog reset

បើកថាមពលដំបូង

បាទឧបករណ៍ដុត

របៀបដុត MTP

MTP តាមរយៈ S3S

ទេ

បាទ របៀបបំបាត់កំហុសលើអ៊ីនធឺណិត
ទេ

កម្មវិធីបំបាត់កំហុសទាញយកកម្មវិធីតាមរយៈ 1-Wire និង
បំបាត់កំហុសវា។

ការគ្រប់គ្រងខាងក្នុងកំឡុងពេលបើកថាមពលដំបូង
(ការកែម៉ូឌុល ការកំណត់រចនាសម្ព័ន្ធ MTP មានប្រសិទ្ធភាព)

ការបិទថាមពលពេញលេញ

ប្រតិបត្តិការកូដអ្នកប្រើប្រាស់

ចូលទៅក្នុង

ទេ

បិទ

បាទ

របៀបបិទ

គ្មានការចូលទៅក្នុង IDLE
បាទ
CPU ត្រូវបានផ្អាកក្នុងស្ថានភាព IDLE

ហាមចូលទៅក្នុង STOP
បាទ
ដោះសោ ULPLDOIn Sleep State Retention)

បាទ

POR ឬ

ទេ

RSTn កំណត់ឡើងវិញ

បាទ

ទេ

រំខានការភ្ញាក់

គ្មានការរំខានការភ្ញាក់
បាទ
ដោះសោ DLDO និងនាឡិកា
ចាប់ផ្ដើម MTP ឡើងវិញ

គំនូសតាង 2- 1. គំនូសតាងដំណើរការប្រព័ន្ធ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 8/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ដូចដែលបានបង្ហាញក្នុងតារាងខាងលើ ការបើកដំណើរការបន្ទះឈីបដំបូងត្រូវបានបង្កឡើងដោយបើកដំណើរការឌីវីឌីឌីវីឌី និងកំណត់ POR ឡើងវិញ។ នៅពេលដែលម្ជុល RSTn និង BOR voltagការរកឃើញ e ត្រូវបានកំណត់ឡើងវិញ ក៏ដូចជាការកំណត់ឡើងវិញរបស់ watchdog មានប្រសិទ្ធភាព បន្ទះឈីបនឹងចូលទៅក្នុងដំណើរការបើកថាមពល ដែលក្រោយមកត្រូវបានគេហៅថា "ការបើកថាមពល"។ បន្ទាប់ពីបើកថាមពល បង្អួចពេលវេលា 6 ms នឹងត្រូវបានបើក ហើយប្រសិនបើពាក្យបញ្ជាដុតដែលបង្កឡើងដោយច្រកសៀរៀល S3S ត្រូវបានរកឃើញនៅក្នុងបង្អួចនោះ វានឹងចូលទៅក្នុងរបៀបដុត ដែលអនុញ្ញាតឱ្យកម្មវិធីដុតដុត MTP ខាងក្នុង។ ប្រសិនបើពាក្យបញ្ជាបំបាត់កំហុសដែលបង្កឡើងដោយចំណុចប្រទាក់ 1-Wire ត្រូវបានរកឃើញនៅក្នុងបង្អួច វាចូលទៅក្នុងរបៀបបំបាត់កំហុស ដែលអនុញ្ញាតឱ្យអ្នកប្រើបំបាត់កំហុសកូដអ្នកប្រើប្រាស់តាមរយៈកម្មវិធី Keil C51 និងកម្មវិធីបំបាត់កំហុស។ បន្ទាប់ពីការដុត ឬបំបាត់កំហុសបានបញ្ចប់ បន្ទះឈីបត្រូវបិទមុនពេលប្រតិបត្តិការផ្សេងទៀតដើម្បីបើកដំណើរការម្តងទៀត។

ប្រសិនបើរបៀបដុត ឬរបៀបបំបាត់កំហុសមិនត្រូវបានកេះក្នុងរយៈពេល 6 ms បន្ទាប់ពីបើកថាមពល បន្ទះឈីបនឹងបន្តដំណើរការខាងក្នុងនៃការបើកថាមពលដំបូង រួមទាំងការកែតម្រូវថាមពល និងនាឡិកា និងការកំណត់រចនាសម្ព័ន្ធនៅក្នុងតំបន់ MTP Config ។ បន្ទាប់មកលេខកូដអ្នកប្រើប្រាស់នឹងចាប់ផ្តើមដំណើរការពីអាសយដ្ឋាន 0x0000 ក្នុងអំឡុងពេលដែលអ្នកប្រើប្រាស់អាចកំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះដើម្បីដាក់បន្ទះឈីបទៅក្នុងរបៀប SDN, IDLE ឬ STOP ។ នៅក្នុងរបៀប SDN វាអាចដាស់បានតែដោយការបើកថាមពលឡើងវិញ ឬកំណត់ម្ជុលខាងក្រៅឡើងវិញ។ នៅក្នុងរបៀប IDLE វាអាចភ្ញាក់ឡើងដោយការរំខានដែលបណ្តាលមកពីការផ្លាស់ប្តូរកម្រិត I/O ឬការបញ្ច្រាសទិន្នផលរបស់ឧបករណ៍ប្រៀបធៀប។ នៅក្នុងរបៀប STOP អ្នកប្រើប្រាស់អាចដាស់ការរំខានដែលបណ្តាលមកពីការផ្លាស់ប្តូរកម្រិត I/O ការអស់ពេលនៃការគេង ឬលទ្ធផលប្រៀបធៀប បន្ទាប់ពីនោះអ្នកប្រើប្រាស់អាចបើក DLDO នាឡិកា និង MTP នៃការផ្គត់ផ្គង់ថាមពលសៀគ្វីឌីជីថល ដូច្នេះលេខកូដអ្នកប្រើប្រាស់អាចធ្វើឱ្យបន្ទះឈីបដំណើរការនៅក្រោមស្ថានភាពមុនពេលគេង។

2.2 របៀបដំណើរការប្រព័ន្ធ

បន្ទះឈីបមានរបៀបធ្វើការបួនដូចខាងក្រោម៖

តារាង 2-1 ។ របៀបធ្វើការនៃ CMT2186A

របៀបធ្វើការធម្មតា IDLE
បញ្ឈប់ (រក្សាទុក)
SDN

ការពិពណ៌នា
ស្ថានភាពធម្មតា
DLDO បើកដំណើរការ System ClockHFOS ឬ XOSCenabled CPU kernal suspended peripherals work ULPLDO enabled System ClockHFOS ឬ XOSCdisabled CPU core save all storage, peripheral
ការកំណត់រចនាសម្ព័ន្ធ៖ និងរដ្ឋ។ បានបើក LFOSC ម៉ូឌុល Always-On និង
ការងារប្រៀបធៀបស្ថានភាព GPIO នៅតែមិនផ្លាស់ប្តូរ ULPLDO បិទប្រព័ន្ធ ClockHFOS ឬ XOSCdisabled

របៀប
កម្មវិធីអ្នកប្រើប្រាស់នឹងបញ្ចូលដោយស្វ័យប្រវត្តិបន្ទាប់ពីដុត និងបើកដំណើរការ
កំណត់ IDLE bit នៅក្នុងការចុះឈ្មោះ PCON
កំណត់ STOP bit នៅក្នុងការចុះឈ្មោះ PCON
កំណត់ SLEEP bit នៅក្នុងការចុះឈ្មោះ AON_SFR_03
1.កំណត់ប៊ីត PD_LFOSC ក្នុងការចុះឈ្មោះ AON_SFR_04 ដើម្បីបិទ LFOSC ។

ប្រភពភ្ញាក់
គ្មាន
ការផ្លាស់ប្តូរកម្រិត I/O លទ្ធផលប្រៀបធៀប

ការផ្លាស់ប្តូរកម្រិត I/O

ឧបករណ៍ប្រៀបធៀប

ទិន្នផលត្រឡប់

គេង

កម្មវិធីកំណត់ម៉ោង

អស់ពេល

ការផ្លាស់ប្តូរកម្រិត I/O Power on reset

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 9/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

របៀបធ្វើការ

ការពិពណ៌នា

របៀប

ប្រភពភ្ញាក់

ស្នូលស៊ីភីយូរក្សាទុកការផ្ទុកទាំងអស់ គ្រឿងកុំព្យូទ័រ 2.កំណត់ប៊ីត TIMER_SLEEP_EN ក្នុងការកំណត់ម្ជុល RSTn ឡើងវិញ

ការកំណត់រចនាសម្ព័ន្ធ៖ និងរដ្ឋ។

HV_SFR_02 ចុះឈ្មោះដើម្បីបិទ

បានបើក LFOSC ម៉ូឌុល Always-On និងកម្មវិធីកំណត់ម៉ោងគេង។

បានបិទឧបករណ៍ប្រៀបធៀប

3. កំណត់ STOP bit នៅក្នុង PCON

ស្ថានភាព GPIO នៅតែមិនផ្លាស់ប្តូរ

4. កំណត់ SLEEP bit នៅក្នុង

AON_SFR_03

ប្រៀបធៀបពីការប្រើប្រាស់ថាមពលនៅក្នុងរបៀបទាំងបួន ធម្មតា > IDLE > STOP > SDN ។ CMT2186A មានម្ជុលថាមពលពីរ AVDD ផ្គត់ផ្គង់ថាមពលទៅសៀគ្វី RF ខាងក្នុង និង DVDD ផ្គត់ផ្គង់ថាមពលទៅម៉ូឌុលឌីជីថល Always-On និងម៉ូឌុលអាណាឡូក លើកលែងតែ RF ។ ម៉ូឌុលឌីជីថលភាគច្រើនដំណើរការក្រោម DLDO ដែលភ្ជាប់មកជាមួយ ហើយអាចប្តូរទៅការផ្គត់ផ្គង់ថាមពល ULPLDO នៅ STOP ដើម្បីសម្រេចបាននូវរបៀបរក្សាការលេចធ្លាយទាប។

របៀបរក្សាទុកអនុញ្ញាតឱ្យបន្ទះឈីបងើបឡើងវិញពីស្ថានភាពមុនរបស់វាភ្លាមៗបន្ទាប់ពីការដាស់ STOP ហើយបន្តដំណើរការដោយមិនចាំបាច់ចាប់ផ្តើមកម្មវិធីឡើងវិញ។ នៅក្នុងរបៀបរក្សាទុកទិន្នន័យ RAM ទាំងអស់ត្រូវបានរក្សាទុក។ ទិន្នន័យ MTP និង EEPROM អាចត្រូវបានរក្សាទុកដោយគ្មានថាមពល។

តារាង 2-2 ។ CMT2186A រក្សាទុកមាតិកានៅក្នុងរបៀបបញ្ឈប់

ការផ្ទុក
MTP EEPROM
IRAM XRAM

ការរក្សាទុកទិន្នន័យ

របៀបផ្គត់ផ្គង់ថាមពល File រក្សាទុក File រក្សាទុក ULPLDO ULPLDO

នៅក្នុងរបៀបរក្សាទុក ទាំងការកំណត់ការបើកថាមពលឡើងវិញ (POR) និងវ៉ុលតាមពេលវេលាជាក់ស្តែងtage Monitor (Power Monitor) នៅតែស្ថិតក្នុងស្ថានភាពដំណើរការ។ បញ្ជីខាងក្រោមថាតើម៉ូឌុលមុខងារទាំងអស់រក្សាទុកការកំណត់រចនាសម្ព័ន្ធ SFR និងស្ថានភាពការងារ ថាតើវាដំណើរការឬអត់ និងរបៀបផ្គត់ផ្គង់ថាមពលដែលត្រូវគ្នារបស់ពួកគេ។

តារាង 2-2 ។ CMT2186A រក្សាទុកមាតិកានៅក្នុងរបៀបបញ្ឈប់

លេខ

ឈ្មោះម៉ូឌុល

ការកំណត់រចនាសម្ព័ន្ធ រក្សាទុករដ្ឋ
បានរក្សាទុក

ស្ថានភាពការងារ

របៀបផ្គត់ផ្គង់ថាមពល

1

មើលកម្មវិធីកំណត់ពេលវេលាឆ្កែ

ឌីវីឌីឌី

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 10/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

លេខ

ឈ្មោះម៉ូឌុល

ការកំណត់រចនាសម្ព័ន្ធ រក្សាទុករដ្ឋ
បានរក្សាទុក

ស្ថានភាពការងារ

របៀបផ្គត់ផ្គង់ថាមពល

2

កម្មវិធីកំណត់ម៉ោងគេង

ឌីវីឌីឌី

3

ស្កេនសោ

ឌីវីឌីឌី

4

អ្នកប្រៀបធៀប 0

ឌីវីឌីឌី

5

អ្នកប្រៀបធៀប 1

ឌីវីឌីឌី

6

ចុះឈ្មោះ UID & CFG

×

ឌីវីឌីឌី

7

ស្ថានភាពកំណត់រចនាសម្ព័ន្ធ IO

×

ឌីវីឌីឌី

8

1T-8051 ស្នូល

×

ULPLDO

9

ឧបករណ៍កំណត់ពេលវេលា ០

×

ULPLDO

10

ឧបករណ៍កំណត់ពេលវេលា ០

×

ULPLDO

11

UART

×

ULPLDO

12

ច្រក 0

×

ULPLDO

13

ច្រក 1

×

ULPLDO

14

SPI

×

×

ULPLDO

15

កម្មវិធីកំណត់ម៉ោង A

×

×

ULPLDO

16

កម្មវិធីកំណត់ម៉ោង ខ

×

×

ULPLDO

17

CDR

×

×

ULPLDO

18

ឧបករណ៍បញ្ជូនរង 1G

×

×

ULPLDO

19

LBD

×

×

បិទថាមពល

20

1- បំបាត់កំហុសខ្សែ

×

×

×

បិទថាមពល

នៅក្នុងតារាងខាងលើ ម៉ូឌុលលេខ 1-7 មាននៅក្នុងតំបន់ Always-On (បើកដំណើរការជានិច្ច) ដែលត្រូវបានសំដៅ

ទៅជាតំបន់ AON ខាងក្រោម។ តំបន់នេះត្រូវបានបំពាក់ដោយផ្ទាល់ដោយ DVDD ហើយការលេចធ្លាយនៃម៉ូឌុលគឺតូចណាស់។

នៅពេលដែលវាមិនដំណើរការ។ ក្នុង​ចំណោម​នោះ ឧបករណ៍​ឃ្លាំ​មើល កម្មវិធី​កំណត់​ម៉ោង​គេង ការ​ស្កេន​សោរ និង​ឧបករណ៍​ប្រៀបធៀប​ពីរ​អាច​បើក​បាន​ទាំងអស់។

ឬបិទក្នុងរបៀប STOP យោងទៅតាមការកំណត់អ្នកប្រើប្រាស់។ ទោះយ៉ាងណាក៏ដោយ ការកំណត់រចនាសម្ព័ន្ធ IO និងស្ថានភាពមិនផ្លាស់ប្តូរទេ។

នៅក្នុងរបៀប STOP នៅក្នុងការចុះឈ្មោះ UID & CFG ។

ស្នូលស៊ីភីយូ និងគ្រឿងកុំព្យូទ័រនៃម៉ូឌុលពី 8 ដល់ 13 ត្រូវបានជំរុញដោយ MCU_CLK ។ ការកំណត់រចនាសម្ព័ន្ធ និងស្ថានភាពបច្ចុប្បន្នទាំងអស់នៃផ្នែកនៃសៀគ្វីនេះត្រូវបានរក្សាទុកក្នុងទម្រង់ STOP ដោយមិនមានប្រតិបត្តិការផ្សេងទៀតទេ។

ម៉ូឌុលនៃ 14 – 18 គឺជាគ្រឿងកុំព្យូទ័រដែលជំរុញដោយ SYS_CLK ដែលការកំណត់រចនាសម្ព័ន្ធសៀគ្វីទាំងអស់ត្រូវបានរក្សាទុកនៅក្រោមរបៀប STOP ខណៈពេលដែលមិនបានរក្សាទុកកន្លែងធ្វើការបច្ចុប្បន្ន។ អ្នក​ប្រើ​មិន​ចាំបាច់​កំណត់​រចនាសម្ព័ន្ធ​ម៉ូឌុល​ឡើង​វិញ​បន្ទាប់​ពី​ភ្ញាក់​ពី​ដំណេក​ទេ ហើយ​នឹង​ចាប់​ផ្តើម​ធ្វើ​ការ​ម្ដង​ទៀត ដែល​ដូច​ជា​ការ​កំណត់​ម៉ូឌុល​ឡើង​វិញ​ដោយ​ស្វ័យ​ប្រវត្តិ។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 11/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ម៉ូឌុល 19 -20 គឺជាម៉ូឌុលបិទថាមពលនៅក្រោមរបៀប STOP ដែលនឹងមិនរក្សាទុកមាតិកាណាមួយឡើយ។
2.3 យន្តការការពារ
ដើម្បីធានាសុវត្ថិភាពបន្ទះឈីបបន្ទាប់ពីការដុត មានយន្តការសុវត្ថិភាពដែលត្រូវបានរចនាឡើងនៅខាងក្នុងបន្ទះឈីប។ មានប៊ីតការពារ READ_LOCK នៅក្នុងតំបន់កំណត់រចនាសម្ព័ន្ធនៃ MTP ។ នៅពេលដែលប៊ីតការពារនេះត្រូវបានដុត កូដអ្នកប្រើប្រាស់ និងការកំណត់រចនាសម្ព័ន្ធ MTP មិនអាចអានដោយ S3S បានទេ។ ប្រសិនបើអ្នកប្រើត្រូវការដោះសោ MTP អាចត្រូវបានដុតឡើងវិញតាមរយៈកម្មវិធីដុត ដែលក្នុងអំឡុងពេលនោះកូដអ្នកប្រើប្រាស់ដើម និងការកំណត់រចនាសម្ព័ន្ធនឹងត្រូវបានលុប រួមទាំងប៊ីត READ_LOCK ផងដែរ។
3 ការបំបាត់កំហុស និងការដុតចំណុចប្រទាក់
3.1 1-WIRE ការបំបាត់កំហុសលើអ៊ីនធឺណិត និងការដុតចំណុចប្រទាក់
CMT2186A អាចភ្ជាប់ទៅកុំព្យូទ័រតាមរយៈកម្មវិធីត្រាប់តាម CMT2186A នៃ CMOSTEK សម្រាប់ការបំបាត់កំហុសលើអ៊ីនធឺណិត និងការដុត MTP ។ ខាងក្រោមនេះបង្ហាញពីតួលេខនៃការភ្ជាប់ឧបករណ៍ និងការតភ្ជាប់ចំណុចប្រទាក់រវាងអ្នកបំបាត់កំហុស និង CMT2186A។ វាគួរតែត្រូវបានកត់សម្គាល់ថាចំណុចប្រទាក់បំបាត់កំហុស 1-Wire ត្រូវការដើម្បីកាន់កាប់ម្ជុល D10 ហើយវាត្រូវបានណែនាំអោយអ្នកប្រើប្រាស់ទុកលេខសម្ងាត់នេះឱ្យនៅទទេកំឡុងដំណាក់កាលបំបាត់កំហុស។ ការដុត MTP ត្រូវបានអនុវត្តតាមរយៈចំណុចប្រទាក់ S3S បីខ្សែ។

SMA

ដំណើរការ COM USB

CMT2186A

LED

K1

K2

K3

K4

CMOSTEK
www.cmostek.com

ក្លែងធ្វើ
CMT2186A

CMT2186A 1-Wire Simulator

USB B-TYPE

CMT2186A-EB ឬ CMT2186A-DM
គំនូសតាង 3-1 ។ 1- ដ្យាក្រាមតភ្ជាប់ឧបករណ៍ខ្សែ

ចំណុចប្រទាក់បំបាត់កំហុសតាមអ៊ីនធឺណិត 1-WIRE មុខងារទូទៅអាចសម្រេចបាននៅក្នុង Keil C51 platform៖ ដំណើរការពេញល្បឿន បញ្ឈប់ ការប្រតិបត្តិជំហានតែមួយ ការប្រតិបត្តិច្រើនជំហាន និងរបៀបបំបាត់កំហុសផ្សេងទៀត; ការគាំទ្រសម្រាប់ចំណុចបំបែកកម្មវិធី (តាមអំពើចិត្ត); គាំទ្រចំណុចបំបែកផ្នែករឹងចំនួន 3 អាន និងសរសេរ R0~R7 ដែលជាផ្នែកនៃការចុះឈ្មោះស្ថានភាពប្រព័ន្ធ អង្គចងចាំ និងឧបករណ៍ផ្ទុកខាងក្នុងផ្សេងទៀត។ កំណត់ឡើងវិញនូវនិមិត្តសញ្ញា RST បិទការកែប្រែអាចសម្រេចបានដោយប្រើច្រកចេញ៖ ដើម្បីភ្ជាប់ឡើងវិញ។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 12/100 ទំព័រ

www.hoperf.com

រត់, បញ្ឈប់, ជំហាន

ចំណុចបំបែក

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

ស្ថានភាពប្រព័ន្ធ និង r0 ~ r7

ទិន្នន័យអង្គចងចាំ

គំនូសតាង 3-2 ។ 1- រូបថតអេក្រង់បំបាត់កំហុសនៅលើ Keil C51
3.2 ចំណុចប្រទាក់ដុតឡានក្រុង S3S
ឡានក្រុង S3S ត្រូវបានប្រើសម្រាប់ការដុត MTP ដែលត្រូវបានកំណត់ចំពោះឧបករណ៍ដុត និងផលិត ហើយជាទូទៅមិនបើកសម្រាប់អ្នកប្រើប្រាស់ទេ។ ប្រសិនបើវាត្រូវបានទាមទារដើម្បីដឹងពីពេលវេលាជាក់លាក់ និងពិធីការទំនាក់ទំនងនៃឡានក្រុង S3S សូមទាក់ទងផ្នែកលក់ ឬភ្នាក់ងាររបស់ HOPERF ។

SMA

ដំណើរការ COM USB

CMT2186A

LED

K1

K2

K3

K4

CMOSTEK

អ្នកសរសេរកម្មវិធី

www.cmostek.com CMT216xA & CMT2186A

CMT2186A 1-Wire Simulator

USB B-TYPE

CMT2186A-EB ឬ CMT2186A-DM
គំនូសតាង 3-3 ។ ដ្យាក្រាមតភ្ជាប់ឧបករណ៍ដុតតាមអ៊ីនធឺណិត

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 13/100 ទំព័រ

www.hoperf.com

XTAL
CMT2186A-ESR16
SOP16
GND DVDD & AVDD

5
X1
8 2 & 7

D6/S3S_CSB 11 D7/S3S_SCL 15 D8/S3S_SDA 14

13 D10/1-Wire

GND VCC

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

ចំណុចប្រទាក់កម្មវិធីដុត / ក្លែងធ្វើ

2

1

S3S_CSB/D6

4

3

6

5

8

7

10

9

S3S_SCL/D7 S3S_SDA/D8 1-Wire/D10

សម្រាប់តែម៉ាស៊ីនក្លែងធ្វើប៉ុណ្ណោះ។

គំនូសតាង 3-4 ។ ការដុត/ក្លែងធ្វើដ្យាក្រាមតភ្ជាប់ចំណុចប្រទាក់

4 ឧបករណ៍បញ្ជាខ្នាតតូច T8051XC3

4.1 ស្ថាបត្យកម្មដំណើរការ
CMT2186A ទទួលយក T8051XC3 ជាឧបករណ៍បញ្ជាស្នូលនៃប្រព័ន្ធ រួមទាំងខឺណែល 1T-8051 ដែលបានកែលម្អ ការណែនាំប្រតិបត្តិការរយៈពេលតែមួយ ដែលត្រូវគ្នានឹងសៀរៀលពាក្យបញ្ជា MCS-51 ។ រចនាសម្ព័ន្ធត្រូវបានបង្ហាញជាគំនូសតាង 4-1 ។

កូដ / XDATA
IDATA

ស្នូលស៊ីភីយូ ALU
ឌិកូដ BIU

T8051XC3

PMU

ការគ្រប់គ្រងការរំខាន

ឧបករណ៍កំណត់ពេលវេលា ០

ឧបករណ៍កំណត់ពេលវេលា ០

SFR

1- បំបាត់កំហុសខ្សែ

សៀរៀល ២

ច្រក 0

ច្រក 1

គំនូសតាង 4- 1. ដ្យាក្រាមប្លុកប្រព័ន្ធ T8051XC3

ដូចដែលបានបង្ហាញនៅក្នុងរូបភាព T8051XC3 រួមមានផ្នែកដូចខាងក្រោមៈ

ស្នូលស៊ីភីយូត្រូវបានផ្សំឡើងដោយឯកតាចំណុចប្រទាក់ឡានក្រុង BIU អង្គភាពឌិកូដឌិកូដការណែនាំ និង ALU

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 14/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ឯកតាតក្កវិជ្ជានព្វន្ធ អង្គភាពគ្រប់គ្រងថាមពលគាំទ្ររបៀប IDLE និង STOP អង្គភាពបញ្ជាការរំខានគាំទ្រដល់ការរំខានខាងក្រៅរហូតដល់ 8 ជាមួយនឹងកម្រិត 2 កម្រិត 0 អន្តរការីគ្រប់គ្រងអាទិភាព ឧបករណ៍កំណត់ម៉ោង 1 កម្មវិធីកំណត់ម៉ោង 0 និងឧបករណ៍កំណត់ម៉ោង 11 ច្រកសៀរៀលមួយច្រកសៀរៀល 0 អាចអនុវត្តរបៀប UART ច្រកប៉ារ៉ាឡែល 1 ប៊ីត ច្រកប៉ារ៉ាឡែល 1 ប៊ីត Port1 និង PortXNUMX[XNUMX] ត្រូវបានកំណត់ត្រឹមចំនួន IXNUMX/O ។
មានក្នុងកម្រិតទាប 0-3 bits Single-wire (1-WIRE) ម៉ូឌុលបំបាត់កំហុសតាមអ៊ីនធឺណិត គាំទ្រ Keil C51 platform សម្រាប់កម្មវិធី software
ការអភិវឌ្ឍន៍ និងការបំបាត់កំហុស

ចំណាំ៖ [1] Port0 និង Port1 ភ្ជាប់មកជាមួយខឺណែល T8051XC3 ហើយមិនស្មើនឹង GPIO នៃបន្ទះឈីបដោយផ្ទាល់នោះទេ។ បើប្រៀបធៀបទៅនឹង CPU kernal GPIO ជាកម្មសិទ្ធិរបស់ peripheral ហើយ Port0 និង Port1 អាចធ្វើផែនទីទៅ GPIOs ។

T8051XC3 ទទួលយកឡានក្រុង SFR 8 ប៊ីត ដើម្បីភ្ជាប់គ្រឿងកុំព្យូទ័រដែលបានរៀបរាប់ខាងលើ។ CMT2186A គាំទ្រគ្រឿងកុំព្យូទ័របន្ថែមទៀត ដែលត្រូវបានភ្ជាប់ទៅខឺណែលតាមរយៈរថយន្តក្រុង SFR ។ លើសពីនេះ ខឺណែលប្រើ IDATA bus ដាច់ដោយឡែក ដើម្បីភ្ជាប់ទៅឧបករណ៍ផ្ទុកខាងក្នុង IRAM និងឡានក្រុង CODE/XDATA ដែលបានចែករំលែក ដើម្បីភ្ជាប់ទៅ MTP និង XRAM រៀងៗខ្លួន។

4.2 សំណុំការណែនាំ៖

សំណុំសេចក្តីណែនាំ 8051 មាន 111 សេចក្តីណែនាំ ដែលនីមួយៗមាន 1,2 ឬ 3 បៃ។ ការប្រតិបត្តិតាមការណែនាំត្រូវបានគណនាក្នុងវដ្តនាឡិកាតែមួយ។ សូមមើលឧបសម្ព័ន្ធ A សម្រាប់ព័ត៌មានបន្ថែមនៃការណែនាំទាំងអស់ និងវដ្តនៃការប្រតិបត្តិរបស់វា។

4.3 8051 ការចុះឈ្មោះបឋមស្នូល

ក្រុមចុះឈ្មោះដំបូងដែលពាក់ព័ន្ធស្នូល 8051 ត្រូវបានបង្ហាញក្នុងតារាងខាងក្រោម។ សម្រាប់ខ្លឹមសារ និងអត្ថន័យជាក់លាក់នៃការចុះឈ្មោះនីមួយៗ សូមមើលសៀវភៅណែនាំលម្អិតអំពីការចុះឈ្មោះ CMT2186A។

តារាង 4-1 ។ ការចុះឈ្មោះដំបូងនៃ 8051 ស្នូល

ឈ្មោះ
P0
SP DPL DPH PCON

ទំព័រ SFR
0
0 0 0 0

អាស័យដ្ឋាន
0x80
0x81 0x82 0x83 0x87

តម្លៃលំនាំដើម
0x00
0x00 0x00 0x00 0x00

មុខងារ
ចុះឈ្មោះ Port0 គាំទ្រការចូលប្រើប៊ីត ដែលត្រូវគ្នានឹងច្រកខឺណែលចំនួនប្រាំបីនៃ P0.0-p0.7 Stack Pointer Register Data pointer (DPTR) register, low 8 bits Data pointer (DPTR) register, high 8 bits Power Control Register

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 15/100 ទំព័រ

www.hoperf.com

ឈ្មោះ
TCON TMOD
TL0 TL1 TH0 TH1
P1
SCON0 SBUF0
IEN0 IPL0 PSW ACC IEN1
B IRCON1
IPL1

ទំព័រ SFR
៣៤ ៣៥ ២៣ ៨៦ ៧ ៤
0
0 0 0 0 0 0 0 0 0 0

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

អាស័យដ្ឋាន
0x88 0x89 0x8A 0x8B 0x8C 0x8D
0x90
0x98 0x99 0xA8 0xB8 0xD0 0xE0 0xE6 0xF0 0xF1 0xF6

តម្លៃលំនាំដើម
0x00 0x00 0x00 0x00 0x00 0x00
0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

មុខងារ
Timer0 និង Timer1 Control Registers Timer0 and Timer1 Working Modes Registers Timer0 register low 8 bit Timer1 register low 8 bit Timer 0 register high 8 bit Timer1 register high 8 bit Port1 register គាំទ្រការចូលប្រើប៊ីត ដែលត្រូវគ្នានឹងច្រកខឺណែលប្រាំបីពី P1.0 – P0.7 ។ ដោយសារលេខ I/O មានតែ P1.0 P1.3 ប៉ុណ្ណោះដែលអាចចូលប្រើបាន។ ការចុះឈ្មោះការត្រួតពិនិត្យច្រកសៀរៀល ការចុះឈ្មោះទិន្នន័យឃ្លាំងសម្ងាត់ច្រកសៀរៀល ការរំខានការបើកការចុះឈ្មោះ 0 ការរំខានការចុះឈ្មោះអាទិភាព 0 ស្ថានភាពកម្មវិធី/ ការសម្គាល់ការចុះឈ្មោះបង្គរ ចុះឈ្មោះការរំខាន ការបើកការចុះឈ្មោះ 1 B ចុះឈ្មោះការរំខានគ្រឿងកុំព្យូទ័រ ការស្នើសុំទង់ជាតិ ការចុះឈ្មោះរំខាន ការចុះឈ្មោះអាទិភាព 1

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 16/100 ទំព័រ

www.hoperf.com

5 រចនាសម្ព័ន្ធអង្គចងចាំ
5.1 ការណែនាំ
ស្ថាបត្យកម្មការផ្ទុកនៅលើបន្ទះឈីប CMT216xA ត្រូវបានបង្ហាញក្នុងគំនូសតាង 5-1 ។

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

0xFFFF

កូដ

មិនបានប្រើ

0x0200 0x0FFF
0x0000

4K Bytes MTP (កូដ)

កំណត់រចនាសម្ព័ន្ធ

512 ប៊ីត

0x0040

MTP (ID & Config) 0x0000

0xFF
0x80 0x7F
0x30 0x2F 0x20 0x1F 0x00

IDATA / ទិន្នន័យ

ខាងលើ 128 Bytes IRAM
(ការចូលដោយប្រយោល)

មុខងារពិសេសចុះឈ្មោះទំព័រ 0 (ការចូលប្រើដោយផ្ទាល់)

មុខងារពិសេសចុះឈ្មោះទំព័រ 1 (ការចូលប្រើដោយផ្ទាល់)

ទាបជាង 128 Bytes IRAM
(ការចូលដោយផ្ទាល់ ឬដោយប្រយោល)
ប៊ីត-អាស័យដ្ឋាន
ការចុះឈ្មោះការងារ

0xFFFF

XDATA

មិនបានប្រើ

0x0200 0x01FF
0x0000

512 Bytes XRAM

តារាង 5-1 ។ អាសយដ្ឋានផ្ទុក និងឡូជីខល CMT2186A
តំបន់ផ្ទុក CMT2186A មាន 3 កន្លែង។
ចន្លោះកូដកម្មវិធី ចន្លោះដែលកូដខឺណែល 8051 ត្រូវបានរក្សាទុក និងផ្ទុកដើម្បីដំណើរការ ក្រុមហ៊ុនដឹកជញ្ជូនគឺ 4K Bytes MTP ដែលអាចត្រូវបានលុបច្រើនដង។ MTP ក៏គាំទ្រទំហំកំណត់រចនាសម្ព័ន្ធ 512 ប៊ីតសម្រាប់ការរក្សាទុកលេខសម្គាល់អ្នកប្រើប្រាស់ និងការកំណត់រចនាសម្ព័ន្ធជាក់លាក់មួយចំនួននៃលក្ខណៈពិសេសបន្ទះឈីប។ ខ្លឹមសារនៃកូដ និងទំហំកំណត់រចនាសម្ព័ន្ធត្រូវបានដុតតាមរយៈកម្មវិធីដុត។ ទំហំកូដ 4KB ទាំងមូលមានសម្រាប់អ្នកប្រើប្រាស់ ហើយលេខកូដចាប់ផ្តើមដំណើរការនៅ 0x0000។
ចន្លោះទិន្នន័យខាងក្នុង ខឺណែល 8051 មាន 256 បៃនៃទំហំទិន្នន័យខាងក្នុងសម្រាប់ការចូលដំណើរការលឿនដោយ MCU ។ ចន្លោះ DATA ខាងក្នុងអាចត្រូវបានបែងចែកទៅជា DATA, IDATA និង SFR យោងតាមវិធីសាស្ត្រចូលប្រើ ដែលត្រូវនឹងពាក្យគន្លឹះនៅក្នុងកម្មវិធីចងក្រង Keil C51 ហើយក្រុមហ៊ុនដឹកជញ្ជូនគឺ 256 Bytes នៃ IRAM និង SFR ចុះឈ្មោះរៀងៗខ្លួន។ SFR ត្រូវបានបែងចែកជាពីរទំព័រ ដែលអាចត្រូវបានជ្រើសរើសដោយ SFR_PAGE_SEL ប៊ីត។
ការផ្ទុកទិន្នន័យខាងក្រៅ 8051 ទិន្នន័យខាងក្រៅ XDATA ត្រូវបានរក្សាទុកក្នុង 512 បៃនៃ XRAM ។ អ្នកប្រើប្រាស់ក៏អាចរក្សាទុកជាក់លាក់ផងដែរ។
ទិន្នន័យដែលត្រូវការរក្សាទុកនៅពេលបិទថាមពលនៅក្នុង EEPROM 512 ប៊ីត ដែលអាចចូលប្រើបានតាមរយៈ SFR ។ លើសពីនេះទៀតមាន AON_REGS មួយចំនួននៅក្នុងតំបន់ AON ការចុះឈ្មោះទាំងនេះត្រូវបានប្រើជាចម្បងដើម្បីកំណត់រចនាសម្ព័ន្ធ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 17/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
និងគ្រប់គ្រងម៉ូឌុល និង I/O នៃតំបន់ AON ។ អ្នកប្រើប្រាស់អាចចូលប្រើពួកវាដោយប្រយោលតាមរយៈ SFR ។

តារាង 5-1 ។ ការពិពណ៌នាអំពីអង្គចងចាំខាងក្នុង;

ទំហំផ្ទុក

ការផ្ទុក

សមត្ថភាពអាសយដ្ឋានឡូជីខល

ការពិពណ៌នា

ចន្លោះកូដកម្មវិធី

MTP

0x0000 - 0x0FFF

4K បៃ

កម្មវិធីអ្នកប្រើប្រាស់ដំណើរការចន្លោះ Keil C51 ត្រូវការប្រើកូដពាក្យគន្លឹះដើម្បីកំណត់អថេរ។

IDATA ប៊ីតកម្រិតទាប វាអាចចូលបានទាំងដោយផ្ទាល់ និងដោយប្រយោល។ លើសពីនេះទៀត 16-byte

ចន្លោះទិន្នន័យខាងក្នុង

IRAM

0x00 – 0x7F 0x80 – 0xFF

128 បៃ 128 បៃ

ចន្លោះអាស័យដ្ឋានត្រូវបានផ្តល់ជូនក្នុងជួរអាសយដ្ឋាន 0x20-0x2F ។ Keil C51 អាចត្រូវបានកំណត់ដោយទិន្នន័យពាក្យគន្លឹះ ឬ idata ហើយអថេរដែលចូលប្រើដោយប៊ីតអាចត្រូវបានកំណត់ដោយ sbit ។ ប៊ីតកម្រិតខ្ពស់ IDATA អាចចូលប្រើដោយប្រយោល។ Keil C51 ត្រូវប្រើ keywords.to កំណត់ idata ។

8051 អាចចូលប្រើដោយផ្ទាល់នូវការចុះឈ្មោះមុខងារពិសេស

SFR

0x80 - 0xFF

145 បៃ

ក្នុងចំណោមជួរអាសយដ្ឋាននៅក្នុង RAM ខាងក្នុង រួមទាំងទំព័រ 2 នៃទំព័រ 0 និងទំព័រ 1 ដែលប្រៀបធៀបតាមរយៈ SFR_PAGE_SEL ប៊ីតនៃ SFR ។

XRAM

0x0000 - 0x01FF

512 បៃ

Keil C51 ត្រូវការប្រើកូដពាក្យគន្លឹះដើម្បីកំណត់អថេរ។

ចន្លោះទិន្នន័យខាងក្រៅ

EEPROM

0x00 – 0x1F

512 ប៊ីត

16 Bit x 32 អង្គចងចាំពហុកម្មវិធី។ ខឺណែលត្រូវបានចូលប្រើដោយប្រយោលតាមរយៈ SFR ឬតាមរយៈការតម្រឹមកម្មវិធី API ប្រភពបើកចំហដើម្បីបង្កើនការប្រើប្រាស់របស់វា។

AON REG

0x00 – 0x1F

32 បៃ

ការចុះឈ្មោះដែលមានទីតាំងនៅក្នុងតំបន់ AON ត្រូវបានចូលដោយប្រយោលដោយខឺណែលតាមរយៈ SFR ។

កំណត់សម្គាល់៖ [1] ។ បន្ទាប់ពីកម្មវិធី MTP រួចហើយ ទិន្នន័យដែលឆេះ (កម្មវិធីអ្នកប្រើប្រាស់) នឹងមិនបាត់បង់ឡើយ ដោយមិនគិតពីថាតើប្រព័ន្ធដំណើរការឬអត់ ឬរបៀបណាដែលប្រព័ន្ធកំពុងដំណើរការ។

[2] ។ បន្ទាប់ពី EEPROM ត្រូវបានសរសេរឡើងវិញ (តម្រូវឱ្យការផ្គត់ផ្គង់ថាមពលមានស្ថេរភាពក្នុងអំឡុងពេលដំណើរការសរសេរឡើងវិញ) ទិន្នន័យដែលបានសរសេរឡើងវិញ

នឹងមិនបាត់បង់ដោយមិនគិតពីថាតើប្រព័ន្ធត្រូវបានបើកដំណើរការឬអត់ ឬរបៀបណាដែលប្រព័ន្ធដំណើរការ។ [3] ខ្លឹមសារនៃ IRAMXRAM និង SFR មួយចំនួនអាចរក្សាទុកនៅក្រោមរបៀប STOP ។

5.2 មុខងារពិសេសចុះឈ្មោះSFR

ខឺណែល 8051 អាចចូលប្រើ SFR ដោយផ្ទាល់សម្រាប់វាជាទំហំអង្គចងចាំខាងក្នុង។ ផលិតផលសៀរៀល CMT2186A សំបូរទៅដោយលក្ខណៈពិសេស និង SFR ដែលបានកំណត់រចនាសម្ព័ន្ធពាក់ព័ន្ធ ដូច្នេះយើងចូលប្រើការចែកចាយតាមទំព័រ នោះគឺទំព័រ 0 និង 1 ។ ទំព័រ 0 មានការកំណត់រចនាសម្ព័ន្ធ និងការគ្រប់គ្រងគ្រឿងកុំព្យូទ័រភាគច្រើន ហើយទំព័រ 1 មានការចុះឈ្មោះនៃ EEPROM និងការកំណត់រចនាសម្ព័ន្ធថាមពល PA ។ ដូច្នេះហើយ ចាំបាច់ត្រូវបញ្ជាក់ថា Page point ត្រឹមត្រូវនៅពេលអ្នក

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 18/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ចូលប្រើ SFR ដែលត្រូវគ្នាដោយផ្ទាល់ បើមិនដូច្នេះទេ វាងាយស្រួលក្នុងការបង្កកំហុសក្នុងការកំណត់។

SFR ត្រូវបានបំពាក់ដោយ ULPLDO នៅក្នុងរបៀប STOP ដែលធានាថាការកំណត់រចនាសម្ព័ន្ធភាគច្រើននៃគ្រឿងកុំព្យូទ័រអាចត្រូវបានរក្សាទុកនៅក្នុងការលេចធ្លាយទាប។

5.3 ការចុះឈ្មោះដែនជានិច្ច (AON REG)

ប្រព័ន្ធដែនតែងតែបើក (AON) ត្រូវបានដំណើរការដោយផ្ទាល់ដោយឌីវីឌីឌី ហើយវាផ្ទុកនូវឧបករណ៍ឃ្លាំមើល ការកំណត់ពេលគេង ការរកឃើញការផ្លាស់ប្តូរ I/O និងការចុះឈ្មោះ 32 បៃ AON REG ។ អ្នកប្រើប្រាស់អាចចូលប្រើ AON REG ដោយប្រយោលតាមរយៈការចុះឈ្មោះ AON_ADDR, AON_WDATA និង AON_RDATA នៅក្នុង SFR ។ វត្ថុដែលត្រូវបានគ្រប់គ្រង និងកំណត់រចនាសម្ព័ន្ធដោយការចុះឈ្មោះទាំងនេះរួមមានៈ គ្រឿងកុំព្យូទ័រទាំងបីនៅក្នុងដែន AON ខាងលើ ឧបករណ៍ប្រៀបធៀបអាណាឡូកទាំងពីរ និង I/Os ទាំងអស់។ ក្នុងពេលជាមួយគ្នានេះដែរ មាន 8 បៃនៅក្នុង AON REG ហើយនៅពេលដែលបន្ទះឈីបត្រូវបានបើកដំណើរការជាលើកដំបូង ប្រព័ន្ធនឹងចម្លងលេខសម្គាល់អ្នកប្រើប្រាស់ 64 ប៊ីតដោយស្វ័យប្រវត្តិនៅក្នុង MTP ទៅចុះឈ្មោះ 8 បៃ ដែលងាយស្រួលសម្រាប់អ្នកប្រើប្រាស់។ អ្នក​ប្រើ​ក៏​អាច​ប្រើ​ការ​ចុះឈ្មោះ 8-byte ដោយ​សេរី​ក្នុង​គោល​បំណង​ផ្សេង​ទៀត​ដែរ។

5.4 របៀបចូលដំណើរការដំណើរការអង្គចងចាំ

របៀបចូលដំណើរការអង្គចងចាំ ត្រូវបានបង្ហាញក្នុងតារាង 5-2 ។

តារាង 5-2 ។ របៀបចូលដំណើរការអង្គចងចាំ

ប្រភេទអង្គចងចាំ

វិធីសាស្រ្តចូល

Example

កូដ

និយមន័យថេរនៅក្នុងកម្មវិធី ដោយប្រើអារេកូដ uint8_t[3] = {0x12, 0x34, 0x56 };

ពាក្យគន្លឹះ "កូដ"

XDATA

និយមន័យអថេរនៅក្នុងកម្មវិធីដោយប្រើ uint8_t xdata tx_buf[64];

ពាក្យគន្លឹះ "xdata"

IDATA

និយមន័យអថេរនៅក្នុងកម្មវិធីដោយប្រើ uint8_t xdata tx_buf[3];

ពាក្យគន្លឹះ "idata"

SFR

អាស័យដ្ឋានចូលដោយផ្ទាល់[2]

IEN0= 0x00;

AON REG

ចូលប្រើតាមរយៈ SFR[1]

គ្មាន

EEPROM

ការចូលប្រើតាមរយៈ SFR ឬមុខងារ API[2]

គ្មាន

កំណត់ចំណាំ៖

[1] មន្ត្រីនឹងបង្ហាញពីរបៀបចូលប្រើការចុះឈ្មោះទាំងនេះ។ [2] មន្ត្រីនឹងបង្ហាញពីរបៀបចូលប្រើការចុះឈ្មោះទាំងនេះ និងកូដប្រភព API ។ API អាចត្រូវបានប្រើដើម្បីបង្កើន

number of EEPROM erasinក្រាម ដង។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 19/100 ទំព័រ

www.hoperf.com

6 កំណត់រចនាសម្ព័ន្ធឡើងវិញ
CMT2186A មានប្រព័ន្ធកំណត់ឡើងវិញចំនួនបួន រួមមាន:

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

បើកថាមពលកំណត់ POR ឡើងវិញ POR ត្រូវបានបើកតែម្តងគត់នៅពេលដែល DVDD ត្រូវបានបើក។

វ៉ុលtage detection reset (BOR) BOR ត្រូវ​បាន​បង្កើត​ឡើង​នៅ​ពេល​ដែល​ការ​ប្រែប្រួល​មិន​ប្រក្រតី​កើត​ឡើង​នៅ​ក្នុង DVDD ដើម្បី​ជៀសវាង​ការ​ច្របូកច្របល់​បន្ទះ​ឈីប។

កំណត់ pin ឡើងវិញ RSTn កំណត់ pin RSTn ឡើងវិញ multixes D0 pin ហើយវាត្រូវបានបើកតាមលំនាំដើម។ អ្នកប្រើប្រាស់អាចបិទវាបានបន្ទាប់ពី
power-on ប្រសិនបើមិនចាំបាច់ប្រើមុខងារនេះទេ។

Watchdog ResetWDT_RSTn Watchdog reset គឺជាការកំណត់ឡើងវិញដែលការពារកម្មវិធីពីការរត់ឆ្ងាយ ឬប្រព័ន្ធពីការគាំង។
នៅពេលដែលកម្មវិធីអ្នកប្រើប្រាស់កំពុងដំណើរការជាធម្មតា វាចាំបាច់ក្នុងការ "ចិញ្ចឹមឆ្កែ" ជាទៀងទាត់ ដើម្បីជៀសវាងការកំណត់ឡើងវិញដែលបណ្តាលមកពីការអស់ពេលនៃកម្មវិធីកំណត់ម៉ោងឃ្លាំមើល។

ការកំណត់ឡើងវិញទាំងបួននេះសុទ្ធតែមានឥទ្ធិពលដូចគ្នា ពោលគឺបន្ទាប់ពីការកំណត់ឡើងវិញត្រូវបានកេះ បន្ទះឈីបនឹងដំណើរការឡើងវិញជាលើកដំបូង។
7 រចនាសម្ព័ន្ធនាឡិកា

7.1 ប្រភពនាឡិកា
CMT2186A មានប្រភពនាឡិកាមេចំនួនបីគឺ XOSC crystal oscillator ល្បឿនលឿន 26 MHz, 24 MHz internal high speed RC oscillator HFOSC និង 32 kHz internal low speed RC oscillator LFOSC ។ យន្តការច្រកទ្វារនាឡិកាចម្រាញ់ត្រូវបានបង្កប់នៅខាងក្នុងបន្ទះឈីប ដូច្នេះអ្នកប្រើប្រាស់អាចសន្សំសំចៃថាមពលបានច្រើនតាមដែលអាចធ្វើទៅបាន។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 20/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

អាណាឡូក

១៣ MHz / ២
Sub-1G TX PLL យោង

ស្នូលឌីជីថល

tx_clk
G

div_bypass

1 mcu_clk

/ ន

0

debug_clk
G
cpu_clk
G
ana_clk
G
ee_clk
G
ioint_clk
G
port0_clk
G
port1_clk
G
កម្មវិធីកំណត់ម៉ោង0_clk
G
កម្មវិធីកំណត់ម៉ោង1_clk
G
uart_clk
G

XOSC 26 MHz
24 MHz HFOSC

hfosc_xo_sel

1

hfosc_div2_en

0

/ ៩

1

0

32 kHz LFOSC

sys_clk

lfosc_clk (សម្រាប់ការក្រិតតាមខ្នាត)

ឌីជីថល AON
lfosc_clk

spim_clk
G
spis_clk
G
timera_clk
G
timerb_clk
G
cdr_clk
G
lbd_clk
G
lfcal_clk
G
hfcal_clk
G
sltimer_clk
G
watchdog_clk
G

តារាង 7-1 ។ ដ្យាក្រាមប្លុកប្រព័ន្ធ

As shown in the figure above, the XOSC serves as the reference clock for the Sub-1G wireless transmitter PLL and is used to drive the digital transmission control and adjustment module after frequency division. The system master clock (SYS_CLK) is provided from HFOSC by default, and HFOSC can be calibrated to ±1% accuracy. If user wants to improve the accuracy of the master clock, the relevant configuration can be configured when burning the MTP, so that the chip automatically switches the master clock to XOSC after powering on, and the accuracy can be improved to the accuracy of the crystal oscillator itself, such as ±10ppm, while increasing some power consumption. LFOSC provides clocks for sleep timers and watch dog specifically that can achieve ±1% accuracy after calibration.

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 21/100 ទំព័រ

www.hoperf.com

7.2 ការក្រិតនាឡិកា

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

នៅពេលដែលបន្ទះឈីបត្រូវបានដឹកជញ្ជូន HFOSC និង LFOSC នឹងត្រូវបានក្រិតតាមខ្នាត ហើយលទ្ធផលនឹងត្រូវបានដុតទៅ MTP ។ ម៉ូឌុលកែផ្នែករឹងក៏អាចត្រូវបានហៅដោយរៀបចំការចុះឈ្មោះ SFR ដើម្បីកែនាឡិកាទាំងពីរនៅពេលកំពុងប្រើ។

ការក្រិតតាមខ្នាត HFOSC តម្រូវឱ្យប្រើ XOSC ជានាឡិកាយោង។ ប្រសិនបើមិនមានការតភ្ជាប់រវាងបន្ទះឈីប និងលំយោលគ្រីស្តាល់ខាងក្រៅ ខណៈពេលដែលកម្មវិធី (ដូចជាកម្មវិធីបញ្ជូនមិនខ្សែ) នោះ XOSC មិនអាចសម្របតាមធម្មតាបានទេ ហើយ HFOSC មិនអាចក្រិតតាមខ្នាតបានទេ។ មុនពេលកែតម្រូវ HFOSC វាចាំបាច់ក្នុងការធានាថា HFOSC ដើរតួជាប្រភពនាឡិការបស់ SYS_CLK កំណត់សមាមាត្រ HFOSC_DIV2_EN ក្នុង SFR ទៅ 1 ហើយប្រើនាឡិកា HFOSC ជា SYS_CLK បន្ទាប់ពីពាក់កណ្តាលប្រេកង់។ នេះគឺដើម្បីជៀសវាងការកើនឡើងប្រេកង់ HFOSC ច្រើនពេកក្នុងអំឡុងពេលដំណើរការកែតម្រូវ ដែលនឹងធ្វើឱ្យប្រព័ន្ធដំណើរការខុសប្រក្រតី។

ការក្រិតតាមខ្នាត LFOSC ទាមទារ SYS_CLK ជានាឡិកាយោង។ ប្រសិនបើអ្នកប្រើជ្រើសរើស HFOSC ជាប្រភពនាឡិកាសម្រាប់ SYS_CLK តាមរយៈការដុត MTP វាត្រូវបានណែនាំឱ្យកែតម្រូវ HFOSC ជាមុនសិនហើយបន្ទាប់មក LFOSC ដែលភាពត្រឹមត្រូវនៃ HFOSC កំណត់ភាពត្រឹមត្រូវនៃ LFOSC ។

ប្រតិបត្តិការជាក់លាក់នៃការកែតម្រូវអាចយោងទៅលើកូដទម្លាប់ប្រភពបើកចំហផ្លូវការ។
7.3 ផ្នែកប្រេកង់នាឡិកា
អ្នកប្រើប្រាស់អាចដំណើរការការបែងចែកប្រេកង់ដើម្បីបែងចែក SYS_CLK ដើម្បីបង្កើត MCU_CLK ។ មេគុណបែងចែកប្រេកង់ 8 ប៊ីតនៃការបែងចែកអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធពី 1 ដល់ 255 លើកលែងតែ 0 ។ ដូច្នេះប្រេកង់ប្រតិបត្តិការអតិបរមារបស់ MCU_CLK គឺ 24 MHz (HFOSC) ឬ 26 MHz (XOSC) ហើយប្រេកង់ប្រតិបត្តិការអប្បបរមាគឺ 94 kHz (HFOOSC) ហឺត (102XXNUMX) ហឺត។

SYS_CLK មិនអនុវត្តការបែងចែកប្រេកង់ណាមួយក្នុងអំឡុងពេលប្រតិបត្តិការធម្មតា លើកលែងតែស្ថានភាពដែលបានពិពណ៌នាខាងលើនៅការក្រិតតាមខ្នាត (ដែលនឹងប៉ះពាល់ដល់ MCU_CLK ផងដែរ)។ គ្រឿងកុំព្យូទ័រដែលជំរុញដោយ SYS_CLK, SPIM, SPIS, TIMERA, TIMERB, និង CDR មានប្រេកង់ប្រតិបត្តិការផ្ទាល់ខ្លួននៃការកំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះ SFR លើកលែងតែ LBD ដែលប្រើប្រេកង់នាឡិកាថេរ។ ដូច្នេះមិនចាំបាច់ធ្វើប្រតិបត្តិការបែងចែកប្រេកង់នៃនាឡិកាអ្នកបើកបរទេ។

LFOSC_CLK ជំរុញកម្មវិធីកំណត់ម៉ោងគេង និងកម្មវិធីកំណត់ម៉ោងឃ្លាំមើលដោយផ្ទាល់ដោយមិនមានដំណើរការបែងចែកប្រេកង់ណាមួយឡើយ។

7.4 ការត្រួតពិនិត្យច្រកទ្វារនាឡិកា

ដើម្បីផ្តល់នូវការលេងពេញលេញទៅនឹងលក្ខណៈនៃការប្រើប្រាស់ថាមពលតិចនៃបន្ទះឈីប បន្ទះឈីបផ្តល់នូវច្រកនាឡិកាតែមួយគត់សម្រាប់ម៉ូឌុលនីមួយៗ ដែលមិនត្រឹមតែគ្រប់គ្រងនាឡិការបស់ម៉ូឌុលខ្លួនឯងប៉ុណ្ណោះទេ ប៉ុន្តែថែមទាំងគ្រប់គ្រងនាឡិកាផងដែរ។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 22/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
នៃការចុះឈ្មោះ SFR ដែលត្រូវគ្នា។ ទ្វារនាឡិកាត្រូវបានបើកតាមលំនាំដើម។ វាត្រូវបានណែនាំអោយអ្នកប្រើប្រាស់បិទនាឡិកាដែលបិទទ្វារនៃម៉ូឌុលដែលមិនចាំបាច់ធ្វើការភ្លាមៗនៅដើមកម្មវិធីបន្ទាប់ពីកំណត់រចនាសម្ព័ន្ធ SFR ទាំងអស់ ហើយបើកនាឡិកាតែនៅពេលដែលម៉ូឌុលត្រូវការកំណត់ គ្រប់គ្រង និងប្រើប្រាស់។

ខាងក្រោមបង្ហាញម៉ូឌុលត្រួតពិនិត្យដែលត្រូវគ្នាសម្រាប់ច្រកទ្វារនាឡិកានីមួយៗ ក៏ដូចជាការចុះឈ្មោះ SFR លម្អិត៖

តារាង 7-1 ។ ការតោងនាឡិកានៃម៉ូឌុលដែលត្រូវគ្នា និងការចុះឈ្មោះ

ការត្រួតពិនិត្យច្រកទ្វារនាឡិកា
TX_CLK_EN
CPU_CLK_EN

ម៉ូឌុល
OOK / ASK ឧបករណ៍បញ្ជាបញ្ជូននិង
ម៉ូឌុល
ខឺណែល CPU

ទំព័រ SFR
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 គ្មាន

DEBUG_CLK_EN

1- ឧបករណ៍បំបាត់កំហុសខ្សែ

គ្មាន

1

1

1

EE_CLK_EN

ឧបករណ៍បញ្ជា EEPROM

1

1

1

1

អាសយដ្ឋាន SFR
0xDD 0xDE 0xDF 0xE1 0xE8 0xE9 0xEA 0xEB 0xEC 0xED 0xEE 0xEF 0xF2 0xF3 0xF8 0xF9 0xFA 0xFB 0xFC គ្មាន
គ្មាន
0x2A 0x2B 0x2C 0x2D 0x30 0x31 0x32

ឈ្មោះ SFR
ANA_CTL_0 ANA_CTL_1 ANA_CTL_2 ANA_CTL_3 PLLN PLLK_H PLLK_M PLLK_L TX_DR_0 TX_DR_1 TX_DR_2 TX_SYM_BYTE TX_SYM_CTL TX_PKT_CTL RAMP_STEP_H អរAMP_STEP_L PA_IDAC_CODE LBD_CTL_0[1] LBD_CTL_1[1] ប្តូរដោយស្វ័យប្រវត្តិយោងទៅតាមរបៀបធ្វើការ ប្តូរដោយស្វ័យប្រវត្តិដោយផ្អែកលើថាតើត្រូវបញ្ចូលរបៀបបំបាត់កំហុស EE_CTL EE_ADDR EE_WDATA_H EE_WDATA_L EE_RDATA_H EE_RDATA_L EE_STA

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 23/100 ទំព័រ

www.hoperf.com

ការត្រួតពិនិត្យច្រកទ្វារនាឡិកា

ម៉ូឌុល

IOINT_CLK_EN

IO និង Interrupt Controller

PORT0_CLK_EN PORT1_CLK_EN TIMER0_CLK_EN
TIMER1_CLK_EN
UART_CLK_EN

ច្រក 0 ច្រក 1 កម្មវិធីកំណត់ម៉ោង 0
ឧបករណ៍កំណត់ពេលវេលា ០
យូធី ០

ANA_CLK_EN

ឧបករណ៍បញ្ជាសៀគ្វីអាណាឡូក

SPIM_CLK_EN SPIS_CLK_EN

ម៉ាស៊ីនមេ SPI ម៉ាស៊ីនបម្រើ SPI

TIMERA_CLK_EN

កម្មវិធីកំណត់ម៉ោង A

ទំព័រ SFR
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

អាសយដ្ឋាន SFR
0x33 0x92 0x93 0x94 0x95 0xA1 0xA2 0xA3 0xA4 0xA5 0xA6 0xA9 0xAA 0xAB 0xAC 0xAD 0xB0 0xB1 0x80 0xA90 0xAA 8xAB 0xAC 8xAD 0xB8 0xB8 0x98 0x99x0 2x0 3x0 4xE0 5xE0 7xE0 96xE0 97xE0 96x0 97x0 7x0 9x0 0xB0 XNUMXxBXNUMX XNUMXxBA XNUMXxBB XNUMXxBC

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ឈ្មោះ SFR
EE_MANU INTCTL_0 INTCTL_1 INTCTL_2 INTCTL_3 GPIO_INA_SEL GPIO_INB_SEL GPIO_INC_SEL GPIO_IND_SEL GPIO_INE_SEL GPIO_INF_SEL GPIO_ING_SEL GPIO_GPOUTA_SEL GPIO_OUTA_ GPIO_OUTC_SEL GPIO_OUTD_SEL GPIO_OUTE_SEL GPIO_OUTF_SEL P08051 ការចុះឈ្មោះដំបូង P18051 ការចុះឈ្មោះដំបូង TL08051 ការចុះឈ្មោះដំបូង TH08051 ការចុះឈ្មោះដំបូង TL18051 Initial Register18051 SCON08051 ការចុះឈ្មោះដំបូង SBUF08051 ការចុះឈ្មោះដំបូង ANA_CTL_4 ANA_CTL_5 ANA_CTL_6 ANA_CTL_7 ANA_CTL_8 SPI_CTL_0 SPI_CTL_1 SPI_CTL_0[2] SPI_CTL_1KDIV_TAACL_DIV_TA_DIV TAC_L TACCR2_H

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 24/100 ទំព័រ

www.hoperf.com

ការត្រួតពិនិត្យច្រកទ្វារនាឡិកា

ម៉ូឌុល

TIMERB_CLK_EN

កម្មវិធីកំណត់ម៉ោង ខ

CDR_CLK_EN

ឧបករណ៍ស្តារនាឡិកា

LBD_CLK_EN LFOSC_CLK_EN HFOSC_CLK_EN SLTMR_CLK_EN

វ៉ុលទាបtagឧបករណ៍ចាប់ e LFOSC calibration LFOSC calibration កម្មវិធីកំណត់ម៉ោងគេង

ទំព័រ SFR
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX XNUMX គ្មាន គ្មាន គ្មាន គ្មាន គ្មាន

WDG_CLK_EN

កម្មវិធីកំណត់ម៉ោងឃ្លាំមើល

គ្មាន

អាសយដ្ឋាន SFR
0xBD 0xBE 0xBF 0xC0 0xC1 0xC2 0xC3 0xC4 0xC5 0xC6 0xC7 0xC8 0xC9 0xCA 0xCB 0xCC 0xCD 0xCE 0xCF 0xD1 0xD2xD0 3xD0 4xD0 5xD0 6xDA 0xDB 7xDC 0x8D 0x9E 0x0F គ្មាន គ្មាន គ្មាន គ្មាន គ្មាន
គ្មាន

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ឈ្មោះ SFR
TACCR0_L TACCTL0_H TACCTL0_L TACCR1_H TACCR1_L TACCTL1_H TACCTL1_L TACCR2_H TACCR2_L TACCTL2_H TACCTL2_L TACNT_H TACNT_L TBCLK_DIV_H TBCCLK_DIV_H TBCLK_DIV_H TBCCR0_L TBCCTL0_H TBCCTL0_L TBCCR0_H TBCCR1_L TBCCTL1_H TBCCTL1_L TBCCR1_H TBCCR2_L TBCCTL2_H TBCCTL2_L TBCNT_H TBCNT_L CDR_DR_2 CDR_BDDR_0 គ្រប់គ្រងតែម៉ូឌុល CDR_BDDR_1 ប៉ុណ្ណោះ ម៉ូឌុល[2] គ្រប់គ្រងតែម៉ូឌុល HFOSC ប៉ុណ្ណោះ[1] ប្តូរដោយស្វ័យប្រវត្តិតាមរយៈម៉ូឌុលប្តូរ AON_REG[3] ប្តូរដោយស្វ័យប្រវត្តិតាមរយៈ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 25/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

ទ្វារនាឡិកា

ម៉ូឌុល

SFR

SFR

ឈ្មោះ SFR

គ្រប់គ្រង

ទំព័រ

អាស័យដ្ឋាន

ម៉ូឌុលប្តូរ AON_REG[4]

កំណត់ចំណាំ៖

[1] ការកំណត់រចនាសម្ព័ន្ធនៃការចុះឈ្មោះ LBD ប៉ះពាល់ដល់ផ្នែកនៃមុខងារសៀគ្វី TX ដូច្នេះនាឡិកាបិទទ្វារត្រូវបានជំរុញដោយ TX_CLK_EN,

ហើយនាឡិកាបិទទ្វារ LBD_CLK_EN ជំរុញតែម៉ូឌុល LBD ខ្លួនឯងប៉ុណ្ណោះ។ វាចាំបាច់ក្នុងការរកឃើញវ៉ុលថ្មtage មុនពេល

ការបញ្ជូនដើម្បីទូទាត់ថាមពលបញ្ជូនដែលកំពុងដំណើរការ ដូច្នេះវាត្រូវបានណែនាំអោយអ្នកប្រើប្រាស់បើក TX_CLK_EN ហើយ

LBD_CLK_EN ក្នុងពេលតែមួយមុនពេលបញ្ជូន។ ប្រសិនបើអ្នកប្រើត្រូវប្រើម៉ូឌុល LBD តែម្នាក់ឯងនៅពេលដែលមិនមាន

កំពុងបញ្ជូន បើក TX_CLK_EN ដើម្បីប្រើការចុះឈ្មោះ LBD_CTL_0 និង LBD_CTL_1 ហើយបើក LBD_CLK_EN ដើម្បីធ្វើ

ម៉ូឌុល LBD ដំណើរការ។

[2] នៅពេល SPIM_CLK_EN = 1 ឬ SPIS_CLK_EN = 1 នាឡិកានៃការចុះឈ្មោះទាំង SPI_CTL_0 និង SPI_CTL_1 ត្រូវបានប្រែក្លាយ

នៅលើ

[3] នៅពេលប្រើម៉ូឌុលកែតម្រូវ LFOSC ឬ HFOSC វាត្រូវបានគ្រប់គ្រងដោយការចុះឈ្មោះ ANA_CTL_8 ដូច្នេះ ANA_CLK_EN ត្រូវបានកំណត់

ទៅ 1 ។

[4] AON_REG ទាំងអស់មិនតម្រូវឱ្យមានការបិទនាឡិកាទេ ហើយនាឡិកាត្រូវបានបើកតែនៅពេលដែល CPU ចូលប្រើពួកវាប៉ុណ្ណោះ។

7.5 ការចុះឈ្មោះពាក់ព័ន្ធ

តារាង 7-2 ។ ការចុះឈ្មោះពាក់ព័ន្ធនៃនាឡិកាប្រព័ន្ធ

ឈ្មោះ
CLK_GATE_0 CLK_GATE_1 CLK_GATE_2 MCU_CLK_DIV

ទំព័រ SFR
0
១២៣ ៤

អាសយដ្ឋាន
0x84 0x85 0x86 0xFD

តម្លៃលំនាំដើម
0x7F
0xFF 0x7F 0x01

មុខងារ
ចុះឈ្មោះ Port0 គាំទ្រការចូលប្រើប៊ីត ដែលត្រូវគ្នានឹង P0.0-p0.7 Stack Pointer Register Data pointer (DPTR) register មេគុណបែងចែកប្រេកង់ 8 ប៊ីត MCU_CLK

ច្រកខឺណែលប្រាំបី

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 26/100 ទំព័រ

www.hoperf.com

8 ការរំខាននិងការភ្ញាក់

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

8.1 ការណែនាំ

ការគ្រប់គ្រងការរំខាននៃ CMT2186A មានមុខងារសំខាន់ពីរ៖
ទីមួយ៖ រំខានដំណើរការដែលកំពុងដំណើរការបច្ចុប្បន្ន និងផ្តល់អាទិភាពដល់ដំណើរការសេវាកម្មរំខាន។
ទីពីរ: ដាស់ប្រព័ន្ធពីរបៀបថាមពលទាប;
មុខងារទីមួយដើរតួនាទីដូចគ្នាទៅនឹង microcontrollers បែបប្រពៃណី ពោលគឺឆ្លើយតបទៅនឹងការរំខានពេលដំណើរការកម្មវិធី ដែលគាំទ្រដោយប្រភពរំខានទាំងអស់។ មុខងារទីពីរគឺដើម្បីបំពេញតម្រូវការនៃកម្មវិធីថាមពលទាប ដែលត្រូវបានភ្ញាក់ឡើងតាមរយៈការរំខានបន្ទាប់ពីប្រព័ន្ធចូលទៅក្នុងរបៀបថាមពលទាបទាំងអស់។ ក្នុងករណីនេះ មានតែប្រភពរំខានមួយចំនួនប៉ុណ្ណោះដែលអាចគាំទ្រមុខងារដាស់។ នៅទីនេះយើងហៅប្រភពរំខានដែលអាចគាំទ្រការភ្ញាក់ "ប្រភពភ្ញាក់" ដើម្បីយល់កាន់តែច្បាស់អំពីយន្តការការងាររបស់វា។ ប្រភព Wake និងរបៀបថាមពលទាបគឺទាក់ទងគ្នាទៅវិញទៅមក នេះគឺជាព័ត៌មានលំអិតនៃរបៀបថាមពលទាបចំនួនបីនៃ CMT2186A៖
របៀប IDLE នៅក្នុងរបៀប IDLE ខឺណែល 8051 និងនាឡិការបស់ CPU_CLK នឹងឈប់ដំណើរការ ខណៈពេលដែល MCU_CLK នឹងមិនឈប់។ ដូច្នេះ គ្រឿងកុំព្យូទ័រដំបូង និងប្រព័ន្ធនៅតែដំណើរការជាធម្មតា។ នេះជាហេតុផលដែលរបៀប IDLE អាចត្រូវបានបើកដោយការរំខាននៃគ្រឿងកុំព្យូទ័រទាំងពីរនេះ។
STOP Mode នៅក្នុងរបៀប STOP បន្ទះឈីបចូលទៅក្នុងស្ថានភាពគេង ហើយការផ្គត់ផ្គង់ថាមពល MCU ប្តូរពី DLDO ទៅ ULPLDO ដើម្បីរក្សាទុកស្ថានភាពការងារបច្ចុប្បន្នជាមួយនឹងការប្រើប្រាស់ថាមពលទាប។ នៅពេលនេះ នាឡិកាទាំងអស់ លើកលែងតែ LFOSC ឈប់ ហើយអាចពឹងផ្អែកលើការរំខាននៅក្នុងតំបន់ AON ដើម្បីក្រោកឡើង រួមទាំងការផ្លាស់ប្តូរកម្រិត I/O ការអស់ពេលនៃការគេង និងការត្រឡប់លទ្ធផលឧបករណ៍ប្រៀបធៀបអាណាឡូក។ ប្រសិនបើអ្នកប្រើមិនប្រើពេលភ្ញាក់ពីដំណេកទេ នោះ LFOSC និងកម្មវិធីកំណត់ម៉ោងគេងក៏មិនអាចបើកមុនពេលចូល STOP mode ដែលអាចសន្សំសំចៃថាមពលបានថែមទៀត។
របៀប SDN វិធីដើម្បីចូលទៅក្នុងរបៀប SDN ក៏ដើម្បីកំណត់ STOP register bit ដែរ ប៉ុន្តែត្រូវបិទ ULPLDO និង LFOSC នៅពេលដំបូង ក៏ដូចជាការរកឃើញកម្រិតបញ្ចូល I/O ទាំងអស់នៅក្នុងតំបន់ AON (បើមិនដូច្នេះទេ ការត្រឡប់ I/O អាចបណ្តាលឱ្យមានការភ្ញាក់មិនពិត និងធ្វើឱ្យបន្ទះឈីបដំណើរការមិនត្រឹមត្រូវ)។ នៅក្នុងរបៀប SDN ចាប់តាំងពីទាំង DLDO និង ULPLDO ត្រូវបានបិទ នាឡិកាទាំងអស់ត្រូវបានបញ្ឈប់ មានតែ POR power-on reset ឬ RSTn pin reset អាចបើកថាមពលបន្ទះឈីបឡើងវិញបាន។

8.2 ប្រភពភ្ញាក់

ដូចដែលបានរៀបរាប់នៅក្នុងផ្នែកមុន មានតែឧបករណ៍ប្រព័ន្ធនៅក្នុងដែនដែលបើកជាធម្មតាប៉ុណ្ណោះដែលអាចគាំទ្របាន។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 27/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ប្រព័ន្ធដាស់ក្នុងរបៀប STOP ដែលយើងហៅថាប្រភពភ្ញាក់។ ប្រភពដាស់ CMT2186A ភាគច្រើនបានមកពីម៉ូឌុលមុខងារបីខាងក្រោម៖
ការផ្លាស់ប្តូរ I/O ម៉ូឌុលស្កេន D0-D11 នៃ CMT2186A អាចគាំទ្រមុខងារនេះ។ អ្នកប្រើប្រាស់ត្រូវកំណត់រចនាសម្ព័ន្ធ GPIO ដែលត្រូវការ
រកមើលការភ្ញាក់មុនពេលចូលទៅក្នុងរបៀប STOP ។
ម៉ូឌុលកម្មវិធីកំណត់ម៉ោងគេង កម្មវិធីកំណត់ម៉ោងគេងថាមពលទាប ដាស់របៀប STOP ។
ម៉ូឌុលប្រៀបធៀបអាណាឡូក ឧបករណ៍ប្រៀបធៀបអាណាឡូកត្រូវបានប្រើដើម្បីប្រៀបធៀបសញ្ញាបញ្ចូលពីរ។ នៅពេលដែលលទ្ធផលនៃការប្រៀបធៀបផ្លាស់ប្តូរ
នឹងធ្វើឱ្យប្រព័ន្ធភ្ញាក់ដែលរំខាន។ អ្នក​ប្រើ​ត្រូវ​កំណត់​រចនា​សម្ព័ន្ធ​របៀប​ធ្វើ​ការ​របស់​អ្នក​ប្រៀបធៀប​មុន​ពេល​ចូល​ទៅ​ក្នុង​ទម្រង់ STOP។
8.3 ប្រភពរំខាន និងការគ្រប់គ្រងការរំខាន
ប្រភពដាស់តឿនសម្រាប់ CMT2186A ត្រូវបានពិពណ៌នានៅក្នុងផ្នែកមុន។ ដោយសារពួកគេគាំទ្រប្រព័ន្ធភ្ញាក់ដឹងខ្លួនសុទ្ធ វាក៏អាចយល់បានថាជាប្រព័ន្ធប្រភពនៃការភ្ញាក់ផងដែរ។ ប្រភពរំខាន CMT2186A ដែលនឹងត្រូវបានណែនាំនៅក្នុងផ្នែកនេះត្រូវបានភ្ជាប់ជាចម្បងជាមួយប្រតិបត្តិការ 8051 ពោលគឺដំណើរការជាក់លាក់នៃការឆ្លើយតបដែលរំខានដោយផ្អែកលើប្រតិបត្តិការកូដ។

ផ្ទៃក្នុង 8051 នៃ CMT2186A គាំទ្រប្រភពរំខានចំនួន 11 ដូចជា៖ One Timer 0 interrupt One Timer 1 interrupt One Serial 0 (ពោលគឺ UART) interrupt; ការរំខានខាងក្រៅចំនួនប្រាំបី (តទៅនេះហៅថា INT);

ប្រភពរំខាននីមួយៗអាចត្រូវបានបើកដោយឯករាជ្យ ហើយអាទិភាពរំខាន 2 កម្រិតអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធ។ តារាង 8-1 រាយវ៉ិចទ័ររំខានដែលត្រូវគ្នានឹងប្រភពរំខានចំនួន 11 និងទំនាក់ទំនងប្រភពរំខានដែលត្រូវគ្នា។

តារាង 8-1 ។ CMT2186A វ៉ិចទ័ររំខាន

សញ្ញារំខាន 0 1 2 3

រំខានវ៉ិចទ័រ 0x0003 0x000B 0x0013 0x001B

ប្រភពរំខាន
ការរំខានខាងក្រៅ 0 កម្មវិធីកំណត់ម៉ោង 0 រំខាន
ការរំខានខាងក្រៅ 1 កម្មវិធីកំណត់ម៉ោង 1 រំខាន

សញ្ញាស្នើសុំរំខាន
IE0 TF0 IE1 TF1

រំខានការបើកការគ្រប់គ្រង
EX0 ET0 EX1 ET1

រំខានអាទិភាព
IPL0[0] IPL0[1] IPL0[2] IPL0[3]

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 28/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

4

0x0023

UART រំខាន

TI0/RI0

ES0

IPL0[4]

5

០x១ ប៊ី

ការរំខានខាងក្រៅ 2

IE2 ។

EXXXX

IPL1[2]

6

0x0053

ការរំខានខាងក្រៅ 3

IE3 ។

EXXXX

IPL1[3]

7

០x១ ប៊ី

ការរំខានខាងក្រៅ 4

IE4 ។

EXXXX

IPL1[4]

8

0x0063

ការរំខានខាងក្រៅ 5

IE5 ។

EXXXX

IPL1[5]

9

០x១ ប៊ី

ការរំខានខាងក្រៅ 6

IE6 ។

EXXXX

IPL1[6]

10

0x0073

ការរំខានខាងក្រៅ 7

IE7 ។

EXXXX

IPL1[7]

កំណត់ចំណាំ៖

ឧបករណ៍បញ្ជាស្នូល T8051XC3 មានពេលវេលាឆ្លើយតបអប្បរមានៃនាឡិកាប្រព័ន្ធ 3 ដែលត្រូវបានផ្តល់ដោយ

លំយោល RC 24MHz ខាងក្នុង HFOSC ឬ XOSC គ្រីស្តាល់ 26MHz ខាងក្រៅ។

8.4 ការធ្វើផែនទីរំខានខាងក្រៅ

មានប្រភពរំខានចំនួន 11 ដែលគាំទ្រដោយ T8051XC3 ដែលបានរៀបរាប់ខាងលើ។ លើកលែងតែប្រភពរំខានទាំងបីនៃ Timer 0, Timer 1 និង UART គឺជាប្រភពរំខានដែលមិនអាចជ្រើសរើសបាន ការរំខានខាងក្រៅចំនួនប្រាំបីផ្សេងទៀតអាចត្រូវបានជ្រើសរើសដោយភាពបត់បែនជាប្រភពរំខាន។ ស្នូលស៊ីភីយូត្រូវបានភ្ជាប់ទៅប្រភពរំខានគ្រឿងកុំព្យូទ័រតាមរយៈ INT BUS (រថយន្តក្រុងរំខាន)។ មានប្រភពរំខានខាងក្រៅចំនួន 27 ដែលរាយបញ្ជីដូចខាងក្រោមៈ

មុខងាររំខានការបញ្ចូល I/O, D0-D11, សរុបចំនួន 12; ម៉ូឌុលកម្មវិធីកំណត់ម៉ោង A/B ក្រុមនីមួយៗនៃកម្មវិធីកំណត់ម៉ោងមានការរំខានចំនួន 4 សរុបចំនួន 8 ។ 1 សញ្ញា FIFO ទទេរំខានការកេះម៉ូឌុលបញ្ជូនរង 1G; 2 ម៉ូឌុល SPI បញ្ជូន និងទទួលទិន្នន័យ រំខានការកេះ; 2 ការរំខានទិន្នផលរបស់ឧបករណ៍ប្រៀបធៀប; 1 ទិន្នផល CDR រំខាន; កម្មវិធីកំណត់ម៉ោងគេង 1 រំខាន

ការរំខានខាងក្រៅ INT0 និង INT1 ត្រូវបានប្រើដើម្បីភ្ជាប់ប្រភពដាស់បី INT2- INT7 ត្រូវបានប្រើដើម្បីភ្ជាប់ប្រភពរំខាននៃគ្រឿងកុំព្យូទ័រនីមួយៗ និង I/O ហើយការគូសវាសគឺខុសគ្នា។ ខាងក្រោមនេះប្រើ INT0, INT1 និង INT2 ជាឧamples ដើម្បីគូរដ្យាក្រាមរចនាសម្ព័ន្ធរំខាន។

ដូចដែលបានបង្ហាញក្នុងរូបភាពខាងក្រោម INT0 ត្រូវបានភ្ជាប់ទៅឧបករណ៍ប្រៀបធៀបរំខាន ហើយការបញ្ចូល IO រំខាន ហើយឧបករណ៍ប្រៀបធៀប ឬការរកឃើញគែម I/O នឹងបង្កឱ្យ INT0 ត្រូវបានប្រើជាប្រភពភ្ញាក់នៅក្នុងរបៀប STOP ។ INT1 ត្រូវបានជួសជុលទៅនឹងការរំខាននៃកម្មវិធីកំណត់ម៉ោងគេង ហើយក៏ត្រូវបានគេប្រើជាប្រភពនៃការភ្ញាក់នៅក្នុងរបៀប STOP ផងដែរ។ បន្ទាប់ពី CPU ត្រូវបានភ្ញាក់ឡើង វាចូលទៅក្នុងកម្មវិធីឆ្លើយតបរំខាន។ អ្នកប្រើប្រាស់អាចសាកសួរ FLAG ដោយ SFR ដើម្បីកំណត់ការរំខានជាក់លាក់ដែលដាស់ប្រព័ន្ធ និងអនុវត្តដំណើរការដែលពាក់ព័ន្ធ។ INT2 ធ្វើផែនទីជាចម្បងទៅនឹងការរំខានគ្រឿងកុំព្យូទ័រ ហើយ I/O រំខានតែផែនទីទៅ D0-D3 ប៉ុណ្ណោះ។ ចំណាំថាក្នុងករណីនេះ ការផ្លាស់ប្តូរនៅក្នុង D0-D3 នឹងប៉ះពាល់ដល់ INT0 ហើយអាចភ្ជាប់ទៅ INT2 ។ អ្នក​ប្រើ​គួរ​កំណត់​រចនា​សម្ព័ន្ធ​ការ​បើក​ការ​រំខាន និង​ការ​គូស​ផែនទី​ឱ្យ​បាន​សមរម្យ ដោយ​ប្រើ INT0 ពេល​ឈប់ និង

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 29/100 ទំព័រ

www.hoperf.com

INT2 នៅពេលកម្មវិធីកំពុងដំណើរការ។

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

COMP0_OUT COMP1_OUT
D0 D11

COMP0_FLAG COMP1_FLAG IO_CHANGE_FLAG

I/O ផ្លាស់ប្តូរការស្កេន

(កើនឡើង / ធ្លាក់ចុះ

OR

12

ការរកឃើញគែម)

SLEEP_TMO_FLAG

កម្មវិធីកំណត់ម៉ោងគេង

TA_TMR_INT

កម្មវិធីកំណត់ម៉ោង A រំខាន

TA_CCR0_INT TA_CCR1_INT

TA_CCR2_INT

TX FIFO រំខាន TX_SYM_EMPTY

SPI រំខាន

SPI_TXMTY SPI_RXNMTY

TB_TMR_INT

កម្មវិធីកំណត់ម៉ោង B រំខាន

TB_CCR0_INT TB_CCR1_INT

TB_CCR2_INT

CDR រំខាន

CDR_CLK_OUT D0

ធ្វើសមកាលកម្មដោយ SYS_CLK

D1
I/O រំខាន
D2
(មានតែផែនទី D0 D3 ដល់ INT2)
D3

INT2_SEL<3:0>
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

INT_POLAR<0>

0

INT0

1

INT_POLAR<2>

0

INT1

1

INT_POLAR<2>

0

INT2

1

តារាង 8-1 ។ ការគូសផែនទីគ្រឿងកុំព្យូទ័រ INT0, INT1 និង INT2
ខាងក្រោមនេះគឺជាការគូសផែនទីលម្អិតរវាង INT2-INT7 និងប្រភពរំខាននីមួយៗ៖

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 30/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

តារាង 8-2 ។ ប្រភពរំខានផ្នែកខាងក្រៅ និងការគូសផែនទីរំខានខាងក្រៅចំនួនប្រាំបី

អន្តរ

រំខាន

ការ​ជ្រើស​រើស​ខូច

INT2_SEL = 0000

INT2_SEL = 0001

INT2_SEL = 0010

INT2_SEL = 0011

INT2_SEL = 0100

INT2_SEL = 0101

INT2_SEL = 0110

INT2

INT2_SEL = 0111 INT2_SEL = 1000

INT2_SEL = 1001

ប្រភពរំខាន
TA_TMR_INT TA_CCR0_INT TA_CCR1_INT TA_CCR2_INT TX_SYM_EMPTY
SPI_TXMTY SPI_RXNMTY TB_TMR_INT TB_CCR0_INT TB_CCR1_INT

ពិពណ៌នា Interrupt

រំខាន

on

ការ​ជ្រើស​រើស​ខូច

ប្រភព

INT3_SEL = 0000 TA_TMR_INT

កម្មវិធីកំណត់ម៉ោង A

INT3_SEL = 0001 TA_CCR0_INT

រំខាន

INT3_SEL = 0010 TA_CCR1_INT

INT3_SEL = 0011 TA_CCR2_INT

ឧបករណ៍បញ្ជូន

INT3_SEL = 0100 TX_SYM_EMPTY

រំខាន

SPI

INT3_SEL = 0101 COMP0_OUT

រំខាន

INT3_SEL = 0110 COMP1_OUT

កម្មវិធីកំណត់ម៉ោង ខ

INT3

INT3_SEL = 0111 INT3_SEL = 1000

TB_TMR_INT TB_CCR0_INT

រំខាន

INT3_SEL = 1001 TB_CCR1_INT

ការពិពណ៌នាអ៊ីយ៉ុង
កម្មវិធីកំណត់ម៉ោង A រំខាន
Transmitter Interrupt Comparator រំខាន
កម្មវិធីកំណត់ម៉ោង B រំខាន

INT2_SEL = 1010 TB_CCR2_INT

INT3_SEL = 1010 TB_CCR2_INT

INT2_SEL = 1011 CDR_CLK_OUT
INT2_SEL = 1100 D0 INT2_SEL = 1101 D1 INT2_SEL = 1110 D2 INT2_SEL = 1111 D3

CDR រំខាន
ការបញ្ចូល I/O រំខាន

INT3_SEL = 1011 CDR_CLK_OUT
INT3_SEL = 1100 D4 INT3_SEL = 1101 D5 INT3_SEL = 1110 D6 INT3_SEL = 1111 D7

CDR រំខាន
ការបញ្ចូល I/O រំខាន

INT4_SEL = 0000 TA_TMR_INT

INT5_SEL = 0000 TA_TMR_INT

INT4_SEL = 0001 INT4_SEL = 0010 INT4_SEL = 0011 INT4_SEL = 0100

TA_CCR0_INT TA_CCR1_INT TA_CCR2_INT TX_SYM_EMPTY

កម្មវិធីកំណត់ម៉ោង A រំខាន
ឧបករណ៍បញ្ជូនរំខាន

INT5_SEL = 0001 TA_CCR0_INT INT5_SEL = 0010 TA_CCR1_INT INT5_SEL = 0011 TA_CCR2_INT INT5_SEL = 0100 TX_SYM_EMPTY

កម្មវិធីកំណត់ម៉ោង A រំខាន
ឧបករណ៍បញ្ជូនរំខាន

INT4_SEL = 0101 INT4 INT4_SEL = 0110
INT4_SEL = 0111 INT4_SEL = 1000 INT4_SEL = 1001 INT4_SEL = 1010

SPI_TXMTY SPI_RXNMTY TB_TMR_INT TB_CCR0_INT TB_CCR1_INT TB_CCR2_INT

SPI រំខាន
កម្មវិធីកំណត់ម៉ោង B រំខាន

INT5_SEL = 0101 COMP0_OUT INT5 INT5_SEL = 0110 COMP1_OUT
INT5_SEL = 0111 TB_TMR_INT INT5_SEL = 1000 TB_CCR0_INT INT5_SEL = 1001 TB_CCR1_INT INT5_SEL = 1010 TB_CCR2_INT

ឧបករណ៍ប្រៀបធៀបរំខាន
កម្មវិធីកំណត់ម៉ោង B រំខាន

INT4_SEL = 1011 CDR_CLK_OUT INT4_SEL = 1100 D8

CDR រំខានការបញ្ចូល I/O

INT5_SEL = 1011 CDR_CLK_OUT INT5_SEL = 1100 D0

CDR រំខានការបញ្ចូល I/O

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 31/100 ទំព័រ

www.hoperf.com

អន្តរការបែកបាក់

រំខានការជ្រើសរើស

INT4_SEL = 1101

INT4_SEL = 1110

INT4_SEL = 1111

INT6_SEL = 0000

INT6_SEL= 0001

INT6_SEL = 0010

INT6_SEL = 0011

INT6_SEL = 0100

INT6

INT6_SEL = 0101 INT6_SEL = 0110 INT6_SEL = 0111 INT6_SEL = 1000 INT6_SEL = 1001 INT6_SEL = 1010 INT6_SEL = 1011

INT6_SEL = 1100 INT6_SEL = 1101 INT6_SEL = 1110 INT6_SEL = 1111

ប្រភពរំខាន
D9 D10 D11 TA_TMR_INT TA_CCR0_INT TA_CCR1_INT TA_CCR2_INT TX_SYM_EMPTY
SPI_TXMTY SPI_RXNMTY TB_TMR_INT TB_CCR0_INT TB_CCR1_INT TB_CCR2_INT CDR_CLK_OUT
D4 D5 D6 D7

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

ការពិពណ៌នាអំពីអន្តរ

on

រហែក

រំខានការជ្រើសរើស

ប្រភពរំខាន

រំខាន

INT5_SEL = 1101 D1

INT5_SEL = 1110 D2

INT5_SEL = 1111 D3

INT7_SEL= 0000 TA_TMR_INT

កម្មវិធីកំណត់ម៉ោង A

INT7_SEL = 0001 TA_CCR0_INT

រំខាន

INT7_SEL = 0010 TA_CCR1_INT

INT7_SEL = 0011 TA_CCR2_INT

ឧបករណ៍បញ្ជូន

INT7_SEL = 0100 TX_SYM_EMPTY

រំខាន

SPI

INT7_SEL = 0101 COMP0_OUT

រំខាន

INT7_SEL = 0110 COMP1_OUT

កម្មវិធីកំណត់ម៉ោង ខ

INT7

INT7_SEL = 0111 TB_TMR_INT INT7_SEL = 1000 TB_CCR0_INT

រំខាន

INT7_SEL = 1001 TB_CCR1_INT

INT7_SEL = 1010 TB_CCR2_INT

CDR

INT7_SEL = 1011 CDR_CLK_OUT

រំខាន

INT7_SEL = 1100 D8

ការបញ្ចូល I/O

INT7_SEL = 1101 D9

រំខាន

INT7_SEL = 1110 D10

INT7_SEL = 1111 D11

ការពិពណ៌នាអ៊ីយ៉ុង
រំខាន
កម្មវិធីកំណត់ម៉ោង A រំខាន
ឧបករណ៍បញ្ជូនរំខាន អ្នកប្រៀបធៀបរំខាន
កម្មវិធីកំណត់ម៉ោង B រំខាន
CDR រំខាន
ការបញ្ចូល I/O រំខាន

ការរំខានខាងក្រៅ INT0 និង INT1 គាំទ្រទាំងកម្រិត និងគែមរំខាន ខណៈដែល INT2-INT7 គាំទ្រតែការរំខានគែមប៉ុណ្ណោះ។ បន្ទាត់រាងប៉ូលនៃគន្លឹះរំខានត្រូវបានជ្រើសរើសដោយអ្នកប្រើប្រាស់ដោយកំណត់រចនាសម្ព័ន្ធ SFR ដែលពាក់ព័ន្ធ កេះកម្រិតអាចត្រូវបានជ្រើសរើសជាកេះកម្រិតខ្ពស់ ឬទាប ហើយគន្លឹះគែមអាចត្រូវបានជ្រើសរើសជាគន្លឹះកើនឡើង ឬគែម។
8.5 ការចុះឈ្មោះពាក់ព័ន្ធ

តារាង 8-3 ។ ក្រុមចុះឈ្មោះទាក់ទងនឹងប្រព័ន្ធ

ឈ្មោះ
TCON IEN0 IPL0

ទំព័រ SFR
១២៣ ៤

អាសយដ្ឋាន
0x88 0xA8 0xB8

តម្លៃលំនាំដើម
0x00 0x00 0x00

កម្មវិធីកំណត់ម៉ោង 1 ត្រួតពិនិត្យការចុះឈ្មោះរំខាន បើកការចុះឈ្មោះ 0 រំខានការចុះឈ្មោះអាទិភាព 0

មុខងារ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 32/100 ទំព័រ

www.hoperf.com

ឈ្មោះ
IEN1 IRCON1
IPL1 INTCTL_0 INTCTL_1 INTCTL_2 INTCTL_3

ទំព័រ SFR
0 0 0 0 0 0 0

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

អាសយដ្ឋាន
0xE6 0xF1 0xF6 0x92 0x93 0x94 0x95

តម្លៃលំនាំដើម
0x00 0x00 0x00 0x00 0x00 0x00 0x00

មុខងារ
ការរំខានការបើកការចុះឈ្មោះ 1 ការចុះឈ្មោះទង់សំណើររំខានផ្នែកខាងក្នុង ការចុះឈ្មោះការរំខានការចុះឈ្មោះអាទិភាព 1 INT0 – INT7 ការរំខានបន្ទាត់រាងប៉ូលដែលបានជ្រើសរើស ចុះឈ្មោះ INT2 និង INT3 ការចុះឈ្មោះដែលបានកំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះ INT4 និង INT5 ការចុះឈ្មោះដែលបានកំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះ INT6 និង INT7 ការគូសផែនទីដែលបានកំណត់រចនាសម្ព័ន្ធ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 33/100 ទំព័រ

www.hoperf.com

9 ម៉ូឌុល GPIO

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

9.1 មុខងារមូលដ្ឋាន
បន្ទះឈីបស៊េរី CMT2186A គាំទ្ររហូតដល់ 12 GPIOs, GPIO0 ~ GPIO11 ។ GPIO2-GPIO5 គាំទ្រច្រកឌីជីថល និងច្រកអាណាឡូក ហើយនៅសល់តែគាំទ្រមុខងារឌីជីថលប៉ុណ្ណោះ។ របៀបប្រតិបត្តិការដែលពាក់ព័ន្ធត្រូវបានរាយក្នុងតារាងខាងក្រោម។

តារាង 9-1 ។ របៀបប្រតិបត្តិការ GPIO

Property 1 ច្រកអាណាឡូក

ទ្រព្យ ២

របៀបធ្វើការបញ្ចូលអាណាឡូក[1] របៀបបញ្ចូលតែប៉ុណ្ណោះ (បញ្ចូលអណ្តែត)

របៀបបញ្ចូល[3]

របៀបបញ្ចូលជាមួយនឹងការទាញឡើង

ច្រកឌីជីថល[2]

របៀបបញ្ចូលជាមួយនឹងការទាញចុះក្រោម

របៀបបញ្ចេញ

បើក-បង្ហូរចេញលទ្ធផលរុញ-ទាញ

កំណត់ចំណាំ៖

[1] ។ ច្រកបញ្ចូលអាណាឡូកបម្រើជាការបញ្ចូលរបស់ឧបករណ៍ប្រៀបធៀបអាណាឡូកពីរ។ [2] ។ នៅពេលដែលវាត្រូវបានប្រើជាច្រកឌីជីថល វាត្រូវបានតំណាងដោយ D ដូចជា D1, D2 ជាដើម ហើយស្លាកត្រូវនឹងលេខស៊េរីនៃ

GPIO

[3] ។ លុះត្រាតែ GPIO ដំណើរការក្នុងរបៀបបញ្ចូល វាអាចជ្រើសរើសដើម្បីបើកមុខងារស្វែងរកកម្រិត IOC បាន។ [4] ។ គាំទ្រការជ្រើសរើសនៃការទាញឡើងលើ ឬទាញចុះក្រោមនៅលើបន្ទះឈីបជាមួយនឹងការបើកការគ្រប់គ្រង។ ការទាញឡើង / ទាញចុះធម្មតាគឺ 50 គ។ ទន្ទឹមនឹងនោះ

ការទាញឡើងក៏ផ្តល់នូវការទាញឡើងខ្សោយផងដែរ ជាធម្មតា ប្រដាប់ទប់ទាញឡើង 500 k ។

9.2 ការណែនាំអំពីរចនាសម្ព័ន្ធ GPIO
ដ្យាក្រាមប្លុកមុខងារពី D0 ដល់ D11 ត្រូវបានបង្ហាញខាងក្រោម៖

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 34/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
Dn_open_drain Dn
Dn_out
ចេញ
Dn_pd_odrv

Dn_pd_idrv ~ Dn_pd_idrv

Dn_pd_pullup

Dn_pd_pullup ២

50 គ

500 គ

~ Dn_pd_idrv

Dn_in

50 គ

Dn_pd_idrv

Dn_pd_pulldown ~ Dn_pd_pullup

បញ្ចូល

~Dn_pd_pullup2

Dn_pd_ana

អាណាឡូក
Dn_ana

~Dn_pd_ana គំនូសតាង ៩-១។ ដ្យាក្រាមមុខងារ GPIO

តារាង 9-2 ។ ការពិពណ៌នាមុខងាររបស់ GPIOs

ឈ្មោះច្រក Dn Dn_open_drain
Dn_out Dn_pd_odrv

ប្រភេទសញ្ញាទូទៅ IO PAD

ការពិពណ៌នា

កំណត់រចនាសម្ព័ន្ធសញ្ញា

ចុះឈ្មោះ

តម្លៃបង្ហូរ Dn ដែលត្រូវគ្នាត្រូវបានកំណត់នៅក្នុងការចុះឈ្មោះ 0x19 AON_REG_19 និង 0x1A ចុះឈ្មោះ AON_REG_1A ។ 0: open_drain, 1: push_pull;

ប្រព័ន្ធខាងក្នុង នៅពេលដែល Dn គឺជាទម្រង់ទិន្នផលឌីជីថល Dn_out គឺជាលទ្ធផលខាងក្នុង

សញ្ញាត្រួតពិនិត្យ

សញ្ញា។

ប្រព័ន្ធខាងក្នុង នៅពេលដែល Dn ត្រូវបានប្រើជាទម្រង់លទ្ធផលឌីជីថល Dn_pd_odrv = 0,

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 35/100 ទំព័រ

www.hoperf.com

ឈ្មោះច្រក Dn_pd_idrv
Dn_pd_pullup ២
Dn_pd_pulldown Dn_pd_ana Dn_ana

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

ប្រភេទសញ្ញា

ការពិពណ៌នា

សញ្ញាត្រួតពិនិត្យ

បើមិនដូច្នេះទេ Dn_pd_odrv = 1;

នៅពេលដែល Dn ត្រូវបានប្រើជារបៀបបញ្ចូលឌីជីថល Dn_pd_idrv = 0 បើមិនដូច្នេះទេ។

Dn_pd_idrv = ១

នៅពេលដែល Dn ត្រូវបានប្រើជារបៀបបញ្ចូលឌីជីថល ដែលត្រូវគ្នា។

កំណត់រចនាសម្ព័ន្ធសញ្ញា

ចុះឈ្មោះ

ការចុះឈ្មោះត្រូវបានកំណត់រចនាសម្ព័ន្ធតាមរយៈការចុះឈ្មោះ 0x15 AON_REG_15 និង 0x16 ចុះឈ្មោះ AON_REG_16 ដើម្បីគ្រប់គ្រងដោយឯករាជ្យថាតើធន់ទ្រាំនឹងការទាញ 50Kohm នៃ Dn នីមួយៗត្រូវបានបើកឬអត់។

Dn_pd_pullup 0៖ បើក។ 1 បិទ

នៅពេលដែល Dn ត្រូវបានបញ្ចូលក្នុងរបៀបបញ្ចូលឌីជីថល ថាតើការបញ្ចូលឌីជីថលទាំងអស់ឬអត់

ការគ្រប់គ្រងប្រព័ន្ធ

Dn នៃ 500Kohm ធន់ទ្រាំនឹងការទាញខ្សោយត្រូវបានបើកឬមិនអាចខាងក្នុង
កំណត់រចនាសម្ព័ន្ធតាមរយៈការចុះឈ្មោះ 0x10 AON_REG_10[5] នៃ
pd_pullup_500K ។
0: បើក 1: បិទ ;

នៅពេលដែល Dn ត្រូវបានបញ្ចូលក្នុងរបៀបបញ្ចូលឌីជីថល ដែលត្រូវគ្នា។

ការចុះឈ្មោះត្រូវបានកំណត់រចនាសម្ព័ន្ធតាមរយៈការចុះឈ្មោះ 0x17 AON_REG_17

សញ្ញាត្រួតពិនិត្យផ្ទៃក្នុងរបស់ប្រព័ន្ធ

ហើយ 0x18 ចុះឈ្មោះ AON_REG_18 ដើម្បីគ្រប់គ្រងដោយឯករាជ្យថាតើភាពធន់នឹងការទាញចុះក្រោម 50Kohm នៃ Dn នីមួយៗត្រូវបានបើកឬអត់។ Dn_pd_pulldown 0: Enable1: Disable;

ចំណាំ៖ នៅពេលដែលឧបករណ៍ទប់ទល់ទាញចុះក្រោម និងរេស៊ីស្ទ័រទាញឡើងត្រូវបានបើក

ក្នុងពេលជាមួយគ្នានោះ resistor ទាញឡើងមានអាទិភាពខ្ពស់ជាង។

សញ្ញាត្រួតពិនិត្យផ្ទៃក្នុងរបស់ប្រព័ន្ធ

នៅពេលដែល Dn ស្ថិតនៅក្នុងរបៀបអាណាឡូក I/O ខ្សែសញ្ញាអាណាឡូកខាងក្នុងត្រូវបានភ្ជាប់ទៅសញ្ញាត្រួតពិនិត្យខាងក្នុងរបស់ប្រព័ន្ធតាមរយៈការចុះឈ្មោះ 0x10 AON_REG_10[4:0] Dn_ana ។

9.3 ការបញ្ចូលឌីជីថល GPIO
នៅពេលដែល GPIO ត្រូវបានកំណត់រចនាសម្ព័ន្ធជាការបញ្ចូលឌីជីថល៖
ផ្នែកលទ្ធផលត្រូវបានបិទ។ ថាតើភាពធន់នឹងការទាញឡើង/ទាញចុះក្រោមត្រូវបានបើក អាស្រ័យលើការកំណត់ដែលទាក់ទងនឹង IO
ទាញចុះនៅក្នុងបញ្ជីឈ្មោះ AON; វ៉ុលtagអ៊ី នៅលើ IO គឺ sampបាននាំឱ្យមានការចុះឈ្មោះ SFR នៃ GPIO_IN_0 និង GPIO_IN_1 ដែលជា
អាចអានបានដោយកម្មវិធី។

9.4 ទិន្នផលឌីជីថល GPIO
រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 36/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
នៅពេលដែល GPIO ត្រូវបានកំណត់រចនាសម្ព័ន្ធជាលទ្ធផល៖ ឆានែលលទ្ធផលត្រូវបានបើក។ បើករបៀបបង្ហូរចេញ
- ប្រសិនបើការចុះឈ្មោះលទ្ធផលគឺ 0 នោះលទ្ធផល NMOS ត្រូវបានបើក។ - ប្រសិនបើការចុះឈ្មោះលទ្ធផលគឺ 1 នោះលទ្ធផល NMOS និង PMOS ត្រូវបានបិទ ហើយ GPIO ស្ថិតក្នុងកម្រិតខ្ពស់។
ស្ថានភាពតស៊ូ។ របៀប​លទ្ធផល​រុញ​ទាញ៖
- ប្រសិនបើការចុះឈ្មោះលទ្ធផលគឺ 0 នោះ NMOS លទ្ធផលត្រូវបានបើក ហើយលទ្ធផល PMOS ត្រូវបានបិទ។ - ប្រសិនបើការចុះឈ្មោះលទ្ធផលគឺ 1 លទ្ធផល NMOS ត្រូវបានបិទ ហើយលទ្ធផល PMOS ត្រូវបានបើក។ នៅក្នុងរបៀបទិន្នផល របៀបបញ្ចូលត្រូវបានបិទ ហើយសញ្ញាបញ្ចូលត្រូវបានទាញឡើងនៅខាងក្នុង ដូច្នេះ GPIOn_in អាន 1 ។
9.5 ការបញ្ចូល និងទិន្នផលអាណាឡូក GPIO
នៅពេលដែល GPIO ត្រូវបានកំណត់រចនាសម្ព័ន្ធក្នុងរបៀបអាណាឡូក៖
មុខងារលទ្ធផលឌីជីថលត្រូវបានបិទ។ របៀបបញ្ចូលឌីជីថលត្រូវបានបិទ ហើយសញ្ញាបញ្ចូលត្រូវបានបង្ខំឱ្យទាញឡើងពីខាងក្នុង ដូច្នេះ GPIOn_in
អាន 1 ។
9.6 ការគូសផែនទីបញ្ចូលឌីជីថល GPIO
នៅពេលដែល GPIO0-GPIO11 ស្ថិតនៅក្នុងរបៀបបញ្ចូលឌីជីថល ពួកវាត្រូវបានគេហៅថា D0-D11 ដែលអាចត្រូវបានប្រើសម្រាប់ការរកឃើញកម្រិត I/O ដើម្បីបង្កើតការរំខានមុនពេលធ្វើសមកាលកម្មនាឡិកាប្រព័ន្ធ SYS_CLK ហើយបន្ទាប់ពីការធ្វើសមកាលកម្មពួកវាត្រូវបានប្រើសម្រាប់គោលបំណងបីដូចខាងក្រោម៖
ជាការបញ្ចូលខាងក្រៅទៅកាន់គ្រឿងកុំព្យូទ័រផ្សេងៗ ជាប្រភពបញ្ចូលសម្រាប់ការរំខានខាងក្រៅ INT2-INT7 (ពិពណ៌នានៅក្នុងផែនទីរំខានខាងក្រៅ
ផ្នែក) ក្នុងនាម GPIO_IN_SFR<11:0> អ្នកប្រើប្រាស់អាចអានទិន្នន័យតាមរយៈ SFR ពីរ GPIO_IN_0<7:0> និង
GPIO_IN_1<7:0>
តួលេខខាងក្រោមបង្ហាញពីការកំណត់រចនាសម្ព័ន្ធ t0_gpio_sel<3:0> ជាការបញ្ចូលខាងក្រៅនៃកម្មវិធីកំណត់ពេលគ្រឿងកុំព្យូទ័រ 0

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 37/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

t0_gpio_sel<3:0>

D0

0

D1

1

D2

2

D3

3

D4

4

D5

ធ្វើសមកាលកម្មដោយ

5

D6

SYS_CLK

6

t0_in

D7

7

D8

8

D9

9

D10

10

D11

11

ការផ្លាស់ប្តូរ I/O
ស្កេន

បានរកឃើញ ioc

ជាប្រភព INT2 INT7
អានតាមរយៈ GPIO_IN_SFR<11:0>

តារាង 9-2 ។ ដ្យាក្រាមប្លុកមុខងារនៃ GPIO ជាធាតុបញ្ចូលឌីជីថល
តាមរយៈការកំណត់ការចុះឈ្មោះ t0_gpio_sel<3:0> អ្នកប្រើប្រាស់អាចជ្រើសរើសសញ្ញាបញ្ចូលឌីជីថលណាមួយពី D0-D11 ដែលត្រូវបានធ្វើសមកាលកម្មដោយ SYS_CLK ដើម្បីផ្ញើទៅកាន់ធាតុបញ្ចូលខាងក្រៅ t0_in នៃ Timer 0។ មានសរុបចំនួន 14 ដូចជា MUX ដូចបង្ហាញក្នុងតារាងខាងក្រោម៖

តារាង 9-3 ។ GPIO Input Mapping ចុះឈ្មោះសម្រាប់គ្រឿងកុំព្យូទ័រនីមួយៗ

ម៉ូឌុលគ្រឿងកុំព្យូទ័រ

SFR

សញ្ញាជ្រើសរើស MUX T0_GPIO_SEL<3:0>

ទិន្នផល MUX t0_in

ឧបករណ៍កំណត់ពេលវេលា ០

GPIO_INC_SEL

T0_INTN_GPIO_SEL<3: 0> T1_GPIO_SEL<3:0>

t0_int0_n t1_in

កម្មវិធីកំណត់ម៉ោង 1 កម្មវិធីកំណត់ម៉ោង A

GPIO_IND_SEL GPIO_INF_SEL

T1_INTN_GPIO_SEL<3:0> TA_CCI0_GPIO_SEL<3:0>

t1_int0_n ta_cci0_in

គោលបំណងលទ្ធផល MUX
ការបញ្ចូលសញ្ញាខាងក្រៅនៃខឺណែល 8051 កម្មវិធីកំណត់ពេលគ្រឿងកុំព្យូទ័រដំបូង 0 ការរាប់បញ្ចូលការគ្រប់គ្រងច្រកទ្វារសម្រាប់ខឺណែល 8051 កម្មវិធីកំណត់ពេលគ្រឿងកុំព្យូទ័រដំបូង 0 ការបញ្ចូលសញ្ញាខាងក្រៅនៃខឺណែល 8051 កម្មវិធីកំណត់ពេលគ្រឿងកុំព្យូទ័រដំបូង 1 ការរាប់បញ្ចូលច្រកទ្វារសម្រាប់ច្រកចេញចូលមួយសម្រាប់ប្រភពខាងក្រៅ 8051 កម្មវិធីកំណត់ពេលវេលាសម្រាប់ប្រភពខាងក្រៅ 1

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 38/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

គ្រឿងកុំព្យូទ័រ

SFR

MUX សញ្ញាជ្រើសរើស MUX

គោលបំណងលទ្ធផល MUX

ម៉ូឌុល

ទិន្នផល

TA_CCI1_GPIO_SEL<3៖ ta_cci1_in មួយនៃកម្មវិធីកំណត់ម៉ោង ប្រភពចាប់យកខាងក្រៅ

0>

TB_CCI0_GPIO_SEL<3៖ tb_cci0_in មួយនៃប្រភពថតខាងក្រៅរបស់ Timer B

កម្មវិធីកំណត់ម៉ោង ខ

0> GPIO_ING_SEL
TB_CCI1_GPIO_SEL<3៖ tb_cci1_in

មួយនៃប្រភពចាប់យកខាងក្រៅ Timer B

0>

NSS_IN_GPIO_SEL<3:0 nss_in

ការបញ្ចូលដែលបានជ្រើសរើសនៃរបៀប SPI slave

> GPIO_INA_SEL
SCK_IN_GPIO_SEL<3:0 sck_in

ការបញ្ចូលនាឡិកានៃមុខងារ SPI slave

>

SPI

MISO_IN_GPIO_SEL<3៖ miso_in

ការបញ្ចូលទិន្នន័យនៃរបៀប SPI slave

0> GPIO_INB_SEL
MOSI_IN_GPIO_SEL<3៖ mosi_int

លទ្ធផលទិន្នន័យនៃរបៀបមេ SPI

0>

UART

RXD0_GPIO_SEL<3:0> GPIO_INE_SEL

rxd0_in

សញ្ញាបញ្ចូលខាងក្រៅនៃ 8051 kernal គ្រឿងកុំព្យូទ័រដំបូង UART

CDR

CDR_GPIO_SEL<3:0> cdr_in

ការបញ្ចូលសញ្ញាខាងក្រៅនៃ CDR

កំណត់ចំណាំ៖

[1] ការបញ្ចូល GPIO មួយអាចត្រូវបានប្រើជាការបញ្ចូលគ្រឿងកុំព្យូទ័រខាងក្រៅ ប្រភពរំខាន និងផែនទីទៅ SFR ក្នុងពេលតែមួយ។

ហើយអ្នកប្រើប្រាស់ត្រូវជៀសវាងការប៉ះទង្គិចមុខងារតាមរយៈការកំណត់រចនាសម្ព័ន្ធត្រឹមត្រូវ។

9.7 ការគូសផែនទីលទ្ធផលឌីជីថល GPIO

នៅពេល GPIO0-GPIO11 ត្រូវបានប្រើជាលទ្ធផលឌីជីថល ប្រភពសញ្ញាលទ្ធផលអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធដោយ SFR ហើយជ្រើសរើសពីតារាងខាងក្រោម៖

តារាង 9-4 ។ ប្រភពសញ្ញាដែលបានជ្រើសរើសពី GPIOn

ជ្រើសរើសធាតុ gpio_out_sfr[n] port0_out[n] Port1_out[n] ta_out0 ta_out1 ta_out2 tb_out0 tb_out1 tb_out2 sck_out nss_out

មុខងារ GPIO_OUT_0 និង GPIO_OUT_1 ចុះឈ្មោះ Port0[7:0] output Port1[3:0] output of Timer A capture/comparison in module 0 Output of Timer A capture/comparison in module 1 Output of Timer A capture/comparison in module 2 Output of Timer B capture/comparison 0 output of Timer module in កម្មវិធីកំណត់ម៉ោង B ចាប់យក/ប្រៀបធៀបនៅក្នុងម៉ូឌុល 1 លទ្ធផលនាឡិកានៃរបៀបមេ SPI បានជ្រើសរើសលទ្ធផលនៃរបៀបមេ SPI

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 39/100 ទំព័រ

www.hoperf.com

ជ្រើសរើសធាតុ mosi_out miso_out
csb_out
fcsb_out
rxd0_out txd0_out
T0_ov t1_ov

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
មុខងារទិន្នផលទិន្នន័យនៃរបៀបមេ SPI ការបញ្ចូលទិន្នន័យនៃរបៀបទាសករ SPI ចូលប្រើការចុះឈ្មោះជ្រើសរើសបន្ទះឈីបលទ្ធផលនៃ CMT ជាក់លាក់ 4-wire នៅក្នុងរបៀបមេ SPI ចូលដំណើរការលទ្ធផលជ្រើសរើសបន្ទះឈីប FIFO នៃ CMT ជាក់លាក់ 4-wire នៅក្នុងរបៀបមេ SPI ទិន្នផល UART បើកសញ្ញានាឡិកា UART ឬទិន្នន័យទិន្នផល ទិន្នផលសញ្ញានៃកម្មវិធីកំណត់ម៉ោង0 Module overflow Signal output of timer

ការគូសផែនទីរវាង GPIOn និងប្រភពសញ្ញាទិន្នផលនីមួយៗត្រូវបានបង្ហាញក្នុងតារាងខាងក្រោម៖

GPIO នៅលើ GPIO0 GPIO1

តារាង 9-5 ។ ការគូសផែនទីរវាង GPIOn និងលទ្ធផលម៉ូឌុលអនុគមន៍

SFR GPIO_OUTA_SEL GPIO_OUTA_SEL

សញ្ញា និងតម្លៃកូដដែលបានជ្រើសរើស GPIO0_OUT_SEL<3:0> = 4'd0 GPIO0_OUT_SEL<3:0> = 4'd1 GPIO0_OUT_SEL<3:0> = 4'd2 GPIO0_OUT_SEL<3:0> = 4'd3 GPIO0_OUT_3> GPIO0_OUT_SEL<4:4> = 0'd3 GPIO0_OUT_SEL<4:5> = 0'd3 GPIO0_OUT_SEL<4:6> = 0'd3 GPIO0_OUT_SEL<4:7> = 0'd3 GPIO0_OUT_SEL=4'd8: GPIO0_OUT_SEL<3:0> = 4'd9 GPIO0_OUT_SEL<3:0> = 4'd10 GPIO0_OUT_SEL<3:0> = 4'd11 GPIO0_OUT_SEL<3:0> = 4'd12 GPIO0_OUT_SEL<3:0> GPIO4_OUT_SEL<13:0> = 3'd0 GPIO4_OUT_SEL<14:0> = 3'd0 GPIO4_OUT_SEL<15:1> = 3'd0 GPIO4_OUT_SEL<0:1> = 3'd0 GPIO4_OUT_SEL ='1'd1 GPIO3_OUT_SEL ='0' GPIO4_OUT_SEL<2:1> = 3'd0 GPIO4_OUT_SEL<3:1> = 3'd0 GPIO4_OUT_SEL<4:1> = 3'd0 GPIO4_OUT_SEL<5:1> = 3'd0 GPIO4_OUT_SEL =6'1> GPIO3_OUT_SEL<0:4> = 7'd1

ប្រភពសញ្ញាទិន្នផល gpio_out_sfr<0> port0_out<0> tb_ccr0_out tb_cc1_out tb_ccr2_out nss_out sck_out miso_out mosi_out fcsb_out txd0_out ta_ccr0_out ta_cc1_out ta_outtov_out2_out gpio_out_sfr<0> port1_out<1> tb_ccr0_out tb_cc1_out tb_ccr0_out nss_out sck_out miso_out mosi_out rxd1_out

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 40/100 ទំព័រ

www.hoperf.com

GPIOon GPIO2 GPIO3 GPIO4

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

SFR GPIO_OUTB_SEL GPIO_OUTB_SEL GPIO_OUTB_SEL

សញ្ញា និងតម្លៃលេខកូដដែលបានជ្រើសរើស GPIO1_OUT_SEL<3:0> = 4'd10 GPIO1_OUT_SEL<3:0> = 4'd11 GPIO1_OUT_SEL<3:0> = 4'd12 GPIO1_OUT_SEL<3:0> = 4'd13'GP>1:3'd0'GP>4 GPIO14_OUT_SEL<1:3> = 0'd4 GPIO15_OUT_SEL<2:3> = 0'd4 GPIO0_OUT_SEL<2:3> = 0'd4 GPIO1_OUT_SEL<2:3> = 0'd4 GPIO2_OUT_SEL ='2'd3 GPIO0_OUT_SEL ='4' GPIO3_OUT_SEL<2:3> = 0'd4 GPIO4_OUT_SEL<2:3> = 0'd4 GPIO5_OUT_SEL<2:3> = 0'd4 GPIO6_OUT_SEL<2:3> = 0'd4 GPIO7_OUT_SEL =2'3> GPIO0_OUT_SEL<4:8> = 2'd3 GPIO0_OUT_SEL<4:9> = 2'd3 GPIO0_OUT_SEL<4:10> = 2'd3 GPIO0_OUT_SEL<4:11> = 2'd3 GPIO0_OUT_SEL = 4' GPIO12_OUT_SEL<2:3> = 0'd4 GPIO13_OUT_SEL<2:3> = 0'd4 GPIO14_OUT_SEL<2:3> = 0'd4 GPIO15_OUT_SEL<3:3> = 0'd4 GPIO0_OUT_SEL<3:'3 GPIO0_OUT_SEL<4:1> = 3'd3 GPIO0_OUT_SEL<4:2> = 3'd3 GPIO0_OUT_SEL<4:3> = 3'd3 GPIO0_OUT_SEL<4:4> = 3'd3 GPIO0_OUT_SEL<4': GPIO5_OUT_SEL<3:3> = 0'd4 GPIO6_OUT_SEL<3:3> = 0'd4 GPIO7_OUT_SEL<3:3> = 0'd4 GPIO8_OUT_SEL<3:3> = 0'd4 GPIO9_OUT_SEL: 3' GPIO3_OUT_SEL<0:4> = 10'd3 GPIO3_OUT_SEL<0:4> = 11'd3 GPIO3_OUT_SEL<0:4> = 12'd3 GPIO3_OUT_SEL<0:4> = 13'd3 GPIO3_OUT_SEL = 0' GPIO4_OUT_SEL<14:3> = 3'd0

ប្រភពសញ្ញាទិន្នផល csb_out ta_ccr0_out ta_cc1_out ta_ccr2_out t0_ov_out t1_ov_out gpio_out_sfr<2> port0_out<2> tb_ccr0_out tb_cc1_out tb_ccr2_out nss_ misout_0 s txd0_out ta_ccr0_out ta_cc1_out ta_ccr2_out t0_ov_out t1_ov_out gpio_out_sfr<3> port0_out<3> tb_ccr0_out tb_cc1_out tb_ccr2_out nss_out sckdx_out missdxd_out mis ta_ccr0_out ta_cc0_out ta_ccr0_out t1_ov_out t2_ov_out gpio_out_sfr<0> port1_out<4> tb_ccr0_out

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 41/100 ទំព័រ

www.hoperf.com

GPIO នៅលើ GPIO5 GPIO6

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

SFR GPIO_OUTC_SEL GPIO_OUTD_SEL

សញ្ញា និងតម្លៃលេខកូដដែលបានជ្រើសរើស GPIO4_OUT_SEL<3:0> = 4'd3 GPIO4_OUT_SEL<3:0> = 4'd4 GPIO4_OUT_SEL<3:0> = 4'd5 GPIO4_OUT_SEL<3:0> = 4'd6'GP>4:3'd0'GP>4 GPIO7_OUT_SEL<4:3> = 0'd4 GPIO8_OUT_SEL<4:3> = 0'd4 GPIO9_OUT_SEL<4:3> = 0'd4 GPIO10_OUT_SEL<4:3> = 0'd4 GPIO11_OUT_SEL ='4'd3 GPIO0_OUT_SEL ='4' GPIO12_OUT_SEL<4:3> = 0'd4 GPIO13_OUT_SEL<4:3> = 0'd4 GPIO14_OUT_SEL<4:3> = 0'd4 GPIO15_OUT_SEL<5:3> = 0'd4 GPIO0_OUT_SEL =5'3> GPIO0_OUT_SEL<4:1> = 5'd3 GPIO0_OUT_SEL<4:2> = 5'd3 GPIO0_OUT_SEL<4:3> = 5'd3 GPIO0_OUT_SEL<4:4> = 5'd3 GPIO0_OUT_SEL = 4' GPIO5_OUT_SEL<5:3> = 0'd4 GPIO6_OUT_SEL<5:3> = 0'd4 GPIO7_OUT_SEL<5:3> = 0'd4 GPIO8_OUT_SEL<5:3> = 0'd4 GPIO9_OUT_SEL<5:'3 GPIO0_OUT_SEL<4:10> = 5'd3 GPIO0_OUT_SEL<4:11> = 5'd3 GPIO0_OUT_SEL<4:12> = 5'd3 GPIO0_OUT_SEL<4:13> = 5'd3 GPIO0_OUT_SEL<4': GPIO14_OUT_SEL<5:3> = 0'd4 GPIO15_OUT_SEL<6:3> = 0'd4 GPIO0_OUT_SEL<6:3> = 0'd4 GPIO1_OUT_SEL<6:3> = 0'd4 GPIO2_OUT_SEL: 6' GPIO3_OUT_SEL<0:4> = 3'd6 GPIO3_OUT_SEL<0:4> = 4'd6 GPIO3_OUT_SEL<0:4> = 5'd6 GPIO3_OUT_SEL<0:4> = 6'd6 GPIO3_OUT_SEL = 0' GPIO4_OUT_SEL<7:6> = 3'd0

ប្រភពសញ្ញាទិន្នផល tb_cc1_out tb_ccr2_out nss_out sck_out miso_out mosi_out fcsb_out txd0_out ta_ccr0_out ta_cc1_out ta_ccr2_out t0_ov_out t1_ov_out gpio_out_tb_out<5> tb_cc0_out tb_ccr5_out nss_out sck_out miso_out mosi_out fcsb_out txd0_out ta_ccr1_out ta_cc2_out ta_ccr0_out t0_ov_out t1_ov_out gpio_out_sfr<2> port_out_out tb_ccr0_out nss_out sck_out miso_out mosi_out rxd1_out txd6_out ta_ccr0_out

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 42/100 ទំព័រ

www.hoperf.com

GPIOon GPIO7 GPIO8 GPIO9

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

SFR GPIO_OUTE_SEL GPIO_OUTE_SEL GPIO_OUTE_SEL

សញ្ញា និងតម្លៃលេខកូដដែលបានជ្រើសរើស GPIO6_OUT_SEL<3:0> = 4'd12 GPIO6_OUT_SEL<3:0> = 4'd13 GPIO6_OUT_SEL<3:0> = 4'd14 GPIO6_OUT_SEL<3:0> = 4'd15'GP>7:3'd0'GP>4 GPIO0_OUT_SEL<7:3> = 0'd4 GPIO1_OUT_SEL<7:3> = 0'd4 GPIO2_OUT_SEL<7:3> = 0'd4 GPIO3_OUT_SEL<7:3> = 0'd4 GPIO4_OUT_SEL ='7'd3 GPIO0_OUT_SEL ='4' GPIO5_OUT_SEL<7:3> = 0'd4 GPIO6_OUT_SEL<7:3> = 0'd4 GPIO7_OUT_SEL<7:3> = 0'd4 GPIO8_OUT_SEL<7:3> = 0'd4 GPIO9_OUT_SEL =7'3> GPIO0_OUT_SEL<4:10> = 7'd3 GPIO0_OUT_SEL<4:11> = 7'd3 GPIO0_OUT_SEL<4:12> = 7'd3 GPIO0_OUT_SEL<4:13> = 7'd3 GPIO0_OUT_SEL = 4' GPIO14_OUT_SEL<7:3> = 0'd4 GPIO15_OUT_SEL<8:3> = 0'd4 GPIO0_OUT_SEL<8:3> = 0'd4 GPIO1_OUT_SEL<8:3> = 0'd4 GPIO2_OUT_SEL<8:'3 GPIO0_OUT_SEL<4:3> = 8'd3 GPIO0_OUT_SEL<4:4> = 8'd3 GPIO0_OUT_SEL<4:5> = 8'd3 GPIO0_OUT_SEL<4:6> = 8'd3 GPIO0_OUT_SEL<4': GPIO7_OUT_SEL<8:3> = 0'd4 GPIO8_OUT_SEL<8:3> = 0'd4 GPIO9_OUT_SEL<8:3> = 0'd4 GPIO10_OUT_SEL<8:3> = 0'd4 GPIO11_OUT_SEL: 8' GPIO3_OUT_SEL<0:4> = 12'd8 GPIO3_OUT_SEL<0:4> = 13'd8 GPIO3_OUT_SEL<0:4> = 14'd8 GPIO3_OUT_SEL<0:4> = 15'd9 GPIO3_OUT_SEL = 0' GPIO4_OUT_SEL<0:9> = 3'd0

ប្រភពសញ្ញាទិន្នផល ta_cc1_out ta_ccr2_out t0_ov_out t1_ov_out gpio_out_sfr<7> port0_out<7> tb_ccr0_out tb_cc1_out tb_ccr2_out nss_out sck_out miso_out mosi_out rout x ta_cc0_out ta_ccr0_out t0_ov_out t1_ov_out gpio_out_sfr<2> port0_out<1> tb_ccr8_out tb_cc1_out tb_ccr0_out nss_out sck_out miso_out mosi_out rxd0rout_out ta_ccr1_out ta_ccr2_out t0_ov_out t0_ov_out gpio_out_sfr<0> port1_out<2> tb_ccr0_out tb_cc1_out tb_ccr9_out

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 43/100 ទំព័រ

www.hoperf.com

GPIO នៅលើ GPIO10 GPIO11

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

SFR GPIO_OUTF_SEL GPIO_OUTF_SEL

សញ្ញា និងតម្លៃលេខកូដដែលបានជ្រើសរើស GPIO9_OUT_SEL<3:0> = 4'd5 GPIO9_OUT_SEL<3:0> = 4'd6 GPIO9_OUT_SEL<3:0> = 4'd7 GPIO9_OUT_SEL<3:0> = 4'd8'GP>9:3'd0'GP>4 GPIO9_OUT_SEL<9:3> = 0'd4 GPIO10_OUT_SEL<9:3> = 0'd4 GPIO11_OUT_SEL<9:3> = 0'd4 GPIO12_OUT_SEL<9:3> = 0'd4 GPIO13_OUT_SEL ='9'd3 GPIO0_OUT_SEL ='4' GPIO14_OUT_SEL<9:3> = 0'd4 GPIO15_OUT_SEL<10:3> = 0'd4 GPIO0_OUT_SEL<10:3> = 0'd4 GPIO1_OUT_SEL<10:3> = 0'd4 GPIO2_OUT_SEL =10'3> GPIO0_OUT_SEL<4:3> = 10'd3 GPIO0_OUT_SEL<4:4> = 10'd3 GPIO0_OUT_SEL<4:5> = 10'd3 GPIO0_OUT_SEL<4:6> = 10'd3 GPIO0_OUT_SEL = 4' GPIO7_OUT_SEL<10:3> = 0'd4 GPIO8_OUT_SEL<10:3> = 0'd4 GPIO9_OUT_SEL<10:3> = 0'd4 GPIO10_OUT_SEL<10:3> = 0'd4 GPIO11_OUT_SEL<10:'3 GPIO0_OUT_SEL<4:12> = 10'd3 GPIO0_OUT_SEL<4:13> = 10'd3 GPIO0_OUT_SEL<4:14> = 10'd3 GPIO0_OUT_SEL<4:15> = 11'd3 GPIO0_OUT_SEL<4': GPIO0_OUT_SEL<11:3> = 0'd4 GPIO1_OUT_SEL<11:3> = 0'd4 GPIO2_OUT_SEL<11:3> = 0'd4 GPIO3_OUT_SEL<11:3> = 0'd4 GPIO4_OUT_SEL: 11' GPIO3_OUT_SEL<0:4> = 5'd11 GPIO3_OUT_SEL<0:4> = 6'd11 GPIO3_OUT_SEL<0:4> = 7'd11 GPIO3_OUT_SEL<0:4> = 8'd11 GPIO3_OUT_SEL = 0' GPIO4_OUT_SEL<9:11> = 3'd0

ប្រភពសញ្ញាទិន្នផល nss_out sck_out miso_out mosi_out rxd0_out txd0_out ta_ccr0_out ta_cc1_out ta_ccr2_out t0_ov_out t1_ov_out gpio_out_sfr<10> port0_out<2> tb_ccr0_out_1 nss_out sck_out miso_out mosi_out rxd2_out txd0_out ta_ccr0_out ta_cc0_out ta_ccr1_out t2_ov_out t0_ov_out gpio_out_sfr<1> port11_out<0> tb_ccr3_out 0nssfr sck_out miso_out mosi_out rxd1_out txd2_out ta_ccr0_out ta_cc0_out ta_ccr0_out

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 44/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

GPIOon

SFR

សញ្ញា និងតម្លៃកូដដែលបានជ្រើសរើស

ប្រភពសញ្ញាទិន្នផល

GPIO11_OUT_SEL<3:0> = 4’d14

t0_ov_out

GPIO11_OUT_SEL<3:0> = 4’d15

t1_ov_out

កំណត់ចំណាំ៖

[1] ។ ការគូសផែនទីលំនាំដើមត្រូវបានគ្រប់គ្រងដោយក្រុមចុះឈ្មោះ GPIO_OUT_SFR<11:0> និងសម្រាប់ហេតុផលដែលចុះឈ្មោះ

ក្រុមមិនគាំទ្ររបៀបចូលប្រើប៊ីតទេ ដូច្នេះលទ្ធផលត្រួតពិនិត្យត្រូវអនុវត្តតាមរបៀប "អាន-ផ្លាស់ប្តូរ-សរសេរ"។

9.8 ការរកឃើញកម្រិត GPIO ត្រឡប់
ម៉ូឌុលការរកឃើញកម្រិត GPIO (I/O Change Scan) ដែលមានទីតាំងនៅក្នុងដែន AON ត្រូវបានប្រើដើម្បីរកមើលកម្រិតនៃការត្រឡប់នៃ I/O ណាមួយបន្ទាប់ពីប្រព័ន្ធចូលទៅក្នុងរបៀប STOP បង្កើតប្រភពរំខានដែលដាស់ប្រព័ន្ធ ហើយបញ្ជូនវាទៅការរំខានខាងក្រៅ INT0 ។ នៅពេលដែលប្រព័ន្ធដំណើរការជាធម្មតា អ្នកប្រើប្រាស់ត្រូវបិទម៉ូឌុលនេះ ដើម្បីជៀសវាងការប៉ះទង្គិចជាមួយមុខងារ I/O ផ្សេងទៀត។
ដើម្បីប្រើម៉ូឌុលនេះ ដំណើរការនៃកម្មវិធីអ្នកប្រើប្រាស់ត្រូវបានបង្ហាញដូចខាងក្រោម៖
1. ម៉ូឌុលអាចត្រូវបានបើកនៅពេលដែល STOP ហើយ IO_EVENT_RST_N ប៊ីតនៃ WKINT_STA ចុះឈ្មោះក្នុង SFR PAGE0 ត្រូវបានរក្សាជា 0 នៅពេលដែលកម្មវិធីកំពុងដំណើរការ ពោលគឺម៉ូឌុលទាំងមូលស្ថិតនៅក្នុងស្ថានភាពកំណត់ឡើងវិញ។
2. បន្ទាប់ពីជ្រើសរើស GPIO ដែលត្រូវរកឃើញ អ្នកប្រើប្រាស់អាចចាប់ផ្តើមកំណត់រចនាសម្ព័ន្ធ GPIO និងម៉ូឌុលរកឃើញតាមរយៈ AON REG។ ដោយសារម៉ូឌុលស្ថិតនៅក្នុងរបៀបកំណត់ឡើងវិញ វានឹងមិនមានការរកឃើញខុសណាមួយក្នុងអំឡុងពេលដំណើរការកំណត់រចនាសម្ព័ន្ធទេ។
3. GPIO ត្រូវតែត្រូវបានកំណត់រចនាសម្ព័ន្ធនៅក្នុងរបៀបបញ្ចូលឌីជីថលជាមួយនឹងមុខងារលទ្ធផលឌីជីថលត្រូវបានបិទ។ 4. កំណត់រចនាសម្ព័ន្ធធន់ទ្រាំនឹងការទាញឡើង/ទាញចុះនៃ GPIO; 5. កំណត់រចនាសម្ព័ន្ធប៉ូលបញ្ច្រាសនៃ GPIO (គែមកើនឡើងឬធ្លាក់ចុះ); 6. បើកការរកឃើញការត្រឡប់កម្រិត GPIO; 7. កំណត់ IO_EVENT_RST_N ទៅ 1 ដើម្បីបញ្ចេញម៉ូឌុលរាវរក និងកំណត់រចនាសម្ព័ន្ធ INT0 តាមរយៈ SFR ។ 8. ប្រព័ន្ធចូលទៅក្នុងរបៀប STOP ។ 9. នៅពេលដែល GPIO រកឃើញកម្រិតត្រឡប់ និងដាស់ប្រព័ន្ធតាមរយៈ INT0 វាកំណត់
IO_EVEN_RST_N ប៊ីតទៅ 0 បន្ទាប់ពីសំណួរ និងដំណើរការ IO ដែលពាក់ព័ន្ធ។
សេណារីយ៉ូកម្មវិធីទូទៅនៃម៉ូឌុលនេះគឺថា GPIO ភ្ជាប់សោខាងក្រៅ។ វិធីសាស្រ្តតភ្ជាប់ពីរត្រូវបានប្រើជាធម្មតា។ ខាងក្រោមនេះបង្ហាញពី exampការភ្ជាប់សោជាមួយ D0-D11៖
ការតភ្ជាប់គន្លឹះឯករាជ្យ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 45/100 ទំព័រ

www.hoperf.com

D11_IN

វីឌី

Strong-Pull Week-Pull

D11

D10_IN

D10

D9_IN

D9

D8_IN

D8

D7_IN

D7

D6_IN

D6

D5_IN

D5

D4_IN

D4

D3_IN

D3

D2_IN

D2

D1_IN

D1

D0_IN

D0

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

តារាង 9-3 ។ ដ្យាក្រាមតភ្ជាប់សោឯករាជ្យ
D0-D11 នៅក្នុងរូបភាពខាងក្រោមត្រូវបានភ្ជាប់ទាំងអស់ទៅនឹងដី ដូច្នេះច្រកទាំងនេះទាំងអស់អាចបើករបៀបច្រកបញ្ចូលឌីជីថលទាញឡើង ហើយកំណត់រចនាសម្ព័ន្ធ Dn_POLAR (n ជាទូទៅសំដៅទៅលើលេខណាមួយពី 0-11 IO នីមួយៗមានជម្រើសប៉ូលដែលត្រូវគ្នា) ដល់លេខ 1 ពោលគឺស្ថានភាពធម្មតាគឺ 1។ នៅពេលដែលច្រក inter 0 ត្រូវបានចុច ហើយចុចជាប់។ កេះ។
ការភ្ជាប់សោម៉ាទ្រីស

D0_OUT

វីឌី

D0

D1_OUT

D1

D2_OUT

D2

D3_OUT

D3

D4_OUT

D4

D5_IN

D6_IN

D7_IN

D8_IN

D9_IN

D10_IN

D11_IN

វីឌី

Strong-Pull Week-Pull

D5 D6 D7 D8 D9 D10
D11

រក្សាសិទ្ធិដោយ HOPERF

គំនូសតាង 9-4 ។ ដ្យាក្រាមតភ្ជាប់គន្លឹះម៉ាទ្រីស
Rev 0.1A | 46/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

យោងតាមវិធីសាស្រ្តនៃការតភ្ជាប់ខាងលើ D0-D11 គឺជាក្តារចុចម៉ាទ្រីសដែលមាន D5-D11 ដែលត្រូវបានប្រើជាសំណុំនៃការរកឃើញធាតុបញ្ចូលនិង D0-D4 ដែលត្រូវបានប្រើជាសំណុំនៃការត្រួតពិនិត្យទិន្នផល។ មុនពេលចូលទៅក្នុងរបៀប STOP អ្នកប្រើប្រាស់ត្រូវកំណត់រចនាសម្ព័ន្ធ D0-D4 ជាទម្រង់លទ្ធផលឌីជីថល ជាមួយនឹងតម្លៃលទ្ធផល 0។ ក្រុម D5-D11 នៃធាតុបញ្ចូលឌីជីថលអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីបើកមុខងាររាវរកជាសោឯករាជ្យ។ បន្ទាប់ពីចូលទៅក្នុងរបៀប STOP គ្រាប់ចុចណាមួយនៅលើក្តារចុច Matrix នឹងដាស់ប្រព័ន្ធតាមរយៈ D5-D11។ ជាធម្មតាកម្មវិធីអាចស្កេនក្តារចុចជានីតិវិធីទូទៅដើម្បីកំណត់អត្តសញ្ញាណសោបន្ទាប់ពីដាស់ប្រព័ន្ធ។

9.9 ការចុះឈ្មោះពាក់ព័ន្ធ

តារាង 9-6 ។ AON ចុះឈ្មោះក្រុម GPIO

ឈ្មោះ AON_REG_10

អាស័យដ្ឋាន 0x10

AON_REG_11 AON_REG_12 AON_REG_13 AON_REG_14 AON_REG_15 AON_REG_16 AON_REG_17 AON_REG_18 AON_REG_19 AON_REG_1A AON_REG_1B AON_REG_1C AON_REG_1C AON_REG_1A

0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1A 0x1B 0x1C 0x1D 0x1E

តម្លៃលំនាំដើម
០xE២
0x00 0x00 0x00 0x00 0xFF 0x0F 0xFF 0x0F 0xFF 0x0F 0x00 0x00 0x00 0x00

មុខងារ
ការបើកដំណើរការមុខងារអាណាឡូក GPIO និងកំណត់រចនាសម្ព័ន្ធតម្លៃធន់នឹងទាញឡើង និងទាញចុះ ទិន្នផលឌីជីថលធ្វើឱ្យប៊ីតនៃ D0 – D7 ទិន្នផលឌីជីថលនៃប៊ីតដែលអនុញ្ញាតនៃ D8 – D11 បញ្ចូលឌីជីថលធ្វើឱ្យប៊ីតនៃ D0 – D7 បញ្ចូលឌីជីថលធ្វើឱ្យប៊ីតនៃ D8 – D11 Pull up resistance switch of D0 – D7 Pull up resistance switch of D8 – Pull up resistance switch of D11 – Pull down resistance switch នៃ D0 – D7 Open drain switch of D8 – D11 Open drain switch of D0 – D7 Level flip detection enable bit for D8-D11 Level flip detection enable bit for D0-D7 Level flip polarity selection for D8-D11 Level flip detection polarity selection for D0-D7

តារាង 9-7 ។ SFR ចុះឈ្មោះក្រុម GPIO

ឈ្មោះ
GPIO_INA_SEL GPIO_INB_SEL GPIO_INC_SEL GPIO_IND_SEL GPIO_INE_SEL GPIO_INF_SEL

ទំព័រ SFR
៣៤ ៣៥ ២៣ ៨៦ ៧ ៤

អាសយដ្ឋាន
0xA1 0xA2 0xA3 0xA4 0xA5 0xA6

តម្លៃលំនាំដើម
0x00 0x00 0x00 0x00 0x00 0x00

មុខងារ
ការគូសផែនទីមុខងារបញ្ចូល GPIO ការគូសផែនទីមុខងារបញ្ចូល GPIO ការគូសផែនទីអនុគមន៍បញ្ចូល GPIO ការគូសផែនទីអនុគមន៍បញ្ចូល GPIO ការគូសផែនទីអនុគមន៍បញ្ចូល GPIO ការគូសផែនទីអនុគមន៍បញ្ចូល GPIO

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 47/100 ទំព័រ

www.hoperf.com

ឈ្មោះ
GPIO_ING_SEL GPIO_OUTA_SEL GPIO_OUTB_SEL GPIO_OUTC_SEL GPIO_OUTD_SEL GPIO_OUTE_SEL GPIO_OUTF_SEL
GPIO_OUT_0 GPIO_OUT_1
GPIO_IN_0 GPIO_IN_1

ទំព័រ SFR
0 0 0 0 0 0 0 0 0 0 0

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

អាសយដ្ឋាន
0xA9 0xAA 0xAB 0xAC 0xAD 0xB0 0xB1 0xB3 0xB4 0xB5 0xB6

តម្លៃលំនាំដើម
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

មុខងារ
មុខងារបញ្ចូល GPIO ការគូសផែនទី អនុគមន៍លទ្ធផល GPIO ការគូសផែនទី អនុគមន៍ទិន្នផល GPIO គូសផែនទី អនុគមន៍លទ្ធផល GPIO ការគូសផែនទី អនុគមន៍លទ្ធផល GPIO អនុគមន៍ការគូសផែនទី អនុគមន៍ទិន្នផល GPIO ការគូសផែនទី អនុគមន៍ទិន្នផល GPIO ការគូសផែនទីទិន្នន័យទិន្នផល GPIO តាមរយៈការកំណត់រចនាសម្ព័ន្ធ SFR ទិន្នន័យទិន្នផល GPIO តាមរយៈការកំណត់រចនាសម្ព័ន្ធ SFR អាចអានទិន្នន័យបញ្ចូល GPIO ពី SFR អានបានពីទិន្នន័យ SFR ដែលអាចអានបាន។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 48/100 ទំព័រ

www.hoperf.com

10 កម្មវិធីកំណត់ម៉ោង 0 ម៉ូឌុល

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

10.1 មុខងារមូលដ្ឋាន

Timer0 គឺជាកម្មវិធីកំណត់ម៉ោង/រាប់ដែលអាចកំណត់កម្មវិធីបាន 16 ប៊ីត ដែលអាចកំណត់រចនាសម្ព័ន្ធជាមួយនឹងការចុះឈ្មោះ TMOD ដើម្បីជ្រើសរើសរបៀបដែលវាដំណើរការ ចាប់ផ្តើម ឬបញ្ឈប់ការរាប់ និងបង្កើតការរំខានលើសចំនួនរាប់។ Timer0 គាំទ្ររបៀបធ្វើការ 3 ហើយពួកវាត្រូវបានបង្ហាញជាតារាង 10-1 ។

តារាង 10-1 ។ របៀបធ្វើការនៅក្នុងកម្មវិធីកំណត់ម៉ោង0

TMOD M01 TMOD.M00

0

0

0

1

1

0

1

1

របៀបធ្វើការ របៀប 0 របៀប 1 របៀប 2 បិទ

មុខងារ
8-Bit Timing/Counter with 5 bit prescale ពោលគឺ 13-Bit timing/count mode 16-bit timer/counter mode 8-bit time/counting mode ជាមួយនឹងតម្លៃដំបូងដែលលើសទម្ងន់

10.2 កម្មវិធីកំណត់ម៉ោង0 របៀប0
ដ្យាក្រាមប្លុកនៃរបៀប Timer0 0 ត្រូវបានបង្ហាញខាងក្រោម។

TIMER0_CLK /12 t0_in C/T0 TR0
GATE0 t0_int0_n

0

ឧបករណ៍កំណត់ពេលវេលា ០

TL0[4:0]

TH0

TF0

រំខានដល់

1

បើក

8051 ស្នូល

គំនូសតាង 10-1 ។ ដ្យាក្រាមប្លុកនៃកម្មវិធីកំណត់ម៉ោង 0 របៀប 0

នៅពេលដែល Timer0 ដំណើរការក្នុង Mode0 បញ្ជរ 13 ប៊ីតត្រូវបានផ្សំពី 5-bit prescaler ដែលផ្តល់ដោយ TL0[4:0] និងបញ្ជរ 8-bit ដែលផ្តល់ដោយ TH0 :
ប្រសិនបើ TMOD.C/T0 ត្រូវបានកំណត់ទៅ 0 នោះ របៀបកំណត់ពេលវេលាត្រូវបានជ្រើសរើស ហើយប្រភពនាឡិកាកំណត់ពេលវេលាគឺជា 12-prescale នៃ FPCLK ។
ប្រសិនបើ TMOD.C/T0 ត្រូវបានកំណត់ទៅ 1 នោះ របៀបរាប់ត្រូវបានជ្រើសរើស ហើយគែមធ្លាក់នៃម្ជុលបញ្ចូលខាងក្រៅ t0 ត្រូវបានប្រើជាសញ្ញារាប់។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 49/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ប្រសិនបើ TMOD.GATE0 ត្រូវបានកំណត់ទៅ 1 នោះការរាប់គន្លឹះនៃការគ្រប់គ្រងច្រកទ្វារត្រូវបានជ្រើសរើស។ វាទាមទារកម្រិតខ្ពស់នៃការរំខានខាងក្រៅ t0_int0_n និង Ton.tr0 ដើម្បីចាប់ផ្តើមការរាប់ Timer0 ។
ប្រសិនបើ TMOD.GATE0 ត្រូវបានកំណត់ទៅ 0 ការរាប់ Timer0 ត្រូវបានកេះ ខណៈដែល TCON.TR0 ត្រូវបានកំណត់ទៅ 1 ការប្តូរសរុបនៃការរាប់ Timer0 គឺ TCON.TR0 មុខងាររាប់ត្រូវបានបើកនៅពេលដែលវាត្រូវបានកំណត់ 1 និង
បិទនៅពេលដែលវាត្រូវបានកំណត់ 0 ។
10.3 កម្មវិធីកំណត់ម៉ោង0 របៀប1
ដ្យាក្រាមប្លុកនៃរបៀប Timer0 1 ត្រូវបានបង្ហាញក្នុងតារាងខាងក្រោម។

TIMER0_CLK /12
t0_in C/T0 TR0 GATE0 t0_int0_n

0

1

បើក

ឧបករណ៍កំណត់ពេលវេលា ០

TL0

TH0

TF0

រំខានដល់

8051 ស្នូល

គំនូសតាង 10-2 ។ ដ្យាក្រាមប្លុកនៃកម្មវិធីកំណត់ម៉ោង 0 របៀប 1
នៅពេលដែល TIMER0 ដំណើរការក្នុង Mode0 វាគឺជាបញ្ជរ 16-bit ដែលមាន TL0 និង TH0 ភាពខុសគ្នាពី Mode0 គឺមានតែនៅក្នុងចំនួន counter bits ប៉ុណ្ណោះ។ មុខងារនៃប៊ីតវត្ថុបញ្ជាផ្សេងទៀតគឺដូចគ្នានឹង Mode0 ដែរ។
10.4 កម្មវិធីកំណត់ម៉ោង0 របៀប2
ដ្យាក្រាមប្លុកនៃរបៀប Timer0 2 ត្រូវបានបង្ហាញក្នុងតារាងខាងក្រោម។

TIMER0_CLK /12 t0_in C/T0 TR0
GATE0 t0_int0_n
រក្សាសិទ្ធិដោយ HOPERF

0

1

បើក

TL0

ហូរហៀរ

TF0

កម្មវិធីកំណត់ម៉ោង 0 រំខានដល់

8051 ស្នូល

TH0

Rev 0.1A | 50/100 ទំព័រ

www.hoperf.com

គំនូសតាងមគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ AN261-CMT2186A 10-3 ។ ដ្យាក្រាមប្លុកនៃរបៀបកម្មវិធីកំណត់ម៉ោង 0 2

នៅពេលដែល Timer0 ដំណើរការក្នុង Mode2 បញ្ជរនឹងផ្ទុកលើសដោយស្វ័យប្រវត្តិជាមួយនឹងតម្លៃដំបូងនៃ 8 ប៊ីត ហើយនៅពេលដែលចំនួន TL0 លើស វាផ្ទុកតម្លៃដែលបានរក្សាទុកដោយ TH0 (តម្លៃដំបូងដោយស្វ័យប្រវត្តិ) ដែលធ្វើឱ្យ TL0 រាប់ឡើងវិញពីតម្លៃដំបូង។ នេះគឺជាភាពខុសគ្នាដ៏សំខាន់ពី Mode0/1 ដែលការរាប់ត្រូវបានជម្រះទៅសូន្យបន្ទាប់ពីការរាប់លើស។ ខណៈពេលដែលមុខងារប៊ីតវត្ថុបញ្ជាផ្សេងទៀតគឺដូចគ្នានឹង Moode0/1 ។

10.5 ការចុះឈ្មោះពាក់ព័ន្ធ

ឈ្មោះ
TCON TMOD
TL0 TH0

តារាង 10-2 ។ ចុះឈ្មោះក្រុមនៃម៉ូឌុល Timer0

ទំព័រ SFR
0 0 0 0

អាសយដ្ឋាន
0x88 0x89 0x8A 0x8C

តម្លៃលំនាំដើម 0x00 0x00 0x00 0x00

មុខងារ
Timer0 និង Timer1 Control Registers Timer0 and Timer1 Working Modes Register Timer0 register low 8 bit Timer0 register high 8 bit

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 51/100 ទំព័រ

www.hoperf.com

11 កម្មវិធីកំណត់ម៉ោង 1 ម៉ូឌុល

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

11.1 មុខងារមូលដ្ឋាន

Timer1 គឺជាកម្មវិធីកំណត់ម៉ោង/រាប់ដែលអាចកំណត់បាន 16 ប៊ីត ដែលអាចកំណត់រចនាសម្ព័ន្ធជាមួយនឹងការចុះឈ្មោះ TMOD ដើម្បីជ្រើសរើសរបៀបដែលវាដំណើរការ ចាប់ផ្តើម ឬបញ្ឈប់ការរាប់ និងបង្កើតការរំខានលើសចំនួនរាប់។ កម្មវិធីកំណត់ម៉ោង 1 គាំទ្ររបៀបធ្វើការ 3 ប្រភេទ ដែលត្រូវបានបង្ហាញក្នុងតារាងខាងក្រោម។

TMOD M11 TMOD.M10

0

0

0

1

1

0

1

1

តារាង 11-1 ។ របៀបធ្វើការនៅក្នុងកម្មវិធីកំណត់ម៉ោង 1

របៀបធ្វើការ 0 របៀប 1 របៀប 2 បិទ

មុខងារ
ពេលវេលា/រាប់ចំនួន 8 ប៊ីតជាមួយនឹងមាត្រដ្ឋាន 5 ប៊ីតជាមុន ពោលគឺ 13- ពេលវេលាកំណត់/របៀបរាប់ 16- ការកំណត់ពេលវេលា/របៀបរាប់ 8- ការកំណត់ពេលវេលា/របៀបរាប់ជាមួយនឹងតម្លៃដំបូងលើសទម្ងន់

11.2 កម្មវិធីកំណត់ម៉ោង1 របៀប0

ដ្យាក្រាមប្លុកនៃរបៀប Timer1 0 ត្រូវបានបង្ហាញខាងក្រោម។

TIMER1_CLK /12 t1_in C/T1 TR1
GATE1 t1_int1_n

0

ឧបករណ៍កំណត់ពេលវេលា ០

TL1[4:0]

TH1

TF1

រំខានដល់

1

បើក

8051 ស្នូល

គំនូសតាង 11-1 ។ Block Diagram នៃ Timer1 Mode0
នៅពេល Timer1 ដំណើរការក្នុង Mode0 បញ្ជរ 13 ប៊ីតត្រូវបានផ្សំពី 5-bit prescaler ដែលផ្តល់ដោយ TL1[4:0] និងបញ្ជរ 8-bit ដែលផ្តល់ដោយ TH1៖
ប្រសិនបើ TMOD.C/T1 ត្រូវបានកំណត់ទៅ 0 នោះ របៀបកំណត់ពេលវេលាត្រូវបានជ្រើសរើស ហើយប្រភពនាឡិកាកំណត់ពេលវេលាគឺជា 12-prescale នៃ FPCLK ។
ប្រសិនបើ TMOD.C/T1 ត្រូវបានកំណត់ទៅ 1 នោះ របៀបរាប់ត្រូវបានជ្រើសរើស ហើយគែមធ្លាក់នៃម្ជុលបញ្ចូលខាងក្រៅ t1 ត្រូវបានប្រើជាសញ្ញារាប់។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 52/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ប្រសិនបើ TMOD.GATE1 ត្រូវបានកំណត់ទៅ 1 នោះការរាប់គន្លឹះនៃការគ្រប់គ្រងច្រកទ្វារត្រូវបានជ្រើសរើស។ វាទាមទារកម្រិតខ្ពស់នៃការរំខានខាងក្រៅ t1_int1_n និង TCON.TR1 ដើម្បីចាប់ផ្តើមការរាប់ Timer1 ។
ប្រសិនបើ TMOD.GATE1 ត្រូវបានកំណត់ទៅ 0 នោះការរាប់ Timer1 ត្រូវបានកេះ ខណៈដែល TCON.TR1 ត្រូវបានកំណត់ទៅ 1 ការប្តូរសរុបនៃការរាប់ Timer1 គឺ TCON.TR1 មុខងាររាប់ត្រូវបានបើកនៅពេលដែលវាត្រូវបានកំណត់ 1 និង
បិទនៅពេលដែលវាត្រូវបានកំណត់ 0 ។
11.3 កម្មវិធីកំណត់ម៉ោង1 របៀប1
ដ្យាក្រាមប្លុកនៃរបៀប Timer1 1 ត្រូវបានបង្ហាញខាងក្រោម។

TIMER1_CLK /12
t1_in C/T1 TR1 GATE1 t1_int1_n

0

1

បើក

ឧបករណ៍កំណត់ពេលវេលា ០

TL1

TH1

TF1

រំខានដល់

8051 ស្នូល

គំនូសតាង 11-2 ។ ប្លុកដ្យាក្រាមក្នុងរបៀប Timer1
នៅពេលដែល TIMER1 ដំណើរការក្នុង Mode1 វាគឺជាបញ្ជរ 16-bit ដែលមាន TL1 និង TH1 ហើយខុសគ្នាពី Mode0 តែនៅក្នុងចំនួន counter bits ប៉ុណ្ណោះ។ ខណៈពេលដែលមុខងារប៊ីតវត្ថុបញ្ជាផ្សេងទៀតគឺដូចគ្នានឹង Moode0 ។
11.4 កម្មវិធីកំណត់ម៉ោង1 របៀប2
ដ្យាក្រាមប្លុកនៃរបៀប Timer1 2 ត្រូវបានបង្ហាញខាងក្រោម។

TIMER1_CLK /12 t1_in C/T1 TR1
GATE1 t1_int1_n
រក្សាសិទ្ធិដោយ HOPERF

0

1

បើក

TL1

លើស TF1

កម្មវិធីកំណត់ម៉ោង 1 រំខានដល់

8051 ស្នូល

TH1

Rev 0.1A | 53/100 ទំព័រ

www.hoperf.com

AN261-CMT2186A តារាងមគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ ១១-៣។ Block Diagram នៃ Timer11 Mode3

នៅពេលដែល Timer1 ដំណើរការក្នុង Mode2 បញ្ជរនឹងផ្ទុកលើសដោយស្វ័យប្រវត្តិជាមួយនឹងតម្លៃដំបូងនៃ 8 ប៊ីត ហើយនៅពេលដែលចំនួន TL1 លើស វាផ្ទុកតម្លៃដែលរក្សាទុកដោយ TH1 (តម្លៃដំបូង) ដោយស្វ័យប្រវត្តិដែលធ្វើឱ្យ TL1 រាប់ឡើងវិញពីតម្លៃដំបូង។

នេះគឺជាភាពខុសគ្នាដ៏សំខាន់ពី Mode0/1 ដែលការរាប់ត្រូវបានជម្រះទៅសូន្យបន្ទាប់ពីការរាប់លើស។

ខណៈពេលដែលមុខងារប៊ីតវត្ថុបញ្ជាផ្សេងទៀតគឺដូចគ្នានឹង Moode0/1 ។

11.5 ការចុះឈ្មោះពាក់ព័ន្ធ

ឈ្មោះ
TCON TMOD
TL1 TH1 USART_SEL

តារាង 11-2 ។ ចុះឈ្មោះក្រុមនៃម៉ូឌុល Timer1

ទំព័រ SFR
0 0 0 0 0

អាសយដ្ឋាន
0x88 0x89 0x8B 0x8D 0x9F

តម្លៃលំនាំដើម
0x00 0x00 0x00 0x00 0x01

មុខងារ
Timer0 និង Timer1 Control Registers Timer0 and Timer1 Working Modes Registers Timer1 register low 8 bit Timer1 register high 8 bit Prescaler options of Timer1 clock source

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 54/100 ទំព័រ

www.hoperf.com

12 ម៉ូឌុល SPI

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

12.1 មុខងារមូលដ្ឋាន
ចំណុចប្រទាក់គ្រឿងកុំព្យូទ័រសៀរៀល (SPI) អនុញ្ញាតឱ្យបន្ទះឈីប និងឧបករណ៍ភ្ជាប់ទំនាក់ទំនងក្នុងលក្ខណៈពាក់កណ្តាល/ពេញលេញ ធ្វើសមកាលកម្ម និងសៀរៀល។ វាគាំទ្ររបៀបមេ និងរបៀបទាសករពីលក្ខណៈប្រតិបត្តិការ view. មេផ្តល់នាឡិកាទំនាក់ទំនងដល់ទាសករ។ ចំណុចប្រទាក់នេះក៏គាំទ្រការកំណត់រចនាសម្ព័ន្ធពហុមេ ឬ 1-wire bi-directional bi-directional transmission simplex synchronous transmission (របៀប 3-wire)។

ជាធម្មតា ម្ជុលចំនួន 4 ត្រូវភ្ជាប់រវាងឧបករណ៍មេ និងឧបករណ៍ SPI ។

MISO៖ ម្ជុលមេនៅក្នុងទាសករ។ ម្ជុលត្រូវបានទទួលពីឧបករណ៍មេ និងឧបករណ៍ទាសករទម្រង់បញ្ជូន។ ម្ជុលអាចបញ្ជូនទិន្នន័យពីឧបករណ៍ slave ទៅឧបករណ៍មេ។
MOSI; master-out-slave-in pin។ ម្ជុលដែលទទួលបានពីឧបករណ៍ទាសករ និងឧបករណ៍មេទម្រង់បញ្ជូន។ ម្ជុលអាចបញ្ជូនទិន្នន័យពីឧបករណ៍មេទៅឧបករណ៍ទាសករ។
SCK៖ នាឡិកាធ្វើសមកាលកម្មទិន្នន័យសៀរៀល ដែលជាលទ្ធផលពីឧបករណ៍មេទៅឧបករណ៍ទាសករ។ ការបើកការជ្រើសរើសឧបករណ៍ NSSslave ដែលជាម្ជុលស្រេចចិត្តដែលប្រើសម្រាប់ឧបករណ៍មេដើម្បីជ្រើសរើសគោលដៅ
ឧបករណ៍ទាសករ។ វាអនុញ្ញាតឱ្យឧបករណ៍មេអាចទំនាក់ទំនងជាមួយឧបករណ៍ទាសករជាក់លាក់មួយដោយឡែកពីគ្នា ដោយជៀសវាងការប៉ះទង្គិចនៅលើបន្ទាត់ទិន្នន័យ។ ម្ជុល NSS របស់ឧបករណ៍ទាសករអាចត្រូវបានជំរុញដោយឧបករណ៍មេជា IO ស្តង់ដារ។ នៅពេលដែលបានបើកដំណើរការ (SSOE ប៊ីត) ម្ជុល NSS ក៏អាចត្រូវបានប្រើជាម្ជុលទិន្នផល ហើយអាចត្រូវបានទាញទាបនៅពេលដែល SPI ត្រូវបានកំណត់ទៅជារបៀបមេ។ នៅពេលនេះ ឧបករណ៍ SPI ទាំងអស់ដែលមានម្ជុល NSS របស់ពួកគេភ្ជាប់ទៅមេ NSS pin នឹងទទួលបានកម្រិតទាប ហើយនឹងចូលទៅក្នុងរបៀប slave ដោយស្វ័យប្រវត្តិ ប្រសិនបើពួកវាត្រូវបានកំណត់ជារបៀបផ្នែករឹង NSS ។
ពេលវេលានៃចំណុចប្រទាក់ SPI នៃរបៀបមេ និង slave ត្រូវបានបង្ហាញនៅក្នុងគំនូសតាង 12-1 និងគំនូសតាង 12-2 រៀងគ្នា។ ក្នុងចំណោមពួកគេ សampដំណាក់កាល ling clock CPHA នៃ SCK ត្រូវបានកំណត់រចនាសម្ព័ន្ធដោយការចុះឈ្មោះ SPI_CTL_1.SPI_EDGE_SEL ។ ប្រសិនបើវាគឺ 1 SPI នឹងបញ្ជូនទិន្នន័យនៅលើគែមទីមួយនៃនាឡិកា និង sampទិន្នន័យនៅលើគែមទីពីរ; ប្រសិនបើវាត្រូវបានកំណត់ 0 SPI នឹង sample ទិន្នន័យនៅលើគែមទីមួយនៃនាឡិកា ហើយបញ្ជូនទិន្នន័យនៅលើគែមទីពីរ។ CPOL កំណត់ស្ថានភាពរបស់ SCK នៅពេលដែលវានៅទំនេរ។ នៅពេលដែល CPOL គឺ 1 បន្ទាត់ SCK នឹងនៅតែខ្ពស់ក្នុងអំឡុងពេលទំនេរ។ នៅពេលដែល CPOL គឺ 0 បន្ទាត់ SCK នឹងនៅទាបក្នុងអំឡុងពេលទំនេរ។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 55/100 ទំព័រ

www.hoperf.com

SCK (CPOL = 1)
SCK (CPOL = 0)
MISO ពីមេ
MOSI ពីទាសករ
NSS ទៅទាសករ

MSB MSB

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
អិលអេសប៊ីអិលអេសប៊ី

គំនូសតាង 12-1 ។ SPI Interface TimingCPHA = 1

CPOL = ១

CPOL = ១

មីស៊ីអូ

ពីមេ

អេសប៊ីប៊ី

អិលអេសប៊ី

ម៉ូសូអាយ

ពីទាសករ

អេសប៊ីប៊ី

អិលអេសប៊ី

NSS ទៅទាសករ

គំនូសតាង 12-2 ។ SPI Interface TimingCPHA = 0
12.2 ជម្រើសកំណត់រចនាសម្ព័ន្ធ
របៀបមេ និងការកំណត់របៀបទាសករ

ម៉ូឌុល SPI មានកម្មវិធីពេញលេញនៃរបៀបមេ និងរបៀបទាសករ។ អ្នកប្រើប្រាស់អាចកំណត់ SPI ដែលត្រូវបានគ្រប់គ្រងបច្ចុប្បន្នជាឧបករណ៍មេ ឬទាសករ ដោយកំណត់រចនាសម្ព័ន្ធចុះឈ្មោះ SPI_CTL_1.SPI_MS_SEL ដើម្បីទំនាក់ទំនងជាមួយឧបករណ៍បម្រើ ឬឧបករណ៍មេផ្សេងទៀត។ ប្រសិនបើ SPI_MS_SEL ត្រូវបានកំណត់ទៅ 1'b1 នោះម៉ូឌុល SPI បច្ចុប្បន្ននឹងត្រូវបានកំណត់ទៅជារបៀបមេ។ ប្រសិនបើ SPI_MS_SELl ត្រូវបានកំណត់ទៅ 1'b0 នោះម៉ូឌុល SPI បច្ចុប្បន្ននឹងត្រូវបានកំណត់ទៅជារបៀបទាសករ។

ការកំណត់រចនាសម្ព័ន្ធនៃដំណាក់កាលនាឡិកា និងប៉ូលនៃនាឡិកា

ដើម្បីកំណត់ដំណាក់កាលនាឡិកា អថេរ SPI_CTL_1.SPI_EDGE_SEL ចាំបាច់ត្រូវកំណត់រចនាសម្ព័ន្ធ។ ប្រសិនបើអថេរនេះត្រូវបានកំណត់ទៅ 1 SPI នឹង sample គែមទីពីរនៃនាឡិកា ហើយប្រសិនបើ 0 ត្រូវបានកំណត់ SPI នឹង sampនៅគែមទីមួយនៃនាឡិកា។

ភាពរាងប៉ូលនៃនាឡិកាអាចត្រូវបានកំណត់ដោយកំណត់រចនាសម្ព័ន្ធការចុះឈ្មោះ SPI_CTL_1.SPI_CKPOL_SEL ។ ប្រសិនបើ SPI_CKPOL_SEL ត្រូវបានកំណត់ 1,

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 56/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
SCK នឹងខ្ពស់នៅក្នុងរដ្ឋ IDLE; ប្រសិនបើ SPI_CKPOL_SEL ត្រូវបានកំណត់ 0 នោះ SCK នឹងមានកម្រិតទាបក្នុងស្ថានភាព IDLE ។ រូបខាងក្រោមបង្ហាញពីគែមនៃទិន្នន័យ sampling និងការបញ្ជូននៅពេលដែលបានកំណត់រចនាសម្ព័ន្ធជាមួយនឹងបន្ទាត់រាងប៉ូល និងដំណាក់កាលផ្សេងគ្នា។

SPI_CKPOL_SEL = 0

ផ្ញើ

SPI_EDGE_SEL = 0 SCK

Cap ផ្ញើ

SPI_EDGE_SEL = 1 SCK Cap

SPI_CKPOL_SEL = 1

ផ្ញើ

អេសខេ

Cap ផ្ញើ

SCK Cap

គំនូសតាង 12-3 ។ ដ្យាក្រាមនៃការកំណត់ពេលវេលាចំណុចប្រទាក់ SPI CPHA = 1

ការកំណត់ទទឹងប៊ីតទិន្នន័យបញ្ជូន

នៅពេលចុះឈ្មោះ SPI_CTL_0.SPI_8B16B_SEL ត្រូវបានកំណត់ជា 1 SPI នឹងជ្រើសរើសដើម្បីបញ្ជូនទិន្នន័យ 16 ប៊ីត ឧបករណ៍មេនឹងបញ្ជូន 16 វដ្តនៃនាឡិកាទៅកាន់ឧបករណ៍ទាសករ ហើយ slave នឹងប្រមូលទិន្នន័យ 16 ប៊ីតតាមនាឡិកាដែលត្រូវគ្នា។ នៅពេលដែល SPI_8B16B_SEL ត្រូវបានកំណត់ទៅ 0 មានតែទិន្នន័យ 8 ប៊ីតប៉ុណ្ណោះដែលត្រូវបានបញ្ជូន ដែលជា 8 ប៊ីតទាបនៃ 16 ប៊ីតនៅក្នុង SPI_DATA ។

ការកំណត់អត្រា Baud

តារាង 12-1 ។ អត្រាម៉ូឌុល SPI

SPI_CTL_0.SPI_MBR តម្លៃកំណត់ 3'b000 3'b001 3'b010 3'b011 3'b100 3'b101 3'b110 3'b111

អត្រាផ្ទេរប្រាក់៖ sys_clk គឺជានាឡិកាប្រព័ន្ធ លំនាំដើមដោយ 24Mhz sys_clk/4 sys_clk/8 sys_clk/16 sys_clk/24 sys_clk/32 sys_clk/64 sys_clk/128 sys_clk/256

ការកំណត់នៃការបញ្ជូនអាទិភាពប៊ីតខ្ពស់-ទាប

ប្រសិនបើសញ្ញាបញ្ចូល SPI_CTL_1.SPI_LSBF ត្រូវបានកំណត់ជា 1 នោះទិន្នន័យកម្រិតទាបនឹងត្រូវបានបញ្ជូនជាមុន។ ប្រសិនបើវាត្រូវបានកំណត់ទៅ 0 នោះទិន្នន័យកម្រិតខ្ពស់នឹងត្រូវបានបញ្ជូនជាមុន។

12.3 របៀបធ្វើការ

ទាំងឧបករណ៍មេ និងទាសករមានរបៀបធ្វើការចំនួនបួន ហើយពួកគេអាចបែងចែកជា 2 ប្រភេទ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 57/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
រួមបញ្ចូលទាំង duplex ពេញលេញ និងពាក់កណ្តាល duplex ។ អថេរបីនៃ SPI_CTL_0.SPI_BIDI_MODE SPI_CTL_0.SPI_BIDI_OENSPI_CTL_0.SPI_RX_ONLY អាចត្រូវបានកំណត់រចនាសម្ព័ន្ធជាបញ្ជីខាងក្រោម និងសម្រេចបាន 4 របៀបធ្វើការ។

តារាង 12-2 ។ របៀបប្រតិបត្តិការម៉ូឌុល SPI

SPI_BIDI_MODE SPI_RX_ONLY

1'b0

1'b0

1'b0

1'b1

1'b1

តម្លៃចៃដន្យ

1'b1

តម្លៃចៃដន្យ

SPI_BIDI_OEN តម្លៃចៃដន្យ តម្លៃចៃដន្យ 1'b1 1'b0

អាទិភាពនៃការជ្រើសរើសរបៀប
កម្រិតទីមួយ
កម្រិតទីពីរ
កម្រិតទីបី
កម្រិតទីបួន

របៀបធ្វើការ
របៀបធម្មតាពីរជាន់ពេញ
របៀបអានតែពីរជាន់ពេញ
របៀបសរសេរពាក់កណ្តាលពីរ
របៀបអានតែពាក់កណ្តាលពីរ

1. របៀបធម្មតាពេញលេញ៖ នៅពេលដែលឧបករណ៍មេ ឬទាសករត្រូវបានកំណត់រចនាសម្ព័ន្ធនៅក្នុងរបៀបនេះ ទិន្នន័យត្រូវបានផ្ញើ និងទទួលក្នុងពេលដំណាលគ្នា។ ការយកឧបករណ៍មេជាអតីតampដូច្នេះ ច្រកបញ្ជូនទិន្នន័យ MOSI បញ្ជូនទិន្នន័យចេញ ខណៈពេលដែលច្រក MISO ក៏ទទួលទិន្នន័យពីឧបករណ៍បម្រើផងដែរ។
2. របៀបអានបានតែពីរជាន់ពេញ៖ ចុងបញ្ចប់នៃការទទួលឧបករណ៍មេ និងឧបករណ៍ទាសករនៅក្នុងរបៀបនេះដំណើរការជាធម្មតា ខណៈពេលដែលចុងបញ្ជូនតែងតែផ្ញើ 0 ។
3. Half-duplex write only mode: នៅក្នុងរបៀបនេះ ឧបករណ៍ host ឬ slave មានចំណុចប្រទាក់ខាងក្រៅតែបីប៉ុណ្ណោះ។ សម្រាប់អតីតample នៅលើឧបករណ៍មេ SCK បញ្ជូននាឡិកាចេញ ការបញ្ជូន NSS ត្រូវបានបើក ហើយច្រក I/O ចុងក្រោយត្រូវបានបម្រុងទុកសម្រាប់ MOSI ដើម្បីបញ្ជូនទិន្នន័យ។
3. Half-duplex read only mode: នៅក្នុងរបៀបនេះ ឧបករណ៍ host ឬ slave មានចំណុចប្រទាក់ខាងក្រៅតែបីប៉ុណ្ណោះ។ សម្រាប់អតីតample នៅលើឧបករណ៍មេ SCK បញ្ជូននាឡិកាចេញ ការបញ្ជូន NSS ត្រូវបានបើក ហើយច្រក I/O ចុងក្រោយត្រូវបានបម្រុងទុកសម្រាប់ MOSI ដើម្បីទទួលទិន្នន័យ។

កម្មវិធី៖ SPI អាចប្រាស្រ័យទាក់ទងជាមួយចំណុចប្រទាក់ S3S ដោយប្តូរទៅមករវាងបានតែអាន និងសរសេរតែពាក់កណ្តាលពីរប៉ុណ្ណោះ។ នៅពេលដែល SPI ចង់ផ្ញើអាស័យដ្ឋានទៅកាន់ចំណុចប្រទាក់ S3S វាអាចត្រូវបានកំណត់ទៅជារបៀបសរសេរពាក់កណ្តាលពីរជាន់ ហើយគូសផែនទី MOSI ទៅ PAD ដើម្បីភ្ជាប់ជាមួយ SDA នៃ S3S ដើម្បីដឹងពីការសរសេរអាសយដ្ឋាន។ នៅពេលដែល SPI ចង់អានទិន្នន័យដែលបញ្ជូនដោយ S3S វាអាចកំណត់ SPI ទៅជារបៀបអានបានតែពាក់កណ្តាលពីរ និងគូសផែនទី MISO ទៅ PAD ដើម្បីភ្ជាប់ទៅ SDA នៃ S3S ដើម្បីអានទិន្នន័យដែលបញ្ជូនដោយ S3S ។ ក្នុងករណីនេះ ការទំនាក់ទំនងទិន្នន័យរវាង SPI និង S3S អាចត្រូវបានដឹងនៅពេលដែលមានតែខ្សែបីប៉ុណ្ណោះត្រូវបានភ្ជាប់។
12.4 ទង់ស្ថានភាព
ម៉ូឌុល SPI ផ្តល់នូវស្ថានភាពឡានក្រុងតាមរយៈទង់ស្ថានភាព 3 ដើម្បីបម្រើការត្រួតពិនិត្យកម្មវិធី។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 58/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

ទង់ជាប់រវល់SPI_CTL2.SPI_BUSY ទង់នៅពេល SPI ស្ថិតនៅក្នុងដំណើរការបញ្ជូន ទង់ជាតិនឹងត្រូវបានទាញខ្ពស់។

ផ្ញើទង់ជាតិដោយឥតគិតថ្លៃ (SPI_CTL2.SPI_TXMTY flag bit); នៅពេលដែល SPI ត្រូវបានកំណត់រចនាសម្ព័ន្ធជាមួយនឹងទិន្នន័យបញ្ជូនថ្មី ទង់ជាតិនឹងធ្លាក់ចុះទាប។ នៅពេលដែលទិន្នន័យបញ្ជូនថ្មីត្រូវបានកំណត់រចនាសម្ព័ន្ធ និងបញ្ជូនដោយជោគជ័យ ទង់ជាតិនឹងទាញខ្ពស់។

ទទួល buffer មិនទទេទេ (SPI_CTL2.SPI_RXNMTY flag bit); នៅពេលដែល SPI បញ្ចប់វដ្តនៃការបញ្ជូនទិន្នន័យ វាទាញទង់ជាតិ SPI_RXNMTY ដើម្បីបង្ហាញថាទិន្នន័យត្រូវបានផ្ញើ និងទទួលដោយជោគជ័យ។ នៅពេលដែលអ្នកប្រើប្រាស់អានទិន្នន័យដែលទទួលបានក្នុង SPI_DATA នោះទង់ជាតិនឹងធ្លាក់ចុះដោយស្វ័យប្រវត្តិ។

12.5 ការចុះឈ្មោះពាក់ព័ន្ធ

តារាង 12-3 ។ ចុះឈ្មោះក្រុមនៃម៉ូឌុល SPI

ឈ្មោះ
SPI_CTL_0 SPI_CTL_1 SPI_CTL_2 SPI_DATA_H SPI_DATA_L

ទំព័រ SFR ទំព័រ ០ ទំព័រ០ ទំព័រ០ ទំព័រ០ ទំព័រ០

អាសយដ្ឋាន
0x96 0x97 0x9A 0x9B 0x9C

តម្លៃលំនាំដើម
0x00 0x00 0x00 0x00 0x00

មុខងារ
ចុះឈ្មោះត្រួតពិនិត្យម៉ូឌុល SPI 0 ចុះឈ្មោះការត្រួតពិនិត្យម៉ូឌុល SPI 1 ការត្រួតពិនិត្យម៉ូឌុល SPI ចុះឈ្មោះ 2 ទិន្នន័យម៉ូឌុល SPI បៃខ្ពស់ SPI ទិន្នន័យម៉ូឌុលទាបបៃ

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 59/100 ទំព័រ

www.hoperf.com

13 ម៉ូឌុល UART

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

13.1 មុខងារមូលដ្ឋាន
UART នៅលើបន្ទះឈីប CMT2186A គឺជាឧបករណ៍បញ្ជូនសញ្ញាអសមកាលពេញលេញដែលអាចបត់បែនបានពេញលេញជាមួយស្ថាបត្យកម្ម 8051។ អត្រា baud ត្រូវបានកំណត់រចនាសម្ព័ន្ធដោយកម្មវិធី និងគាំទ្ររបៀបប្រតិបត្តិការ 4 ខាងក្រោម។

Mode0៖ របៀបផ្លាស់ប្តូរសមកាលកម្ម ជាមួយនឹងអត្រា baud ត្រូវបានជួសជុលទៅម៉ូដ UART_CLK / 12 Mode18-Bit UART ជាមួយនឹងអត្រា baud ដែលអាចកំណត់បានដែលបង្កើតឡើងដោយកម្មវិធីកំណត់ម៉ោង 1 Mode29-Bit UART mode ជាមួយនឹងអត្រា baud នៃ UART_CLK / 64 ឬ UART_CLK / 32 Mode39 Mode1-Bit បង្កើតអត្រាផ្ទៃក្នុង UART ។

អ្នកប្រើប្រាស់អាចជ្រើសរើសការរំខាននៃរបៀបប្រតិបត្តិការរបស់ម៉ូឌុល UART ការបើកទំនាក់ទំនង និងការបញ្ជូន/ទទួលទិន្នន័យដោយកំណត់រចនាសម្ព័ន្ធ SCON0។
១៣.២ របៀបប្តូរសមកាលកម្ម (របៀប០)
របៀបផ្លាស់ប្តូរសមកាលកម្មគឺជារបៀបប្រតិបត្តិការសមកាលកម្មនៃម៉ូឌុល UART ដែលស្រដៀងនឹង SPI slave mode ដើម្បីមានទំនាក់ទំនងសៀរៀលជាមួយ 8051s ផ្សេងទៀត។ វាទទួលយកការទំនាក់ទំនងពាក់កណ្តាលពីរជាមួយបន្ទាត់សៀរៀល RxD ដែលត្រូវបានប្រើជាចំណុចប្រទាក់ទិន្នន័យបញ្ចូល និងទិន្នផលទ្វេទិស ហើយ TxD បង្កើតនាឡិកាអត្រា baud សៀរៀលថេរជាមួយនឹងប្រេកង់នាឡិកា UART_CLK / 12.. នៅពេលដែល SCON0.SM00 និង SCON0.SM10 ត្រូវបានកំណត់រចនាសម្ព័ន្ធក្នុងរបៀបបញ្ជូន 00 របស់វា ហើយការបញ្ជូនរបស់ UART ត្រូវបានជ្រើសរើស។ រូបខាងក្រោម។
SBUF0 សរសេរ

ការចុះឈ្មោះ TX Shift

rxd0_o

SERIAL0_CLK

៥/៥

បញ្ជរ TX

txd0

គំនូសតាង 13-1 ។ ដ្យាក្រាមប្លុកការបញ្ជូនសម្រាប់ UART នៅក្នុងរបៀប 0
នៅក្នុងដំណើរការនៃការបញ្ជូន នៅពេលដែលទិន្នន័យត្រូវបានសរសេរទៅសតិបណ្ដោះអាសន្នបញ្ជូន SBUF ជីពចរវិជ្ជមានត្រូវបានបង្កើត ហើយច្រកសៀរៀលចាប់ផ្តើមបញ្ជូនទិន្នន័យ។ នៅពេលនេះ SCON0.REN0 ចាំបាច់ត្រូវកំណត់ជា 0។ បន្ទាប់ពីការបញ្ជូនបានបញ្ចប់ ទង់ជាតិរំខាននៃការផ្ញើ SCON0.TI0 ត្រូវបានកំណត់ទៅ 1។ ដ្យាក្រាមលំដាប់មានដូចខាងក្រោម។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 60/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

SBUF0 សរសេរ 12xTPCLK 5xTPCLK
txd0
rxd0_o

1xTPCLK D0 D1

ឃ ២ ឃ ៤

TI0 1xTPCLK
គំនូសតាង 13-2 ។ ដ្យាក្រាមកំណត់ពេលវេលាបញ្ជូនសម្រាប់ UART នៅក្នុងរបៀប 0

ដ្យាក្រាមរចនាសម្ព័ន្ធទទួល Mode0 ត្រូវបានបង្ហាញក្នុងរូបខាងក្រោម។
SBUF0 អាន

SBUF0

ទិន្នន័យនៅក្នុង rxd0_i

ការចុះឈ្មោះ RX Shift

1

rxd0_o

FPCLK

៥/៥

បញ្ជរ RX

txd0 នាឡិកាចេញ
គំនូសតាង 13-3 ។ ការទទួលដ្យាក្រាមសម្រាប់ UART នៅក្នុងរបៀប 0

នៅពេលដែលវាទទួលបាននៅក្នុង mode0 ការទទួលដែលអនុញ្ញាត bit SCON0.REN 0 ត្រូវបានកំណត់ 1 ហើយនៅពេលដែលការទទួលទង់រំខាន SCON0.RI0 ត្រូវបានជម្រះ ជីពចរវិជ្ជមានត្រូវបានបង្កើត ហើយច្រកសៀរៀលចាប់ផ្តើមទទួលទិន្នន័យ។ នាឡិកាផ្លាស់ប្តូរទិន្នផល TxD samples ទិន្នន័យនៅលើបន្ទាត់ RxD ។ នៅពេលដែលទិន្នន័យ 8 ប៊ីតត្រូវបានទទួល ទង់ទទួលការរំខាន SCON0.RI0 ត្រូវបានកំណត់ 1 ហើយទិន្នន័យត្រូវបានរារាំងនៅក្នុង SBUF0 ។ ដ្យាក្រាមពេលវេលាត្រូវបានបង្ហាញក្នុងរូបខាងក្រោម។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 61/100 ទំព័រ

www.hoperf.com

SCON0 សរសេរ 12xTPCLK 5xTPCLK txd0
rxd0_i
REN0 RI0
SBUF0

1xTPCLK 1xTPCLK D0 D1

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
D6 D7 1xTPCLK
ឃ[7:0]

គំនូសតាង 13-4 ។ ការទទួលដ្យាក្រាមពេលវេលានៃ UART នៅក្នុងរបៀប 0
13.3 Asynchronous Full-duplex Mode ជាមួយនឹងអត្រា Baud ដែលអាចកំណត់រចនាសម្ព័ន្ធបាន។
(របៀបទី 1 និងរបៀបទី 3)
ទាំងរបៀបទី 1 និងរបៀបទី 3 នៃម៉ូឌុល UART គឺជារបៀបបញ្ជូនសញ្ញាពីរជាន់ពេញអសមកាលជាមួយនឹងអត្រា baud អថេរ។ ភាពខុសគ្នាតែមួយគត់រវាងពួកវាគឺថា របៀប 1 គឺជារបៀបបញ្ជូន និងទទួលទិន្នន័យ 8 ប៊ីត ខណៈពេលដែលរបៀប 3 គឺជារបៀបបញ្ជូន និងទទួលទិន្នន័យ 9 ប៊ីត។
ការកំណត់ Serial Port 0 as Mode1៖ កំណត់រចនាសម្ព័ន្ធ SCON0.SM00 និង SCON0.SM10 as 01។ បង្កើតអត្រា baud តាមរយៈ Timer1 និង PCON.SMOD1 bits។ នៅពេលទទួល សូមកំណត់ការទទួលប៊ីត SCON0.REN0 ទៅជា 1។ នៅពេលផ្ញើ សូមសរសេរទិន្នន័យទៅសតិបណ្ដោះអាសន្នបញ្ជូន SBUF ។
ការកំណត់ Serial Port 0 as Mode3៖ កំណត់រចនាសម្ព័ន្ធ SCON0.SM00 និង SCON0.SM10 as 11. បង្កើតអត្រា baud តាមរយៈ Timer1 និង PCON.SMOD1 bits។ នៅពេលទទួល សូមកំណត់ការទទួលប៊ីត SCON0.REN0 ទៅ 1។ នៅពេលបញ្ជូន សូមសរសេរទិន្នន័យទៅសតិបណ្ដោះអាសន្នបញ្ជូន SBUF និង SCON0.TB8។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 62/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
ទម្រង់ស៊ុមនៃរបៀប 1 និងរបៀប 3 ត្រូវបានបង្ហាញក្នុងរូបខាងក្រោម។

អេស D0

D7 ឈប់

អេស D0

D7 D8 ឈប់

គំនូសតាង 13-5 ។ ទម្រង់ស៊ុមនៃរបៀបទី 1 និងរបៀបទី 3 នៃ UART

អត្រា baud ក្នុងរបៀប 1 និងរបៀប 3 អាស្រ័យលើអត្រាលើសចំណុះនៃ Timer1 ។ ដ្យាក្រាមនៃការបញ្ជូន និងទទួលត្រូវបានបង្ហាញក្នុងរូបខាងក្រោម។

SBUF0 សរសេរ
បញ្ជូនសតិបណ្ដោះអាសន្ន

ការចុះឈ្មោះ TX Shift

txd0

កម្មវិធីកំណត់ម៉ោង 1 លើស

៥/៥

0

៥៦០៤៧/៥៦០៤៨ ៣

SMOD1

បញ្ជរ TX

គំនូសតាង 13-6 ។ ដ្យាក្រាមប្លុកបញ្ជូននៃ UART នៅក្នុងរបៀប 1 និងរបៀប 3

SBUF0 អាន
SBUF0

rxd0_i

ការចុះឈ្មោះ RX Shift

កម្មវិធីកំណត់ម៉ោង 1 លើស

៥/៥

0

1

SMOD1

៥/៥

បញ្ជរ RX

គំនូសតាង 13-7 ។ ការទទួលប្លុកដ្យាក្រាមនៃ UART នៅក្នុងរបៀបទី 1 និងរបៀបទី 3

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 63/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

កំណត់រចនាសម្ព័ន្ធ Timer1 ដើម្បីបង្កើតអត្រា baud៖

TMOD.M1[1:0] ត្រូវបានកំណត់រចនាសម្ព័ន្ធជា 10 (កម្មវិធីកំណត់ម៉ោង 1 ក្នុងរបៀប 2) TMOD.GATE1 ត្រូវបានកំណត់រចនាសម្ព័ន្ធជា 0 ហើយ TMOD.C/T1 ត្រូវបានកំណត់រចនាសម្ព័ន្ធជា 0 ។
សរសេរតម្លៃរាប់ដំបូង 8 ប៊ីតទៅ TH1 ។ TCON.TR1 ត្រូវបានកំណត់រចនាសម្ព័ន្ធជា 1 និងចាប់ផ្តើមពេលវេលា។

អត្រា baud ត្រូវបានគណនាតាមរូបមន្តខាងក្រោម៖

Baud_Rate = ២១

×

[៣២ × ១២ × (២៥៦ − ១)]

វាស្មើនឹង៖

BaudRate

=

21

×

1_ 32

ក្នុងអំឡុងពេលបញ្ជូនទិន្នន័យ 8 ប៊ីតត្រូវបានសរសេរទៅសតិបណ្ដោះអាសន្នបញ្ជូន SBUF0 (ក្នុងរបៀប 3 សូមសរសេរទិន្នន័យទៅ SCON0.TB8 ជាមុនសិន បន្ទាប់មកសរសេរទិន្នន័យ 8 ប៊ីតទៅ SBUF0) ជីពចរវិជ្ជមានត្រូវបានបង្កើត ហើយច្រកសៀរៀលចាប់ផ្តើមបញ្ជូនទិន្នន័យ។ ដំបូងផ្ញើ 1-bit ជា start bit 0 បន្ទាប់មកផ្ញើ LSB bit របស់ SBUF ផ្ញើទិន្នន័យ 8-bit ជាវេន បន្ទាប់មកផ្ញើ SCON0.TB8 (mode 3) ហើយចុងក្រោយផ្ញើ 1-bit stop bit 1. នៅពេលការបញ្ជូនទិន្នន័យបញ្ចប់ សូមកំណត់ transmission interrupt flag bit SCON0.TI0 to 1. ដ្យាក្រាមពេលវេលាខាងក្រោមបង្ហាញក្នុងរូប។

របៀប ៣
txd0

S

D0

ឃ៣ ឃ៥ ឃ៧

D4 D5 D6 D7 STOP S

X0

SBUF0 សរសេរ

ការសរសេរដែលជាប់គាំងអាចកើតឡើងគ្រប់ទីកន្លែង

TI0 TX Buffer

ឃ[7:0]

X[7:0]

របៀបទី ២, ៤
txd0
SBUF0 សរសេរ

S

D0

ឃ៣ ឃ៥ ឃ៧

D4 D5 D6 D7 D8 STOP S

ការសរសេរដែលជាប់គាំងអាចកើតឡើងគ្រប់ទីកន្លែង

TI0 TX Buffer

ឃ[7:0]

X[7:0]

TB80 D8

X8

គំនូសតាង 13-8 ។ ដ្យាក្រាមកំណត់ពេលបញ្ជូនអសមកាលសម្រាប់ UART នៅក្នុងរបៀប 1 និងរបៀប 3

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 64/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

នៅពេលដែលរបៀបទទួល 1 ឬរបៀប 3 នៃ UART ត្រូវបានបើក ការទទួលប៊ីត SCON0.REN0 ត្រូវតែកំណត់ 1 ជាមុនសិន បន្ទាប់មកស្ថានភាពម្ជុល RxD គឺ sampដឹកនាំនៅ 16 ដងនៃអត្រា baud បន្ទាប់មករង់ចាំគែមធ្លាក់ចុះនៃការចាប់ផ្តើមបន្តិច។ ខណៈពេលដែលគែមធ្លាក់ចុះគឺ sampដឹកនាំវាត្រូវបានពិនិត្យម្តងទៀតថាតើ RxD គឺ 0 កំឡុងពេលចាប់ផ្តើមប៊ីត sampដើម្បីបញ្ជាក់ថាតើវាជាប៊ីតចាប់ផ្តើមត្រឹមត្រូវ។ ប្រសិនបើវាមិនមែនជា 0 សូមបន្តទៅ sampចាប់ផ្តើមបន្តិច។ នៅពេលដែលវាត្រូវបានបញ្ជាក់ថាជាប៊ីតចាប់ផ្តើមត្រឹមត្រូវ វាចាប់ផ្តើមទទួលទិន្នន័យ 8 ប៊ីត / 9 ប៊ីត ហើយប៊ីតនៃទិន្នន័យនីមួយៗគឺ sampដឹកនាំនៅកណ្តាល។ នៅក្នុងស្ថានភាពទទួល 8 ប៊ីត ពិនិត្យមើលថាតើ sampling stop bit មានសុពលភាព ហើយចម្លងវាទៅ SCON0.RB80 ហើយកំណត់ទង់ទទួលរំខាន SCON0.RI0 ទៅ 1។ ប្រសិនបើ stop bit ខុស ទង់ FE0 (framing error) ត្រូវបានកំណត់ទៅ 1. នៅក្នុងការទទួល 9-bit បន្ទាប់ពី sampនៅក្រោមប៊ីតទី 9 ទង់ប៊ីតរំខាន SCON0.RI0 ត្រូវបានកំណត់ទៅ 1 នៅក្នុងទីតាំងនៃប៊ីតឈប់ ហើយប៊ីតទី 9 ត្រូវបានសរសេរទៅ SCON0.RB80 ។ កំហុសបញ្ឈប់ប៊ីតត្រូវបានប្រើដើម្បីបង្កើតទង់ FE0 ប៉ុណ្ណោះ។ នៅពេលដែល SCON0.RI0 ត្រូវបានកំណត់ទៅ 1 SBUF ផ្ទុកទិន្នន័យ 8 ប៊ីតដែលបានទទួល។ ដ្យាក្រាមពេលវេលាត្រូវបានបង្ហាញក្នុងរូបខាងក្រោម។

របៀប ៣
rxd0_i
Sample
RI0 SBUF0
របៀបទី ២, ៤
rxd0_i SBUF0 សរសេរ
RI0 SBUF0
RB80

S

D0

ឃ៣ ឃ៥ ឃ៧

D4 D5 D6 D7 STOP S

ឃ[7:0]

S

D0

ឃ៣ ឃ៥ ឃ៧

D4 D5 D6 D7 D8 STOP S

ឃ[7:0] ឃ៨

គំនូសតាង 13-9 ។ ដ្យាក្រាមនៃការទទួលពេលវេលាអសមកាលនៃ UART (របៀបទី 1 និងរបៀបទី 3)
13.4 មុខងារ Asynchronous Full-duplex ជាមួយនឹងអត្រា Baud ថេរ (របៀប 2)
របៀបទី 2 គឺជារបៀបប្រតិបត្តិការ 9-bit asynchronous transceiver full-duplex ជាមួយនឹងអត្រា baud ថេរ។ ដ្យាក្រាមប្លុកបញ្ជូន និងទទួលត្រូវបានបង្ហាញក្នុងរូបខាងក្រោម។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 65/100 ទំព័រ

www.hoperf.com

SBUF0 អាន
SBUF0

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
SBUF0 សរសេរ
បញ្ជូនសតិបណ្ដោះអាសន្ន

rxd0_ ខ្ញុំ

ការចុះឈ្មោះ RX Shift

ការចុះឈ្មោះ TX Shift

txd0

FPCLK / ២

៥/៥

0

៥/៥

1

SMOD1

បញ្ជរ RX

បញ្ជរ TX

គំនូសតាង 13-10 ។ ការបញ្ជូន និងទទួលប្លុកដ្យាក្រាមនៃរបៀប UART ២

ជំហានក្នុងការដំឡើង UART ទៅរបៀប 2 មានដូចខាងក្រោម។ កំណត់រចនាសម្ព័ន្ធ SCON0.SM00 និង SCON0.SM10 ជា 10. នៅពេលទទួល សូមកំណត់ការទទួលដែលបើកប៊ីត SCON0.REN0 ទៅ 1។ នៅពេលបញ្ជូន សូមសរសេរទិន្នន័យទៅសតិបណ្ដោះអាសន្នបញ្ជូន SBUF និង SCON0.TB8 ។
ភាពខុសគ្នាតែមួយគត់រវាងរបៀប 2 និងរបៀប 3 គឺភាពខុសគ្នានៃអត្រា baud ។ អត្រា baud នៃរបៀប 2 ត្រូវបានគណនាដូចខាងក្រោម។
Baud_Rate = 2SMOD1 × PCLK ៦៤
ទាំងរបៀប 2 និងរបៀប 3 នៃ UART គាំទ្រការទំនាក់ទំនងពហុម៉ាស៊ីន ដែលគ្រាន់តែត្រូវកំណត់ SCON0.SM20 ទៅ 1។ នៅក្នុងរបៀបនេះ មេអាចផ្ញើទិន្នន័យទៅកាន់ slaves ជាច្រើនតាមរយៈបន្ទាត់សៀរៀល។ salve អាចត្រូវបានទទួលស្គាល់ដោយមេតែនៅពេលដែលវាទទួលបានទិន្នន័យទី 9 នៃ RB8 ជា 1 ។ ទិន្នន័យ 8 ប៊ីតដែលនៅសល់ត្រូវបានប្រើដើម្បីបញ្ជូនអាសយដ្ឋាន slave ។ វាអាចទទួលបានទិន្នន័យពេញលេញលុះត្រាតែអាសយដ្ឋានត្រូវគ្នា។ ស្ទ្រីមទិន្នន័យបន្ថែមត្រូវបានផ្ញើទៅឧបករណ៍ទាសករដែលបានកំណត់អត្តសញ្ញាណប៉ុណ្ណោះ។ ប៊ីតទី 9 នៃស្ទ្រីមទិន្នន័យចាំបាច់ត្រូវកំណត់ទៅ 0 ដូច្នេះ slaves ផ្សេងទៀតមិនអាចស្គាល់ទិន្នន័យបានទេ។

13.5 របៀបធ្វើឱ្យប្រសើរឡើងនៃ USART
ក្នុងចំណោមរបៀបប្រតិបត្តិការផ្សេងៗនៃ UART មានតែនៅក្នុងរបៀប 1 និងរបៀប 3 ប៉ុណ្ណោះដែលអាចសម្រេចបាននូវអត្រា baud ខុសៗគ្នាយោងទៅតាមរយៈពេលលើសម៉ោង Timer1 ។ វាសាមញ្ញបំផុត ប៉ុន្តែជាក់ស្តែងនៅពេលដែលកម្មវិធីកំណត់ម៉ោង 1 ដំណើរការក្នុងរបៀប 2។ ទោះជាយ៉ាងណាក៏ដោយ ប្រភពនាឡិកា CMT2186A HFOSC គាំទ្រប្រេកង់ដែលមានកម្រិតដូចជា 24 MHz, 12 MHz, 3 MHz និងខាងក្រៅ 13 MHz (បង្កើតដោយ 26 MHz/2)។ ដូច្នេះជម្រើសអត្រា baud ដែលត្រូវគ្នាក៏មានកម្រិតផងដែរ។ ព័ត៌មានលម្អិតមានរាយក្នុងតារាងខាងក្រោម។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 66/100 ទំព័រ

www.hoperf.com

តារាងមគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ AN261-CMT2186A 13-1 ។ កំហុសអត្រា UART Baud នៅក្នុងរបៀបស្តង់ដារ (កម្មវិធីកំណត់ម៉ោង 1 ក្នុងរបៀប 2)

អត្រា baud គោលដៅ
300 600 1200 2400 4800 9600 14400 19200

ការកំណត់តម្លៃ.of
TH1 -48 152 204 230 243 247 249

SMOD=1
អត្រា Baud ពិតប្រាកដ៖
-601 1202 2404 4808 9615 13889 17857 រូប

តម្លៃកំហុស

ការកំណត់តម្លៃនៃ TH1

SMOD=0
អត្រា Baud ពិតប្រាកដ៖

តម្លៃកំហុស

48

300.48

0.16%

0.17%

152

601

0.17%

0.17%

204

1202

0.17%

0.17%

230

2404

0.17%

0.17%

243

4808

0.17%

0.16%

249

8929

-6.99%

-3.55%

252

15625

8.51%

-6.99%

253

20833

8.51%

ចំណាំ៖ ជ្រើសរើសនាឡិកា HFOSC ដែលមានប្រេកង់ 24MHz (ឧ. FPCLK = 24MHz)។
តារាង 13-1 បង្ហាញថាមានតែអត្រាទាបធម្មតាប្រាំមួយគឺ 300, 600, 1200, 2400, 4800, 9600 គឺមានកំហុសតិចជាង និងបំពេញតាមតម្រូវការនៃការប្រើប្រាស់។ អត្រា baud ខ្ពស់ជាងនេះជាមូលដ្ឋានមិនអាចប្រើបានទេ។ ដើម្បីបើកដំណើរការ CMT2186A ដើម្បីគាំទ្រជម្រើសអត្រា baud បន្ថែមទៀត វាត្រូវបានបង្កប់ជាមួយនឹងមុខងារប្រសើរឡើងនៅលើបន្ទះឈីប។ CMT2186A អាចកំណត់ USART_SEL (ដែលមានទីតាំងនៅក្នុង SFR ចុះឈ្មោះ USAART_CTL) ទៅជា 1 បើមិនដូច្នេះទេការលុបចោលការបែងចែកប្រេកង់ 12 នៅពីមុខប្រភពនាឡិកា Timer1 និងផ្តល់ដោយផ្ទាល់នូវ Timer1 ពី FPCLK ជាប្រភពនាឡិកា ដូចដែលបានបង្ហាញក្នុងរូបខាងក្រោម។

FPCLK

/ ៩

0

1

កម្មវិធីកំណត់ម៉ោង 1

USAART_SEL

គំនូសតាង 13-11 ។ ដ្យាក្រាមគ្រោងការណ៍នៃប្រភពនាឡិកា Timer1 នៅក្នុងរបៀបប្រសើរឡើង

នៅពេល USART_SEL=0 ប្រភពនាឡិកា Timer1 គឺ FPCLK/12 យោងតាមស្ថាបត្យកម្ម 51 ស្តង់ដារ។ នៅពេល USART_SEL=1 ប្រភពនាឡិកា Timer1 ស្ថិតនៅក្នុងរបៀបធ្វើឱ្យប្រសើរឡើង ហើយត្រូវបានផ្តល់ដោយផ្ទាល់ដោយ
FPCLK ។

កំហុសអត្រា baud ដែលបានគណនាក្នុងរបៀបធ្វើឱ្យប្រសើរឡើងត្រូវបានបង្ហាញខាងក្រោម។

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 67/100 ទំព័រ

www.hoperf.com

តារាងមគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់ AN261-CMT2186A 13-2 ។ កំហុសអត្រា UART baud នៅក្នុងរបៀបប្រសើរឡើង (របៀបកំណត់ម៉ោង 1 2)

អត្រា Baud គោលដៅ
4800 9600 14400 19200 38400 56000 57600 115200

TH1 តម្លៃកំណត់
-100 152 178 217 229 230 243 រូប

SMOD=1
អត្រា Baud ពិតប្រាកដ
-9615 14423 19230 38462 55556 57692 115385 រូប

អត្រាកំហុស
-0.16% 0.16% 0.16% 0.16% -0.79% 0.16% 0.16%

TH1 តម្លៃកំណត់

SMOD=0
អត្រា Baud ពិតប្រាកដ៖

100

4808

178

9615

204

14423

217

19231

236

37500

243

57692

243

57692

249

107143

អត្រាកំហុស
0.16% 0.16% 0.16% 0.16% -2.34% 3.02% 0.16% -6.99%

13.6 ការចុះឈ្មោះពាក់ព័ន្ធ

ឈ្មោះ
PCON SCON0 SBUF0 USART_SEL

ទំព័រ SFR
0 0 0 0

អាសយដ្ឋាន
0x87 0x98 0x99 0x9F

តម្លៃលំនាំដើម
0x00 0x00 0x00 0x01

មុខងារ
ការត្រួតពិនិត្យថាមពល ចុះឈ្មោះការត្រួតពិនិត្យច្រកសៀរៀល ចុះឈ្មោះច្រកសៀរៀល 0 ទិន្នន័យឃ្លាំងសម្ងាត់ ចុះឈ្មោះកម្មវិធីកំណត់ម៉ោង 1 ការជ្រើសរើសប្រភពនាឡិកាជាមុន

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 68/100 ទំព័រ

www.hoperf.com

14 កម្មវិធីកំណត់ម៉ោង A/កម្មវិធីកំណត់ម៉ោង B ម៉ូឌុល

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

ទាំងកម្មវិធីកំណត់ម៉ោង A និងកម្មវិធីកំណត់ម៉ោង B មានកម្មវិធីកំណត់ម៉ោង/បញ្ជរ 16 ប៊ីត និងឧបករណ៍ចាប់/ប្រៀបធៀបចំនួនបី ដែលអនុញ្ញាតឱ្យមានការចាប់យក/ឧបករណ៍ប្រៀបធៀបច្រើន លទ្ធផល PWM និងចន្លោះពេលសម្រាប់រាប់លក្ខខណ្ឌកេះ។ កម្មវិធីកំណត់ម៉ោង A មានរបៀបរំខានជាច្រើនដែលបង្កឱ្យមានការហូរហៀរ និងការចាប់យក/ឧបករណ៍ប្រៀបធៀបពីកម្មវិធីកំណត់ម៉ោង/បញ្ជរ។ លក្ខណៈពិសេសនៃកម្មវិធីកំណត់ម៉ោង A / Timer B រួមមាន

ការកំណត់ពេលវេលា/បញ្ជរ 16 ប៊ីត គាំទ្ររបៀបប្រតិបត្តិការ 4; ការ​គាំទ្រ​សម្រាប់​ការ​កំណត់​រចនាសម្ព័ន្ធ​ប្រភព​នាឡិកា​ជា​នាឡិកា​ប្រព័ន្ធ 1 ~ 65535 ការបែងចែកប្រេកង់។ 2 ឬ 3 ឧបករណ៍ចាប់ / ប្រៀបធៀបដែលអាចកំណត់រចនាសម្ព័ន្ធបាន; ទិន្នផល PWM ដែលអាចកំណត់រចនាសម្ព័ន្ធបាន; ការបញ្ចូលអសមកាល sampលីង; ចាប់យកប្រភពរំខានយ៉ាងឆាប់រហ័ស

នាឡិកាកំណត់ម៉ោង

ta_cnt_mode ប្លុកកម្មវិធីកំណត់ពេលវេលា

នាឡិកាប្រព័ន្ធ FSYSCLK

ចែក 1 ~ 65535

កម្មវិធីកំណត់ពេលវេលា 16 ប៊ីត TACNT
ច្បាស់
ta_clr

របៀបរាប់

EQU0

Set Timer IFG

taccr2_ccis taccr2_cm

(from GPIO)tacci0 (from GPIO)tacci1 (from SFR)tacci2

៦៧ ៨

(from SFR)tacci3 10

11

របៀបថត

taccr2_cov_set logic

0

ធ្វើសមកាលកម្ម

1

taccr2_cci

Timer clock taccr2_scs

taccr2_scci A
Y EN

EQU2

EQU2 EQU0 taccr2_out

Output Unit2

ta_out2

CCR0 CCR1 CCR2

TACCR2

comparator2
EQU2
៦៧ ៨

Set CCR2 CCIFG

taccr2_cap

taccr2_outmode
Chart 14-1. Diagram of Timer A Structure

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 69/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
Note: The structure of Timer A and Timer B are identical. The figure above shows the structure of Timer A.

14.1 វិធីសាស្រ្តប្រតិបត្តិការ

The operation of Timer A/Timer B module is controlled by software. TACCR0TH/TBCCR0TH mentioned in this section is a configurable 16-bit count threshold. It is consists of register TACCR0TH_H/TBCCR0TH_H and TACCR0TH_L /TBCCR0TH_L. Table 14-1 lists the counting modes of the 16-bit timing/counter (TACNT and TBCNT) according to different working modes.

Table 14-1. Work Modes of Timer

TA/TB_CNT_MODE 00 01 10
11

Working Mode Stop Up
បន្ត
ឡើង​ចុះ

ការពិពណ៌នា

TACNT/TBCNT does not work and stops counting , namely count stop mode

TACNT/TBCNT increments repeatedly from 0 to the TACCR0TH/TBCCR0TH

value, namely count up mode

TACNT/TBCNT repeatedly increments from 0 to 0xFFFF, namely continuous

របៀបរាប់

TACNT/TBCNT

ម្តងហើយម្តងទៀត

ការកើនឡើង

ពី

0

ទៅ

TACCR0TH/TBCCR0TH,then decreasing to 0, in cycle, namely continuous

counting mode.

As can be seen from the above table, Timer A or Timer B includes four working modes: Stop, Up, Continuous, Up/Down, and the working mode can be determined by configuring TA_CNT_MODE or TB_CNT_MODE. When it is necessary to temporarily modify the operating mode of Timer A or Timer B (except the modification of interrupt enabling and interrupt flag), suggest stopping the TACNT or TBCNT counting first to avoid unpredictable misoperation.

In count up mode, TACNT or TBCNT generates an interrupt once it reaches the setting threshold TACCR0TH/TBCCR0TH. In continuous count mode, TACNT or TBCNT will generate an interrupt once it reaches 0xFFFF. In Up/Down mode, TACNT or TBCNT will generate interrupt once decrement to 0x0001.

Before starting Timer A or Timer B, configure TAC_L.TA_CNT_MODE or TBC_L.TB_CNT_MODE (non-stop mode), count threshold TACCR0TH or TBCCR0TH value (0), capture/compare parameters (see section 4.14.5). Then set TAC_H.TA_START or TBC_H.TB_START to zero first and then to 1 to trigger effectively.

During counting, user can set TACL.TA_CLR or TBCL.TB_CLR to 1 to clear most of the counter configuration. Take Timer A as an example, values that TA_CLR can clear include: Count clock source frequency division value TACLK_DIV, count value TACNT, counter working mode TA_CNT_MODE and count threshold TACCR0TH.

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 70/100 ទំព័រ

www.hoperf.com

14.2 Up Mode

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

In Up mode, user can configure the count threshold TACCR0TH or TBCCR0TH to any value, and TACNT (or TBCNT) will increase from 0 to the threshold TACCR0TH (or TBCCR0TH) repeatedly, with the count period being TACCR0TH (or TBCCR0TH) +1. When the TACNT (or TBCNT) count reaches the threshold, it immediately returns to 0 to re-count.

0xFFFF TACCR0 (TBCCR0)
0

Chart 14-2. Schematic for Timer A/ Timer B Works in Up Mode

When TACNT (or TBCNT) counts to TACCR0TH or TBCCR0TH and overflows back to 0, the interrupt flag TA_CCR0_INT or TB_CCR0_INT is set, The interrupt flag TA_TMR_INT (or TB_TMR_INT) of Timer A (or Timer B) is set one beat later than TA_CCR0_INT. The following diagram shows the generation diagram of two different interrupts after the pre-split value TA_CLK_DIV is set to 3:

SYS_CLK TACNT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

CCR0-1

CCR0

0

1

TA_CCR0_INT TA_TMR_INT

Chart 14-3. Schematic for Interrupt of Timer A Working in Up Mode

It is not recommended to modify the value of TACCR0TH (or TBCCR0TH) during the counting process of TACNT (or TBCNT). In case users have modifications forcedly, it will have the below 2 effect depending on different conditions. 1. If the new TACCR0TH (or TBCCR0TH) modification value is greater than the previous one, or greater than
the current TACNT (or TBCNT) count value, TACNT (or TBCNT) will continue counting to the new TACCR0TH (or TBCCR0TH) value and then return to 0 to recount. 2. If the new TACCR0TH (or TBCCR0TH) modification value is less than the previous TACNT (or TBCNT) count value, the TACNTor TBCNTwill be immediately set 0, and it will continue counting to new TACCR0TH (or TBCCR0TH).

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 71/100 ទំព័រ

www.hoperf.com

14.3 របៀបបន្ត

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

In continuous mode, TACNT (or TBCNT) is increased from 0 to 0xFFFF repeatedly, reset and then counts from 0. In this mode, the 3 sets of capturer/comparator CCR0 ~ CCR2 have the same function and operate independently, which is different with the up mode. In Up mode, TACCR0TH (or TBCCR0TH) is the period value of the TACNT (or TBCNT) count.

0xFFFF

0

Chart 14-4. Schematic for Timer A Works in Continuous Mode
In the continuous mode, the capture/compare module can generate interrupts separately, as shown in the below figure.
When TACNT (TBCNT) counts to the TACCR0TH+1 (TBCCR0TH+1) value, the interrupt flag TA_CCR0_INT (TB_CCR0_INT) of the comparator ta_ccr0 or tb_ccr0 is set.
When TACNT (TBCNT) counts to 0xFFFF and then returns to 0 to re-count, the Timer interrupt flag TA_TMR_INT (TB_TMR_INT) is set.

SYS_CLK TACNT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

TACCR0TH-1 TACCR0TH TACCR0TH+1

0 xFFFE 0 xFFFF

0

1

TA_CCR0_INT TA_TMR_INT

Chart 14-5. Schematic for Interrupt of Timer A Working in Continuous Mode

The Continuous mode can be used to generate independent time intervals and output frequencies by the above ways. In the case of comparator ccr0, Timer A will generate an interrupt when counting to TACCR0TH. After the software detects this interrupt in the register, it can configure the comparison threshold TACCR0TH to TACCR0TH + n, where n is the set period value and n<0XFFFF. Keep updating the value of TACCR0TH in cycles and interrupts of n period is generated.

Therefore, three sets of capture/comparators ta_ccr0~ ta_ccr2 (tb_ccr0~ tb_ccr2) are used to produce three sets of independent time interval and frequency outputs, as shown in the figure below, where TACCR0THa, TACCR0THb, TACCR0THc, and TACCR0THd are the values

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 72/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
calculated via the equation of TACCR0TH =TACCR0TH+ n, the same goes for ta_ccr1.

TACCR1THb TACCR1THc TACCR1THd

0xFFFF

TACCR0THb

TACCR1THa

TACCR0THa

TACCR0THc TACCR0THd

0

t0

t0

t0

t1

t1

t1

Chart 14-6. Schematic for Independent Operation of Each Capture/Compare of Timer A (Same for Timer B)

14.4 Up / Down Mode
In Up/Down mode, TACNT (TBCNT) increments repeatedly from 0 to TACCR0TH (TBCCR0TH) and then decrements to 0. One period is twice the TACCR0TH (TBCCR0TH) value.
0xFFFF TACCRTH0 (TBCCRTH0)
0
Chart 14-7. Schematic for Timer A / B Works in Up / Down Mode
TA_CCR0_INT (TB_CCR0_INT) interrupt of ta_ccr0 and tb_ccr0 and TA_TMR_INT (TB_TMR_INT) interrupt flags of TACNT (TBCNT) are distributed in the first and second half in one cycle. Similarly to Up mode, when TACNT (TBCNT) counts to the TACCR0TH (TBCCR0TH) value, interrupt flag TA_CCR0_INT (TB_CCR0_INT) of ta_ccr0 is set. When TACNT (TBCNT) counts to the threshold of ta_ccr0 and returns to 0 to count again, the Timer A (Timer B) interrupt flag TA_TMR_INT (TB_TMR_INT) is set.

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 73/100 ទំព័រ

www.hoperf.com

SYS_CLK

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

TACNT

TACCR0TH-1 TACCR0TH TACCR0TH-1

2

1

0

1

TA_CCR0_INT

TA_TMR_INT

Chart 14-8. Schematic for Interrupt of Timer A Working in Up/ Down Mode
The up / down mode can support the application requiring Dead Time between two output signals. For example, 2 outputs that drive an H-bridge synchronously while cannot output a high level at the same time to avoid overload.
TDead=TTimerxTACCR1TH­TACCR2TH
In above, 1. TDead refers to the duration of the dead time 2. TTimer refers to the clock period of TACNT or TBCNT 3. TACCR1TH and TACCR2TH refer to the configuration values of the 2 sets of capturer/comparators.

0xFFFF
TACCR0TH
TACCR1TH TACCR2TH
0

Dead Time Output Mode 6: Toggle/Set

EQU1

EQU2

EQU0

Timer INT

EQU1 EQU2

EQU1 EQU2

Timer INT

EQU0

Output Mode 2: Toggle/Reset
EQU1 EQU2

Chart 14-9. Schematic for Up / Down Mode with Dead Time Control

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 74/100 ទំព័រ

www.hoperf.com

14.5 Capture/compare Module

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

Timer A / B contains 2 to 3 independent capture/compare modules for capturing TACNT (or TBCNT) data or generating time intervals. Note that, in Up and Up / Down modes, TACCR0 (TBCCR0) is used as a period register and cannot store captured values.

In Continuous modeboth ta_ccr0~ ta_ccr2tb_ccr0~ tb_ccr2can store captured values.

របៀបថត
If TACCTL0_H.TA_CCR0_FUNC_MODE to TA_CCR2_FUNC_MODE is set to 1, the corresponding capture/comparison module enters the capture mode. Capture mode is used to record time related events, such as speed estimates or time measurements. There are 4 capture sources, of which TACCI0 and TACCI1 are from GPIOn (configurable selection, see Section 4.9 GPIO Module for details) and TAC_H.TA_CCI2_IN_SFR and TAC_H.TA_CCI3_IN_SFR are from internal SFR registers, accessible to software. By configuring TA_CCR0_SRC_SEL – TA_CCR1_SRC_SEL can select different capture sources (CCI0 – CCI3) for three capture channels. Timer B is exactly the same,the same hereinafter. Configure TACCR0_CM ~ TACCR2_CM to select the capture mode of the corresponding capture/compare module as rising edge, falling edge or double edge trigger. After successful capture, the TACNT value will be stored in the TACCRn register of the corresponding capture/comparison module, and their interrupt flag TA_CCR0_INT~TA_CCR2_INT will be set at the same time.

Configure TACCR0_SCS ~ TACCR2_SCS to select whether to perform system clock synchronization on the capture source.

Timer clock TACNT CCI
TA_CCR0_FUNC_MODE TA_CCR0_INT
TACCR0TH

n-2

n-1

n

n+1

n+2

n+3

n+4

n

Chart 14-10. Schematic for Timer A Capture Mode

If the previous capture result has not been read, and the capture source is triggered again and generate capture overflow, the COV flag of the corresponding capture/comparison module will be set to 1, which will be re-captured after being cleared by the software.

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 75/100 ទំព័រ

www.hoperf.com

ការចាប់យកឡើងវិញ
Clear the corresponding
COV bit

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

Trigger capture source
Capture success

Read capture

Read capture result

Trigger capture source No capture occurs after reading
Trigger capture source

Capture overflow COV=1

Trigger capture source
Chart 14-11. Schematic for Capture Mode State and Interrupt of Timer A
Compare mode
When TA_CCR0_FUNC_MODE ~ TA_CCR2_FUNC_MODE is set to 0, the corresponding capture/compare module enters the compare mode. The compare mode is used to generate a PWM output signal or generate an interrupt at a specific time interval. When TACNT counts to TACCR0TH ~ TACCR2TH

1) The corresponding interrupt flag TACCR0 /1/2 is set to 1. 2) The corresponding count is equal means that the signal of EQU0 ~ EQU2 is set to 1; 3) EQU0~EQU2 affects the output signal according to different output modes; 4) The capture source selected by each comparator is stored in the corresponding TA_CCR0_SRC ~
TA_CCR2_SRC register;
ឯកតាទិន្នផល
Each capture/comparison module contains an output unit to generate output signal such as PWM signal. Each output unit is based on EQU0 and EQU1/EQU2 signals and can be combined into eight output modes.
TA_CCR0_OUT_MODE ~ TA_CCR2_OUT_MODE is the output configuration register for the corresponding capture/compare module, where output modes of 2, 3, 6, and 7 do not apply to output the 0 unit because EQUx = EQU0. (EQUx means EQU1 and EQU2)

រក្សាសិទ្ធិដោយ HOPERF

Rev 0.1A | 76/100 ទំព័រ

www.hoperf.com

ការណែនាំអ្នកប្រើប្រាស់ AN261-CMT2186A

Table 14-2. Various Modes of Output Unit

OUTMODE

របៀប

ការពិពណ៌នា

ចំណាំ

Direct mode, the output TA_OUTx is configured by

Applicable to the 3

000

ចេញ

register CCRx_OUT.

capture/compare modules.

When TACNT counts to TACCRxTH, the output

TA_OUTx is set and the state retains until Timer A is

Applicable to the 3

001

ប៊ីត

reset or the output mode changes and affects the

capture/compare modules.

output..

When TACNT counts to TACCRxTH, the output

Only applicable to capture 1

010

TA_OUTx flips. When TAR counts to TACCR0TH,

និង ២៥

output TA_OUTx resets.

When TACNT counts to TACCRxTH, the output

Set bits /

Only applicable to capture 1

011

TA_OUTx is set. When TAR counts to TACCR0TH,

កំណត់ឡើងវិញ

និង ២៥

output TA_OUTx resets.

When TACNT counts to TACCRxTH, the output

Applicable to the 3

100

ត្រឡប់

TA_OUTx flip

capture/compare modules.

When TACNT counts to TACCRxTH, the output

Applicable to the 3

101

កំណត់ឡើងវិញ

TA_OUTx is reset and the state retains until the

capture/compare modules.

output mode changes and affects the output..

When TACNT counts to TACCRxTH, the output

Only applicable to capture 1

110

Flip / Reset

TA_OUTx flips. When TAR counts to TACCR0TH,

និង ២៥

output TA_OUTx is set..

When TACNT counts to TACCRxTH, the output

Only applicable to capture 1

111

Resets/ bits TA_OUTx reset. When TAR counts to TACCR0TH,

និង ២៥

output TA_OUTx is set..

Notice: 1. T

ឯកសារ/ធនធាន

HOPERF CMT2186A Sub-1G Transmitting Micro Controller [pdf] ការណែនាំអ្នកប្រើប្រាស់
CMT2186A Sub-1G Transmitting Micro Controller, CMT2186A Sub-1G, Transmitting Micro Controller, Micro Controller, Controller

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *