CMT2186A Sub-1G გადამცემი მიკრო კონტროლერი

პროდუქტის სპეციფიკაციები

  • მოდელი: CMT2186A
  • სიხშირის დიაპაზონი: 210 – 960 MHz
  • მოდულაცია: OOK/ASK
  • გამომავალი სიმძლავრე: +13dBm მაქსიმ
  • CPU ბირთვი: მაღალი ხარისხის სინგლი
    ინსტრუქციის პერიოდი 1T-8051 ბირთვი
  • სამუშაო დენი: 24mA @ +13dBm 433.92MHz
    CW
  • სამუშაო ტომიtage დიაპაზონი: 1.8V – 3.6V
  • შენახვა: 4-KB MTP პროგრამის საცავი, 512-ბაიტი
    XRAM, 256-ბაიტი IRAM, 512-ბიტიანი EEPROM
  • ტემპერატურის დიაპაზონი: -40°C-დან 85°C-მდე
  • პაკეტის პარამეტრები: SOP16 (9.9 x 6 x 1.75 მმ),
    SOP14 (8.65 x 6 x 1.75 მმ)

პროდუქტის გამოყენების ინსტრუქცია

1. ჩართეთ CMT2186A

CMT2186A-ს ჩასართავად, დარწმუნდით, რომ თქვენი მოცtage წყარო არის შიგნით
დიაპაზონი 1.8V-დან 3.6V-მდე.

2. მოდულაციის პარამეტრები

CMT2186A მხარს უჭერს OOK და ASK მოდულაციის რეჟიმებს. იხილეთ
დეტალური სახელმძღვანელო კონკრეტული მოდულაციის კონფიგურაციისთვის.

3. გამომავალი სიმძლავრის რეგულირება

თქვენ შეგიძლიათ დაარეგულიროთ გადამცემის მოდულის გამომავალი სიმძლავრე 0-დან
+13dBm-მდე. კორექტირების ინსტრუქციებისთვის იხილეთ სახელმძღვანელო
გამომავალი სიმძლავრე.

4. მეხსიერების გამოყენება

CMT2186A აღჭურვილია მეხსიერების შენახვის სხვადასხვა ვარიანტებით. უზრუნველყოს
MTP პროგრამის შენახვის, XRAM, IRAM და
EEPROM თქვენი აპლიკაციის საჭიროებისთვის.

5. სამუშაო ტემპერატურა

მართეთ CMT2186A მითითებულ ტემპერატურულ დიაპაზონში
-40°C-დან 85°C-მდე ოპტიმალური მუშაობისთვის.

ხშირად დასმული კითხვები (FAQ)

Q: რა არის CMT2186A-ის სამუშაო სიხშირის დიაპაზონი?

პასუხი: CMT2186A მუშაობს 210 – 960 სიხშირის დიაპაზონში
MHz.

კითხვა: როგორ შემიძლია დავარეგულირო გადამცემის გამომავალი სიმძლავრე
მოდული?

პასუხი: გამომავალი სიმძლავრე შეიძლება დარეგულირდეს 0-დან +13dBm-მდე. მიმართეთ
სახელმძღვანელო კონკრეტული ინსტრუქციებისთვის გამომავალი რეგულირების შესახებ
ძალაუფლება.

Q: რა არის CMT2186A-ს მეხსიერების მოცულობა?

პასუხი: CMT2186A აღჭურვილია 4-KB MTP პროგრამის საცავი, 512-ბაიტი
XRAM, 256-ბიტიანი IRAM და 512-ბიტიანი EEPROM მეხსიერების გამოყენებისთვის.

