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_EN1-მდე.
[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, გადამცემი მიკრო კონტროლერი, მიკრო კონტროლერი, კონტროლერი |