„`

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
CMT2186A
210-960 MHz OOK/ASK გადამცემი SoC
CMT2186A Sub-1G გადამცემი მიკროკონტროლერი
მომხმარებლის სახელმძღვანელო

1. ეს დოკუმენტი აღწერს CMT2186A-ს ფუნქციებს, ოპერაციებსა და გამოყენებას. ეს არის სახელმძღვანელო ინჟინრებისთვის, რომლებიც იყენებენ CMT2186A.
2. ეს სახელმძღვანელო შემოიფარგლება დოკუმენტის სიგრძით და ჩიპის ფუნქციის მოდულების მითითებული რეგისტრები მხოლოდ ჩამოთვლილია. გთხოვთ, იხილოთ CMT2186A რეგისტრის დეტალური სახელმძღვანელო რეესტრის დეტალური აღწერისთვის. მომხმარებლებს შეუძლიათ გაიგონ ჩიპის ფუნქციები უფრო ეფექტურად ამ დოკუმენტის მითითებით.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 1/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

MCU ფუნქცია

Sub-1G გადამცემი მოდულის ატრიბუტები

CPU ბირთვი

სამუშაო სიხშირე: 210 – 960 MHz

– მაღალი ხარისხის ერთჯერადი ინსტრუქციის პერიოდი 1T-8051 kernal მოდულირებული რეჟიმი: OOK / ASK

- მხარს უჭერს 26 MHz (XOSC) ან 24 MHz (HFOSC) მონაცემთა სიხშირე: 0.5 40 kbps OOK

ოპერაციული სიხშირეები მაქსიმალური წვდომის ეფექტურობით გამომავალი სიმძლავრით+13dBmMax.

20MIPS

სამუშაო დენი24mA @+13dBm433.92MHz CW

– ოპერატიული მოხმარების შენახვა

ცალმხრივი მაღალი ეფექტურობის კლასი E მაღალი სიხშირის გადამცემი PA

– 4-KB MTP პროგრამის შენახვა, 10K წაშლის დროის მხარდაჭერა

PA Ramping მერყეობს მონაცემთა სიჩქარის მიხედვით

– 512 ბაიტი XRAM და 256 ბაიტი IRAM

– 512-ბიტიანი EEPROM მხარს უჭერს 1,000,000 წაშლის დროს

სამუშაო მდგომარეობა

ძალაუფლება

ტემპერატურის დიაპაზონი -40-85

– გადატვირთვის ჩართვა და დაბალი მოცულობისtagე გამოვლენა

სამუშაო ტომიtagდიაპაზონი არის 1.8-3.6 ვ

– ჩაშენებული დამოუკიდებელი LDO უზრუნველყოფს ენერგიას CPU-სთვის და

ციფრული ციფრული

განაცხადი

– ჩაშენებული ულტრა დაბალი სიმძლავრის ULPLDO აღწევს დისტანციური ავტოფარეხის კარის მართვის ფუნქციას CPU/RAM/SFR და ზოგიერთი დისტანციური კარის მართვის სისტემა.

პერიფერიული მოწყობილობები STOP რეჟიმში I/O

სამომხმარებლო უკაბელო დისტანციური მართვის ჭკვიანი სახლი

- 11/9 მრავალფუნქციური IO ქინძისთავები (SOP16 / SOP14)

სახლის დაცვა

- მხარს უჭერს უაღრესად მოქნილ პერიფერიულ ფუნქციებს

წყარო RFID tagging

- მხარდაჭერის დონის ცვლილების შეწყვეტა/გაღვიძება

უკაბელო სენსორული ქსელი

საათის წყარო

WM-Bus T1 რეჟიმი

- 26Mhz-მდე XOSC-ის მხარდაჭერა (მაღალი სიხშირის კრისტალი

ოსცილატორი)

პაკეტი

- ჩამონტაჟებული მაღალი სიჩქარით 24 MHz HFOSC (±1% RC ოსცილატორი)

SOP16

- ჩამონტაჟებული დაბალი ენერგიის მოხმარება 32 kHz LFOSC (±1% RC SOP14

ოსცილატორი)

ონჩიპის გამართვა

– CPU ჩაშენებული 1-Wire debugger ტექნიკის წრე

– მხარდაჭერა Keil C51 ონლაინ პროგრამის გამართვისთვის

- მხარს უჭერს 3 ტექნიკის გაწყვეტის წერტილს, პერიფერიული გამართვის ერთი ნაბიჯით

- 1x UART

– 1x SPI – 1x CDR ერთჯერადი მავთულის RX შეყვანის საათის აღდგენა – 1x WDT დამოუკიდებელი აპარატურა – 1x ძილის ტაიმერი 32KHz LFOSC

SOP-14
8.65 x 6 x 1.75 მმ

SOP-16
9.9 x 6 x 1.75 მმ

- 2x 16 ბიტიანი მარტივი ტაიმერი - 2x 16 ბიტიანი მრავალფუნქციური ტაიმერი 3 არხი PWM/CCP

– 2x ანალოგური შედარებითი კოდის უსაფრთხოება

– იწვის სერიული პორტები და ერთსადენიანი გამართვის ინტერფეისი

აქვს ჩაკეტვის ფუნქცია

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 2/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
შესავალი
CMT2186A არის დაბალი სიმძლავრის SoC RF გადამცემი, ჩაშენებული გაძლიერებული 1T-8051 ბირთვით 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 მხარს უჭერს ჩიპს CPU სტატუსის, ოპერატიული მეხსიერების მონაცემების და კონფიგურაციის რეგისტრის შესანახად
მონაცემები STOP რეჟიმში 5. 1-WIRE ონლაინ სიმულაციური ფუნქციით მომხმარებლებს შეუძლიათ ჩამოტვირთოთ სამიზნე გამართვის კოდი პირდაპირ ჩიპზე
MTP გამოყოფილი 1-WIRE გამართვისა და Keil C51 პროგრამული უზრუნველყოფის მეშვეობით, რაც ძალიან მოსახერხებელია. 6. იგი მხარს უჭერს გარე 26MHz XO ან ჩაშენებული 24MHz HFOSC, როგორც სისტემის ძირითადი სიხშირე და ჩაშენებული დაბალი
სიმძლავრე 32 kHz LFOSC შეიძლება გამოყენებულ იქნას დაბალი სიმძლავრის ტაიმერის გაღვიძებისთვის; 7. ის ასევე მხარს უჭერს ერთი მავთულის შეყვანის ტექნიკის საათის აღდგენის მოდულს, რაც ხელსაყრელია ბირთვის შეგროვებისთვის
გარე მონაცემები სინქრონულად (როგორიცაა RX მონაცემების მიღება).

CMOSTEK-ის NextGenRFTM სერიის მიმღებებთან ერთად, CMT2186A შეიძლება გამოყენებულ იქნას ულტრა დაბალი სიმძლავრის უკაბელო ქსელების ფართო სპექტრში.

ნაწილის ნომერი
CMT2186A-ESR14 CMT2186A-ESR16

პროდუქტის ინფორმაცია.
პაკეტი
SOP-14 SOP-16

განზომილება
8.65 მმ x 6.00 მმ x 1.75 მმ 9.90 მმ x 6.00 მმ x 1.75 მმ

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 3/100 გვერდი

www.hoperf.com

კატეგორიები

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

1 სისტემის არქიტექტორი ……………………………………………………………………………………………………………………………………… .. 7
2 სისტემის ოპერაციული პროცესი და მუშაობის რეჟიმი ……………………………………………………………………………………………… 8
2.1 სისტემის ოპერაციული პროცესი…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 8 სისტემის ფუნქციონირება რეჟიმი………………………………………………………………………………………………………………………………… 2.2 9 დაცვა მექანიზმი ……………………………………………………………………………………………………………………………………. 2.3
3 ინტერფეისების გამართვა და წვა ……………………………………………………………………………………………………….12
3.1 1-WIRE ONLINE გამართვისა და დამწვრობის ინტერფეისები ……………………………………………………………………………………….. 12 3.2 S3S ავტობუსის წვა ინტერფეისი……………………………………………………………………………………………………………………… 13
4 T8051XC3 მიკროკონტროლერი…………………………………………………………………………………………………………………………………………………………………………….14
4.1 პროცესორის არქიტექტურა………………………………………………………………………………………………………………………………. 14 4.2 ინსტრუქციების ნაკრები: …………………………………………………………………………………………………………………………………… ……….. 15 4.3 8051 CRES საწყისი რეესტრი ………………………………………………………………………………………………………………………….. 15
5 მეხსიერების სტრუქტურა ……………………………………………………………………………………………………………………………… 17
5.1 შესავალი…………………………………………………………………………………………………………………………………… …….. 17 5.2 სპეციალური ფუნქცია რეგისტრაცია………………………………………………………………………………………………………… 18 5.3 ყოველთვის მოქმედი დომენის რეგისტრი (AON REG) ……………………………………………………………………………………………………………… 19 5.4 მეხსიერების წვდომის რეჟიმი …………………………………………………………………………………………………………………….. 19
6 სტრუქტურის გადატვირთვა……………………………………………………………………………………………………………………………… …20
7 საათის სტრუქტურა …………………………………………………………………………………………………………………………………… ..20
7.1 საათის წყარო……………………………………………………………………………………………………………………………… ……….. 20 7.2 საათის კალიბრაცია …………………………………………………………………………………………………………………………………………. 22 7.3 საათის სიხშირის დაყოფა…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………. 22 7.4 CLOCK GATE CONTROL ……………………………………………………………………………………………………………………………………. 22 7.5 დაკავშირებული რეესტრი…………………………………………………………………………………………………………………………… ……. 26
8 შეწყვეტა და გაღვიძება ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
8.1 შესავალი……………………………………………………………………………………………………………………………………… …….. 27 8.2 WAKEUP წყარო………………………………………………………………………………………………………………………………………… .. 27 8.3 შეფერხების წყარო და შეფერხების კონტროლი ………………………………………………………………………………………………………………….. 28 8.4 გარე შეფერხების რუქა …………………………………………………………………………………………………………………………… 29 8.5 დაკავშირებული რეესტრი ……………………………………………………………………………………………………………………………………………… 32
9 GPIO მოდული …………………………………………………………………………………………………………………………………… ……..34
9.1 ძირითადი ფუნქცია ………………………………………………………………………………………………………………………………… …….. 34 9.2 GPIO სტრუქტურის შესავალი ………………………………………………………………………………………………………………………… 34 9.3 GPIO ციფრული შეყვანა……… …………………………………………………………………………………………………………………………………… 36

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 4/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
9.4 GPIO ციფრული გამომავალი……………………………………………………………………………………………………………………………… … 36 9.5 GPIO ანალოგური შეყვანა და გამომავალი …………………………………………………………………………………………………………………. 37 9.6 GPIO ციფრული შეყვანის რუქა……………………………………………………………………………………………………………………………………. 37 9.7 GPIO ციფრული გამომავალი რუქა…………………………………………………………………………………………………………………………………………………………………………………………………………………. 39 9.8 GPIO დონის ამობრუნების ამოცნობა………………………………………………………………………………………………………………………… 45 9.9 დაკავშირებული რეესტრი ……………………………………………………………………………………………………………………………… ……… 47
10 ტაიმერი 0 მოდული……………………………………………………………………………………………………………………………… .49
10.1 ძირითადი ფუნქცია ……………………………………………………………………………………………………………………………… …….. 49 10.2 TIMER0 რეჟიმი 0……………………………………………………………………………………………………………………………………… … 49 10.3 TIMER0 რეჟიმი 1……………………………………………………………………………………………………………………………………… … 50 10.4 TIMER0 რეჟიმი 2…………………………………………………………………………………………………………………………………… … 50 10.5 დაკავშირებული რეგისტრაცია …………………………………………………………………………………………………………………………………………… 51
11 ტაიმერი 1 მოდული……………………………………………………………………………………………………………………………… .52
11.1 ძირითადი ფუნქცია ……………………………………………………………………………………………………………………………… …….. 52 11.2 TIMER1 რეჟიმი 0……………………………………………………………………………………………………………………………………… … 52 11.3 TIMER1 რეჟიმი 1……………………………………………………………………………………………………………………………………… … 53 11.4 TIMER1 რეჟიმი 2…………………………………………………………………………………………………………………………………… … 53 11.5 დაკავშირებული რეგისტრაცია …………………………………………………………………………………………………………………………………………… 54
12 SPI მოდული ………………………………………………………………………………………………………………………………… ……..55
12.1 ძირითადი ფუნქცია ………………………………………………………………………………………………………………………………… …….. 55 12.2 კონფიგურაციის ვარიანტი ……………………………………………………………………………………………………………………………… 56 12.3 სამუშაო რეჟიმი …………………………………………………………………………………………………………………………………………. 57 12.4 სტატუსის დროშა……………………………………………………………………………………………………………………………… ………….. 58 12.5 დაკავშირებული რეესტრი …………………………………………………………………………………………………………………………………………… 59
13 UART მოდული ……………………………………………………………………………………………………………………………… ….60
13.1 ძირითადი ფუნქცია ……………………………………………………………………………………………………………………………… …….. 60 13.2 SYNCHRONOUS SHIFT MODE (MODE0)………………………………………………………………………………………………………… 60 13.3 ასინქრონული სრული დუპლექსის რეჟიმი კონფიგურირებადი ბაუდის სიჩქარით (რეჟიმი 1 და რეჟიმი 3) ………………………………………… 62 13.4 ასინქრონული სრული დუპლექსის რეჟიმი ფიქსირებული ბაუდის სიხშირით (რეჟიმი 2) ………………………………………………………………………….. 65 13.5 USART-ის გაძლიერებული რეჟიმი ……………………………………………………………………………………………………………………… 66 13.6 დაკავშირებული რეესტრი …… …………………………………………………………………………………………………………………………………… 68
14 ტაიმერი A/TIMER B მოდული……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
14.1 ოპერაციის მეთოდი …………………………………………………………………………………………………………………………………… .. 70 14.2 UP MODE …………………………………………………………………………………………………………………………………………… …….. 71 14.3 უწყვეტი რეჟიმი …………………………………………………………………………………………………………………………………… 72 14.4 ზევით/ქვევით რეჟიმი ……………………………………………………………………………………………………………………………… …….. 73 14.5 მოდულის გადაღება/შედარება ……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 75 EXAMPLES სხვადასხვა რეჟიმისთვის …………………………………………………………………………………………………………………….. 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 შედარებითი ანალოგური შეყვანა …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….TAGE……………………………………………………………………………………………………………………….. 83 17.3 შედარებითი მუშაობის რეჟიმი … …………………………………………………………………………………………………………………….. 83 17.4 დაკავშირებული რეესტრი ……………………………………………………………………………………………………………………………………… … 83
18 დაბალი მოცულობაTAGE რესეტი (LVR) ……………………………………………………………………………………………………………….84 19 დაბალი მოცულობაTAGE გამოვლენის მოდული ……………………………………………………………………………………………………….84
19.1 ძირითადი ფუნქცია …………………………………………………………………………………………………………………………… …….. 84 19.2 დაკავშირებული რეესტრი …………………………………………………………………………………………………………………………………………… 85 20 SUB-1G გადამცემი მოდული …………………………………………………………………………………………………………..85 20.1 შესავალი………………………………………………………………………………………………………………………………………… ….. 85 20.2 PA OUTPUT მეთოდი…………………………………………………………………………………………………………………………….. 86 20.3 ბუფერული რეჟიმის გადაცემის პროცესი ………………………………………………………………………………………………………………… 86 20.4 პირდაპირი რეჟიმის გადაცემის პროცესი…………………………………………………………………………………………………………………. 88 20.5 დაკავშირებული რეესტრი ……………………………………………………………………………………………………………………………… ……… 89 21 პაკეტის მონახაზი ………………………………………………………………………………………………………………………….90 21.1 CMT2186A -ESR14 პაკეტი ……………………………………………………………………………………………………………………………………………………………………………………………………………. 90 21.2 CMT2186A-ESR16 პაკეტი …………………………………………………………………………………………………………………………. 91 22 აბრეშუმის ზედა ბეჭდვა………………………………………………………………………………………………………………………… ….92 23 სხვა დაკავშირებული დოკუმენტი……………………………………………………………………………………………………………….93 24 ისტორიის გადახედვა ……… ……………………………………………………………………………………………………………………..94 25 კონტაქტები …………………………………………………………………………………………………………………………………………… ..95 დანართი A!………………………………………………………………………………………………………………………… ……………………….96

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 6/100 გვერდი

www.hoperf.com

1 სისტემის არქიტექტორი

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

ჩაშენებული 1 გჰც-მდე OOK / ASK გადამცემით CMT2186A არის მაღალი ხარისხის 8051 უკაბელო MCU. მომხმარებლის პროგრამა იწვება 4K Bytes MTP-ში, რომლის ოპერირება შესაძლებელია საათის სიხშირეზე 26 MHz-მდე. ჩიპი აერთიანებს შემდეგ ძირითად მოდულებს:

მაღალი ხარისხის 8051 ბირთვი 1-Wire ონლაინ გამართვის სქემით; მდიდარი ციფრული და ანალოგური პერიფერიული რესურსები. Sub-1G OOK / ASK მოდულირებული გადამცემი მოდული

1-მავთული (D10)

1-Wire Debug Hardware

ჩართვის ჩართვა

გადატვირთვა

Core / Momory 1T-8051 Core 4K-Byte MTP 512-Byte XRAM

მიწოდების მონიტორი
RSTn (D0)

256-ბაიტი IRAM 16 x 32b EEPROM

გაღვიძება წყვეტს

AON დომენი

დამოუკიდებელი მაკონტროლებელი ტაიმერი

I/O ცვლილების სკანირება

ძილის ტაიმერი

AON REG

INT

ავტობუსი

XTAL

D0,1,2…

LFOSC_CLK

საათის კონფიგურაცია

32 kHz LFOSC

24 MHz HFOSC

0

/ n

1

26 MHz XOSC

MCU_CLK SYS_CLK TX_CLK

DVDD GND

DLDO

ULPLDO

SFR ავტობუსი

პორტის I/O კონფიგურაცია

ციფრული პერიფერიული მოწყობილობები, რომელსაც მართავს MCU_CLK
16 ბიტიანი ტაიმერი 0
16 ბიტიანი ტაიმერი 1
UART
პორტი 0
პორტი 1
ციფრული პერიფერიული მოწყობილობები SYS_CLK-ით
SPI 16-ბიტიანი ტაიმერი A
3ch PCA w/ PWM 16-bit ტაიმერი B 3ch PCA w/ PWM RX CDR

GPIO MUX
& დრაივერები

ანალოგური პერიფერიული მოწყობილობების შედარებითი 0 შედარებითი 1
LBD

Sub-1Ghz გადამცემი ASK / OOK მოდულატორი

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 აღმოჩენის გადატვირთვა Watchdog გადატვირთვა

საწყისი დენი ჩართულია

დიახ სანთურა იწვის

MTP წვის რეჟიმი

MTP S3S-ის საშუალებით

არა

დიახ ონლაინ გამართვის რეჟიმი
არა

Debugger ჩამოტვირთავს პროგრამას 1-Wire და
ასწორებს მას

შიდა მართვა პირველადი ჩართვის დროს
(მოდულის შესწორება, MTP კონფიგურაცია მოქმედებს)

სრული გამორთვა

მომხმარებლის კოდის ოპერაცია

შედი

არა

გამორთვა

დიახ

გამორთვის რეჟიმი

არა შესვლა IDLE-ში
დიახ
CPU შეჩერებულია IDLE მდგომარეობაში

არა შესვლა STOP-ში
დიახ
განბლოკვა ULPLDOIn ძილის მდგომარეობის შეკავება)

დიახ

POR ან

არა

RSTn გადატვირთვა

დიახ

არა

გაღვიძების შეწყვეტა

შეწყვეტის გაღვიძება არ არის
დიახ
განბლოკეთ DLDO და საათი
გადატვირთეთ MTP

დიაგრამა 2- 1. სისტემის ოპერაციული პროცესის სქემა

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 8/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
როგორც ზემოთ მოცემულ დიაგრამაზეა ნაჩვენები, ჩიპის საწყისი ჩართვა ხდება DVDD პინის ჩართვით და POR-ის გადატვირთვით. როდესაც RSTn pin და BOR voltagაღმოჩენის გადატვირთვა, ისევე როგორც დამკვირვებლის გადატვირთვა ძალაში შედის, ჩიპი შევა ჩართვის პროცესში, რომელიც შემდგომში მოიხსენიება როგორც „ჩართვა“. ჩართვის შემდეგ იხსნება 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
STOP (შეკავება)
SDN

აღწერა
ნორმალური სტატუსი
DLDO ჩართულია System ClockHFOS ან XOSCenabled CPU kernal შეჩერებული პერიფერია მუშაობს ULPLDO ჩართულია System ClockHFOS ან XOSC გამორთული CPU ბირთვი დაზოგავს მთელ მეხსიერებას, პერიფერიულს
კონფიგურაციები: და მდგომარეობა. LFOSC ჩართულია, ყოველთვის ჩართული მოდული და
შედარებითი მუშაობა GPIO მდგომარეობა რჩება უცვლელი ULPLDO გამორთულია სისტემის საათიHFOS ან XOSC გამორთული

რეჟიმი
მომხმარებლის პროგრამა ავტომატურად შევა ჩაწერისა და ჩართვის შემდეგ
დააყენეთ IDLE ბიტი PCON რეესტრში
დააყენეთ STOP ბიტი PCON რეესტრში
დააყენეთ SLEEP ბიტი AON_SFR_03 რეესტრში
1. დააყენეთ PD_LFOSC ბიტი რეესტრში AON_SFR_04, რათა გამორთოთ LFOSC.

გაღვიძების წყარო
არცერთი
I/O დონის ცვლილება შედარებითი გამომავალი

I/O დონის ცვლილება

შედარების

გამომავალი ამობრუნება

დაიძინე

ტაიმერი

დრო ამოიწურა

I/O დონის შეცვლა ჩართვა გადატვირთვის

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 9/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

სამუშაო რეჟიმი

აღწერა

რეჟიმი

გაღვიძების წყარო

CPU ბირთვი ინახავს მთელ მეხსიერებას, პერიფერიულს 2. დააყენეთ TIMER_SLEEP_EN ბიტი RSTn პინის გადატვირთვაში

კონფიგურაციები: და მდგომარეობა.

HV_SFR_02 დარეგისტრირდით, რომ გამორთოთ

LFOSC ჩართულია, ყოველთვის ჩართული მოდული და ძილის ტაიმერი.

შედარებითი გამორთულია

3. დააყენეთ STOP ბიტი PCON-ში

GPIO მდგომარეობა უცვლელი რჩება

4. დააყენეთ SLEEP ბიტი ში

AON_SFR_03

ოთხივე რეჟიმში ენერგიის მოხმარებასთან შედარებით, Normal > IDLE > STOP > SDN. CMT2186A-ს აქვს ორი დენის პინი, AVDD აწვდის ენერგიას შიდა RF წრეში და DVDD კვებავს Always-On ციფრულ მოდულს და ანალოგურ მოდულს გარდა RF. ციფრული მოდულების უმეტესობა მუშაობს ჩაშენებული DLDO-ს ქვეშ და შეიძლება გადაერთოს ULPLDO კვების წყაროზე STOP-ზე დაბალი გაჟონვის შეკავების რეჟიმის მისაღწევად.

შეკავების რეჟიმი საშუალებას აძლევს ჩიპს აღდგეს წინა მდგომარეობიდან დაუყოვნებლივ STOP გამოღვიძების შემდეგ და განაგრძოს მუშაობა პროგრამის გადატვირთვის გარეშე. შეკავების რეჟიმში, ყველა RAM მონაცემი ინახება; MTP და EEPROM მონაცემების შენახვა შესაძლებელია ელექტროენერგიის გარეშე.

ცხრილი 2-2. CMT2186A ინახავს კონტენტს STOP რეჟიმში

შენახვა
MTP EEPROM
IRAM XRAM

მონაცემთა შენახვა

დენის მოდელის რეჟიმი File შენახვა File შეინახეთ ULPLDO ULPLDO

შეკავების რეჟიმში, ჩართვის გადატვირთვა (POR) და რეალურ დროში ცtage მონიტორი (Power Monitor) რჩება მუშა მდგომარეობაში. ქვემოთ ჩამოთვლილია თუ არა ყველა ფუნქციური მოდული ინახავს SFR-ის კონფიგურაციას და სამუშაო სტატუსს, მუშაობს თუ არა ისინი და შესაბამისი კვების რეჟიმი.

ცხრილი 2-2. CMT2186A ინახავს კონტენტს STOP რეჟიმში

ნომერი

მოდულის სახელი

კონფიგურაციის შენახვის სახელმწიფო
გადაარჩინა

სამუშაო სტატუსი

დენის მოდელის რეჟიმი

1

Watch Dog Timer

DVDD

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 10/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

ნომერი

მოდულის სახელი

კონფიგურაციის შენახვის სახელმწიფო
გადაარჩინა

სამუშაო სტატუსი

დენის მოდელის რეჟიმი

2

ძილის ტაიმერი

DVDD

3

გასაღების სკანირება

DVDD

4

შედარება 0

DVDD

5

შედარება 1

DVDD

6

UID & CFG რეგისტრაცია

×

DVDD

7

IO კონფიგურაციის სტატუსი

×

DVDD

8

1T-8051 ბირთვი

×

ULPLDO

9

ტაიმერი 0

×

ULPLDO

10

ტაიმერი 1

×

ULPLDO

11

UART

×

ULPLDO

12

პორტი 0

×

ULPLDO

13

პორტი 1

×

ULPLDO

14

SPI

×

×

ULPLDO

15

ტაიმერი ა

×

×

ULPLDO

16

ტაიმერი B

×

×

ULPLDO

17

CDR

×

×

ULPLDO

18

Sub-1G გადამცემი

×

×

ULPLDO

19

LBD

×

×

გამორთეთ

20

1-მავთულის გამართვა

×

×

×

გამორთეთ

ზემოთ მოცემულ ცხრილში 1-7 დანომრილი მოდული არსებობს ყოველთვის ჩართული (ყოველთვის ჩართული) ზონაში, რომელიც მითითებულია

ქვემოთ AON ზონის სახით. ეს ტერიტორია პირდაპირ იკვებება DVDD-ით და მოდულის გაჟონვა ძალიან მცირეა

როდესაც ის არ მუშაობს. მათ შორის, დამცავი ძაღლი, ძილის ტაიმერი, გასაღების სკანირება და ორი შესადარებელი შეიძლება ჩართოთ

ან გამორთეთ STOP რეჟიმში მომხმარებლის კონფიგურაციის მიხედვით; თუმცა, IO კონფიგურაცია და სტატუსი არ იცვლება

STOP რეჟიმში UID & CFG რეესტრში.

CPU ბირთვები და 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 შეიძლება დაუკავშირდეს კომპიუტერს CMOSTEK-ის CMT2186A ემულატორის მეშვეობით ონლაინ გამართვისა და MTP ჩაწერისთვის. ქვემოთ მოცემულია ხელსაწყოს კავშირის სურათი და ინტერფეისის კავშირი გამართვასა და CMT2186A-ს შორის. უნდა აღინიშნოს, რომ 1-Wire გამართვის ინტერფეისმა უნდა დაიკავოს პინი D10 და რეკომენდირებულია, რომ მომხმარებელმა ეს პინი ცარიელი დატოვოს გამართვის ფაზაში. MTP წვა ხორციელდება სამსადენიანი S3S ინტერფეისის მეშვეობით.

SMA

გაუშვით COM USB

CMT2186A

LED

K1

K2

K3

K4

CMOSTEK
www.cmostek.com

სიმულატორი
CMT2186A

CMT2186A 1-მავთულის სიმულატორი

USB B-TYPE

CMT2186A-EB ან CMT2186A-DM
დიაგრამა 3-1. 1-მავთულის ხელსაწყოს დამაკავშირებელი დიაგრამა

1-WIRE ონლაინ გამართვის ინტერფეისი, ზოგადი ფუნქციების მიღწევა შესაძლებელია Keil C51 პლატფორმაზე: სრული სიჩქარით მუშაობა, გაჩერება, ერთი ნაბიჯის შესრულება, მრავალსაფეხურიანი შესრულება და გამართვის სხვა რეჟიმები; პროგრამული უზრუნველყოფის წყვეტის წერტილების მხარდაჭერა (თვითნებურად); მხარს უჭერს 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 Bus Burning ინტერფეისი
S3S ავტობუსი გამოიყენება MTP-ის დასაწვავად, რომელიც შემოიფარგლება დამწვრობისა და წარმოების ხელსაწყოებით და ზოგადად არ არის ღია მომხმარებლებისთვის. თუ საჭირო იყო S3S ავტობუსის კონკრეტული დროისა და საკომუნიკაციო პროტოკოლის ცოდნა, გთხოვთ, დაუკავშირდეთ HOPERF-ის გაყიდვებს ან აგენტებს.

SMA

გაუშვით COM USB

CMT2186A

LED

K1

K2

K3

K4

CMOSTEK

პროგრამისტი

www.cmostek.com CMT216xA & CMT2186A

CMT2186A 1-მავთულის სიმულატორი

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-მავთული

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.

CODE / XDATA
IDTA

CPU Core ALU
დეკოდერი BIU

T8051XC3

PMU

შეწყვეტის კონტროლი

ტაიმერი 0

ტაიმერი 1

SFR

1-მავთულის გამართვა

სერია 0

პორტი 0

პორტი 1

დიაგრამა 4- 1. T8051XC3 სისტემის ბლოკის დიაგრამა

როგორც სურათზეა ნაჩვენები, T8051XC3 მოიცავს შემდეგ ნაწილებს:

CPU ბირთვი შედგება BIU ავტობუსის ინტერფეისის ერთეულისგან, დეკოდერის ინსტრუქციის დეკოდირების ერთეულისგან და ALU-სგან.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 14/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
არითმეტიკული ლოგიკური ერთეული ელექტროენერგიის მართვის ერთეული მხარს უჭერს IDLE და STOP რეჟიმებს შეფერხების მართვის განყოფილება მხარს უჭერს 8-მდე გარე შეფერხებას მე-2 დონის შეფერხების პრიორიტეტის კონტროლით ორი ტაიმერი, ტაიმერი 0 და ტაიმერი 1 ერთი სერიული პორტი, სერიული პორტი 0, შეუძლია UART რეჟიმის დანერგვა 11- ბიტის პარალელური პორტი, Port0 და Port1[1], შემოიფარგლება I/O-ების რაოდენობით, ხოლო Port1 მხოლოდ
ხელმისაწვდომია დაბალი 0-3 ბიტიანი ერთსადენიანი (1-WIRE) ონლაინ გამართვის მოდული, მხარს უჭერს Keil C51 პლატფორმას პროგრამული პროგრამირებისთვის
განვითარება და გამართვა

შენიშვნა: [1] Port0 და Port1 მოყვება T8051XC3 ბირთვი და არ არის უშუალოდ ჩიპის GPIO-ს ექვივალენტი. CPU ბირთვთან შედარებით, GPIO მიეკუთვნება პერიფერიულს და Port0 და Port1 შეიძლება იყოს რუქა GPIO-ებზე.

T8051XC3 იყენებს 8-ბიტიან SFR ავტობუსს ზემოთ აღნიშნული პერიფერიული მოწყობილობების დასაკავშირებლად. CMT2186A მხარს უჭერს მეტ პერიფერიულ მოწყობილობას, რომლებიც დაკავშირებულია ბირთვთან SFR ავტობუსის მეშვეობით. გარდა ამისა, ბირთვი იყენებს ცალკე IDATA ავტობუსს შიდა მეხსიერების IRAM-თან დასაკავშირებლად და საზიარო CODE/XDATA ავტობუსს MTP-თან და XRAM-თან დასაკავშირებლად შესაბამისად.

4.2 ინსტრუქციის ნაკრები:

8051 ინსტრუქციების ნაკრები შედგება 111 ინსტრუქციისგან, თითოეული შედგება 1,2 ან 3 ბაიტისაგან. ინსტრუქციის შესრულება გამოითვლება ერთი საათის ციკლში. ყველა ინსტრუქციისა და მათი შესრულების ციკლის შესახებ დამატებითი ინფორმაციისთვის იხილეთ დანართი A.

4.3 8051 ძირითადი საწყისი რეესტრი

ძირითადი 8051 ასოცირებული რეგისტრის ჯგუფი ნაჩვენებია შემდეგ ცხრილში. თითოეული რეესტრის სპეციფიკური შინაარსისა და მნიშვნელობისთვის, გთხოვთ, იხილოთ CMT2186A რეესტრის დეტალური სახელმძღვანელო.

ცხრილი 4-1. 8051 Core-ის საწყისი რეგისტრები

სახელი
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 მონაცემთა მაჩვენებელი (DPTR) რეგისტრი, დაბალი 8 ბიტიანი მონაცემთა მაჩვენებელი (DPTR) რეგისტრი, მაღალი 8 ბიტიანი სიმძლავრის კონტროლის რეგისტრაცია

საავტორო უფლება © 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 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 საკონტროლო რეგისტრები Timer0 და Timer1 სამუშაო რეჟიმი რეგისტრები Timer0 რეგისტრი დაბალი 8 ბიტიანი ტაიმერი1 რეგისტრაცია დაბალი 8 ბიტი ტაიმერი 0 რეგისტრაცია მაღალი 8 ბიტი ტაიმერი1 რეგისტრაცია მაღალი 8 ბიტი Port1 რეგისტრი, ბიტიანი წვდომის მხარდაჭერა, რომელიც შეესაბამება რვა ბირთვის პორტს P1.0 – P0.7–დან .1.0. I/O ნომრების გამო, მხოლოდ P1.3 P0 არის წვდომა. სერიული პორტის კონტროლის რეგისტრი სერიული პორტის მონაცემთა ქეშის რეგისტრი შეფერხების ჩართვის რეგისტრი 0 შეფერხების პრიორიტეტის რეგისტრი 1 პროგრამის სტატუსი/ მარკირების რეგისტრი დაგროვილი რეგისტრაცია შეფერხების ჩართვის რეგისტრი 1 B რეგისტრაცია პერიფერიული შეფერხების მოთხოვნის დროშის რეგისტრაცია შეფერხების პრიორიტეტის რეგისტრი XNUMX

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 16/100 გვერდი

www.hoperf.com

5 მეხსიერების სტრუქტურა
5.1 შესავალი
CMT216xA ჩიპზე შენახვის არქიტექტურა ნაჩვენებია დიაგრამა 5-1-ში.

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

0xFFFF

კოდი

გამოუყენებელი

0x0200 0x0FFF
0x0000

4K ბაიტი MTP (კოდი)

კონფიგურაცია

512 ბიტი

0x0040

MTP (ID & Config) 0x0000

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

IDATA / DATA

ზედა 128 ბაიტი IRAM
(არაპირდაპირი წვდომა)

სპეციალური ფუნქციის რეგისტრები გვერდი 0 (პირდაპირი წვდომა)

სპეციალური ფუნქციის რეგისტრები გვერდი 1 (პირდაპირი წვდომა)

ქვედა 128 ბაიტი IRAM
(პირდაპირი ან არაპირდაპირი წვდომა)
Bit-Adressable
სამუშაო რეესტრები

0xFFFF

XDATA

გამოუყენებელი

0x0200 0x01FF
0x0000

512 ბაიტი XRAM

დიაგრამა 5-1. CMT2186A შენახვა და ლოგიკური მისამართი
CMT2186A საცავი შედგება 3 ადგილისგან.
პროგრამის კოდის სივრცე სივრცე, სადაც ინახება 8051 ბირთვის კოდი და იტვირთება გასაშვებად, ოპერატორი არის 4K ბაიტი MTP, რომელიც შეიძლება წაიშალოს რამდენჯერმე. MTP ასევე მხარს უჭერს 512 ბიტიანი კონფიგურაციის სივრცეს მომხმარებლის ID-ების შესანახად და ჩიპის ფუნქციების ზოგიერთი სპეციფიკური კონფიგურაციისთვის. კოდის და კონფიგურაციის სივრცის შინაარსი იწვება დამწვრობის საშუალებით. მთელი 4KB კოდის სივრცე ხელმისაწვდომია მომხმარებლისთვის და კოდის შესრულება იწყება 0x0000-ზე.
მონაცემთა შიდა სივრცე 8051 ბირთვი შეიცავს 256 ბაიტს შიდა მონაცემთა სივრცეს MCU-ს სწრაფი წვდომისთვის. შიდა DATA სივრცე შეიძლება დაიყოს DATA, IDATA და SFR წვდომის მეთოდის მიხედვით, რომელიც შეესაბამება Keil C51 კომპილერის საკვანძო სიტყვებს, ხოლო გადამზიდავი არის შესაბამისად 256 ბაიტი IRAM და SFR რეგისტრები. SFR დაყოფილია ორ გვერდად, რომელთა არჩევა შესაძლებელია SFR_PAGE_SEL ბიტით.
გარე მონაცემთა სივრცე 8051 გარე მონაცემების შენახვა, XDATA ინახება 512 ბაიტი XRAM-ში. მომხმარებლებს ასევე შეუძლიათ შეინახონ კონკრეტული
მონაცემები, რომლებიც უნდა შეინახოს გამორთვის დროს 512-ბიტიან EEPROM-ში, რომლის წვდომა შესაძლებელია SFR-ის საშუალებით. გარდა ამისა, არის რამდენიმე AON_REGS AON რეგიონში, ეს რეგისტრები ძირითადად გამოიყენება კონფიგურაციისთვის

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 17/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
და აკონტროლეთ AON რეგიონის მოდულები და I/O. მომხმარებლებს შეუძლიათ მათზე წვდომა არაპირდაპირი გზით SFR-ის საშუალებით.

ცხრილი 5-1. შიდა მეხსიერების აღწერა;

შესანახი ადგილი

შენახვა

ლოგიკური მისამართის შესაძლებლობები

აღწერა

პროგრამის კოდის სივრცე

MTP

0x0000 - 0x0FFF

4K ბაიტი

მომხმარებლის პროგრამის გაშვებული სივრცე, Keil C51 უნდა გამოიყენოს საკვანძო სიტყვის კოდი ცვლადების დასადგენად.

IDATA დაბალი დონის ბიტები, მასზე წვდომა შესაძლებელია როგორც პირდაპირ, ასევე ირიბად. გარდა ამისა, 16 ბაიტი

შიდა მონაცემთა სივრცე

ირმა

0x00 – 0x7F 0x80 – 0xFF

128 ბაიტი 128 ბაიტი

მისამართების სივრცე მოცემულია მისამართების დიაპაზონში 0x20-0x2F. Keil C51 შეიძლება განისაზღვროს საკვანძო სიტყვით data ან idata, ხოლო ცვლადები, რომლებზეც წვდომა არის ბიტით, შეიძლება განისაზღვროს sbit-ით. IDATA მაღალი დონის ბიტებზე წვდომა შესაძლებელია არაპირდაპირი გზით. Keil C51-მა უნდა გამოიყენოს საკვანძო სიტყვები. მონაცემების განსაზღვრისათვის.

8051-ს შეუძლია პირდაპირ წვდომა სპეციალური ფუნქციების რეესტრში

SFR

0x80 - 0xFF

145 ბაიტი

შიდა ოპერატიული მეხსიერების მისამართების დიაპაზონს შორის, გვერდის 2 და 0 გვერდის ჩათვლით, რომლებიც შედარებულია SFR-ის SFR_PAGE_SEL ბიტით.

XRAM

0x0000 - 0x01FF

512 ბაიტი

Keil C51 უნდა გამოიყენოს საკვანძო სიტყვის კოდი ცვლადების დასადგენად.

გარე მონაცემთა სივრცე

EEPROM

0x00 - 0x1F

512 ბიტი

16 ბიტიანი 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 სიმძლავრის რეგისტრებს. კონფიგურაცია. ამიტომ, თქვენ უნდა დაადასტუროთ, რომ გვერდის წერტილი სწორია

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 18/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
პირდაპირ შედით შესაბამის SFR-ზე, წინააღმდეგ შემთხვევაში ადვილია კონფიგურაციის შეცდომების გამოწვევა.

SFR იკვებება ULPLDO-ით STOP რეჟიმში, რაც უზრუნველყოფს პერიფერიული მოწყობილობების უმეტესი კონფიგურაციის შენახვას დაბალი გაჟონვის დროს.

5.3 ყოველთვის ჩართული დომენის რეგისტრაცია (AON REG)

ყოველთვის ჩართული (AON) დომენური სისტემა იკვებება უშუალოდ DVDD-ით და ის შეიცავს მცველს, ძილის ტაიმერს, I/O ცვლილების ამოცნობას და 32-ბაიტიან რეგისტრს AON REG. მომხმარებლებს შეუძლიათ წვდომა AON REG-ზე არაპირდაპირი გზით AON_ADDR, AON_WDATA და AON_RDATA რეგისტრების მეშვეობით SFR-ში. ამ რეგისტრების მიერ კონტროლირებადი და კონფიგურირებული ობიექტები მოიცავს: სამი პერიფერიული მოწყობილობა ზემოთ AON დომენში, ორი ანალოგური შედარებითი და ყველა I/O. ამავდროულად, AON REG-ში არის 8 ბაიტი და როდესაც ჩიპი პირველად ჩაირთვება, სისტემა ავტომატურად დააკოპირებს 64-ბიტიან მომხმარებლის ID-ს MTP-ში 8 ბაიტიან რეესტრში, რაც მოსახერხებელია მომხმარებლებისთვის. . მომხმარებლებს ასევე შეუძლიათ თავისუფლად გამოიყენონ 8 ბაიტიანი რეესტრი სხვა მიზნებისთვის.

5.4 მეხსიერების გაშვების წვდომის რეჟიმი

მეხსიერების გაშვების წვდომის რეჟიმი ნაჩვენებია ცხრილში 5-2.

ცხრილი 5-2. მეხსიერების გაშვების წვდომის რეჟიმი

მეხსიერების ტიპი

წვდომის მეთოდი

Example

კოდი

პროგრამაში მუდმივი განმარტება, uint8_t კოდის მასივის გამოყენებით[3] = {0x12, 0x34, 0x56 };

საკვანძო სიტყვა "კოდი"

XDATA

ცვლადის განმარტება პროგრამაში, uint8_t xdata tx_buf[64] გამოყენებით;

საკვანძო სიტყვა "xdata"

IDTA

ცვლადის განმარტება პროგრამაში, uint8_t xdata tx_buf[3] გამოყენებით;

საკვანძო სიტყვა "idata"

SFR

პირდაპირი წვდომის მისამართი[2]

IEN0= 0x00;

AON REG

წვდომა SFR-ით[1]

არცერთი

EEPROM

წვდომა SFR, ან API ფუნქციების მეშვეობით[2]

არცერთი

შენიშვნები:

[1] ოფიციალური პირი გვიჩვენებს, თუ როგორ უნდა შეხვიდეთ ამ რეესტრებში. [2] ოფიციალური პირი გაჩვენებთ, თუ როგორ უნდა შეხვიდეთ ამ რეგისტრებსა და API-ის წყაროს კოდზე. API შეიძლება გამოყენებულ იქნას გაზრდის მიზნით

EEPROM წაშლის ჯერების რაოდენობა.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 19/100 გვერდი

www.hoperf.com

6 სტრუქტურის გადატვირთვა
CMT2186A-ს აქვს ოთხი გადატვირთვის სისტემა, მათ შორის:

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

POR-ის გადატვირთვის ჩართვა POR ჩართულია მხოლოდ ერთხელ, როდესაც DVDD ჩართულია.

ტtage detection reset (BOR) BOR წარმოიქმნება, როდესაც DVDD-ში არანორმალური რყევები ხდება, რათა თავიდან იქნას აცილებული ჩიპის დაბნეულობა.

Pin Reset RSTn გადატვირთვის პინი RSTn ამრავლებს D0 პინს და ის ჩართულია ნაგულისხმევად. მომხმარებლებს შეუძლიათ გამორთონ ის შემდეგ
ჩართეთ, თუ არ არის საჭირო ამ ფუნქციის გამოყენება.

Watchdog ResetWDT_RSTn Watchdog reset არის გადატვირთვა, რომელიც ხელს უშლის პროგრამის გაშვებას ან სისტემის ავარიას.
როდესაც მომხმარებლის პროგრამა ნორმალურად მუშაობს, აუცილებელია პერიოდულად „ძაღლის კვება“, რათა თავიდან იქნას აცილებული გადატვირთვა, რომელიც გამოწვეულია მცველის ტაიმერის ქრონომეტრაჟით.

ამ ოთხ გადატვირთვას აქვს ერთი და იგივე ეფექტი, ანუ გადატვირთვის ამოქმედების შემდეგ ჩიპი პირველად ჩაირთვება.
7 საათის სტრუქტურა

7.1 საათის წყარო
CMT2186A-ს აქვს სამი ძირითადი საათის წყარო, კერძოდ, 26 MHz მაღალი სიჩქარით კრისტალური ოსცილატორი XOSC, 24 MHz შიდა მაღალი სიჩქარით RC ოსცილატორი HFOSC და 32 kHz შიდა დაბალი სიჩქარით RC ოსცილატორი LFOSC. დახვეწილი საათის კარიბჭის მექანიზმი ჩაშენებულია ჩიპის შიგნით, რათა მომხმარებლებს შეეძლოთ რაც შეიძლება მეტი ენერგიის დაზოგვა.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 20/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

ანალოგი

13 MHz / 2
Sub-1G TX PLL მითითება

ციფრული ბირთვი

tx_clk
G

div_bypass

1 mcu_clk

/ n

0

debug_clk
G
cpu_clk
G
ana_clk
G
ee_clk
G
ioint_clk
G
port0_clk
G
port1_clk
G
ტაიმერი0_კლიკ
G
ტაიმერი1_კლიკ
G
uart_clk
G

XOSC 26 MHz
24 MHz HFOSC

hfosc_xo_sel

1

hfosc_div2_en

0

/ 2

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. სისტემის ბლოკის დიაგრამა

როგორც ზემოთ მოცემულ სურათზეა ნაჩვენები, XOSC ემსახურება როგორც საცნობარო საათს Sub-1G უკაბელო გადამცემისთვის PLL და გამოიყენება ციფრული გადაცემის კონტროლისა და რეგულირების მოდულის მართვისთვის სიხშირის გაყოფის შემდეგ. სისტემის ძირითადი საათი (SYS_CLK) ნაგულისხმევად არის მოწოდებული HFOSC-დან და HFOSC შეიძლება დაკალიბრდეს ±1% სიზუსტით. თუ მომხმარებელს სურს გააუმჯობესოს ძირითადი საათის სიზუსტე, შესაბამისი კონფიგურაციის კონფიგურაცია შესაძლებელია MTP-ის დაწვისას, ისე, რომ ჩიპი ავტომატურად გადართავს მთავარ საათს XOSC-ზე ჩართვის შემდეგ და სიზუსტე შეიძლება გაუმჯობესდეს ბროლის სიზუსტემდე. თავად ოსცილატორი, როგორიცაა ± 10 ppm, გაზრდის ენერგიის გარკვეულ მოხმარებას. LFOSC უზრუნველყოფს საათებს ძილის ტაიმერებისთვის და სპეციალურად დარაჯ ძაღლებისთვის, რომლებსაც შეუძლიათ მიაღწიონ ±1% სიზუსტეს კალიბრაციის შემდეგ.

საავტორო უფლება © 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. (HFOSC) ან 102 kHz (XOSC).

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 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 EELEE_RD

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 23/100 გვერდი

www.hoperf.com

საათის კარიბჭის კონტროლი

მოდული

IOINT_CLK_EN

IO და შეფერხების კონტროლერი

PORT0_CLK_EN PORT1_CLK_EN TIMER0_CLK_EN
TIMER1_CLK_EN
UART_CLK_EN

პორტი 0 პორტი 1 ტაიმერი 0
ტაიმერი 1
UART 0

ANA_CLK_EN

ანალოგური მიკროსქემის კონტროლერი

SPIM_CLK_EN SPIS_CLK_EN

SPI სამაგისტრო მანქანა SPI slave მანქანა

TIMERA_CLK_EN

ტაიმერი ა

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 0xA90xD 0x8 0x8 0xE8 0xE8 0xE98 0xE99 0xE2 0x3 0x4 0x5 0x7 0xB96 0xB97 0xBA 96xBB 0xBC

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_INB_SEL GPIO_OUTC_SEL GPIO_OUTD_SEL GPIO_OUTE_SEL GPIO_OUTF_SEL P08051 საწყისი რეგისტრაცია P18051 საწყისი რეგისტრაცია TL08051 საწყისი რეგისტრაცია TH08051 საწყისი რეგისტრაცია TL18051 საწყისი რეგისტრაცია Initial რეგისტრაცია TH18051 SBUF08051 საწყისი რეგისტრაცია ANA_CTL_08051 ANA_CTL_4 ANA_CTL_5 ANA_CTL_6 ANA_CTL_7 SPI_CTL_8 SPI_CTL_0 SPI_CTL_1[0] SPI_CTL_2[1] TACLK_DIV_H TACL_ACL_ACR_TCL_ACHD2

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 24/100 გვერდი

www.hoperf.com

საათის კარიბჭის კონტროლი

მოდული

TIMERB_CLK_EN

ტაიმერი B

CDR_CLK_EN

საათის რესტავრატორი

LBD_CLK_EN LFOSC_CLK_EN HFOSC_CLK_EN SLTMR_CLK_EN

დაბალი მოცულობაtagდეტექტორი LFOSC კალიბრაცია LFOSC კალიბრაცია ძილის ტაიმერი

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 არცერთი არცერთი არც ერთი

WDG_CLK_EN

მცველი ტაიმერი

არცერთი

SFR მისამართი
0xBD 0xBE 0xBF 0xC0 0xC1 0xC2 0xC3 0xC4 0xC5 0xC6 0xC7 0xC8 0xC9 0xCA 0xCB 0xCC 0xCD 0xCE 0xCF 0xD1xD0x2 0xD3 0xD4 0xD5 0xD6 0xDA 7xDB 0xDC 8x0D 9x0E 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 TBCL_BBCLKD 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_DR_0 მხოლოდ CDR_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 მოდულს. აუცილებელია ბატარეის მოცულობის აღმოჩენაtagე ადრე

ტრანსმისია ექსპლუატაციაში გადამცემი სიმძლავრის კომპენსაციისთვის, ამიტომ რეკომენდებულია მომხმარებელმა ჩართოს 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 რეგისტრის საათები ჩართულია

on.

[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
0 0 0

მისამართი
0x84 0x85 0x86 0xFD

ნაგულისხმევი მნიშვნელობები
0x7F
0xFF 0x7F 0x01

ფუნქცია
Port0 რეგისტრი, მხარდაჭერილი ბიტის წვდომა, P0.0-p0.7 Stack Pointer Register მონაცემთა მაჩვენებელი (DPTR) რეგისტრი, დაბალი 8 ბიტი MCU_CLK სიხშირის გამყოფი კოეფიციენტი

ბირთვის რვა პორტი

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 26/100 გვერდი

www.hoperf.com

8 შეწყვეტა და გაღვიძება

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

8.1 შესავალი

CMT2186A-ის შეფერხების კონტროლს აქვს ორი ძირითადი ფუნქცია:
პირველი: შეწყვიტოს მიმდინარე მიმდინარე პროცესი და მიენიჭოს პრიორიტეტი შეწყვეტის სერვისის პროცესს;
მეორე: სისტემის გაღვიძება დაბალი ენერგიის რეჟიმიდან;
პირველი ფუნქცია ასრულებს იგივე როლს, როგორც ტრადიციული მიკროკონტროლერები, რომლებიც პასუხისმგებელია პროგრამის მუშაობის დროს შეფერხების მართვაზე, რომელსაც მხარს უჭერს ყველა შეფერხების წყარო. მეორე ფუნქცია არის დაბალი სიმძლავრის აპლიკაციების მოთხოვნილებების დაკმაყოფილება, რომლებიც იღვიძებენ შეფერხებების შედეგად მას შემდეგ, რაც სისტემა შედის დაბალი ენერგიის ყველა რეჟიმში. ამ შემთხვევაში, მხოლოდ შეზღუდული რაოდენობის შეფერხების წყაროს შეუძლია გაღვიძების ფუნქციის მხარდაჭერა. აქ ჩვენ ვუწოდებთ შეწყვეტის წყაროს, რომელსაც შეუძლია გაღვიძების მხარდაჭერა, "გაღვიძების წყაროს", რათა უკეთ გავიგოთ მისი მუშაობის მექანიზმი. Wake წყარო და დაბალი ენერგიის რეჟიმი დაკავშირებულია ერთმანეთთან, აქ არის დეტალური ინფორმაცია CMT2186A-ის სამი დაბალი ენერგიის რეჟიმის შესახებ:
IDLE რეჟიმი IDLE რეჟიმში 8051 ბირთვი და CPU_CLK-ის საათი შეწყვეტენ მუშაობას, ხოლო MCU_CLK არ ჩერდება. ამრიგად, საწყისი და სისტემის პერიფერიული მოწყობილობები კვლავ ნორმალურად მუშაობენ. ეს არის მიზეზი იმისა, რომ IDLE რეჟიმის ჩართვა შესაძლებელია ამ ორი პერიფერიული მოწყობილობის შეწყვეტით.
STOP რეჟიმი STOP რეჟიმში, ჩიპი გადადის ძილის მდგომარეობაში და MCU კვების წყარო გადადის DLDO-დან ULPLDO-ზე, რათა დაზოგოს მიმდინარე სამუშაო მდგომარეობა დაბალი ენერგიის მოხმარებით. ამ დროს, ყველა საათი, გარდა LFOSC-ისა, ჩერდება და გამოფხიზლებისთვის მხოლოდ AON არეალში არსებულ შეფერხებებზეა დამოკიდებული, მათ შორის I/O დონის ცვლილებების, ძილის ტაიმერის დროის ამოწურვისა და ანალოგური შედარების გამომავალი გამომავალი ამობრუნების ჩათვლით. თუ მომხმარებელი არ იყენებს ძილის გაღვიძებას, LFOSC და ძილის ტაიმერი ასევე არ შეიძლება ჩართოთ STOP რეჟიმში შესვლამდე, რაც კიდევ უფრო დაზოგავს ენერგიას.
SDN რეჟიმი SDN რეჟიმში შესვლის გზა ასევე არის STOP რეგისტრის ბიტის დაყენება, მაგრამ მან თავიდან უნდა დახუროს ULPLDO და LFOSC, ისევე როგორც ყველა I/O შეყვანის დონის გამოვლენა AON-ის ზონაში (თუ არა, I/O ამობრუნება შეიძლება გამოიწვიოს ცრუ გაღვიძება და ჩიპის არასწორად მუშაობა). SDN რეჟიმში, რადგან ორივე DLDO და ULPLDO გამორთულია, ყველა საათი შეჩერებულია, მხოლოდ POR ჩართვის გადატვირთვას ან RSTn პინის გადატვირთვას შეუძლია ჩიპის ჩართვა.

8.2 გაღვიძების წყარო

როგორც წინა ნაწილში აღინიშნა, მხოლოდ სისტემის პერიფერიულ მოწყობილობებს შეუძლიათ ჩვეულებრივ ღია დომენში მხარდაჭერა

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 27/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
გაღვიძების სისტემა STOP რეჟიმში, რომელსაც ჩვენ ვუწოდებთ გაღვიძების წყაროს. CMT2186A-ის გაღვიძების წყარო ძირითადად მოდის შემდეგი სამი ფუნქციური მოდულიდან:
I/O Change Scan Module CMT0A-ის D11-D2186-ს შეუძლია ამ ფუნქციის მხარდაჭერა. მომხმარებლებმა უნდა დააკონფიგურირონ GPIO, რომელიც საჭიროა
გამოავლინეთ გაღვიძება STOP რეჟიმში შესვლამდე.
ძილის ტაიმერის მოდული დაბალი სიმძლავრის ძილის ტაიმერი აღვიძებს STOP რეჟიმს.
Analog Comparator Modular ანალოგური შედარებითი გამოიყენება ორი შემავალი სიგნალის შესადარებლად. როდესაც შედარების შედეგები იცვლება, ის
გააქტიურებს შეწყვეტის გაღვიძების სისტემას. მომხმარებელს სჭირდება შედარების მუშაობის რეჟიმის კონფიგურაცია STOP რეჟიმში შესვლამდე.
8.3 შეფერხების წყარო და შეფერხების კონტროლი
CMT2186A-ს გაღვიძების წყაროები აღწერილია წინა ნაწილში. ვინაიდან ისინი მხარს უჭერენ სუფთა გაღვიძების სისტემას, ის ასევე შეიძლება გავიგოთ, როგორც გაღვიძების წყაროს სისტემა. CMT2186A შეფერხების წყარო, რომელიც დაინერგება ამ განყოფილებაში, ძირითადად ასოცირდება 8051 ოპერაციულთან, ანუ შეფერხების პასუხის სპეციფიკურ დამუშავებასთან, რომელიც დაფუძნებულია კოდის ოპერაციაზე.

CMT8051A-ის შიდა 2186 მხარს უჭერს 11 შეფერხების წყაროს, კერძოდ: ერთი ტაიმერი 0 შეწყვეტა ერთი ტაიმერი 1 შეწყვეტა ერთი სერიული 0 (ანუ UART) შეწყვეტა; რვა გარე შეწყვეტა (შემდგომში 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

0XXX

გარე შეწყვეტა 2

IE2

EX2

IPL1[2]

6

0x0053

გარე შეწყვეტა 3

IE3

EX3

IPL1[3]

7

0XXX

გარე შეწყვეტა 4

IE4

EX4

IPL1[4]

8

0x0063

გარე შეწყვეტა 5

IE5

EX5

IPL1[5]

9

0XXX

გარე შეწყვეტა 6

IE6

EX6

IPL1[6]

10

0x0073

გარე შეწყვეტა 7

IE7

EX7

IPL1[7]

შენიშვნები:

T8051XC3 core კონტროლერს აქვს შეფერხების რეაგირების მინიმალური დრო 3 სისტემური საათი, რომელიც მოწოდებულია

შიდა 24MHz RC oscillator HFOSC ან გარე 26MHz კრისტალური oscillator XOSC.

8.4 გარე შეფერხების რუკა

არსებობს 11 შეფერხების წყარო, რომელსაც მხარს უჭერს ზემოთ ნახსენები T8051XC3. ტაიმერი 0-ის სამი შეფერხების წყაროს გარდა, ტაიმერი 1 და UART არის არჩევითი შეფერხების გამომწვევი წყაროები, დანარჩენი რვა გარე შეფერხება შეიძლება მოქნილად შეირჩეს შეფერხების წყაროდ. CPU ბირთვი დაკავშირებულია პერიფერიულ შეფერხების წყაროებთან INT BUS-ის (interrupt bus) მეშვეობით. არსებობს 27 გარე შეფერხების წყარო, რომლებიც ჩამოთვლილია შემდეგნაირად:

I/O შეყვანის შეფერხების ფუნქცია, D0-D11, სულ 12; ტაიმერი A/B მოდული, ტაიმერების თითოეულ ჯგუფს აქვს 4 შეფერხება, სულ 8; 1 FIFO ცარიელი სიგნალის შეწყვეტის გამომწვევი Sub-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. პერიფერიული შეფერხების წყარო და რვა გარე შეფერხების რუკა

ინტერ

შეწყვეტა

rupt შერჩევა

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

Descripti Interrupt

შეწყვეტა

on

rupt შერჩევა

წყარო

INT3_SEL = 0000 TA_TMR_INT

ტაიმერი ა

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

ტაიმერი B

INT3

INT3_SEL = 0111 INT3_SEL = 1000

TB_TMR_INT TB_CCR0_INT

შეწყვეტა

INT3_SEL = 1001 TB_CCR1_INT

აღწერა იონი
ტაიმერი A შეწყვეტა
გადამცემის შეწყვეტა შედარების შეწყვეტა
ტაიმერი 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

ტაიმერი ა

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

ტაიმერი B

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 შეწყვეტა
გადამცემის შეწყვეტა Comparator interrupt
ტაიმერი B შეწყვეტა
CDR შეწყვეტა
I/O შეყვანის შეფერხება

გარე შეფერხებები INT0 და INT1 მხარს უჭერს როგორც დონის, ისე კიდეების შეფერხებებს, ხოლო INT2-INT7 მხარს უჭერს მხოლოდ კიდეების შეფერხებებს. შეფერხების ტრიგერის პოლარობას ირჩევს მომხმარებელი შესაბამისი SFR-ის კონფიგურაციით, დონის ტრიგერის არჩევა შესაძლებელია როგორც მაღალი ან დაბალი დონის ტრიგერით, ხოლო კიდეზე ტრიგერის არჩევა შესაძლებელია როგორც ამომავალი ან დაცემის ტრიგერით.
8.5 დაკავშირებული რეესტრი

ცხრილი 8-3. სისტემასთან დაკავშირებული რეგისტრების ჯგუფები

სახელი
TCON IEN0 IPL0

SFR გვერდი
0 0 0

მისამართი
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-მდე GPIO-ს, GPIO0 ~ GPIO11. GPIO2-GPIO5 მხარს უჭერს ციფრულ პორტებს და ანალოგურ პორტებს, დანარჩენი კი მხოლოდ ციფრულ ფუნქციებს უჭერს მხარს. დაკავშირებული მუშაობის რეჟიმები ჩამოთვლილია ქვემოთ მოცემულ ცხრილში.

ცხრილი 9-1. GPIO ოპერაციული რეჟიმები

თვისება 1 ანალოგური პორტი

საკუთრება 2

სამუშაო რეჟიმი ანალოგური შეყვანა[1] მხოლოდ შეყვანის რეჟიმი (მცურავი შეყვანა)

შეყვანის რეჟიმი[3]

შეყვანის რეჟიმი აწევით

ციფრული პორტი[2]

შეყვანის რეჟიმი ჩამოსაშლელად

გამომავალი რეჟიმი

ღია გადინების გამომავალი Push-pull გამომავალი

შენიშვნები:

[1]. ანალოგური შეყვანის პორტი ემსახურება ორი ანალოგური შედარების შეყვანას; [2]. როდესაც ის გამოიყენება როგორც ციფრული პორტი, იგი წარმოდგენილია D-ით, როგორიცაა D1, D2 და ა.შ., ხოლო ეტიკეტი შეესაბამება სერიულ ნომერს.

GPIO.

[3]. მხოლოდ მაშინ, როდესაც GPIO მუშაობს შეყვანის რეჟიმში, მას შეუძლია აირჩიოს IOC დონის აღმოჩენის ფუნქციის ჩართვა; [4]. მხარი დაუჭირეთ ჩიპზე აწევის ან ჩამოწევის არჩევას ჩართვის კონტროლით. ტიპიური აწევა/ჩამოწევა არის 50 კ. ამასობაში,

აწევა ასევე უზრუნველყოფს ძალიან სუსტ აწევას, როგორც წესი, 500 კ აწევის რეზისტორს.

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_pullup2

50 კ

500 კ

~Dn_pd_idrv

Dn_in

50 კ

Dn_pd_idrv

Dn_pd_pulldown ~Dn_pd_pullup

INPUT

~Dn_pd_pullup2

Dn_pd_ana

ანალოგური
დნ_ანა

~Dn_pd_ana დიაგრამა 9-1. GPIO ფუნქციური დიაგრამა

ცხრილი 9-2. GPIO-ების ფუნქციის აღწერა

პორტის სახელი Dn Dn_open_drain
Dn_out Dn_pd_odrv

სიგნალის ტიპი General 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_pullup2
Dn_pd_pulldown Dn_pd_ana Dn_ana

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

სიგნალის ტიპი

აღწერა

საკონტროლო სიგნალი

წინააღმდეგ შემთხვევაში Dn_pd_odrv = 1;

როდესაც Dn გამოიყენება ციფრული შეყვანის რეჟიმში, Dn_pd_idrv = 0, წინააღმდეგ შემთხვევაში

Dn_pd_idrv = 1

როდესაც Dn გამოიყენება ციფრული შეყვანის რეჟიმში, შესაბამისი

სიგნალის კონფიგურაცია

რეგისტრაცია

რეგისტრები კონფიგურირებულია 0x15 რეგისტრების AON_REG_15 და 0x16 რეგისტრების AON_REG_16 მეშვეობით, რათა დამოუკიდებლად აკონტროლონ, ჩართულია თუ არა თითოეული Dn-ის 50 Kohm აწევის წინააღმდეგობა.

Dn_pd_pullup 0: ჩართვა. 1 გამორთეთ

როდესაც Dn შედის ციფრული შეყვანის რეჟიმში, იქნება თუ არა ყველა ციფრული შეყვანა

სისტემის კონტროლი

500Kohm სუსტი აწევის წინააღმდეგობის Dn ჩართულია თუ არა, შეიძლება იყოს შიდა
კონფიგურირებულია AON_REG_0[10]-ის 10x5 რეგისტრის მეშვეობით
pd_pullup_500K.
0: ჩართვა1: გამორთვა;

როდესაც Dn შედის ციფრული შეყვანის რეჟიმში, შესაბამისი

რეგისტრები კონფიგურირებულია 0x17 რეგისტრების AON_REG_17 მეშვეობით

სისტემის შიდა კონტროლის სიგნალი

და 0x18 რეგისტრირებს AON_REG_18-ს, რათა დამოუკიდებლად გააკონტროლოს, ჩართულია თუ არა თითოეული Dn-ის 50 Kohm ჩამოსაშლელი წინააღმდეგობა. Dn_pd_pulldown 0: Enable1: Disable;

შენიშვნა: როდესაც ჩართულია ჩამოსაწევი რეზისტორები და ამოსაწევი რეზისტორები

ამავდროულად, აწევის რეზისტორს უფრო მეტი პრიორიტეტი აქვს.

სისტემის შიდა კონტროლის სიგნალი

როდესაც Dn არის ანალოგური I/O რეჟიმში, შიდა ანალოგური სიგნალის ხაზი უკავშირდება სისტემის შიდა კონტროლის სიგნალს 0x10 რეგისტრის AON_REG_10[4:0] Dn_ana მეშვეობით.

9.3 GPIO ციფრული შეყვანა
როდესაც GPIO კონფიგურირებულია, როგორც ციფრული შეყვანა:
გამომავალი ნაწილი გამორთულია. ჩართულია თუ არა აწევა/ჩამოწევის წინააღმდეგობა, დამოკიდებულია IO-სთან დაკავშირებულ კონფიგურაციაზე
ჩამოსაშლელი AON რეესტრში; ტtage IO-ზე არის sampმიგვიყვანს GPIO_IN_0-ისა და GPIO_IN_1-ის SFR რეგისტრებამდე, რომლებიც
იკითხება პროგრამული უზრუნველყოფით.

9.4 GPIO ციფრული გამომავალი
საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 36/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
როდესაც GPIO კონფიგურირებულია როგორც გამომავალი: გამომავალი არხი ჩართულია. გახსენით გადინების გამომავალი რეჟიმი
– თუ გამომავალი რეგისტრი არის 0, გამომავალი NMOS ჩართულია. – თუ გამომავალი რეგისტრი არის 1, გამომავალი NMOS და PMOS გამორთულია და GPIO არის მაღალ დონეზე
წინააღმდეგობის მდგომარეობა. Push-pull გამომავალი რეჟიმი:
– თუ გამომავალი რეგისტრი არის 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-ით, რათა გაგზავნოს ტაიმერი 0-ის გარე შესასვლელში t0_in. სულ არის 14, როგორიცაა MUX, როგორც ნაჩვენებია შემდეგ ცხრილში:

ცხრილი 9-3. GPIO შეყვანის რუკების რეგისტრაცია თითოეული პერიფერიული მოწყობილობისთვის

პერიფერიული მოდული

SFR

MUX შერჩევის სიგნალი T0_GPIO_SEL<3:0>

MUX გამომავალი t0_in

ტაიმერი 0

GPIO_INC_SEL

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

t0_int0_n t1_in

ტაიმერი 1 ტაიმერი ა

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 ბირთვის საწყისი პერიფერიული ტაიმერისთვის გარე დაჭერის წყარო

საავტორო უფლება © 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_ერთ Timer B გარე გადაღების წყაროში

ტაიმერი 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 ბირთვის საწყისი პერიფერიული 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] გამომავალი Port1[3:0] გამომავალი ტაიმერის გამომავალი A გადაღება/შედარება მოდულში 0 ტაიმერის გამომავალი A აღბეჭდვა/შედარება მოდულში 1 ტაიმერის გამომავალი ამოღება/შედარება მოდულში 2 გამომავალი ტაიმერის B აღბეჭდვის/შედარების მოდულში 0 ტაიმერის B გამომავალი გადაღება/შედარება მოდულში 1 ტაიმერის გამომავალი B გადაღება/შედარება მოდულში 2 SPI master რეჟიმის საათის გამომავალი SPI master რეჟიმის არჩეული გამომავალი

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 39/100 გვერდი

www.hoperf.com

აირჩიეთ Item mosi_out miso_out
csb_out
fcsb_out
rxd0_out txd0_out
T0_ov t1_ov

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
ფუნქცია მონაცემთა გამომავალი SPI სამაგისტრო რეჟიმის მონაცემთა შეყვანა SPI slave რეჟიმში წვდომა რეგისტრის ჩიპის შერჩევის გამომავალზე CMT სპეციფიკური 4 მავთულის SPI სამაგისტრო რეჟიმში წვდომა FIFO ჩიპის შერჩევის გამომავალზე CMT სპეციფიკური 4-მავთულის SPI მთავარ რეჟიმში UART გამომავალი სიგნალის ჩართვის UART საათის ან მონაცემთა გამომავალი ტაიმერის სიგნალის გამომავალი 0 მოდულის გადინება ტაიმერის სიგნალის გამომავალი0 მოდულის გადინება

რუქა GPION-სა და თითოეულ გამომავალი სიგნალის წყაროს შორის ნაჩვენებია შემდეგ ცხრილში:

GPION 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_SEL<3:0> > = 4'd4 GPIO0_OUT_SEL<3:0> = 4'd5 GPIO0_OUT_SEL<3:0> = 4'd6 GPIO0_OUT_SEL<3:0> = 4'd7 GPIO0_OUT_SEL<3:0> = 4'd8 GPIO0_OUT_SEL =3 d'0': GPIO4_OUT_SEL<9:0> = 3'd0 GPIO4_OUT_SEL<10:0> = 3'd0 GPIO4_OUT_SEL<11:0> = 3'd0 GPIO4_OUT_SEL<12:0> = 3'd0 GPIO4_OUT_SEL<13'd0 GPIO3_OUT_S GPIO0_OUT_SEL<4:14> = 0'd3 GPIO0_OUT_SEL<4:15> = 1'd3 GPIO0_OUT_SEL<4:0> = 1'd3 GPIO0_OUT_SEL<4:1> = 1'd3 GPIO0_OUT_SEL ='4: GPIO2_OUT_SEL<1:3> = 0'd4 GPIO3_OUT_SEL<1:3> = 0'd4 GPIO4_OUT_SEL<1:3> = 0'd4 GPIO5_OUT_SEL<1:3> = 0'd4 GPIO6_OUT_SEL =1'd': 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____ov_out t gpio_out_sfr<2> port0_out<1> tb_ccr1_out tb_cc0_out tb_ccr1_out nss_out sck_out miso_out mosi_out rxd0_out

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 40/100 გვერდი

www.hoperf.com

GPION 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'd13GPIO1_OUT_SEL > = 3'd0 GPIO4_OUT_SEL<14:1> = 3'd0 GPIO4_OUT_SEL<15:2> = 3'd0 GPIO4_OUT_SEL<0:2> = 3'd0 GPIO4_OUT_SEL<1:2> = 3'd0 GPIO4_OUT_SEL ='2: GPIO2_OUT_SEL<3:0> = 4'd3 GPIO2_OUT_SEL<3:0> = 4'd4 GPIO2_OUT_SEL<3:0> = 4'd5 GPIO2_OUT_SEL<3:0> = 4'd6 GPIO2_OUT_SEL =3'd': GPIO0_OUT_SEL<4:7> = 2'd3 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 GPIO4_OUT_SEL<12:2> = 3'd0 GPIO4_OUT_SEL<13:2> = 3'd0 GPIO4_OUT_SEL<14:2> = 3'd0 GPIO4_OUT_SEL<15:3> = 3'd0 GPIO4_OUT_SEL<0:3> = 3'd0 GPIO4_OUT_SEL GPIO1_OUT_SEL<3:3> = 0'd4 GPIO2_OUT_SEL<3:3> = 0'd4 GPIO3_OUT_SEL<3:3> = 0'd4 GPIO4_OUT_SEL<3:3> = 0'd4 GPIO5_OUT_SEL =3 3': GPIO0_OUT_SEL<4:6> = 3'd3 GPIO0_OUT_SEL<4:7> = 3'd3 GPIO0_OUT_SEL<4:8> = 3'd3 GPIO0_OUT_SEL<4:9> = 3'd3 GPIO0_OUT_SEL<4:10> = 3'd3 GPIO0_OUT_SEL<4:11> GPIO3_OUT_SEL<3:0> = 4'd12 GPIO3_OUT_SEL<3:0> = 4'd13 GPIO3_OUT_SEL<3:0> = 4'd14 GPIO3_OUT_SEL<3:0> = 4'd15 GPIO4_OUT_SEL<3:0> = 4'd0 GPIO4_OUT_SEL GPIO3_OUT_SEL<0:4> = 1'd4

გამომავალი სიგნალის წყარო 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_out sck__out txd_ ta_ccr0_out ta_cc0_out ta_ccr0_out t1_ov_out t2_ov_out gpio_out_sfr<0> port1_out<3> tb_ccr0_out tb_cc3_out tb_ccr0_out nss_out sck_out miso_out mosi_out t_ccd1_out ta_ccr2_out t0_ov_out t0_ov_out gpio_out_sfr<0> port1_out<2> tb_ccr0_out

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 41/100 გვერდი

www.hoperf.com

GPION 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'd6GPIO4_OUT_SEL > = 3'd0 GPIO4_OUT_SEL<7:4> = 3'd0 GPIO4_OUT_SEL<8:4> = 3'd0 GPIO4_OUT_SEL<9:4> = 3'd0 GPIO4_OUT_SEL<10:4> = 3'd0 GPIO4_OUT_SEL ='11: GPIO4_OUT_SEL<3:0> = 4'd12 GPIO4_OUT_SEL<3:0> = 4'd13 GPIO4_OUT_SEL<3:0> = 4'd14 GPIO4_OUT_SEL<3:0> = 4'd15 GPIO5_OUT_SEL =3'd': GPIO0_OUT_SEL<4:0> = 5'd3 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 GPIO4_OUT_SEL<5:5> = 3'd0 GPIO4_OUT_SEL<6:5> = 3'd0 GPIO4_OUT_SEL<7:5> = 3'd0 GPIO4_OUT_SEL<8:5> = 3'd0 GPIO4_OUT_SEL<9:5> = 3'd0 GPIO4_OUT_SEL GPIO10_OUT_SEL<5:3> = 0'd4 GPIO11_OUT_SEL<5:3> = 0'd4 GPIO12_OUT_SEL<5:3> = 0'd4 GPIO13_OUT_SEL<5:3> = 0'd4 GPIO14_OUT_SEL =5 3': GPIO0_OUT_SEL<4:15> = 6'd3 GPIO0_OUT_SEL<4:0> = 6'd3 GPIO0_OUT_SEL<4:1> = 6'd3 GPIO0_OUT_SEL<4:2> = 6'd3 GPIO0_OUT_SEL<4:3> = 6'd3 GPIO0_OUT_SEL<4:4> GPIO6_OUT_SEL<3:0> = 4'd5 GPIO6_OUT_SEL<3:0> = 4'd6 GPIO6_OUT_SEL<3:0> = 4'd7 GPIO6_OUT_SEL<3:0> = 4'd8 GPIO6_OUT_SEL<3:0> = 4'd9 GPIO6_OUT_SEL GPIO3_OUT_SEL<0:4> = 10'd6

გამომავალი სიგნალის წყარო 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_sfr<5_cc0 tb5 tb_ccr0_out nss_out sck_out miso_out mosi_out fcsb_out txd1_out ta_ccr2_out ta_cc0_out ta_ccr0_out t1_ov_out t2_ov_out gpio_out_sfr<0> port1_out<6> tb__ccr0_out tb__ccr6_out tb__ccr0_out sck_out miso_out mosi_out rxd1_out txd2_out ta_ccr0_out

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 42/100 გვერდი

www.hoperf.com

GPION GPIO7 GPIO8 GPIO9

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

SFR GPIO_OUTD_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'd15GPIO7_OUT_SEL > = 3'd0 GPIO4_OUT_SEL<0:7> = 3'd0 GPIO4_OUT_SEL<1:7> = 3'd0 GPIO4_OUT_SEL<2:7> = 3'd0 GPIO4_OUT_SEL<3:7> = 3'd0 GPIO4_OUT_SEL ='4: GPIO7_OUT_SEL<3:0> = 4'd5 GPIO7_OUT_SEL<3:0> = 4'd6 GPIO7_OUT_SEL<3:0> = 4'd7 GPIO7_OUT_SEL<3:0> = 4'd8 GPIO7_OUT_SEL =3'd': GPIO0_OUT_SEL<4:9> = 7'd3 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 GPIO4_OUT_SEL<14:7> = 3'd0 GPIO4_OUT_SEL<15:8> = 3'd0 GPIO4_OUT_SEL<0:8> = 3'd0 GPIO4_OUT_SEL<1:8> = 3'd0 GPIO4_OUT_SEL<2:8> = 3'd0 GPIO4_OUT_SEL GPIO3_OUT_SEL<8:3> = 0'd4 GPIO4_OUT_SEL<8:3> = 0'd4 GPIO5_OUT_SEL<8:3> = 0'd4 GPIO6_OUT_SEL<8:3> = 0'd4 GPIO7_OUT_SEL =8 3': GPIO0_OUT_SEL<4:8> = 8'd3 GPIO0_OUT_SEL<4:9> = 8'd3 GPIO0_OUT_SEL<4:10> = 8'd3 GPIO0_OUT_SEL<4:11> = 8'd3 GPIO0_OUT_SEL<4:12> = 8'd3 GPIO0_OUT_SEL<4:13> GPIO8_OUT_SEL<3:0> = 4'd14 GPIO8_OUT_SEL<3:0> = 4'd15 GPIO9_OUT_SEL<3:0> = 4'd0 GPIO9_OUT_SEL<3:0> = 4'd1 GPIO9_OUT_SEL<3:0> = 4'd2 GPIO9_OUT_SEL GPIO3_OUT_SEL<0:4> = 3'd9

გამომავალი სიგნალის წყარო 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 rxd0_0_out taccr ta_ccr0_out t1_ov_out t2_ov_out gpio_out_sfr<0> port1_out<8> tb_ccr1_out tb_cc0_out tb_ccr0_out nss_out sck_out miso_out mosi_out rxd1_out txd2_out ta__ccr0_out ta__ccr0_out t0_ov_out gpio_out_sfr<1> port2_out<0> tb_ccr1_out tb_cc9_out tb_ccr1_out

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 43/100 გვერდი

www.hoperf.com

GPION 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'd8GPIO9_OUT_SEL > = 3'd0 GPIO4_OUT_SEL<9:9> = 3'd0 GPIO4_OUT_SEL<10:9> = 3'd0 GPIO4_OUT_SEL<11:9> = 3'd0 GPIO4_OUT_SEL<12:9> = 3'd0 GPIO4_OUT_SEL ='13: GPIO9_OUT_SEL<3:0> = 4'd14 GPIO9_OUT_SEL<3:0> = 4'd15 GPIO10_OUT_SEL<3:0> = 4'd0 GPIO10_OUT_SEL<3:0> = 4'd1 GPIO10_OUT_SEL =3'd': GPIO0_OUT_SEL<4:2> = 10'd3 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 GPIO4_OUT_SEL<7:10> = 3'd0 GPIO4_OUT_SEL<8:10> = 3'd0 GPIO4_OUT_SEL<9:10> = 3'd0 GPIO4_OUT_SEL<10:10> = 3'd0 GPIO4_OUT_SEL<11:10> = 3'd0 GPIO4_OUT_SEL GPIO12_OUT_SEL<10:3> = 0'd4 GPIO13_OUT_SEL<10:3> = 0'd4 GPIO14_OUT_SEL<10:3> = 0'd4 GPIO15_OUT_SEL<11:3> = 0'd4 GPIO0_OUT_SEL =11 3': GPIO0_OUT_SEL<4:1> = 11'd3 GPIO0_OUT_SEL<4:2> = 11'd3 GPIO0_OUT_SEL<4:3> = 11'd3 GPIO0_OUT_SEL<4:4> = 11'd3 GPIO0_OUT_SEL<4:5> = 11'd3 GPIO0_OUT_SEL<4:6> GPIO11_OUT_SEL<3:0> = 4'd7 GPIO11_OUT_SEL<3:0> = 4'd8 GPIO11_OUT_SEL<3:0> = 4'd9 GPIO11_OUT_SEL<3:0> = 4'd10 GPIO11_OUT_SEL<3:0> = 4'd11 GPIO11_OUT_SEL GPIO3_OUT_SEL<0:4> = 12'd11

გამომავალი სიგნალის წყარო 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_1_out tb_ 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 tb_cc0_out_s_ckoout tb_ccoout tb_ccoout rxd1_out txd2_out ta_ccr0_out ta_cc0_out ta_ccr0_out

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 44/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

GPION

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-ის დროს და WKINT_STA რეგისტრის IO_EVENT_RST_N ბიტი SFR PAGE0-ში ინახება როგორც 0 პროგრამის გაშვებისას, ანუ მთელი მოდული არის გადატვირთვის მდგომარეობაში.
2. გამოსავლენად GPIO-ს არჩევის შემდეგ, მომხმარებლებს შეუძლიათ დაიწყონ GPIO-ს და აღმოჩენის მოდულის კონფიგურაცია AON REG-ის მეშვეობით. იმის გამო, რომ მოდული გადატვირთვის რეჟიმშია, კონფიგურაციის პროცესში არ იქნება რაიმე არასწორი აღმოჩენა.
3. GPIO უნდა იყოს კონფიგურირებული ციფრული შეყვანის რეჟიმში ციფრული გამომავალი ფუნქციით გამორთული. 4. GPIO-ის აწევა/ჩამოწევის წინააღმდეგობის კონფიგურაცია; 5. GPIO-ს შებრუნებული პოლარობის კონფიგურაცია (აწევა ან დაცემა კიდე); 6. ჩართეთ GPIO დონის ამობრუნების ამოცნობა; 7. დააყენეთ IO_EVENT_RST_N 1-ზე გამოვლენის მოდულის გასათავისუფლებლად და SFR-ის მეშვეობით INT0-ის კონფიგურაციისთვის; 8. სისტემა გადადის STOP რეჟიმში. 9. როდესაც GPIO აღმოაჩენს დონის გადატრიალებას და აღვიძებს სისტემას INT0-ის საშუალებით, ის ადგენს
IO_EVEN_RST_N ბიტი 0-მდე შესაბამისი IO მოთხოვნისა და დამუშავების შემდეგ.
ამ მოდულის აპლიკაციის საერთო სცენარი არის ის, რომ GPIO აკავშირებს გარე გასაღებებს. ჩვეულებრივ გამოიყენება ორი კავშირის მეთოდი. ქვემოთ მოცემულია ყოფილიampD0-D11-ით დამაკავშირებელი გასაღებები:
დამოუკიდებელი გასაღების კავშირი

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 45/100 გვერდი

www.hoperf.com

D11_IN

VDD

ძლიერ-გაყვანის კვირა-გაყვანის

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. როდესაც კლავიშს დააჭერთ პორტ 0-ზე და აღმოჩნდება ჩამოვარდნილი კიდე, შეფერხება იქნება გამოიწვია.
მატრიცული გასაღების კავშირი

D0_OUT

VDD

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

VDD

ძლიერ-გაყვანის კვირა-გაყვანის

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 რეჟიმში შესვლის შემდეგ, მატრიქსის კლავიატურაზე ნებისმიერი ღილაკი გააღვიძებს სისტემას 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_1 AON_REG_1C

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

ნაგულისხმევი მნიშვნელობები
0XE0
0x00 0x00 0x00 0x00 0xFF 0x0F 0xFF 0x0F 0xFF 0x0F 0x00 0x00 0x00 0x00

ფუნქცია
GPIO ანალოგური ფუნქციების ჩართვა და აწევისა და ჩამოწევის წინააღმდეგობის მნიშვნელობის კონფიგურაცია ციფრული გამომავალი ჩართვის ბიტი D0 – D7 ციფრული გამომავალი D8 – D11 ჩართვის ბიტი ციფრული გამომავალი D0 – D7 ციფრული შეყვანის ჩართვის ბიტი D8 – D11 აწევა D0-D7-ის წინააღმდეგობის გადამრთველი D8-D11-ის აწევის წინააღმდეგობის გადამრთველი D0-ის წინააღმდეგობის გადამრთველი - D7 D8 – D11-ის ჩამოწევის წინააღმდეგობის გადამრთველი გახსენით D0 – D7 დრენაჟის გადამრთველის გახსნა D8 – D11 დონის ამობრუნების ამოცნობის ჩამრთველი ბიტი D0-D7-ისთვის დონის ამობრუნების ამოცნობის ჩართვის ბიტი D8-D11-ის დონის ამობრუნების პოლარობის შერჩევა D0-D7-სთვის დონის ამობრუნების გამოვლენის პოლარობის შერჩევა D8-D11-ისთვის

ცხრილი 9-7. GPIO-ს SFR რეგისტრის ჯგუფები

სახელი
GPIO_INA_SEL GPIO_INB_SEL GPIO_INC_SEL GPIO_IND_SEL GPIO_INE_SEL GPIO_INF_SEL

SFR გვერდი
0 0 0 0 0 0

მისამართი
0xA1 0xA2 0xA3 0xA4 0xA5 0xA6

ნაგულისხმევი მნიშვნელობები
0x00 0x00 0x00 0x00 0x00 0x00

ფუნქციები
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 შეყვანილი მონაცემების წაკითხვა SPIO-დან 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. სამუშაო რეჟიმები Timer0-ში

TMOD. M01 TMOD.M00

0

0

0

1

1

0

1

1

სამუშაო რეჟიმი რეჟიმი 0 რეჟიმი 1 რეჟიმი 2 გამორთეთ

ფუნქციები
8-ბიტიანი დრო/მთვლელი 5-ბიტიანი წინასწარი მასშტაბით, ანუ 13-ბიტიანი დრო/რიცხვის რეჟიმი 16-ბიტიანი ტაიმერი/მთვლელი რეჟიმი 8-ბიტიანი დრო/თვლა რეჟიმი გადატვირთული საწყისი მნიშვნელობებით

10.2 ტაიმერი0 რეჟიმი0
Timer0 რეჟიმი 0 ბლოკ-სქემა ნაჩვენებია ქვემოთ.

TIMER0_CLK /12 t0_in C/T0 TR0
GATE0 t0_int0_n

0

ტაიმერი 0

TL0 [4:0]

TH0

TF0

შეწყვიტოს

1

ჩართვა

8051 ბირთვი

დიაგრამა 10-1. ტაიმერი 0 რეჟიმი 0 ბლოკის დიაგრამა

როდესაც Timer0 მუშაობს Mode0-ში, 13-ბიტიანი მრიცხველი კომბინირებულია 5-ბიტიანი პრესკალერისგან, რომელიც მოწოდებულია TL0[4:0]-ით და TH8-ის მიერ მოწოდებული 0-ბიტიანი მრიცხველიდან:
თუ TMOD.C/T0 დაყენებულია 0-ზე, არჩეულია დროის რეჟიმი და დროის საათის წყარო არის FPCLK-ის 12-წინასწრები.
თუ 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

ჩართვა

ტაიმერი 0

TL0

TH0

TF0

შეწყვიტოს

8051 ბირთვი

დიაგრამა 10-2. ტაიმერი 0 რეჟიმი 1 ბლოკის დიაგრამა
როდესაც TIMER0 მუშაობს Mode0-ში, ეს არის 16-ბიტიანი მრიცხველი, რომელიც შედგება TL0 და TH0-ისგან, Mode0-ისგან განსხვავება მხოლოდ მრიცხველის ბიტების რაოდენობაშია. სხვა საკონტროლო ბიტების ფუნქციები იგივეა, რაც 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 კონტროლის რეგისტრები Timer0 და Timer1 სამუშაო რეჟიმი რეგისტრირებს Timer0 რეგისტრაცია დაბალი 8 ბიტი ტაიმერი 0 რეგისტრაცია მაღალი 8 ბიტი

საავტორო უფლება © 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

ტაიმერი 1

TL1 [4:0]

TH1

TF1

შეწყვიტოს

1

ჩართვა

8051 ბირთვი

დიაგრამა 11-1. Timer1 Mode0-ის ბლოკ-სქემა
როდესაც Timer1 მუშაობს Mode0-ში, 13-ბიტიანი მრიცხველი კომბინირებულია 5-ბიტიანი პრესკალერისგან, რომელიც მოწოდებულია TL1[4:0]-ით და TH8-ის მიერ მოწოდებული 1-ბიტიანი მრიცხველიდან:
თუ TMOD.C/T1 დაყენებულია 0-ზე, არჩეულია დროის რეჟიმი და დროის საათის წყარო არის FPCLK-ის 12-წინასწრები.
თუ 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

ჩართვა

ტაიმერი 1

TL1

TH1

TF1

შეწყვიტოს

8051 ბირთვი

დიაგრამა 11-2. ბლოკის დიაგრამა Timer1 Mode1-ში
როდესაც TIMER1 მუშაობს Mode1-ში, ეს არის 16-ბიტიანი მრიცხველი, რომელიც შედგება TL1 და TH1-ისგან და განსხვავდება Mode0-ისგან მხოლოდ მრიცხველის ბიტების რაოდენობით. მაშინ როცა სხვა საკონტროლო ბიტის ფუნქცია იგივეა, რაც Moode0.
11.4 ტაიმერი1 რეჟიმი2
Timer1 რეჟიმი 2 ბლოკ-სქემა ნაჩვენებია ქვემოთ.

TIMER1_CLK /12 t1_in C/T1 TR1
GATE1 t1_int1_n
საავტორო უფლება © HOPERF-ის მიერ

0

1

ჩართვა

TL1

Overflow TF1

ტაიმერი 1 შეწყვეტა

8051 ბირთვი

TH1

Rev 0.1A | 53/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო დიაგრამა 11-3. Timer1 Mode2-ის ბლოკ-სქემა

როდესაც 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 კონტროლის რეგისტრები Timer0 და Timer1 სამუშაო რეჟიმი რეგისტრირდება Timer1 რეგისტრი დაბალი 8 ბიტიანი Timer1 რეგისტრაცია მაღალი 8 ბიტიანი Prescaler პარამეტრები Timer1 საათის წყაროს

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 54/100 გვერდი

www.hoperf.com

12 SPI მოდული

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

12.1 ძირითადი ფუნქცია
სერიული პერიფერიული ინტერფეისი (SPI) საშუალებას აძლევს ჩიპს და პერიფერიულ მოწყობილობებს დაუკავშირდნენ ნახევრად/სრული დუპლექსის, სინქრონული და სერიული გზით. იგი მხარს უჭერს სამაგისტრო და სლავ რეჟიმს ოპერაციული წესიდან view. ოსტატი აწვდის კომუნიკაციის საათს მონას. ინტერფეისი ასევე მხარს უჭერს მრავალ სამაგისტრო კონფიგურაციას ან 1-მავთულის ორმხრივი მარტივი სინქრონული გადაცემას (3-მავთულის რეჟიმი).

ჩვეულებრივ, 4 პინი უნდა იყოს დაკავშირებული მთავარ და სლავურ SPI მოწყობილობებს შორის.

MISO: სამაგისტრო-მონების ამოღება. ქინძისთავები მიიღება სამაგისტრო მოწყობილობიდან და გადაცემულია სლავური მოწყობილობიდან. პინს შეუძლია მონაცემების გაგზავნა slave მოწყობილობიდან მთავარ მოწყობილობაზე.
MOSI; master-out-slave-in pin. სლავური მოწყობილობიდან მიღებული ქინძისთავები და გადაცემული ძირითადი მოწყობილობიდან. პინს შეუძლია მონაცემების გაგზავნა სამაგისტრო მოწყობილობიდან slave მოწყობილობაზე.
SCK: სერიული მონაცემების სინქრონული საათი, რომელიც გამოდის ძირითადი მოწყობილობიდან სლავ მოწყობილობაზე. NSSslave მოწყობილობის არჩევის ჩართვა, არჩევითი პინი, რომელიც გამოიყენება ძირითადი მოწყობილობისთვის სამიზნის ასარჩევად
მონის მოწყობილობა. ის საშუალებას აძლევს მთავარ მოწყობილობას ინდივიდუალურად დაუკავშირდეს კონკრეტულ slave მოწყობილობას, თავიდან აიცილოს კონფლიქტები მონაცემთა ხაზებზე. Slave მოწყობილობის NSS პინი შეიძლება ამოძრავებდეს მასტერ მოწყობილობას, როგორც სტანდარტული IO. ჩართვის შემდეგ (SSOE bit), NSS პინი ასევე შეიძლება გამოყენებულ იქნას როგორც გამომავალი პინი და შეიძლება დაბლა ჩამოიწიოს, როდესაც SPI დაყენებულია სამაგისტრო რეჟიმში; ამ დროს, ყველა SPI მოწყობილობა თავისი NSS ქინძისთავებით, რომლებიც დაკავშირებულია მთავარ NSS პინთან, მიიღებს დაბალ დონეებს და ავტომატურად შევა slave რეჟიმში, თუ დაყენებულია NSS აპარატურის რეჟიმში.
SPI ინტერფეისის დროის ძირითადი და slave რეჟიმი ნაჩვენებია დიაგრამა 12-1 და დიაგრამა 12-2 შესაბამისად. მათ შორის, სampSCK-ის ლინგის საათის ფაზა CPHA კონფიგურებულია რეგისტრით SPI_CTL_1.SPI_EDGE_SEL. თუ ეს არის 1, SPI გამოგიგზავნით მონაცემებს საათის პირველ კიდეზე და sampმონაცემები მეორე კიდეზე; თუ დაყენებულია 0, SPI იქნება sampმონაცემები საათის პირველ კიდეზე და გაგზავნეთ მონაცემები მეორე კიდეზე. 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 მომხმარებლის სახელმძღვანელო
LSB LSB

დიაგრამა 12-1. SPI ინტერფეისის დროCPHA = 1

CPOL = 1

CPOL = 0

მისო

ოსტატისგან

MSB

LSB

MOSI

მონისგან

MSB

LSB

NSS მონას

დიაგრამა 12-2. SPI ინტერფეისის დროCPHA = 0
12.2 კონფიგურაციის ვარიანტი
Master Mode და Slave Mode პარამეტრი

SPI მოდული შეიცავს სამაგისტრო რეჟიმისა და slave რეჟიმის სრულ პროგრამას. მომხმარებელს შეუძლია დააყენოს ამჟამად კონტროლირებადი 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 იქნება sampსაათის მეორე კიდეზე და თუ დაყენებულია 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 მდგომარეობაში. შემდეგი სურათი გვიჩვენებს მონაცემების ზღვარს sampაკავშირებს და გადასცემს, როდესაც კონფიგურებულია საათის სხვადასხვა პოლარობითა და ფაზებით.

SPI_CKPOL_SEL = 0

გაგზავნა

SPI_EDGE_SEL = 0 SCK

Cap Send

SPI_EDGE_SEL = 1 SCK ქუდი

SPI_CKPOL_SEL = 1

გაგზავნა

SCK

Cap Send

SCK Cap

დიაგრამა 12-3. SPI ინტერფეისის დროის დიაგრამა CPHA = 1

გადამცემი მონაცემთა ბიტის სიგანის დაყენება

როდესაც რეგისტრაცია SPI_CTL_0.SPI_8B16B_SEL დაყენებულია 1-ზე, SPI აირჩევს 16-ბიტიანი მონაცემების გადაცემას, სამაგისტრო მოწყობილობა გადასცემს საათის 16 ციკლს Slave მოწყობილობაზე და slave ასევე შეაგროვებს 16 ბიტი მონაცემს თავის მხრივ შესაბამისი საათის გასწვრივ. როდესაც SPI_8B16B_SEL დაყენებულია 0-ზე, გადაიცემა მხოლოდ 8 ბიტი მონაცემები, რაც არის SPI_DATA 8 ბიტიდან ქვედა 16 ბიტი.

ბაუდის სიჩქარის დაყენება

ცხრილი 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 მომხმარებლის სახელმძღვანელო
მოიცავს სრულ დუპლექსს და ნახევრად დუპლექსს. სამი ცვლადი 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. სრული დუპლექსის ნორმალური რეჟიმი: როდესაც ძირითადი ან slave მოწყობილობა კონფიგურებულია ამ რეჟიმში, მონაცემები იგზავნება და მიიღება სინქრონულად. სამაგისტრო მოწყობილობის აღება როგორც ყოფილიampმაგალითად, მონაცემთა გადამცემი პორტი MOSI აგზავნის მონაცემებს, ხოლო MISO პორტი ასევე იღებს მონაცემებს slave მოწყობილობიდან.
2. სრული დუპლექსის მხოლოდ წაკითხვის რეჟიმი: ძირითადი მოწყობილობის და სლავური მოწყობილობის მიმღები ამ რეჟიმში მუშაობს ნორმალურად, ხოლო გადამცემი ბოლო ყოველთვის აგზავნის 0-ს.
3. Half-duplex ჩაწერის მხოლოდ რეჟიმი: ამ რეჟიმში, ჰოსტს ან slave მოწყობილობას აქვს მხოლოდ სამი გარე ინტერფეისი. მაგampასე რომ, მთავარ მოწყობილობაზე, SCK აგზავნის საათებს, NSS გადაცემა ჩართულია და ბოლო I/O პორტი გამოყოფილია MOSI-ზე მონაცემების გადასაცემად.
3. Half-duplex-ის მხოლოდ წაკითხვის რეჟიმი: ამ რეჟიმში, მასპინძელ ან slave მოწყობილობას აქვს მხოლოდ სამი გარე ინტერფეისი. მაგampმაგალითად, მთავარ მოწყობილობაზე, SCK აგზავნის საათებს, NSS გადაცემა ჩართულია და ბოლო I/O პორტი გამოყოფილია MOSI-ზე მონაცემების მისაღებად.

აპლიკაცია: SPI-ს შეუძლია დაუკავშირდეს S3S ინტერფეისს მხოლოდ წაკითხვისა და ჩაწერის მხოლოდ ნახევრად დუპლექსში გადართვის გზით. როდესაც SPI-ს სურს მისამართის გაგზავნა S3S ინტერფეისზე, ის შეიძლება დაყენდეს მხოლოდ ნახევრად დუპლექსის ჩაწერის რეჟიმში და MOSI-ს PAD-ზე დააკავშიროს S3S-ის SDA-სთან დასაკავშირებლად მისამართების ჩაწერის გასაგებად. როდესაც SPI-ს სურს S3S-ის მიერ მონაცემთა გადაცემის წაკითხვა, მას შეუძლია დააყენოს SPI მხოლოდ წაკითხვის რეჟიმში ნახევრად დუპლექსურ რეჟიმში და MISO-ს PAD-ზე დააკავშიროს S3S-ის SDA-სთან დასაკავშირებლად, რათა წაიკითხოს S3S-ის მიერ გადაცემული მონაცემები. . ამ შემთხვევაში, მონაცემთა კომუნიკაცია SPI-სა და S3S-ს შორის შეიძლება განხორციელდეს, როდესაც მხოლოდ სამი ფიზიკური მავთული არის დაკავშირებული.
12.4 სტატუსის დროშა
SPI მოდული უზრუნველყოფს ავტობუსის სტატუსს 3 სტატუსის დროშის მეშვეობით, რათა მოემსახუროს პროგრამულ მონიტორინგს.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 58/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

დატვირთული flagSPI_CTL2.SPI_BUSY დროშის ბიტი როცა SPI გადაცემის პროცესშია, დროშის ბიტი მაღლა აიწევს.

ბუფერული დროშის გაგზავნა (SPI_CTL2.SPI_TXMTY დროშის ბიტი); როდესაც SPI კონფიგურირებულია ახალი გადამცემი მონაცემებით, დროშის ბიტი დაბლა დაიწევს. როდესაც ახალი გადამცემი მონაცემების კონფიგურაცია და წარმატებით გადაცემა მოხდება, დროშის ბიტი მაღლა აიწევს.

მიღების ბუფერი ცარიელი არ არის (SPI_CTL2.SPI_RXNMTY დროშის ბიტი); როდესაც 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 გვერდი გვერდი0 გვერდი0 გვერდი0 გვერდი0 გვერდი0

მისამართი
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 ძირითადი ფუნქცია
CMT2186A-ის ჩიპზე UART არის მოქნილი სრული დუპლექსური ასინქრონული გადამცემი, რომელიც სრულად თავსებადია 8051 არქიტექტურასთან. ბაუდის სიხშირე კონფიგურირებულია პროგრამული უზრუნველყოფის მიერ და მხარს უჭერს შემდეგ 4 ოპერაციულ რეჟიმს.

რეჟიმი0: სინქრონული ცვლის რეჟიმი, ბაუდის სიჩქარით დაფიქსირებული UART_CLK / 12 რეჟიმი 18-ბიტიანი UART რეჟიმით, რეგულირებადი ბაუდის სიჩქარით, გენერირებული შიდა ტაიმერის 1 რეჟიმით 29-ბიტიანი UART რეჟიმით UART_CLK / 64 ან UART_CLK / 32 UART39-Bit კონფიგურირებადი რეჟიმით. განაკვეთი გენერირებული შიდა ტაიმერით 1

მომხმარებლებს შეუძლიათ შეარჩიონ UART მოდულის მუშაობის რეჟიმის შეფერხებები, კომუნიკაციის ჩართვა და მონაცემთა გადაცემა/მიღება SCON0-ის კონფიგურაციის გზით.
13.2 სინქრონული ცვლის რეჟიმი (რეჟიმი0)
სინქრონული ცვლის რეჟიმი არის UART მოდულის სინქრონული ოპერაციული რეჟიმი, SPI slave რეჟიმის მსგავსი, რათა ჰქონდეს სერიული კომუნიკაცია სხვა 8051-ებთან. იგი იღებს ნახევრად დუპლექს კომუნიკაციას სერიულ ხაზთან RxD, რომელიც გამოიყენება როგორც ორმხრივი შეყვანის და გამომავალი მონაცემთა ინტერფეისი, და TxD აწარმოებს ფიქსირებული სერიული ბაუდ სიჩქარის საათს UART_CLK / 12 საათის სიხშირით. როდესაც SCON0.SM00 და SCON0.SM10 არის კონფიგურირებული როგორც 00, UART მოდული ირჩევს მუშაობას 0 რეჟიმში და მისი გადაცემის არქიტექტურა ნაჩვენებია ქვემოთ ფიგურა.
SBUF0 დაწერეთ

TX Shift რეგისტრაცია

rxd0_o

SERIAL0_CLK

1/12

TX Counter

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

D6 D7

TI0 1xTPCLK
დიაგრამა 13-2. გადაცემის დროის დიაგრამა UART-ისთვის 0 რეჟიმში

Mode0 მიმღების სტრუქტურის დიაგრამა ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.
SBUF0 წაიკითხეთ

SBUF0

მონაცემები rxd0_i-ში

RX Shift რეგისტრაცია

1

rxd0_o

FPCLK

1/12

RX მრიცხველი

txd0 საათის გამორთვა
დიაგრამა 13-3. UART-ის დიაგრამის მიღება 0 რეჟიმში

როდესაც ის იღებს რეჟიმში0, მიმღები ჩართვის ბიტი SCON0.REN 0 დაყენებულია 1, ხოლო როდესაც მიმღები შეფერხების დროშის ბიტი SCON0.RI0 გასუფთავდება, წარმოიქმნება დადებითი პულსი და სერიული პორტი იწყებს მონაცემთა მიღებას. TxD გამომავალი Shift clock 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
D[7:0]

დიაგრამა 13-4. UART-ის დროის დიაგრამის მიღება 0 რეჟიმში
13.3 ასინქრონული სრული დუპლექსის რეჟიმი კონფიგურირებადი ბაუდის სიჩქარით
(რეჟიმი 1 და რეჟიმი 3)
UART მოდულის ორივე რეჟიმი 1 და რეჟიმი 3 არის ასინქრონული სრული დუპლექსის გადამცემის რეჟიმი ცვლადი ბაუდის სიხშირით. მათ შორის განსხვავება მხოლოდ ისაა, რომ რეჟიმი 1 არის 8-ბიტიანი მონაცემთა გადაცემის და მიღების რეჟიმი, ხოლო რეჟიმი 3 არის 9-ბიტიანი მონაცემთა გადაცემის და მიღების რეჟიმი.
პარამეტრები სერიული პორტი 0 როგორც Mode1: SCON0.SM00-ის და SCON0.SM10-ის კონფიგურაცია 01-ად. შექმენით ბაუდის სიხშირე Timer1 და PCON.SMOD1 ბიტების მეშვეობით. მიღებისას დააყენეთ მიმღები ჩართვის ბიტი SCON0.REN0 1-ზე. გაგზავნისას ჩაწერეთ მონაცემები გადაცემის ბუფერში SBUF.
პარამეტრები სერიული პორტი 0 როგორც Mode3: SCON0.SM00-ის და SCON0.SM10-ის კონფიგურაცია 11-ად. შექმენით ბაუდის სიხშირე Timer1 და PCON.SMOD1 ბიტების მეშვეობით. მიღებისას დააყენეთ მიმღები ჩართვის ბიტი SCON0.REN0 1-ზე. გადაცემისას ჩაწერეთ მონაცემები გადაცემის ბუფერში SBUF და SCON0.TB8.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 62/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
რეჟიმი 1 და რეჟიმი 3 ჩარჩოს ფორმატები ნაჩვენებია ქვემოთ მოცემულ ფიგურებში.

S D0

D7 STOP

S D0

D7 D8 STOP

დიაგრამა 13-5. კადრის ფორმატი რეჟიმი 1 და რეჟიმი 3 UART

ბაუდის სიხშირე 1 და რეჟიმი 3 დამოკიდებულია Timer1-ის გადინების სიჩქარეზე. გადაცემის და მიღების ბლოკ-სქემები ნაჩვენებია ქვემოთ მოცემულ ფიგურებში.

SBUF0 დაწერეთ
გადაცემის ბუფერი

TX Shift რეგისტრაცია

txd0

ტაიმერი 1 Overflow

1/2

0

1/16 1

SMOD1

TX Counter

დიაგრამა 13-6. UART-ის გადაცემის ბლოკის დიაგრამა 1 და 3 რეჟიმში

SBUF0 წაიკითხეთ
SBUF0

rxd0_i

RX Shift რეგისტრაცია

ტაიმერი 1 Overflow

1/2

0

1

SMOD1

1/16

RX მრიცხველი

დიაგრამა 13-7. UART-ის ბლოკ-სქემის მიღება 1 და 3 რეჟიმში

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 63/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

დააკონფიგურირეთ Timer1 ბაუდის სიჩქარის გენერირებისთვის:

TMOD.M1[1:0] კონფიგურირებულია როგორც 10 (Timer1 რეჟიმში 2), TMOD.GATE1 კონფიგურირებულია როგორც 0 და TMOD.C/T1 კონფიგურირებულია როგორც 0.
ჩაწერეთ 8-ბიტიანი საწყისი დათვლის მნიშვნელობა TH1-ზე. TCON.TR1 კონფიგურირებულია როგორც 1 და იწყებს ქრონომეტრს.

ბაუდის სიჩქარე გამოითვლება შემდეგი ფორმულის მიხედვით:

Baud_Rate = 21

×

[32 × 12 × (256 - 1)]

ის უდრის:

ბაუდრეიტი

=

21

×

1_ 32

გადაცემის დროს, როდესაც 8-ბიტიანი მონაცემები ჩაიწერება გადაცემის ბუფერში SBUF0 (რეჟიმში3, ჩაწერეთ მონაცემები ჯერ SCON0.TB8-ზე, შემდეგ ჩაწერეთ 8-ბიტიანი მონაცემები SBUF0-ზე), წარმოიქმნება დადებითი პულსი და იწყება სერიული პორტი. მონაცემების გადაცემა. ჯერ გაგზავნეთ 1-ბიტი, როგორც საწყისი ბიტი 0, შემდეგ გაგზავნეთ SBUF-ის LSB ბიტი, რიგრიგობით გაგზავნეთ 8-ბიტიანი მონაცემები, შემდეგ გაგზავნეთ SCON0.TB8 (რეჟიმი 3) და ბოლოს გაგზავნეთ 1-ბიტიანი გაჩერების ბიტი 1. როდესაც მონაცემთა გადაცემა დასრულებულია, დააყენეთ გადაცემის შეწყვეტის დროშის ბიტი SCON0.TI0 1-ზე. დროის დიაგრამა ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.

რეჟიმი 1
txd0

S

D0

D1 D2 D3

D4 D5 D6 D7 STOP S

X0

SBUF0 დაწერეთ

ბუფერული ჩაწერა შეიძლება ყველგან მოხდეს

TI0 TX ბუფერი

D[7:0]

X[7:0]

რეჟიმი 2, 3
txd0
SBUF0 დაწერეთ

S

D0

D1 D2 D3

D4 D5 D6 D7 D8 STOP S

ბუფერული ჩაწერა შეიძლება ყველგან მოხდეს

TI0 TX ბუფერი

D[7:0]

X[7:0]

TB80 D8

X8

დიაგრამა 13-8. ასინქრონული გადაცემის დროის დიაგრამა UART-სთვის 1 და 3 რეჟიმში

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 64/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

როდესაც ჩართულია UART რეჟიმი 1 ან რეჟიმი 3, მიღების რეჟიმი, მიმღები ჩართვის ბიტი SCON0.REN0 ჯერ უნდა დაყენდეს 1, შემდეგ კი RxD პინის მდგომარეობა არის s.ampხელმძღვანელობდა ბაუდის სიჩქარის 16-ჯერ, შემდეგ დაელოდეთ საწყისი ბიტის დაცემას. მიუხედავად იმისა, რომ ჩამოვარდნილი კიდე არის სampled, კვლავ შემოწმდება არის თუ არა RxD 0 დაწყების ბიტის s-ის დროსampling, რათა დაადასტუროს არის თუ არა ის სწორი დაწყების ბიტი. თუ ის არ არის 0, გააგრძელეთ sampდასაწყისი ცოტა. როდესაც ის დადასტურებულია, როგორც მოქმედი საწყისი ბიტი, ის იწყებს 8-ბიტიანი / 9-ბიტიანი მონაცემების მიღებას და მონაცემთა თითოეული ბიტი არის s.ampხელმძღვანელობდა შუა პოზიციაში. 8-ბიტიან მიმღებ მდგომარეობაში, შეამოწმეთ თუ არა სampling stop bit მოქმედებს და დააკოპირეთ SCON0.RB80-ზე და დააყენეთ მიმღები შეფერხების დროშის ბიტი SCON0.RI0-ზე 1-ზე. თუ გაჩერების ბიტი არასწორია, FE0 (ჩარჩოების შეცდომა) დროშა დაყენებულია 1-ზე. 9-ბიტიანში მიღება, მას შემდეგ, რაც სampმე-9 ბიტით, შეწყვეტის ბიტის დროშა SCON0.RI0 დაყენებულია 1-ზე გაჩერების ბიტის პოზიციაზე, ხოლო მე-9 ბიტი იწერება SCON0.RB80-ზე. გაჩერების ბიტის შეცდომა გამოიყენება მხოლოდ FE0 დროშის შესაქმნელად. როდესაც SCON0.RI0 დაყენებულია 1-ზე, SBUF იტვირთება მიღებულ 8-ბიტიან მონაცემებს. დროის დიაგრამა ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.

რეჟიმი 1
rxd0_i
Sample
RI0 SBUF0
რეჟიმი 2, 3
rxd0_i SBUF0 ჩაწერეთ
RI0 SBUF0
RB80

S

D0

D1 D2 D3

D4 D5 D6 D7 STOP S

D[7:0]

S

D0

D1 D2 D3

D4 D5 D6 D7 D8 STOP S

D[7:0] D8

დიაგრამა 13-9. UART-ის ასინქრონული მიღების დროის დიაგრამა (რეჟიმი 1 და რეჟიმი 3)
13.4 ასინქრონული სრული დუპლექსის რეჟიმი ფიქსირებული ბაუდის სიხშირით (რეჟიმი 2)
რეჟიმი 2 არის 9-ბიტიანი ასინქრონული სრული დუპლექსური გადამცემის მუშაობის რეჟიმი ფიქსირებული ბაუდ სიჩქარით. გადამცემი და მიმღები ბლოკ-სქემები ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 65/100 გვერდი

www.hoperf.com

SBUF0 წაიკითხეთ
SBUF0

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
SBUF0 დაწერეთ
გადაცემის ბუფერი

rxd0_ i

RX Shift რეგისტრაცია

TX Shift რეგისტრაცია

txd0

FPCLK / 2

1/2

0

1/16

1

SMOD1

RX მრიცხველი

TX Counter

დიაგრამა 13-10. UART რეჟიმი 2-ის გადაცემის და მიღების ბლოკ-სქემა

UART-ის მე-2 რეჟიმში დაყენების ნაბიჯები შემდეგია. დააკონფიგურირეთ SCON0.SM00 და SCON0.SM10 როგორც 10. მიღებისას დააყენეთ მიმღები ჩართვის ბიტი SCON0.REN0 1-ზე. გადაცემისას ჩაწერეთ მონაცემები გადაცემის ბუფერში SBUF და SCON0.TB8.
ერთადერთი განსხვავება რეჟიმ 2-სა და მე-3 რეჟიმს შორის არის ბაუდის სიჩქარის სხვაობა. რეჟიმი 2-ის ბაუდის სიხშირე გამოითვლება შემდეგნაირად.
Baud_Rate = 2SMOD1 × PCLK 64
UART-ის ორივე რეჟიმი 2 და რეჟიმი 3 მხარს უჭერს მრავალ მანქანურ კომუნიკაციას, რომელიც უბრალოდ უნდა დააყენოს SCON0.SM20 1-ზე. ამ რეჟიმში, მასტერს შეუძლია მონაცემების გაგზავნა რამდენიმე სლავზე სერიული ხაზის მეშვეობით. სალვი შეიძლება ამოიცნობოს მასტერს მხოლოდ მაშინ, როდესაც ის მიიღებს RB9 მონაცემების მე-8 ბიტს, როგორც 1. დარჩენილი 8-ბიტიანი მონაცემები გამოიყენება slave მისამართის გადასაცემად. მას შეუძლია სრული მონაცემების მიღება მხოლოდ იმ შემთხვევაში, თუ მისამართი შეესაბამება. მონაცემთა შემდგომი ნაკადი იგზავნება მხოლოდ იდენტიფიცირებულ მონურ მოწყობილობებზე. მონაცემთა ნაკადის მე-9 ბიტი უნდა დაყენდეს 0-ზე, ამიტომ სხვა სლავები ვერ ცნობენ მონაცემებს.

13.5 USART-ის გაძლიერებული რეჟიმი
UART-ის სხვადასხვა ოპერაციულ რეჟიმებს შორის, მხოლოდ 1 და 3 რეჟიმებში შეიძლება მიაღწიოს სხვადასხვა ბაუდის სიჩქარეს Timer1-ის გადინების პერიოდის მიხედვით. ეს არის ყველაზე მარტივი, მაგრამ პრაქტიკული, როდესაც ტაიმერი 1 მუშაობს რეჟიმში 2. თუმცა, CMT2186A HFOSC საათის წყარო მხარს უჭერს შედარებით შეზღუდულ სიხშირეებს, კერძოდ 24 MHz, 12 MHz, 3 MHz და გარე 13 MHz (გენერირებული 26 MHz/2). ამიტომ, შესაბამისი ბაუდის სიჩქარის ვარიანტებიც შეზღუდულია. დეტალური ინფორმაცია მოცემულია ქვემოთ მოცემულ ცხრილში.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 66/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო ცხრილი 13-1. UART Baud Rate შეცდომა სტანდარტულ რეჟიმში (ტაიმერი 1 რეჟიმში2)

სამიზნე ბაუდის სიჩქარე
300 600 1200 2400 4800 9600 14400 19200

დაყენების მნიშვნელობა.of
TH1 -48 152 204 230 243 247 249

SMOD=1
ბაუდის რეალური მაჩვენებელი:
-601 1202 2404 4808 9615 13889 17857

შეცდომის მნიშვნელობა

დაყენების მნიშვნელობა.TH1-ის

SMOD=0
ბაუდის რეალური მაჩვენებელი:

შეცდომის მნიშვნელობა

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 საათი 24 MHz სიხშირით (ანუ FPCLK = 24 MHz).
ცხრილი 13-1 აჩვენებს, რომ მხოლოდ ექვსი ჩვეულებრივი დაბალი მაჩვენებელი 300, 600, 1200, 2400, 4800, 9600 არის ნაკლები შეცდომები და აკმაყოფილებს გამოყენების მოთხოვნას. ბაუდის მაღალი სიჩქარის გამოყენება ძირითადად შეუძლებელია. იმისათვის, რომ CMT2186A-მ მხარდაჭერის მეტი ბაუდის სიჩქარის ვარიანტები ჩართოს, ის ჩართულია ჩიპზე გაძლიერებული რეჟიმით. CMT2186A-ს შეუძლია დააყენოს USART_SEL (მდებარეობს SFR რეესტრში USART_CTL) 1-ზე, წინააღმდეგ შემთხვევაში გააუქმოს 12 სიხშირის გამყოფი Timer1 საათის წყაროს წინ და პირდაპირ მიაწოდოს Timer1 FPCLK-დან საათის წყაროდ, როგორც ნაჩვენებია შემდეგ სურათზე.

FPCLK

/ 12

0

1

ტაიმერი 1

USART_SEL

დიაგრამა 13-11. Timer1 საათის წყაროს სქემატური დიაგრამა გაძლიერებულ რეჟიმში

როდესაც USART_SEL=0, Timer1 საათის წყარო არის FPCLK/12 სტანდარტული 51 არქიტექტურის მიხედვით. როდესაც USART_SEL=1, Timer1 საათის წყარო გაუმჯობესებულ რეჟიმშია და პირდაპირ არის მოწოდებული
FPCLK.

გაძლიერებულ რეჟიმში გამოთვლილი ბაუდის სიჩქარის შეცდომები ნაჩვენებია ქვემოთ.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 67/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო ცხრილი 13-2. UART ბაუდის სიხშირის შეცდომები გაძლიერებულ რეჟიმში (Timer1 Mode 2)

სამიზნე ბაუდის მაჩვენებელი
4800 9600 14400 19200 38400 56000 57600 115200

TH1 დაყენების მნიშვნელობა
-100 152 178 217 229 230 243

SMOD=1
ბაუდის რეალური მაჩვენებელი
-9615 14423 19230 38462 55556 57692 115385

შეცდომის მაჩვენებელი
-0.16% 0.16% 0.16% 0.16% -0.79% 0.16% 0.16%

TH1 დაყენების მნიშვნელობა

SMOD=0
ბაუდის რეალური მაჩვენებელი:

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 მონაცემთა ქეში რეგისტრი Timer1 საათის წყარო წინასწარ სკალერის შერჩევა

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 68/100 გვერდი

www.hoperf.com

14 ტაიმერი A/Timer B მოდული

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

ორივე ტაიმერი A და ტაიმერი B შედგება 16-ბიტიანი ტაიმერის/მრიცხველისა და სამი დაჭერის/შედარებებისგან, რაც საშუალებას აძლევს მრავალჯერადი დაჭერის/შედარების საშუალებას, PWM გამოსავალს და დროის ინტერვალებს გამომწვევი პირობების დასათვლელად. ტაიმერი A-ს აქვს მრავალი შეფერხების რეჟიმი, რომელიც იწვევს გადადინებას და აღბეჭდვას/შედარებს ტაიმერიდან/მრიცხველიდან. ტაიმერის A / ტაიმერის B მახასიათებლები მოიცავს

16-ბიტიანი დრო/მრიცხველი, რომელიც მხარს უჭერს 4 ოპერაციულ რეჟიმს; საათის წყაროს, როგორც სისტემის საათის 1 ~ 65535 სიხშირის განყოფილების კონფიგურაციის მხარდაჭერა. 2 ან 3 კონფიგურირებადი გადაღება/შედარება; კონფიგურირებადი PWM გამომავალი; ასინქრონული შეყვანა სampლინგი; შეფერხების წყაროს სწრაფად დაჭერა

ტაიმერი საათი

ta_cnt_mode ტაიმერის ბლოკი

სისტემის საათი FSYSCLK

DIVIDER 1~65535

16 ბიტიანი ტაიმერი TACNT
ნათელი
ta_clr

დათვლის რეჟიმი

EQU0

დააყენეთ ტაიმერი IFG

taccr2_ccis taccr2_cm

(GPIO-დან)tacci0 (GPIO-დან)tacci1 (SFR-დან)tacci2

00 01

(SFR-დან)tacci3 10

11

გადაღების რეჟიმი

taccr2_cov_set ლოგიკა

0

სინქრონიზაცია

1

taccr2_cci

ტაიმერი საათის taccr2_scs

taccr2_scci ა
Y EN

EQU2

EQU2 EQU0 taccr2_out

გამომავალი ერთეული 2

ta_out2

CCR0 CCR1 CCR2

TACCR2

შედარება 2
EQU2
0 1

დააყენეთ CCR2 CCIFG

taccr2_cap

taccr2_outmode
დიაგრამა 14-1. ტაიმერის A სტრუქტურის დიაგრამა

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 69/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
შენიშვნა: ტაიმერის A და ტაიმერის B სტრუქტურა იდენტურია. ზემოთ მოყვანილი სურათი გვიჩვენებს ტაიმერის A-ს სტრუქტურას.

14.1 ოპერაციის მეთოდი

Timer A/Timer B მოდულის მუშაობას აკონტროლებს პროგრამული უზრუნველყოფა. ამ განყოფილებაში ნახსენები TACCR0TH/TBCCR0TH არის კონფიგურირებადი 16-ბიტიანი დათვლის ზღვარი. იგი შედგება რეგისტრისგან TACCR0TH_H/TBCCR0TH_H და TACCR0TH_L /TBCCR0TH_L. ცხრილში 14-1 ჩამოთვლილია 16-ბიტიანი დროის/მრიცხველის (TACNT და TBCNT) დათვლის რეჟიმები სხვადასხვა სამუშაო რეჟიმის მიხედვით.

ცხრილი 14-1. ტაიმერის მუშაობის რეჟიმები

TA/TB_CNT_MODE 00 01 10
11

სამუშაო რეჟიმი გაჩერება
უწყვეტი
ზემოთ / ქვემოთ

აღწერა

TACNT/TBCNT არ მუშაობს და წყვეტს დათვლას, კერძოდ, დათვლის გაჩერების რეჟიმში

TACNT/TBCNT არაერთხელ იზრდება 0-დან TACCR0TH/TBCCR0TH-მდე

მნიშვნელობა, კერძოდ დათვლის რეჟიმი

TACNT/TBCNT განმეორებით იზრდება 0-დან 0xFFFF-მდე, კერძოდ, უწყვეტი

დათვლის რეჟიმი

TACNT/TBCNT

არაერთხელ

ნამატები

საწყისი

0

რომ

TACCR0TH/TBCCR0TH, შემდეგ მცირდება 0-მდე, ციკლში, კერძოდ, უწყვეტი

დათვლის რეჟიმი.

როგორც ზემოთ მოყვანილი ცხრილიდან ჩანს, ტაიმერი A ან ტაიმერი B მოიცავს ოთხ სამუშაო რეჟიმს: გაჩერება, ზევით, უწყვეტი, ზევით/ქვევით და სამუშაო რეჟიმის დადგენა შესაძლებელია TA_CNT_MODE ან TB_CNT_MODE კონფიგურაციით. როდესაც საჭიროა დროებით შეცვალოთ ტაიმერი A ან ტაიმერი B (გარდა შეფერხების ჩართვისა და შეფერხების დროშის მოდიფიკაციისა), ვარაუდობენ, რომ ჯერ შეწყვიტოთ TACNT ან TBCNT დათვლა, რათა თავიდან აიცილოთ არაპროგნოზირებადი არასწორი მოქმედება.

აღრიცხვის რეჟიმში, TACNT ან TBCNT წარმოქმნის შეფერხებას, როგორც კი მიაღწევს დაყენების ზღურბლს TACCR0TH/TBCCR0TH. უწყვეტი დათვლის რეჟიმში, TACNT ან TBCNT წარმოქმნის შეფერხებას, როგორც კი ის მიაღწევს 0xFFFF-ს. Up/Down რეჟიმში, TACNT ან TBCNT წარმოქმნის შეფერხებას 0x0001-მდე შემცირების შემდეგ.

ტაიმერის A ან B ტაიმერის დაწყებამდე, დააკონფიგურირეთ TAC_L.TA_CNT_MODE ან TBC_L.TB_CNT_MODE (გაჩერების რეჟიმი), დათვალეთ ზღვრული TACCR0TH ან TBCCR0TH მნიშვნელობა (0), აღბეჭდეთ/შეადარეთ პარამეტრები (იხ. სექცია 4.14.5). შემდეგ დააყენეთ TAC_H.TA_START ან TBC_H.TB_START ჯერ ნულზე, შემდეგ კი 1-ზე, რომ ეფექტურად ჩართოთ.

დათვლის დროს მომხმარებელს შეუძლია დააყენოს TACL.TA_CLR ან TBCL.TB_CLR 1-ზე, რათა გაასუფთავოს მრიცხველის კონფიგურაციის უმეტესი ნაწილი. მიიღეთ ტაიმერი A როგორც ყოფილიample, მნიშვნელობები, რომლებიც TA_CLR-ს შეუძლია გაასუფთავოს, მოიცავს: დათვლის საათის წყაროს სიხშირის გაყოფის მნიშვნელობა TACLK_DIV, დათვლის მნიშვნელობა TACNT, მრიცხველის მუშაობის რეჟიმი TA_CNT_MODE და დათვლის ბარიერი TACCR0TH.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 70/100 გვერდი

www.hoperf.com

14.2 ზევით რეჟიმი

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

Up რეჟიმში, მომხმარებელს შეუძლია დააკონფიგურიროს დათვლის ბარიერი TACCR0TH ან TBCCR0TH ნებისმიერ მნიშვნელობაზე და TACNT (ან TBCNT) გაიზრდება 0-დან ზღურბლამდე TACCR0TH (ან TBCCR0TH) განმეორებით, დათვლის პერიოდი იქნება TACCR0TH (ან TBCCR0TH) +1. როდესაც TACNT (ან TBCNT) რაოდენობა მიაღწევს ზღურბლს, ის დაუყოვნებლივ უბრუნდება 0-ს ხელახლა დასათვლელად.

0xFFFF TACCR0 (TBCCR0)
0

დიაგრამა 14-2. სქემა ტაიმერი A/ ტაიმერი B მუშაობს Up რეჟიმში

როდესაც TACNT (ან TBCNT) ითვლის TACCR0TH ან TBCCR0TH და გადაედინება უკან 0-მდე, დაყენებულია შეფერხების დროშა TA_CCR0_INT ან TB_CCR0_INT, დაყენებულია შეფერხების დროშა TA_TMR_INT (ან TB_TMR_INT) ტაიმერი A (ან ტაიმერი BAT_INT-ზე გვიან). შემდეგი დიაგრამა აჩვენებს ორი განსხვავებული შეფერხების გენერირების დიაგრამას მას შემდეგ, რაც წინასწარ გაყოფილი მნიშვნელობა TA_CLK_DIV დაყენებულია 0-ზე:

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

დიაგრამა 14-3. ტაიმერის A-ს ზევით რეჟიმში მუშაობის შეწყვეტის სქემა

არ არის რეკომენდებული TACCR0TH (ან TBCCR0TH) მნიშვნელობის შეცვლა TACNT (ან TBCNT) დათვლის პროცესში. იმ შემთხვევაში, თუ მომხმარებლებს აქვთ ცვლილებები იძულებით, მას ექნება 2-ის ქვემოთ მოცემული ეფექტი სხვადასხვა პირობებიდან გამომდინარე. 1. თუ ახალი TACCR0TH (ან TBCCR0TH) მოდიფიკაციის მნიშვნელობა წინაზე მეტია ან მეტია
მიმდინარე TACNT (ან TBCNT) დათვლის მნიშვნელობა, TACNT (ან TBCNT) გააგრძელებს დათვლას ახალ TACCR0TH (ან TBCCR0TH) მნიშვნელობამდე და შემდეგ დაუბრუნდება 0-ს ხელახლა დასათვლელად. 2. თუ ახალი TACCR0TH (ან TBCCR0TH) მოდიფიკაციის მნიშვნელობა ნაკლებია წინა TACNT (ან TBCNT) დათვლის მნიშვნელობაზე, TACNTor TBCNT დაუყოვნებლივ დაყენდება 0 და ის გააგრძელებს დათვლას ახალ TACCR0TH (ან TBCCR0TH).

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 71/100 გვერდი

www.hoperf.com

14.3 უწყვეტი რეჟიმი

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

უწყვეტ რეჟიმში, TACNT (ან TBCNT) იზრდება 0-დან 0xFFFF-მდე განმეორებით, გადატვირთულია და შემდეგ ითვლის 0-დან. ამ რეჟიმში, დამჭერის/შედარების CCR3 ~ CCR0 2 კომპლექტს აქვს იგივე ფუნქცია და მუშაობს დამოუკიდებლად, რაც განსხვავდება ზევით რეჟიმი. Up რეჟიმში, TACCR0TH (ან TBCCR0TH) არის TACNT (ან TBCNT) დათვლის პერიოდის მნიშვნელობა.

0xFFFF

0

დიაგრამა 14-4. სქემატური ტაიმერი A მუშაობს უწყვეტ რეჟიმში
უწყვეტ რეჟიმში, გადაღების/შედარების მოდულს შეუძლია ცალ-ცალკე წარმოქმნას შეფერხებები, როგორც ეს ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.
როდესაც TACNT (TBCNT) ითვლის TACCR0TH+1 (TBCCR0TH+1) მნიშვნელობამდე, დაყენებულია ta_ccr0 ან tb_ccr0 შედარების დროშა TA_CCR0_INT (TB_CCR0_INT).
როდესაც TACNT (TBCNT) ითვლის 0xFFFF-მდე და შემდეგ უბრუნდება 0-ს ხელახლა დასათვლელად, ტაიმერის შეწყვეტის დროშა TA_TMR_INT (TB_TMR_INT) დაყენებულია.

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

TACCR0TH-1 TACCR0TH TACCR0TH+1

0 xFFFE 0 xFFFF

0

1

TA_CCR0_INT TA_TMR_INT

დიაგრამა 14-5. უწყვეტ რეჟიმში მუშაობის ტაიმერის შეწყვეტის სქემა

უწყვეტი რეჟიმი შეიძლება გამოყენებულ იქნას დამოუკიდებელი დროის ინტერვალებისა და გამომავალი სიხშირეების გენერირებისთვის ზემოთ აღნიშნული გზებით. შედარების ccr0-ის შემთხვევაში, ტაიმერი A წარმოქმნის შეფერხებას TACCR0TH-მდე დათვლისას. მას შემდეგ, რაც პროგრამული უზრუნველყოფა აღმოაჩენს ამ შეფერხებას რეესტრში, მას შეუძლია დააკონფიგურიროს შედარების ბარიერი TACCR0TH TACCR0TH + n, სადაც n არის მითითებული პერიოდის მნიშვნელობა და n<0XFFFF. განაგრძეთ TACCR0TH მნიშვნელობის განახლება ციკლებში და წარმოიქმნება n პერიოდის შეფერხებები.

ამრიგად, დაჭერის/შედარების სამი კომპლექტი ta_ccr0~ ta_ccr2 (tb_ccr0~ tb_ccr2) გამოიყენება სამი კომპლექტის დამოუკიდებელი დროის ინტერვალისა და სიხშირის გამოსასვლელად, როგორც ნაჩვენებია ქვემოთ მოცემულ ფიგურაში, სადაც TACCR0THa, TACCR0THb, TACCR0THc და TACCR0THd არის მნიშვნელობები.

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 72/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო
გამოითვლება TACCR0TH =TACCR0TH+ n განტოლებით, იგივე ეხება ta_ccr1-ს.

TACCR1THb TACCR1THc TACCR1THd

0xFFFF

TACCR0THb

TACCR1Tha

TACCR0Tha

TACCR0THc TACCR0THd

0

t0

t0

t0

t1

t1

t1

დიაგრამა 14-6. სქემა A ტაიმერის თითოეული დაჭერის/შედარების დამოუკიდებელი მუშაობისთვის (იგივე ტაიმერი B)

14.4 ზევით / ქვემოთ რეჟიმი
Up/Down რეჟიმში, TACNT (TBCNT) იზრდება განმეორებით 0-დან TACCR0TH-მდე (TBCCR0TH) და შემდეგ მცირდება 0-მდე. ერთი პერიოდი ორჯერ აღემატება TACCR0TH (TBCCR0TH) მნიშვნელობას.
0xFFFF TACCRTH0 (TBCCRTH0)
0
დიაგრამა 14-7. სქემატური ტაიმერი A/B მუშაობს ზევით/ქვევით რეჟიმში
TA_CCR0_INT (TB_CCR0_INT) ta_ccr0 და tb_ccr0-ის შეწყვეტა და TA_TMR_INT (TB_TMR_INT) TACNT (TBCNT) შეწყვეტის დროშები ნაწილდება პირველ და მეორე ნახევარში ერთ ციკლში. ზემოთ რეჟიმის მსგავსად, როდესაც TACNT (TBCNT) ითვლის TACCR0TH (TBCCR0TH) მნიშვნელობას, დაყენებულია შეფერხების დროშა TA_CCR0_INT (TB_CCR0_INT) ta_ccr0-დან. როდესაც TACNT (TBCNT) ითვლის ta_ccr0-ის ზღურბლამდე და უბრუნდება 0-ს ხელახლა დასათვლელად, დაყენებულია ტაიმერი A (ტაიმერი B) შეწყვეტის დროშა TA_TMR_INT (TB_TMR_INT).

საავტორო უფლება © 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

TACNT

TACCR0TH-1 TACCR0TH TACCR0TH-1

2

1

0

1

TA_CCR0_INT

TA_TMR_INT

დიაგრამა 14-8. ზევით/ქვევით რეჟიმში მუშაობის ტაიმერის შეწყვეტის სქემა
მაღლა/ქვემო რეჟიმს შეუძლია მხარი დაუჭიროს აპლიკაციას, რომელიც მოითხოვს მკვდარ დროს ორ გამომავალ სიგნალს შორის. მაგample, 2 გამომავალი, რომლებიც მართავენ H-ხიდს სინქრონულად, ხოლო არ შეუძლიათ ერთდროულად მაღალი დონის გამოტანა გადატვირთვის თავიდან ასაცილებლად.
TDead=TTimerxTACCR1THTACCR2TH
ზემოთ, 1. TDead ეხება მკვდარი დროის ხანგრძლივობას 2. TTimer ეხება TACNT ან TBCNT 3 საათის პერიოდს. TACCR1TH და TACCR2TH ეხება 2 კომპლექტის დამჭერის/შედარების კონფიგურაციის მნიშვნელობებს.

0xFFFF
TACCR0TH
TACCR1TH TACCR2TH
0

მკვდარი დროის გამომავალი რეჟიმი 6: გადართვა/დაყენება

EQU1

EQU2

EQU0

ტაიმერი INT

EQU1 EQU2

EQU1 EQU2

ტაიმერი INT

EQU0

გამომავალი რეჟიმი 2: გადართვა/გადატვირთვა
EQU1 EQU2

დიაგრამა 14-9. სქემა ზევით/ქვევით რეჟიმისთვის მკვდარი დროის კონტროლით

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 74/100 გვერდი

www.hoperf.com

14.5 მოდულის გადაღება/შედარება

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

ტაიმერი A/B შეიცავს 2-დან 3-მდე დამოუკიდებელ გადაღების/შედარების მოდულს TACNT (ან TBCNT) მონაცემების გადასაღებად ან დროის ინტერვალების შესაქმნელად. გაითვალისწინეთ, რომ ზევით და ზევით/ქვევით რეჟიმებში TACCR0 (TBCCR0) გამოიყენება როგორც პერიოდის რეესტრი და ვერ ინახავს დაფიქსირებულ მნიშვნელობებს.

უწყვეტ რეჟიმში ორივე ta_ccr0~ ta_ccr2tb_ccr0~ tb_ccr2 შეუძლია შეინახოს მიღებული მნიშვნელობები.

გადაღების რეჟიმი
თუ TACCTL0_H.TA_CCR0_FUNC_MODE to TA_CCR2_FUNC_MODE დაყენებულია 1-ზე, შესაბამისი გადაღების/შედარების მოდული გადადის გადაღების რეჟიმში. გადაღების რეჟიმი გამოიყენება დროთან დაკავშირებული მოვლენების ჩასაწერად, როგორიცაა სიჩქარის შეფასება ან დროის გაზომვა. არსებობს 4 გადაღების წყარო, რომელთაგან TACCI0 და TACCI1 არის GPION-დან (კონფიგურირებადი არჩევანი, იხილეთ სექცია 4.9 GPIO მოდული დეტალებისთვის) და TAC_H.TA_CCI2_IN_SFR და TAC_H.TA_CCI3_IN_SFR არის შიდა SFR რეგისტრებიდან, ხელმისაწვდომი პროგრამული უზრუნველყოფისთვის. TA_CCR0_SRC_SEL-ის კონფიგურაციით – TA_CCR1_SRC_SEL შეგიძლიათ აირჩიოთ გადაღების სხვადასხვა წყაროები (CCI0 – CCI3) გადაღების სამი არხისთვის. ტაიმერი B არის ზუსტად იგივე, იგივე შემდგომში. დააკონფიგურირეთ TACCR0_CM ~ TACCR2_CM შესაბამისი გადაღების/შედარების მოდულის გადაღების რეჟიმის ასარჩევად, როგორც ამომავალი კიდე, დავარდნილი კიდე ან ორმაგი კიდეების გამომწვევი. წარმატებული აღების შემდეგ, TACNT მნიშვნელობა შეინახება TACCRn რეესტრში შესაბამისი აღბეჭდვის/შედარების მოდულისა და მათი შეწყვეტის დროშა TA_CCR0_INT~TA_CCR2_INT დაყენდება ამავე დროს.

დააკონფიგურირეთ TACCR0_SCS ~ TACCR2_SCS, რათა აირჩიოთ, განახორციელოთ თუ არა სისტემის საათის სინქრონიზაცია გადაღების წყაროზე.

ტაიმერი საათი TACNT CCI
TA_CCR0_FUNC_MODE TA_CCR0_INT
TACCR0TH

n-2

n-1

n

n+1

n+2

n+3

n+4

n

დიაგრამა 14-10. სქემატური ტაიმერი A Capture რეჟიმისთვის

თუ წინა გადაღების შედეგი არ არის წაკითხული, და გადაღების წყარო ხელახლა ამოქმედდება და წარმოქმნის გადაღების გადინებას, შესაბამისი აღბეჭდვის/შედარების მოდულის COV დროშა დაყენდება 1-ზე, რომელიც ხელახლა იქნება აღბეჭდილი პროგრამული უზრუნველყოფის მიერ გასუფთავების შემდეგ. .

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 75/100 გვერდი

www.hoperf.com

ხელახლა დაჭერა
გაასუფთავე შესაბამისი
COV ბიტი

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

ტრიგერის დაჭერის წყარო
დააფიქსირეთ წარმატება

წაიკითხეთ გადაღება

გადაღების შედეგის წაკითხვა

ტრიგერის გადაღების წყარო წაკითხვის შემდეგ დაჭერა არ ხდება
ტრიგერის დაჭერის წყარო

გადაღება overflow COV=1

ტრიგერის დაჭერის წყარო
დიაგრამა 14-11. გადაღების რეჟიმის მდგომარეობისა და ტაიმერის A შეწყვეტის სქემა
შედარების რეჟიმი
როდესაც TA_CCR0_FUNC_MODE ~ TA_CCR2_FUNC_MODE დაყენებულია 0-ზე, შესაბამისი გადაღების/შედარების მოდული გადადის შედარების რეჟიმში. შედარების რეჟიმი გამოიყენება PWM გამომავალი სიგნალის გენერირებისთვის ან შეფერხების გენერირებისთვის კონკრეტულ დროში. როდესაც TACNT ითვლის TACCR0TH ~ TACCR2TH

1) შესაბამისი შეფერხების დროშა TACCR0 /1/2 დაყენებულია 1-ზე. 2) შესაბამისი რაოდენობა ტოლია ნიშნავს, რომ EQU0 ~ EQU2 სიგნალი დაყენებულია 1-ზე; 3) EQU0~EQU2 გავლენას ახდენს გამომავალ სიგნალზე სხვადასხვა გამომავალი რეჟიმის მიხედვით; 4) თითოეული შედარების მიერ შერჩეული დაჭერის წყარო ინახება შესაბამის TA_CCR0_SRC ~-ში
TA_CCR2_SRC რეგისტრი;
გამომავალი ერთეულები
თითოეული დაჭერის/შედარების მოდული შეიცავს გამომავალ ერთეულს გამომავალი სიგნალის შესაქმნელად, როგორიცაა PWM სიგნალი. თითოეული გამომავალი ერთეული დაფუძნებულია EQU0 და EQU1/EQU2 სიგნალებზე და შეიძლება გაერთიანდეს რვა გამომავალ რეჟიმში.
TA_CCR0_OUT_MODE ~ TA_CCR2_OUT_MODE არის გამომავალი კონფიგურაციის რეგისტრი შესაბამისი აღბეჭდვის/შედარების მოდულისთვის, სადაც გამომავალი რეჟიმები 2, 3, 6 და 7 არ გამოიყენება 0 ერთეულის გამოსატანად, რადგან EQUx = EQU0. (EQUx ნიშნავს EQU1 და EQU2)

საავტორო უფლება © HOPERF-ის მიერ

Rev 0.1A | 76/100 გვერდი

www.hoperf.com

AN261-CMT2186A მომხმარებლის სახელმძღვანელო

ცხრილი 14-2. გამომავალი ერთეულის სხვადასხვა რეჟიმი

OUTMODE

რეჟიმი

აღწერა

შენიშვნები

პირდაპირი რეჟიმი, გამომავალი TA_OUTx კონფიგურებულია

გამოიყენება 3-ზე

000

გამომავალი

რეგისტრაცია CCRx_OUT.

მოდულების აღება/შედარება.

როდესაც TACNT ითვლის TACCRxTH, გამომავალი

TA_OUTx დაყენებულია და მდგომარეობა ინახება მანამ, სანამ ტაიმერი A არ იქნება

გამოიყენება 3-ზე

001

ბიტები

გადატვირთვა ან გამომავალი რეჟიმი იცვლება და გავლენას ახდენს

მოდულების აღება/შედარება.

გამომავალი..

როდესაც TACNT ითვლის TACCRxTH, გამომავალი

გამოიყენება მხოლოდ 1-ის გადასაღებად

010

TA_OUTx ამოტრიალდება. როდესაც TAR ითვლის TACCR0TH-მდე,

და 2

გამომავალი TA_OUTx გადატვირთულია.

როდესაც TACNT ითვლის TACCRxTH, გამომავალი

ბიტების დაყენება /

გამოიყენება მხოლოდ 1-ის გადასაღებად

011

TA_OUTx დაყენებულია. როდესაც TAR ითვლის TACCR0TH-მდე,

გადატვირთვა

და 2

გამომავალი TA_OUTx გადატვირთულია.

როდესაც TACNT ითვლის TACCRxTH, გამომავალი

გამოიყენება 3-ზე

100

გადაატრიალეთ

TA_OUTx გადახვევა

მოდულების აღება/შედარება.

როდესაც TACNT ითვლის TACCRxTH, გამომავალი

გამოიყენება 3-ზე

101

გადატვირთვა

TA_OUTx გადატვირთულია და მდგომარეობა ინარჩუნებს მანამ

მოდულების აღება/შედარება.

გამომავალი რეჟიმი იცვლება და გავლენას ახდენს გამომავალზე..

როდესაც TACNT ითვლის TACCRxTH, გამომავალი

გამოიყენება მხოლოდ 1-ის გადასაღებად

110

გადაბრუნება / გადატვირთვა

TA_OUTx ამოტრიალდება. როდესაც TAR ითვლის TACCR0TH-მდე,

და 2

გამომავალი TA_OUTx დაყენებულია..

როდესაც TACNT ითვლის TACCRxTH, გამომავალი

გამოიყენება მხოლოდ 1-ის გადასაღებად

111

გადატვირთავს/ბიტი TA_OUTx გადატვირთვა. როდესაც TAR ითვლის TACCR0TH-მდე,

და 2

გამომავალი TA_OUTx დაყენებულია..

შენიშვნა: 1. ტ

დოკუმენტები / რესურსები

HOPERF CMT2186A Sub-1G გადამცემი მიკრო კონტროლერი [pdf] მომხმარებლის სახელმძღვანელო
CMT2186A Sub-1G გადამცემი მიკრო კონტროლერი, CMT2186A Sub-1G, გადამცემი მიკრო კონტროლერი, მიკრო კონტროლერი, კონტროლერი

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *