Vysílací mikrořadič CMT2186A Sub-1G
“
Specifikace produktu
- Model: CMT2186A
- Frekvenční rozsah: 210 – 960 MHz
- Modulace: OK / ŽÁDAT
- Výstupní výkon: +13dBm max
- Jádro CPU: Vysoce výkonný singl
instrukční období 1T-8051 jádro - Pracovní proud: 24mA @ +13dBm 433.92MHz
CW - Pracovní svtage Rozsah: 1.8V – 3.6V
- Skladování: Úložiště programu MTP 4 kB, 512 bajtů
XRAM, 256-Byte IRAM, 512-bit EEPROM - Rozsah teplot: -40 °C až 85 °C
- Možnosti balíčku: SOP16 (9.9 x 6 x 1.75 mm),
SOP14 (8.65 x 6 x 1.75 mm)
Návod k použití produktu
1. Zapnutí CMT2186A
Chcete-li zapnout CMT2186A, ujistěte se, že vaše voltagZdroj je uvnitř
rozsah 1.8V až 3.6V.
2. Nastavení modulace
CMT2186A podporuje modulační režimy OOK a ASK. Viz
podrobný manuál pro specifické modulační konfigurace.
3. Nastavení výstupního výkonu
Výstupní výkon modulu vysílače můžete nastavit od 0
až +13dBm. Pokyny k seřízení naleznete v příručce
výstupní výkon.
4. Využití paměti
CMT2186A nabízí různé možnosti ukládání paměti. Zajistit
správné využití programového úložiště MTP, XRAM, IRAM a
EEPROM pro potřeby vaší aplikace.
5. Pracovní teplota
Provozujte CMT2186A ve specifikovaném rozsahu teplot
-40°C až 85°C pro optimální výkon.
Často kladené otázky (FAQ)
Otázka: Jaký je pracovní frekvenční rozsah CMT2186A?
Odpověď: CMT2186A pracuje ve frekvenčním rozsahu 210 – 960
MHz.
Otázka: Jak mohu upravit výstupní výkon vysílače
modul?
A: Výstupní výkon lze nastavit od 0 do +13dBm. Viz
v manuálu konkrétní pokyny pro nastavení výstupu
moc.
Otázka: Jaká je kapacita paměti CMT2186A?
Odpověď: CMT2186A je vybaven 4-kB úložiště MTP programů, 512 bajtů
XRAM, 256-Byte IRAM a 512-Bit EEPROM pro využití paměti.
“`
Uživatelská příručka AN261-CMT2186A
CMT2186A
210-960 MHz OOK/ASK vysílač SoC
Vysílací mikrořadič CMT2186A Sub-1G
Uživatelská příručka
1. Tento dokument popisuje funkce, operace a použití CMT2186A. Je to návod pro inženýry, kteří používají CMT2186A.
2. Tato příručka je omezena délkou dokumentu a jsou zde uvedeny pouze uvedené registry funkčních modulů čipu. Podrobný popis registru naleznete v podrobné příručce registru CMT2186A. Uživatelé mohou lépe porozumět funkcím čipu pomocí tohoto dokumentu.
Copyright © HOPERF
Rev 0.1A | 1/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Funkce MCU
Atributy vysílacího modulu Sub-1G
CPU jádro
Pracovní frekvence: 210 – 960MHz
– Vysoce výkonná perioda jedné instrukce 1T-8051 kernal Modulated Mode: OOK / ASK
– Podporuje až 26 MHz (XOSC) nebo 24 MHz (HFOSC) Přenosová rychlost: 0.5 40 kbpsOOK
provozní frekvence s maximální účinností přístupu Výstupní výkon+13dBmMax.
20 MIPS
Pracovní proud 24mA @+13dBm433.92MHz CW
– Provozní spotřeba Sklad
Jednostranné vysoce účinné vysokofrekvenční vysílací PA třídy E
– Úložiště programu MTP 4 kB, podpora doby vymazání 10 kB
PA Rampse liší podle rychlosti přenosu dat
– 512 bajtů XRAM a 256 bajtů IRAM
– 512-bitová EEPROMpodpora 1,000,000 XNUMX XNUMX času vymazání
Pracovní stav
Moc
Teplotní rozsah je -40 – 85
– Reset při zapnutí a nízká voltage detekce
Pracovní voltagRozsah je 1.8V – 3.6V
– Vestavěný nezávislý LDO poskytuje napájení pro CPU a
digitální citcuit
Aplikace
– Zabudovaný ultranízkoenergetický ULPLDO dosahuje funkce Retence dálkového ovládání garážových vrat CPU/RAM/SFR a některých systémů dálkového ovládání dveří
periferie v režimu STOP I/O
Spotřebitelské bezdrátové dálkové ovládání Smart home
– 11/9 multifunkčních IO pinů (SOP16 / SOP14)
Zabezpečení domu
– Podporuje vysoce flexibilní mapování periferních funkcí
Zdroj RFID tagging
– Podpora přerušení/probuzení při změně úrovně
Bezdrátová senzorová síť
Zdroj hodin
Režim WM-Bus T1
- Podpora až 26 MHz XOSC (vysokorychlostní frekvenční krystal
oscilátor)
Balík
– Vestavěný vysokorychlostní 24MHz HFOSC (±1% RC oscilátor)
SOP16
– Vestavěná nízká spotřeba energie 32kHz LFOSC (±1% RC SOP14
oscilátor)
Ladění na čipu
– Hardwarový obvod 1-Wire debuggeru vestavěný do CPU
– Podpora Keil C51 pro online ladění programu
– Podporuje 3 hardwarové body přerušení, jednokrokové ladění periferií
– 1x UART
– 1x SPI – 1x CDR Obnovení hodin vstupu RX s jedním vodičem – 1x WDT nezávislý hardware – 1x časovač spánku 32KHz LFOSC
SOP-14
8.65 x 6 x 1.75 mm
SOP-16
9.9 x 6 x 1.75 mm
– 2x 16bitový jednoduchý časovač – 2x 16bitový multifunkční časovač 3 kanálový PWM/CCP
– 2x analogový komparátor Zabezpečení kódu
– Vypalování sériových portů a jednodrátové ladicí rozhraní
mají zamykací funkci
Copyright © HOPERF
Rev 0.1A | 2/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Zavedení
CMT2186A je nízkopříkonový SoC RF vysílač s integrovaným vylepšeným jádrem 1T-8051 1. který podporuje funkci bezdrátového přenosu modulace OOK/ASK mezi 210 ~ 960 MHz 2. Vysílací modul poskytuje nejen vysoce účinný jednokoncový PA s nastavitelným výstupním výkonem od 0 do
+13dBm a pouze 24mA potřebných pro přenos +13dBm; 3. Ale také poskytuje 4-KB MTP programovou paměť, 512-Byte XRAM, 256-Byte IRAM a 512-bit EEPROM; 4. Vestavěný ultranízkoenergetický ULPLDO podporuje čip pro ukládání stavu CPU, dat RAM a konfiguračního registru
data v režimu STOP 5. S funkcí online simulace 1-WIRE si uživatelé mohou stáhnout cílový ladicí kód přímo na čip
MTP prostřednictvím specializovaného 1-WIRE debuggeru a softwaru Keil C51, což je velmi pohodlné. 6. Podporuje externí 26MHz XO nebo vestavěný 24MHz HFOSC jako systémovou hlavní frekvenci a vestavěný nízký
výkon 32 kHz LFOSC lze použít pro probuzení časovačem s nízkým výkonem; 7. Podporuje také jednodrátový vstupní modul pro obnovu hardwarových hodin, který je pro jádro vhodný ke shromažďování
externí data synchronně (jako je příjem dat RX).
V kombinaci s přijímači řady NextGenRFTM CMOSTEK lze CMT2186A použít v široké řadě bezdrátových sítí s ultranízkým výkonem.
Číslo dílu
CMT2186A-ESR14 CMT2186A-ESR16
Informace o produktu.
Balík
SOP-14 SOP-16
Dimenze
8.65 mm x 6.00 mm x 1.75 mm 9.90 mm x 6.00 mm x 1.75 mm
Copyright © HOPERF
Rev 0.1A | 3/100 stránky
www.hoperf.com
kategorie
Uživatelská příručka AN261-CMT2186A
1 SYSTÉMOVÝ ARCHITEKT ………………………………………………………………………………………………………………………………………….. 7
2 PROCES PROVOZU SYSTÉMU A PRACOVNÍ REŽIM …………………………………………………………………………………. 8
2.1 PROCES PROVOZU SYSTÉMU……………………………………………………………………………………………………………………………… 8 2.2 PROVOZNÍ REŽIM SYSTÉMU………………………………………………………………………………………………………………………………… 9 2.3 OCHRANNÝ MECHANISMUS ……………………………………………………………………………………………………………………………………. 12
3 ROZHRANÍ PRO LADĚNÍ A VYPALOVÁNÍ ………………………………………………………………………………………………………….12
3.1 ROZHRANÍ 1-WIRE ONLINE LADENÍ A VYPALOVÁNÍ ………………………………………………………………………………………….. 12 3.2 ROZHRANÍ VYPALOVÁNÍ SBĚRNICE S3S………………………………………………………………………………………………………………………………… 13
4 T8051XC3 MIKRO OVLADAČ…………………………………………………………………………………………………………………………….14
4.1 ARCHITEKTURA PROCESORU………………………………………………………………………………………………………………………………. 14
5 STRUKTURA PAMĚTI ………………………………………………………………………………………………………………………………………… 17
5.1 ÚVOD……………………………………………………………………………………………………………………………………………………….. 17 5.2 REGISTRY ZVLÁŠTNÍCH FUNKCÍSSFR…………………………………………………………………………………………………………………………. 18 5.3 VŽDY ZAPNUTÝ REGISTR DOMÉNY (AON REG) …………………………………………………………………………………………………………. 19 5.4 REŽIM PŘÍSTUPU DO PAMĚTI ………………………………………………………………………………………………………………………….. 19
6 STRUKTURA RESETU……………………………………………………………………………………………………………………………………… 20
7 STRUKTURA HODIN …………………………………………………………………………………………………………………………………………..20
7.1 ZDROJ HODIN……………………………………………………………………………………………………………………………………………………….. 20 7.2 KALIBRACE HODIN …………………………………………………………………………………………………………………………………………. 22 7.3 DĚLENÍ FREKVENCE HODIN………………………………………………………………………………………………………………………………….. 22 7.4 OVLÁDÁNÍ BRÁNY HODIN ……………………………………………………………………………………………………………………………………. 22 7.5 SOUVISEJÍCÍ REGISTR………………………………………………………………………………………………………………………………………………. 26
8 PŘERUŠENÍ A PROBUZENÍ ………………………………………………………………………………………………………………………………….27
8.1 ÚVOD……………………………………………………………………………………………………………………………………………………….. 27 8.2 ZDROJ PROBUZENÍ……………………………………………………………………………………………………………………………………………………….. 27 8.3 ZDROJ PŘERUŠENÍ A KONTROLA PŘERUŠENÍ ……………… PŘERUŠENÍ ……………… PŘERUŠENÍ ………………. ………………………………………………………………………………………………………………………………… 28 8.4 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………………… 29
9 MODUL GPIO …………………………………………………………………………………………………………………………………………………..34
9.1 ZÁKLADNÍ FUNKCE ………………………………………………………………………………………………………………………………………….. 34 9.2 PŘEDSTAVENÍ STRUKTURY GPIO ………………………………………………………………………………………………………………………… 34 9.3 DIGITÁLNÍ VSTUP GPIO………………………………………………………………………………………………………36………………………………………………………………
Copyright © HOPERF
Rev 0.1A | 4/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
9.4 DIGITÁLNÍ VÝSTUP GPIO………………………………………………………………………………………………………………………………………… 36 9.5 ANALOGOVÝ VSTUP A VÝSTUP GPIO ……………………………………………………………………………………………………………………. 37 9.6 MAPOVÁNÍ DIGITÁLNÍHO VSTUPU GPIO…………………………………………………………………………………………………………………………. 37 9.7 MAPOVÁNÍ DIGITÁLNÍHO VÝSTUPU GPIO………………………………………………………………………………………………………………………. 39 9.8 DETEKCE PŘETOČENÍ ÚROVNĚ GPIO………………………………………………………………………………………………………………………. 45 9.9 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………………… 47
10 MODUL ČASOVAČE ……………………………………………………………………………………………………………………………………………….0
10.1 ZÁKLADNÍ FUNKCE ………………………………………………………………………………………………………………………………………….. 49 10.2 REŽIM ČASOVAČE0………………………………………………………………………………………………………………………………………………………… 0 49 REŽIM ČASOVAČE 10.3……………………………………………………………………………………………………………………………………………… 0 1 MODE50……………………………………………………………………………………………………………………………………………………… 10.4 0 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………………… 2
11 MODUL ČASOVAČE ……………………………………………………………………………………………………………………………………………….1
11.1 ZÁKLADNÍ FUNKCE ………………………………………………………………………………………………………………………………………….. 52 11.2 REŽIM ČASOVAČE1………………………………………………………………………………………………………………………………………………………… 0 52 REŽIM ČASOVAČE 11.3……………………………………………………………………………………………………………………………………………… 1 1 MODE53……………………………………………………………………………………………………………………………………………………… 11.4 1 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………………… 2
12 MODUL SPI …………………………………………………………………………………………………………………………………………..55
12.1 ZÁKLADNÍ FUNKCE ………………………………………………………………………………………………………………………………………….. 55 12.2 MOŽNOST KONFIGURACE ………………………………………………………………………………………………………………………………………… 56 12.3 PRACOVNÍ REŽIM………………………………………………………………………………………………………………………………………………….. 57 12.4 VLAJKA……………………………………………………………………………………………………………………………………………………….. 58 12.5 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………………… 59
13 MODUL UART ………………………………………………………………………………………………………………………………………….60
13.1 ZÁKLADNÍ FUNKCE ………………………………………………………………………………………………………………………………………….. 60 13.2 REŽIM SYNCHRONNÍHO ŘAZENÍ (MODE0)………………………………………………………………………………………………………………… 60 13.3 ASYNCHRONNÍ PLNĚ DUPLEXNÍ REŽIM (MODEDULEXNÍ REŽIM 1 S KONFIGURACE BA R3) ………………………………………… 62 13.4 ASYNCHRONNÍ PLNĚ DUPLEXNÍ REŽIM S PEVNOU PŘENOSOVOU RYCHLOSTÍ (REŽIM 2) ………………………………………………………………….. 65 13.5 ROZŠÍŘENÝ REŽIM USART …………………………………………………………………………………………………………………………… 66 13.6 REGISTRACE ………………………………………………………………………………………………………………………………… 68
14 MODUL ČASOVAČE A/ČASOVAČE B……………………………………………………………………………………………………………………………… 69
14.1 PROVOZNÍ ZPŮSOB …………………………………………………………………………………………………………………………………….. 70 14.2 REŽIM NAHORU ………………………………………………………………………………………………………………………………………………….. 71 14.3 NEPŘETRŽITÝ REŽIM ………………………………………………………………………………………………………………………………………………. 72 UP ………………………………………………………………………………………………………………………………………….. 14.4 73 MODUL ZACHYTIT/POROVNAT ………………………………………………………………………………………………………………………………… 14.5 75 EXAMPLES PRO RŮZNÉ REŽIMY ………………………………………………………………………………………………………………………….. 77 14.7 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………………… 79
Copyright © HOPERF
Rev 0.1A | 5/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
15 MODUL WATCHDOG (WDT) …………………………………………………………………………………………………………………….80 15.1 ZÁKLADNÍ FUNKCE ………………………………………………………………………………………………………………………………………………….. 80 15.2 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………… 80
16 ČASOVACÍ MODUL SLEEP …………………………………………………………………………………………………………………………..81 16.1 ZÁKLADNÍ FUNKCE ………………………………………………………………………………………………………………………………………………….. 81 16.2 KALIBRACE LPOSC………………………………………………………………………………………………………………………………………. 81 16.3 ………………………………………………………………………………………………………………………………… 81
17 KOMPARÁTOR ………………………………………………………………………………………………………………………………………………..82 17.1 ANALOGOVÝ VSTUP POROVNÁVAČE ………………………………………………………………………………………………………………………………… 82 17.2 REFERENČNÍ VOL.TAGE……………………………………………………………………………………………………………………………….. 83 17.3 PRACOVNÍ REŽIM SROVNÁVAČE …………………………………………………………………………………………………………………………….. 83 17.4 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………… 83
18 NÍZKÁ VOLTAGE RESET (LVR) ……………………………………………………………………………………………………………………………….84 19 NÍZKÁ HLASITOSTTAGE DETEKČNÍ MODUL ………………………………………………………………………………………………………………….84
19.1 ZÁKLADNÍ FUNKCE ………………………………………………………………………………………………………………………………………….. 84 19.2 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………………… 85 20 VYSÍLACÍ MODUL SUB-1G ……………………………………………………………………………………………………………………..85 ÚVOD……………………………………………………………………………………………………………………………………………………….. 20.1 85 ZPŮSOB VÝSTUPU PA…………………………………………………………………………………………………………………………………………….. 20.2 86 PROCES PŘENOSU REŽIMU VYROVNÁVACÍHO PARAMETRU ………………………………………………………………………………………………………………………………………………………………………………………………………….. REŽIM …………………………………………………………………………………………………………………. 20.3 86 SOUVISEJÍCÍ REGISTR ………………………………………………………………………………………………………………………………………………… 20.4 88 PŘEHLED BALENÍ ………………………………………………………………………………………………………………………………….20.5 89 BALENÍ CMT21A-ESR90 ………………………………………………………………………………………………………………… 21.1 2186 BALENÍ CMT14A-ESR90 …………………………………………………………………………………………………………………………. 21.2 2186 TOP HEDVÁBNÝ TISK……………………………………………………………………………………………………………………………………….16 91 DALŠÍ SOUVISEJÍCÍ DOKUMENT…………………………………………………………………………………………………………………….22 92 REVIZE HISTORIE …………………………………………………………………………………………………………………………………………….. 23 93 CONT …………………………………………………………………………………………………………………………………………………..24 DODATEK A!………………………………………………………………………………………………………………………………………………………….94
Copyright © HOPERF
Rev 0.1A | 6/100 stránky
www.hoperf.com
1 Systémový architekt
Uživatelská příručka AN261-CMT2186A
Vestavěný vysílač OOK / ASK pod 1 GHzCMT2186A je vysoce výkonný bezdrátový MCU 8051. Uživatelský program je vypálen na 4K Bytes MTP, který lze provozovat na taktovací frekvenci až 26 MHz. Čip integruje níže uvedené hlavní moduly:
Vysoce výkonné jádro 8051 s 1-Wire online ladicím obvodem; Bohaté digitální a analogové periferní zdroje. Modulovaný vysílací modul Sub-1G OOK / ASK
1-Wire (D10)
1-Wire Debug Hardware
Reset při zapnutí
Resetovat
Core / Momory 1T-8051 Core 4K-Byte MTP 512-Byte XRAM
Monitor dodávky
RSTn (D0)
256-Byte IRAM 16 x 32b EEPROM
Přerušení probuzení
doména AON
Nezávislý časovač Watchdog
I/O Change Scan
Časovač spánku
AON REG
INT
Autobus
XTAL
D0,1,2…
LFOSC_CLK
Konfigurace hodin
32 kHz LFOSC
24 MHz HFOSC
0
/ n
1
26 MHz XOSC
MCU_CLK SYS_CLK TX_CLK
DVDD GND
DLDO
ULPLDO
Autobus SFR
Konfigurace I/O portu
Digitální periferie řízené MCU_CLK
16bitový časovač 0
16bitový časovač 1
UART
Port 0
Port 1
Digitální periferie řízené SYS_CLK
SPI 16bitový časovač A
3kanálový PCA s PWM 16bitový časovač B 3kanálový PCA s PWM RX CDR
GPIO MUX
& Ovladače
Komparátor analogových periferií 0 Komparátor 1
LBD
Sub-1GHz vysílač ASK / OOK modulátor
PLL
Dělič
PA
D0,1,2…
AVDD TX
Graf 1- 1. Blokové schéma systému
Copyright © HOPERF
Rev 0.1A | 7/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
2 Operační proces systému a pracovní režim
2.1 Provozní proces systému
Proces provozu systému CMT2186A je zobrazen následovně:
POR power on reset Reset pinu RSTn
BOR svtage Reset detekce Resetování Watchdog
Počáteční zapnutí
Ano Hořák hoří
Režim vypalování MTP
MTP přes S3S
Žádný
Ano Režim online ladění
Žádný
Ladicí program stáhne program přes 1-Wire a
ladí to
Vnitřní manipulace při prvním zapnutí
(Oprava modulu, konfigurace MTP se projeví)
Úplné vypnutí
Operace uživatelského kódu
Vstupte do
Žádný
Vypnutí
Ano
Režim vypnutí
Žádný vstup do IDLE
Ano
CPU je pozastaveno ve stavu IDLE
Ne Vstup do STOP
Ano
Odemknout ULPLDOIn uchování stavu spánku)
Ano
POR popř
Žádný
RSTn reset
Ano
Žádný
Přerušit probuzení
Žádné přerušení probuzení
Ano
Odemkněte DLDO a hodiny
Restartujte MTP
Tabulka 2- 1. Tabulka provozních procesů systému
Copyright © HOPERF
Rev 0.1A | 8/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Jak je znázorněno v grafu výše, počáteční zapnutí čipu se spustí povolením kolíku DVDD a resetováním POR. Když pin RSTn a BOR svtagPokud jsou detekce resetovány, stejně jako se projeví reset hlídacího psa, čip vstoupí do procesu zapnutí, který je dále označován jako „zapnutí“. Po zapnutí se otevře časové okno 6 ms, a pokud je v okně detekován příkaz k vypalování spuštěný sériovým portem S3S, přejde do režimu vypalování, což umožňuje vypalovačce vypálit interní MTP; Pokud je v okně detekován příkaz ladění spouštěný rozhraním 1-Wire, přejde do režimu ladění, což uživatelům umožňuje ladit uživatelský kód prostřednictvím softwaru a ladicího programu Keil C51. Po dokončení vypalování nebo ladění musí být čip před dalšími operacemi vypnut, aby bylo možné znovu aktivovat.
Pokud se režim vypalování nebo režim ladění nespustí do 6 ms po zapnutí, čip bude pokračovat v interním zpracování počátečního zapnutí, včetně napájení a korekce hodin a konfigurace v oblasti MTP Config. Uživatelský kód pak začne běžet od adresy 0x0000, během které může uživatel nakonfigurovat registry tak, aby uvedl čip do režimu SDN, IDLE nebo STOP. V režimu SDN jej lze probudit pouze resetem při zapnutí nebo resetem externího pinu. V režimu IDLE může být probuzen přerušením způsobeným změnami úrovně I/O nebo reverzací výstupu komparátoru. V režimu STOP může uživatel probudit přerušení způsobená změnou I/O úrovně, časovým limitem časovače spánku nebo výstupem komparátoru, po kterém může uživatel zapnout DLDO, hodiny a MTP napájení digitálního obvodu, takže uživatelský kód může uvést čip do stavu před uspáním.
2.2 Provozní režim systému
Čip má následující čtyři pracovní režimy:
Tabulka 2-1. Pracovní režimy CMT2186A
Pracovní režim Normální NEČINNÝ
STOP (zachování)
SDN
Popis
Normální stav
Aktivováno DLDO System ClockHFOS nebo XOSCenabled CPU kernal pozastavena Periferie fungují ULPLDO System ClockHFOS nebo XOSCdisabled CPU core uložte veškeré úložiště, periferie
konfigurace: a stav. LFOSC povoleno, modul Always-On a
práce komparátoru Stav GPIO zůstává nezměněn ULPLDO vypnuto Systémové hodinyHFOS nebo XOSC vypnuto
Režim
Uživatelský program se automaticky spustí po vypálení a zapnutí
Nastavte bit IDLE v registru PCON
Nastavte bit STOP v registru PCON
Nastavte bit SLEEP v registru AON_SFR_03
1. Nastavte bit PD_LFOSC v registru AON_SFR_04 pro deaktivaci LFOSC.
Zdroj probuzení
Žádný
Změna I/O úrovně Výstup komparátoru
Změna I/O úrovně
Komparátor
překlopení výstupu
Spát
časovač
vypršel časový limit
Změna I/O úrovně Reset napájení
Copyright © HOPERF
Rev 0.1A | 9/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Pracovní režim
Popis
Režim
Zdroj probuzení
Jádro CPU uložte celé úložiště, periferie 2. Nastavte bit TIMER_SLEEP_EN v resetu pinu RSTn
konfigurace: a stav.
Registrujte se HV_SFR_02 pro vypnutí
LFOSC povoleno, modul Always-On a časovač spánku.
komparátor deaktivován
3. Nastavte bit STOP v PCON
Stav GPIO zůstává nezměněn
4. Nastavte bit SLEEP v
AON_SFR_03
V porovnání se spotřebou energie ve všech čtyřech režimech, Normální > NEČINNÝ > STOP > SDN. CMT2186A má dva napájecí kolíky, AVDD napájí interní RF obvod a DVDD napájí digitální modul Always-On a analogový modul kromě RF. Většina digitálních modulů pracuje pod vestavěným DLDO a lze je přepnout na napájení ULPLDO při STOP, aby se dosáhlo režimu zachování nízkého úniku.
Režim Retention umožňuje čipu zotavit se z předchozího stavu ihned po probuzení STOP a pokračovat v práci bez nutnosti restartovat program. V režimu uchování jsou všechna data RAM uložena; Data MTP a EEPROM lze ukládat bez napájení.
Tabulka 2-2. CMT2186A Ukládá obsah v režimu STOP
Skladování
MTP EEPROM
IRAM XRAM
Ukládání dat
Režim napájení File Uložit File Uložit ULPLDO ULPLDO
V režimu Retention se resetuje jak při zapnutí (POR), tak objem v reálném časetage Monitor (Power Monitor) zůstává v provozním stavu. Následuje seznam, zda všechny funkční moduly ukládají konfiguraci a pracovní stav SFR, zda fungují a odpovídající režim napájení.
Tabulka 2-2. CMT2186A Ukládá obsah v režimu STOP
Číslo
Název modulu
Configuration Save State
uloženo
Pracovní stav
Režim napájení
1
Watch Dog Timer
DVDD
Copyright © HOPERF
Rev 0.1A | 10/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Číslo
Název modulu
Configuration Save State
uloženo
Pracovní stav
Režim napájení
2
Časovač spánku
DVDD
3
Skenování klíčů
DVDD
4
Srovnávač 0
DVDD
5
Srovnávač 1
DVDD
6
Registr UID a CFG
×
DVDD
7
Stav konfigurace IO
×
DVDD
8
Jádro 1T-8051
×
ULPLDO
9
Časovač 0
×
ULPLDO
10
Časovač 1
×
ULPLDO
11
UART
×
ULPLDO
12
Port 0
×
ULPLDO
13
Port 1
×
ULPLDO
14
SPI
×
×
ULPLDO
15
Časovač A
×
×
ULPLDO
16
Časovač B
×
×
ULPLDO
17
CDR
×
×
ULPLDO
18
Sub-1G vysílač
×
×
ULPLDO
19
LBD
×
×
Vypněte napájení
20
1-Wire Debug
×
×
×
Vypněte napájení
Ve výše uvedené tabulce existují očíslované moduly 1-7 v oblasti Always-On (Vždy zapnuto), která je označována
do oblasti AON níže. Tato oblast je přímo napájena z DVDD a únik z modulu je velmi malý
když to nefunguje. Mezi nimi lze povolit hlídací pes, časovač spánku, skenování klíčů a dva komparátory
nebo zakázat v režimu STOP podle konfigurace uživatele; Konfigurace a stav IO se však nemění
v režimu STOP v registru UID & CFG.
CPU jádra a periferie modulů od 8 do 13 jsou řízeny MCU_CLK. Všechny konfigurace a aktuální stav této části okruhu jsou uloženy v režimu STOP bez jakékoli další operace.
Moduly 14 – 18 jsou periferie řízené SYS_CLK, z nichž všechny konfigurace obvodů jsou uloženy v režimu STOP, přičemž se neukládá aktuální pracovní stav. Uživatel nemusí moduly po probuzení znovu konfigurovat a začne znovu pracovat, což je něco jako automatický reset modulu.
Copyright © HOPERF
Rev 0.1A | 11/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Moduly 19-20 jsou moduly pro vypnutí v režimu STOP, které neuloží žádný obsah.
2.3 Ochranný mechanismus
Pro zajištění bezpečnosti čipu po vypálení je uvnitř čipu navržen bezpečnostní mechanismus. V oblasti Config MTP je ochranný bit READ_LOCK. Když je tento ochranný bit vypálen, nemůže S3S přečíst uživatelský kód a konfiguraci MTP. Pokud uživatel potřebuje odemknout, lze MTP znovu vypálit přes vypalovačku, přičemž dojde k vymazání původního uživatelského kódu a konfigurace, včetně bitu READ_LOCK.
3 Rozhraní pro ladění a vypalování
3.1 Rozhraní pro online ladění a vypalování 1-WIRE
CMT2186A lze připojit k PC přes emulátor CMT2186A od CMOSTEK pro online ladění a vypalování MTP. Následující obrázek ukazuje připojení nástroje a připojení rozhraní mezi debuggerem a CMT2186A. Je třeba poznamenat, že 1-Wire ladicí rozhraní musí obsadit pin D10 a doporučuje se, aby uživatel nechal tento pin během fáze ladění prázdný. Vypalování MTP je realizováno prostřednictvím třívodičového rozhraní S3S.
SMA
Spusťte COM USB
CMT2186A
LED
K1
K2
K3
K4
CMOSTEK
www.cmostek.com
Simulátor
CMT2186A
CMT2186A 1-Wire simulátor
USB typu B
CMT2186A-EB nebo CMT2186A-DM
Graf 3-1. Schéma připojení 1-Wire Tool
1-WIRE online ladicí rozhraní, obecné funkce lze dosáhnout na platformě Keil C51: Plná rychlost provozu, zastavení, jednokrokové provedení, vícekrokové provedení a další režimy ladění; Podpora softwarových bodů přerušení (libovolně); Podporuje 3 hardwarové body přerušení Čtení a zápis R0~R7, část registru stavu systému, paměť a další interní úložiště; Reset keyRST symboldisabledit lze dosáhnout pouze použitím exit: pro opětovné připojení.
Copyright © HOPERF
Rev 0.1A | 12/100 stránky
www.hoperf.com
Běž, stop, krok
Bod zlomu
Uživatelská příručka AN261-CMT2186A
stav systému a r0~r7
paměťová data
Graf 3-2. Snímek obrazovky ladění 1-Wire na Keil C51
3.2 Rozhraní pro vypalování sběrnice S3S
Sběrnice S3S se používá pro vypalování MTP, které je omezeno na vypalovací a produkční nástroje a obecně není přístupné uživatelům. Pokud bylo požadováno znát konkrétní časování a komunikační protokol sběrnice S3S, kontaktujte prosím prodejce nebo zástupce HOPERF.
SMA
Spusťte COM USB
CMT2186A
LED
K1
K2
K3
K4
CMOSTEK
Programátor
www.cmostek.com CMT216xA & CMT2186A
CMT2186A 1-Wire simulátor
USB typu B
CMT2186A-EB nebo CMT2186A-DM
Graf 3-3. Online schéma zapojení vypalovacího nástroje
Copyright © HOPERF
Rev 0.1A | 13/100 stránky
www.hoperf.com
XTAL
CMT2186A-ESR16
SOP16
GND DVDD a AVDD
5
X1
8 2 a 7
D6/S3S_CSB 11 D7/S3S_SCL 15 D8/S3S_SDA 14
13 D10/1-Wire
GND VCC
Uživatelská příručka AN261-CMT2186A
Rozhraní hořák/simulátor
2
1
S3S_CSB/D6
4
3
6
5
8
7
10
9
S3S_SCL/D7 S3S_SDA/D8 1-Wire/D10
Pouze pro simulátor
Graf 3-4. Schéma připojení vypalovacího/simulačního rozhraní
4 Mikro ovladač T8051XC3
4.1 Architektura procesoru
CMT2186A přijímá T8051XC3 jako hlavní řídicí jednotku systému, včetně vylepšeného jádra 1T-8051 s jednou periodou provozní instrukce, která je kompatibilní s příkazovým seriálem MCS-51. Struktura je znázorněna jako graf 4-1.
KÓD / XDATA
IDATA
CPU Core ALU
Dekodér BIU
T8051XC3
PMU
Řízení přerušení
Časovač 0
Časovač 1
SFR
1-Wire Debug
Série 0
Port 0
Port 1
Graf 4- 1. Blokové schéma systému T8051XC3
Jak je znázorněno na obrázku, T8051XC3 obsahuje následující části:
Jádro CPU se skládá z jednotky rozhraní sběrnice BIU, jednotky pro dekódování instrukcí dekodéru a ALU
Copyright © HOPERF
Rev 0.1A | 14/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
aritmetická logická jednotka Jednotka řízení spotřeby podporuje režimy IDLE a STOP Řídicí jednotka přerušení podporuje až 8 externích přerušení s řízením priority přerušení úrovně 2 Dva časovače, časovač 0 a časovač 1 Jeden sériový port, sériový port 0, může implementovat režim UART 11bitový paralelní port, Port0 a Port1[1], je omezen pouze počtem vstupů/výstupů Port1,
k dispozici v nízkých 0-3 bitech Jednodrátový (1-WIRE) modul online ladění, podpora platformy Keil C51 pro programování softwaru
vývoj a ladění
Poznámka: [1] Port0 a Port1 se dodávají s jádrem T8051XC3 a nejsou přímo ekvivalentní GPIO čipu. Ve srovnání s jádrem CPU patří GPIO k periferii a Port0 a Port1 mohou být mapovány na GPIO.
T8051XC3 využívá 8bitovou sběrnici SFR pro připojení výše zmíněných periferií. CMT2186A podporuje více periferií, které jsou připojeny k jádru přes sběrnici SFR. Kromě toho jádro používá samostatnou sběrnici IDATA pro připojení k interní paměti IRAM a sdílenou sběrnici CODE/XDATA pro připojení k MTP a XRAM.
4.2 Instrukční sady:
Instrukční sada 8051 se skládá ze 111 instrukcí, z nichž každá se skládá z 1,2, 3 nebo XNUMX bajtů. Provádění instrukce se počítá v jediném hodinovém cyklu. Další informace o všech instrukcích a cyklech jejich provádění naleznete v příloze A.
4.3 Základní počáteční registr 8051
Skupina počátečních přidružených registrů jádra 8051 je uvedena v následující tabulce. Konkrétní obsah a význam každého registru naleznete v podrobné příručce registru CMT2186A.
Tabulka 4-1. Počáteční registry 8051 Core
Jméno
P0
SP DPL DPH PCON
Stránka SFR
0
0 0 0 0
Adresa
0x80
0x81 0x82 0x83 0x87
Výchozí hodnoty
0x00
0x00 0x00 0x00 0x00
Funkce
Registr Port0, podporuje bitový přístup, odpovídá osmi portům jádra P0.0-p0.7 Registr Stack Pointer Registr Data pointer (DPTR), nízký 8 bitový registr Data pointer (DPTR), vysoký 8 bitů Power Control Register
Copyright © HOPERF
Rev 0.1A | 15/100 stránky
www.hoperf.com
Jméno
TCON TMOD
TL0 TL1 TH0 TH1
P1
SCON0 SBUF0
IEN0 IPL0 PSW ACC IEN1
B IRCON1
IPL1
Stránka SFR
0 0 0 0 0 0
0
0 0 0 0 0 0 0 0 0 0
Uživatelská příručka AN261-CMT2186A
Adresa
0x88 0x89 0x8A 0x8B 0x8C 0x8D
0x90
0x98 0x99 0xA8 0xB8 0xD0 0xE0 0xE6 0xF0 0xF1 0xF6
Výchozí hodnoty
0x00 0x00 0x00 0x00 0x00 0x00
0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Funkce
Řídicí registry Timer0 a Timer1 Pracovní režim Registry Timer0 a Timer1 Nízký 0 bitový registr Timer8 1 bitů Timer 8 vysoký 0 bitový registr Timer8 vysoký 1 bitový registr Port8, podpora bitového přístupu, odpovídající osmi portům jádra z P1 – P1.0. Vzhledem k I/O číslům je přístupný pouze P0.7 P1.0. Registr řízení sériového portu Registr mezipaměti dat sériového portu Registr povolení přerušení 1.3 Registr priority přerušení 0 Stav programu/ registr značek Registr povolení přerušení registru 0 B Registr Registr příznaku požadavku na přerušení periferie Registr priority přerušení 1
Copyright © HOPERF
Rev 0.1A | 16/100 stránky
www.hoperf.com
5 Struktura paměti
5.1 Úvod
Architektura úložiště na čipu CMT216xA je znázorněna v grafu 5-1.
Uživatelská příručka AN261-CMT2186A
0xFFFF
KÓD
Nepoužitý
0x0200 0x0FFF
0x0000
4K Bytes MTP (kód)
KONFIG
512 bitů
0x0040
MTP (ID & Config) 0x0000
0xFF
0x80 0x7F
0x30 0x2F 0x20 0x1F 0x00
IDATA / DATA
Horních 128 bajtů IRAM
(Nepřímý přístup)
Registry speciálních funkcí Stránka 0 (Přímý přístup)
Registry speciálních funkcí Stránka 1 (Přímý přístup)
Nižší 128 bajtů IRAM
(Přímý nebo nepřímý přístup)
Bitově adresovatelné
Pracovní registry
0xFFFF
XDATA
Nepoužitý
0x0200 0x01FF
0x0000
512 bajtů XRAM
Graf 5-1. CMT2186A Úložiště a logická adresa
Úložný prostor CMT2186A se skládá ze 3 prostorů.
Prostor programového kódu Prostor, kde je uložen a načten kód jádra 8051 ke spuštění, nosičem je 4K Bytes MTP, který lze několikrát vymazat. MTP také podporuje konfigurační prostor 512 bitů pro ukládání uživatelských ID a některých specifických konfigurací funkcí čipu. Obsah kódu a konfiguračního prostoru je vypálen přes vypalovačku. Uživateli je k dispozici celý kódový prostor o velikosti 4 kB a kód se spustí při 0x0000.
Vnitřní datový prostor Jádro 8051 obsahuje 256 bajtů vnitřního datového prostoru pro rychlý přístup MCU. Vnitřní DATA prostor lze rozdělit na DATA, IDATA a SFR podle přístupové metody, která odpovídá klíčovým slovům v kompilátoru Keil C51 a nosičem je 256 Bytů registrů IRAM a SFR. SFR je rozdělen na dvě stránky, které lze vybrat bitem SFR_PAGE_SEL.
Externí datový prostor Uložení 8051 externích dat, XDATA je uloženo v 512 bytech XRAM. Uživatelé mohou také ukládat specifické
data, která je třeba uložit při vypnutí do 512bitové EEPROM, ke které lze přistupovat přes SFR. Kromě toho jsou v oblasti AON některé AON_REGS, tyto registry se používají hlavně ke konfiguraci
Copyright © HOPERF
Rev 0.1A | 17/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
a řídit moduly a I/O regionu AON. Uživatelé k nim mohou přistupovat nepřímo prostřednictvím SFR.
Tabulka 5-1. Popis vnitřní paměti;
Úložný prostor
Skladování
Schopnosti logické adresy
Popis
Prostor kódů programu
MTP
0x0000 – 0x0FFF
4 kB bytů
Prostor pro běh uživatelského programu, Keil C51 potřebuje k definování proměnných použít kód klíčového slova.
IDATA bitů nízké úrovně, lze k němu přistupovat přímo i nepřímo. Navíc 16bajtový
Interní datový prostor
IRAM
0x00 – 0x7F 0x80 – 0xFF
128 128 bajtů XNUMX XNUMX bajtů
adresovatelný prostor je poskytován v rozsahu adres 0x20-0x2F. Keil C51 lze definovat pomocí klíčového slova data nebo idata a proměnné, ke kterým přistupuje bit, lze definovat pomocí sbit. K bitům vysoké úrovně IDATA lze přistupovat nepřímo. Keil C51 musí používat keywords.k definování idata.
8051 má přímý přístup k registru speciálních funkcí
SFR
0x80 - 0xFF
145 bajty
mezi rozsahem adres ve vnitřní paměti RAM, včetně 2 stránek stránky 0 a stránky 1, které se porovnávají prostřednictvím bitu SFR_PAGE_SEL SFR.
XRAM
0x0000 – 0x01FF
512 bajty
Keil C51 potřebuje k definování proměnných použít kód klíčového slova.
Externí datový prostor
EEPROM
0x00 – 0x1F
512 bitů
16bitová x 32 víceprogramová paměť. K jádru se přistupuje nepřímo přes SFR nebo přes programové zarovnání open source API, aby se zvýšilo jeho využití.
AON REG
0x00 – 0x1F
32 bajty
K registrům umístěným v regionu AON má jádro nepřímo přístup přes SFR.
Poznámky: [1]. Po naprogramování MTP se vypálená data (uživatelský program) neztratí bez ohledu na to, zda je systém napájen nebo ne, nebo v jakém režimu systém pracuje.
[2]. Po přepsání EEPROM (vyžaduje stabilní napájení během procesu přepisování), přepsaná datase neztratí bez ohledu na to, zda je systém napájen či nikoli, nebo v jakém režimu systém pracuje. [3] AON REG je na reginu AON obsah se neztratí, dokud bude DVDD napájeno. [4] Obsah IRAMXRAM a některé SFR lze uložit v režimu STOP.
5.2 Registry speciálních funkcíSFR
Jádro 8051 může přistupovat přímo k SFR, protože se jedná o vnitřní paměťový prostor. Sériové produkty CMT2186A jsou bohaté na funkce a související nakonfigurované SFR, takže distribuci přístupu provádíme po stránce, tj. Stránka 0 a 1. Stránka 0 obsahuje většinu konfigurace a ovládání periferií a Stránka 1 obsahuje registry EEPROM a konfigurace napájení PA. Proto je nutné potvrdit, že bod Page je správný, když jste
Copyright © HOPERF
Rev 0.1A | 18/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
přímý přístup k odpovídajícímu SFR, jinak je snadné způsobit chyby konfigurace.
SFR je napájen z ULPLDO v režimu STOP, což zajišťuje, že většinu konfigurací periferií lze uložit s nízkým únikem.
5.3 Vždy zapnutý registr domén (AON REG)
Vždy zapnutý (AON) doménový systém je napájen přímo z DVDD a obsahuje watchdog, časovač spánku, detekci změn I/O a 32bajtový registr AON REG. Uživatelé mohou přistupovat k AON REG nepřímo prostřednictvím registrů AON_ADDR, AON_WDATA a AON_RDATA v SFR. Mezi objekty řízené a konfigurované těmito registry patří: tři periferie v doméně AON výše, dva analogové komparátory a všechny I/O. Zároveň je v AON REG 8 bajtů a při prvním zapnutí čipu systém automaticky zkopíruje 64bitové uživatelské ID v MTP do 8bajtového registru, což je pro uživatele pohodlné. Uživatelé mohou také zdarma používat 8bajtový registr pro jiné účely.
5.4 Režim přístupu do paměti
Režim přístupu do paměti je uveden v tabulce 5-2.
Tabulka 5-2. Režim přístupu do paměti
Typ paměti
Způsob přístupu
Example
KÓD
Definice konstanty v programu pomocí pole kódu uint8_t[3] = {0x12, 0x34, 0x56 };
klíčové slovo "kód"
XDATA
Definice proměnné v programu pomocí uint8_t xdata tx_buf[64];
klíčové slovo „xdata“
IDATA
Definice proměnné v programu pomocí uint8_t xdata tx_buf[3];
klíčové slovo „idata“
SFR
Adresa přímého přístupu[2]
IEN0= 0x00;
AON REG
Přístup přes SFR[1]
Žádný
EEPROM
Přístup přes SFR nebo funkce API[2]
Žádný
Poznámky:
[1] Úředník ukáže, jak se k těmto rejstříkům dostat. [2] Úředník ukáže, jak získat přístup k těmto registrům a zdrojovému kódu API. API lze použít ke zvýšenípočet vymazání EEPROM.
Copyright © HOPERF
Rev 0.1A | 19/100 stránky
www.hoperf.com
6 Resetovat strukturu
CMT2186A má čtyři resetovací systémy, včetně:
Uživatelská příručka AN261-CMT2186A
Power on reset POR POR se aktivuje pouze jednou, když je DVDD zapnuto.
svtagReset detekce (BOR) BOR se generuje, když na DVDD dojde k abnormálním výkyvům, aby se zabránilo záměně čipu.
Pin Reset RSTn Resetovací pin RSTn multiplexuje pin D0 a ve výchozím nastavení je povolen. Uživatelé jej mohou zakázat poté
zapnutí, pokud není potřeba tuto funkci používat.
Watchdog ResetWDT_RSTn Watchdog reset je reset, který zabraňuje spuštění programu nebo pádu systému.
Když uživatelský program běží normálně, je nutné pravidelně „krmit psa“, aby se zabránilo resetování způsobenému vypršením časového limitu hlídacího časovače.
Všechny tyto čtyři resety mají stejný účinek, to znamená, že po spuštění resetu bude čip poprvé znovu napájen.
7 Struktura hodin
7.1 Zdroj hodin
CMT2186A má tři hlavní zdroje hodin, konkrétně 26 MHz vysokorychlostní krystalový oscilátor XOSC, 24 MHz interní vysokorychlostní RC oscilátor HFOSC a 32 kHz interní nízkorychlostní RC oscilátor LFOSC. Uvnitř čipu je zabudován rafinovaný hodinový vtokový mechanismus, aby uživatelé mohli ušetřit co nejvíce energie.
Copyright © HOPERF
Rev 0.1A | 20/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Analogový
13 MHz / 2
Reference Sub-1G TX PLL
Digitální jádro
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
timer0_clk
G
timer1_clk
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 (pro kalibraci)
Digitální AON
lfosc_clk
spím_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
Graf 7-1. Blokové schéma systému
Jak je znázorněno na obrázku výše, XOSC slouží jako referenční hodiny pro bezdrátový vysílač Sub-1G PLL a používá se k řízení modulu řízení a nastavení digitálního přenosu po frekvenčním dělení. Systémové hlavní hodiny (SYS_CLK) jsou standardně poskytovány z HFOSC a HFOSC lze kalibrovat s přesností ±1 %. Pokud chce uživatel zlepšit přesnost hlavních hodin, lze při vypalování MTP nakonfigurovat příslušnou konfiguraci tak, aby čip po zapnutí automaticky přepnul hlavní hodiny na XOSC a přesnost lze zlepšit na přesnost samotného krystalového oscilátoru, jako je ±10 ppm, a zároveň zvýšit určitou spotřebu energie. LFOSC poskytuje hodiny pro časovače spánku a speciálně pro hlídací pes, které mohou po kalibraci dosáhnout přesnosti ±1 %.
Copyright © HOPERF
Rev 0.1A | 21/100 stránky
www.hoperf.com
7.2 Kalibrace hodin
Uživatelská příručka AN261-CMT2186A
Po odeslání čipu budou HFOSC a LFOSC zkalibrovány a výsledky budou vypáleny na MTP. Hardwarový korekční modul lze také vyvolat manipulací s registrem SFR pro korekci dvou hodin při používání.
Kalibrace HFOSC vyžaduje použití XOSC jako referenčních hodin. Pokud během aplikace není žádné spojení mezi čipem a externím krystalovým oscilátorem (jako je aplikace bezdrátového přenosu), XOSC se nemůže normálně přizpůsobit a HFOSC nelze zkalibrovat. Před opravou HFOSC je nutné zajistit, aby HFOSC sloužil jako zdroj hodin SYS_CLK, nastavit poměr HFOSC_DIV2_EN v SFR na 1 a používat hodiny HFOSC jako SYS_CLK po poloviční frekvenci. Tím se zabrání nadměrnému zvýšení frekvence HFOSC během procesu korekce, které způsobí poruchu systému.
Kalibrace LFOSC vyžaduje SYS_CLK jako referenční hodiny. Pokud uživatel zvolí HFOSC jako zdroj hodin pro SYS_CLK prostřednictvím vypalování MTP, doporučuje se nejprve opravit HFOSC a poté LFOSC, pro které přesnost HFOSC určuje přesnost LFOSC.
Konkrétní operace opravy může odkazovat na oficiální open source rutinní kód.
7.3 Frekvenční rozdělení hodin
Uživatel může ovládat frekvenční dělič pro rozdělení SYS_CLK pro generování MCU_CLK. 8bitový koeficient dělení frekvence děliče lze konfigurovat od 1 do 255 kromě 0. Maximální pracovní frekvence MCU_CLK je tedy 24 MHz (HFOSC) nebo 26 MHz (XOSC) a minimální pracovní frekvence je 94 kHz (HFOSC) nebo 102 kHz (XOSC).
SYS_CLK neprovádí za normálního provozu žádné frekvenční dělení kromě výše popsané situace při kalibraci (která ovlivní i MCU_CLK). Periferie řízené SYS_CLK, SPIM, SPIS, TIMERA, TIMERB a CDR mají vlastní pracovní frekvenci konfigurace registrů SFR kromě LBD, která používá pevnou frekvenci hodin. Není tedy potřeba ovládat frekvenční dělení hodin ovladače.
LFOSC_CLK řídí časovač spánku a časovač watchdog přímo bez jakéhokoli zpracování frekvenčního dělení.
7.4 Ovládání brány s hodinami
Aby bylo možné plně hrát charakteristiku nízké spotřeby energie čipu, čip poskytuje jedinečnou hodinovou bránu pro každý modul, která nejen řídí hodiny samotného modulu, ale také řídí hodiny.
Copyright © HOPERF
Rev 0.1A | 22/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
příslušného registru SFR. Clock gating je ve výchozím nastavení zapnutý. Doporučuje se, aby uživatel vypnul hradlové hodiny modulu, který nemusí pracovat ihned na začátku programu po konfiguraci všech SFR, a zapnul hodiny pouze tehdy, když je potřeba modul nakonfigurovat, ovládat a používat.
Níže je uveden odpovídající řídicí modul pro každé hodinové hradlo a také podrobný registr SFR:
Graf 7-1. Hodinové hradlování odpovídajících modulů a registrů
Ovládání brány hodin
TX_CLK_EN
CPU_CLK_EN
Modul
OOK / ASK Vysílací ovladač a
modulátor
CPU jádro
Stránka SFR
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Žádný
DEBUG_CLK_EN
1-Wire debugger
Žádný
1
1
1
EE_CLK_EN
řadič EEPROM
1
1
1
1
Adresa SFR
0xDD 0xDE 0xDF 0xE1 0xE8 0xE9 0xEA 0xEB 0xEC 0xED 0xEE 0xEF 0xF2 0xF3 0xF8 0xF9 0xFA 0xFB 0xFC Žádné
Žádný
0x2A 0x2B 0x2C 0x2D 0x30 0x31 0x32
Název 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 RAMP_STEP_L PA_IDAC_CODE LBD_CTL_0[1] LBD_CTL_1[1] Přepínat automaticky podle pracovního režimu Přepínat automaticky podle toho, zda vstoupit do režimu ladění EE_CTL EE_ADDR EE_WDATA_H EE_WDATA_L EE_RDATA_H EE_RDATA_L EE_STA
Copyright © HOPERF
Rev 0.1A | 23/100 stránky
www.hoperf.com
Ovládání brány hodin
Modul
IOINT_CLK_EN
IO a řadič přerušení
PORT0_CLK_EN PORT1_CLK_EN TIMER0_CLK_EN
TIMER1_CLK_EN
UART_CLK_EN
Port 0 Časovač portu 1 0
Časovač 1
UART 0
ANA_CLK_EN
Analogový ovladač obvodu
SPIM_CLK_EN SPIS_CLK_EN
SPI master machine SPI slave stroj
TIMERA_CLK_EN
Časovač A
Stránka 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 0 0
Adresa SFR
0x33 0x92 0x93 0x94 0x95 0xA1 0xA2 0xA3 0xA4 0xA5 0xA6 0xA9 0xAA 0xAB 0xAC 0xAD 0xB0 0x1 0x80xB 0x90 0x8xB 0x8 0x8 0x8 0xE98 0xE99 0xE2 0xE3 0xE4 0x5 0x7 0x96 0x97 0xB96 0xB97 0xBA 7xBB 0xBC
Uživatelská příručka AN261-CMT2186A
Název 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_OUTA_SEL_SELGPIO_OUTA_SEL_SELGPIO_OUTA_SEL_SEL GPIO_OUTA_SEL_SEL GPIO_OUTD_SEL GPIO_OUTE_SEL GPIO_OUTF_SEL P08051 Počáteční registrace P18051 Počáteční registrace TL08051 Počáteční registrace TH08051 Počáteční registrace TL18051 Počáteční registrace TH18051 Počáteční registrace SCON08051 Počáteční registrace SCON08051 Počáteční registrace SCON4 ANA_5 Počáteční registrace SBUFCTL ANA_CTL_6 ANA_CTL_7 ANA_CTL_8 ANA_CTL_0 SPI_CTL_1 SPI_CTL_0 SPI_CTL_2[1] SPI_CTL_2[0] TACLK_DIV_H TACLK_DIV_L TAC_H TAC_L TACCRXNUMX_H
Copyright © HOPERF
Rev 0.1A | 24/100 stránky
www.hoperf.com
Ovládání brány hodin
Modul
TIMERB_CLK_EN
Časovač B
CDR_CLK_EN
Restaurátor hodin
LBD_CLK_EN LFOSC_CLK_EN HFOSC_CLK_EN SLTMR_CLK_EN
Nízký objemtage detektor LFOSC kalibrace LFOSC kalibrace Sleep timer
Stránka SFR
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Žádný Žádný Žádný Žádný
WDG_CLK_EN
Watchdog Timer
Žádný
Adresa SFR
0xBD 0xBE 0xBF 0xC0 0xC1 0xC2 0xC3 0xC4 0xC5 0xC6 0xC7 0xC8 0xC9 0xCA 0xCB 0xCC 0xCD 0xCE 0xCF 0xD1 0xD2xD0 3xD0 4xD0 5xD0 6xDA 0xDB 7xDC 0x8D 0x9E 0x0F Žádný Žádný Žádný Žádný
Žádný
Uživatelská příručka AN261-CMT2186A
Název 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 TBCLK_TBCHCR0L TBCLK 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 Ovládá pouze modul LFO CDR_DR_DR_1] Řídí pouze modul LFOSC Modul HFOSC[2] Automaticky se přepíná pomocí modulu přepínače AON_REG[1] Automaticky se přepíná prostřednictvím modulu
Copyright © HOPERF
Rev 0.1A | 25/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Brána s hodinami
Modul
SFR
SFR
Název SFR
Řízení
Strana
Adresa
Přepínací modul AON_REG[4]
Poznámky:
[1] Konfigurace registru LBD ovlivňuje část funkce obvodu TX, takže hradlové hodiny jsou řízeny TX_CLK_EN,a hradlové hodiny LBD_CLK_EN řídí pouze samotný modul LBD. Je nutné detekovat baterii voltage před
přenos pro kompenzaci vysílacího výkonu v provozu, proto se doporučuje, aby uživatel zapnul TX_CLK_EN a
LBD_CLK_EN ve stejnou dobu před přenosem. Pokud uživatel potřebuje použít modul LBD sám, když ne
vysílání, povolením TX_CLK_EN používat registry LBD_CTL_0 a LBD_CTL_1 a otevřením LBD_CLK_EN
funguje modul LBD.
[2] Když SPIM_CLK_EN = 1 nebo SPIS_CLK_EN = 1, hodiny obou registrů SPI_CTL_0 a SPI_CTL_1 se přepnouna.
[3] Při použití korekčního modulu LFOSC nebo HFOSC je řízen registrem ANA_CTL_8, je tedy nastaveno ANA_CLK_ENna 1.
[4] Všechny AON_REG nevyžadují clock gating a hodiny jsou zapnuty pouze tehdy, když k nim CPU přistupuje.7.5 Související registr
Tabulka 7-2. Související registr systémových hodin
Jméno
CLK_GATE_0 CLK_GATE_1 CLK_GATE_2 MCU_CLK_DIV
stránka SFR
0
0 0 0
adresa
0x84 0x85 0x86 0xFD
výchozí hodnoty
0x7F
0xFF 0x7F 0x01
Funkce
Registr Port0, podporuje bitový přístup, odpovídá P0.0-p0.7 Registr Stack Pointer Registr Data pointer (DPTR), nízký 8 bitů koeficient děliče frekvence MCU_CLK
osm portů jádra
Copyright © HOPERF
Rev 0.1A | 26/100 stránky
www.hoperf.com
8 Přerušení a probuzení
Uživatelská příručka AN261-CMT2186A
8.1 Úvod
Řízení přerušení CMT2186A má dvě hlavní funkce:
První: přerušit aktuálně běžící proces a upřednostnit proces přerušení služby;
Druhý: probuďte systém z režimu nízké spotřeby;
První funkce hraje stejnou roli jako u tradičních mikrokontrolérů, což je reakce na obsluhu přerušení během činnosti programu, podporovaná všemi zdroji přerušení. Druhou funkcí je uspokojování potřeb aplikací s nízkou spotřebou, které se probouzejí přerušeními poté, co systém přejde do všech režimů nízké spotřeby. V tomto případě může funkci probuzení podporovat pouze omezený počet zdrojů přerušení. Zde nazýváme zdroj přerušení, který podporuje probuzení, „zdroj probuzení“, abychom lépe porozuměli jeho pracovnímu mechanismu. Zdroj buzení a režim nízké spotřeby spolu souvisí, zde jsou podrobné informace o třech režimech nízké spotřeby CMT2186A:
Režim IDLE V režimu IDLE přestanou fungovat jádro 8051 a hodiny CPU_CLK, zatímco MCU_CLK se nezastaví. Počáteční a systémové periferie tedy stále fungují normálně. To je důvod, proč lze režim IDLE aktivovat přerušením těchto dvou periferií.
Režim STOP V režimu STOP přejde čip do režimu spánku a napájení MCU se přepne z DLDO na ULPLDO, aby se uložil aktuální pracovní stav s nízkou spotřebou energie. V tuto chvíli se všechny hodiny kromě LFOSC zastaví a pro probuzení se mohou spoléhat pouze na přerušení v oblasti AON, včetně změn I/O úrovně, timeoutu časovače spánku a překlopení výstupu analogového komparátoru. Pokud uživatel nepoužívá spánkové probuzení, LFOSC a časovač spánku také nelze zapnout před vstupem do režimu STOP, což může dále šetřit energii.
Režim SDN Způsob, jak vstoupit do režimu SDN, je také nastavení bitu registru STOP, ale ten musí nejprve zavřít ULPLDO a LFOSC a také veškerou detekci vstupní úrovně I/O v oblasti AON (pokud ne, překlopení I/O může způsobit falešné probuzení a nesprávnou funkci čipu). V režimu SDN, protože DLDO i ULPLDO jsou zakázány, jsou všechny hodiny zastaveny, čip lze znovu zapnout pouze resetem při zapnutí POR nebo resetem pinu RSTn.
8.2 Zdroj probuzení
Jak bylo zmíněno v předchozí části, mohou podporovat pouze systémové periferie v normálně otevřené doméně
Copyright © HOPERF
Rev 0.1A | 27/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
budící systém v režimu STOP, kterému říkáme zdroj probuzení. Zdroj probuzení CMT2186A pochází hlavně z následujících tří funkčních modulů:
I/O Change Scan Module D0-D11 CMT2186A může podporovat tuto funkci. Uživatelé musí nakonfigurovat GPIO, které to potřebuje
detekovat probuzení před vstupem do režimu STOP.
Modul časovače spánku Nízkoenergetický časovač spánku probudí režim STOP.
Analogový komparátor Modulární Analogový komparátor se používá k porovnání dvou vstupních signálů. Když se změní výsledky srovnání, to
spustí systém probuzení přerušení. Před vstupem do režimu STOP musí uživatel nakonfigurovat pracovní režim komparátoru.
8.3 Zdroj přerušení a řízení přerušení
Zdroje probuzení pro CMT2186A byly popsány v předchozí části. Protože podporují čistý systém probuzení, lze jej chápat také jako systém zdroje probuzení. Zdroj přerušení CMT2186A, který bude představen v této části, je spojen především s provozem 8051, tedy se specifickým zpracováním odezvy na přerušení na základě operace kódu.
Interní 8051 CMT2186A podporuje 11 zdrojů přerušení, jmenovitě: Jedno přerušení časovače 0 Jedno přerušení časovače 1 Jedno přerušení sériového 0 (tj. UART); Osm externích přerušení (dále jen INT);
Každý zdroj přerušení lze nezávisle povolit a lze nakonfigurovat 2úrovňovou prioritu přerušení. Tabulka 8-1 uvádí vektory přerušení odpovídající 11 zdrojům přerušení a odpovídající vztahy mezi zdroji přerušení.
Tabulka 8-1. Vektor přerušení CMT2186A
Signál přerušení 0 1 2 3
Vektor přerušení 0x0003 0x000B 0x0013 0x001B
Zdroj přerušení
Externí přerušení 0 Časovač 0 přerušení
Externí přerušení 1 Časovač 1 přerušení
Signál požadavku přerušení
IE0 TF0 IE1 TF1
Řízení povolení přerušení
EX0 ET0 EX1 ET1
prioritu přerušení
IPL0[0] IPL0[1] IPL0[2] IPL0[3]
Copyright © HOPERF
Rev 0.1A | 28/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
4
0x0023
Přerušení UART
TI0/RI0
ES0
IPL0[4]
5
0x004B
Externí přerušení 2
IE2
EX2
IPL1[2]
6
0x0053
Externí přerušení 3
IE3
EX3
IPL1[3]
7
0x005B
Externí přerušení 4
IE4
EX4
IPL1[4]
8
0x0063
Externí přerušení 5
IE5
EX5
IPL1[5]
9
0x006B
Externí přerušení 6
IE6
EX6
IPL1[6]
10
0x0073
Externí přerušení 7
IE7
EX7
IPL1[7]
Poznámky:
Jádrový řadič T8051XC3 má minimální dobu odezvy na přerušení 3 systémové hodiny, které jsou poskytovány
interní 24MHz RC oscilátor HFOSC nebo externí 26MHz krystalový oscilátor XOSC.
8.4 Mapování externího přerušení
Výše zmíněný T11XC8051 podporuje 3 zdrojů přerušení. Kromě tří zdrojů přerušení Timer 0, Timer 1 a UART jsou nevolitelné zdroje spouštění přerušení, dalších osm externích přerušení lze flexibilně vybrat jako zdroje přerušení. Jádro CPU je připojeno k periferním zdrojům přerušení přes INT BUS (přerušovací sběrnici). Existuje 27 externích zdrojů přerušení, uvedených následovně:
Funkce přerušení I/O vstupu, D0-D11, celkem 12; Modul časovače A/B, každá skupina časovačů má 4 přerušení, celkem 8; 1 spuštění přerušení signálu FIFO vysílacího modulu Sub-1G; 2 SPI modul vysílající a přijímající data spouštění přerušení; 2 Přerušení výstupu komparátoru; 1 přerušení výstupu CDR; 1 přerušení časovače spánku
Externí přerušení INT0 a INT1 se používají k připojení tří zdrojů probuzení, INT2-INT7 se používají k připojení zdrojů přerušení každé periferie a I/O a mapování se liší. Následující používá INT0, INT1 a INT2 jako příkladamples k nakreslení diagramu struktury přerušení.
Jak je znázorněno na obrázku níže, INT0 je připojen k přerušení komparátoru a přerušení vstupu IO a jakýkoli komparátor nebo detekce I/O hrany spustí INT0, aby byl použit jako zdroj probuzení v režimu STOP; INT1 je pevně připojen k přerušení časovače spánku a používá se také jako zdroj buzení v režimu STOP. Po probuzení CPU vstoupí do programu odezvy na přerušení. Uživatel se může dotazem FLAG pomocí SFR určit konkrétní přerušení, které probudí systém, a provést související zpracování. INT2 mapuje hlavně na periferní přerušení a I/O přerušení mapuje pouze na D0-D3. Upozorňujeme, že v tomto případě ovlivní změny v D0-D3 INT0 a mohou se mapovat na INT2. Uživatelé by měli vhodně nakonfigurovat povolení a mapování přerušení pomocí INT0 při zastavení a
Copyright © HOPERF
Rev 0.1A | 29/100 stránky
www.hoperf.com
INT2, když je program spuštěn.
Uživatelská příručka AN261-CMT2186A
COMP0_OUT COMP1_OUT
D0 D11
COMP0_FLAG COMP1_FLAG IO_CHANGE_FLAG
I/O Change Scan
(Stoupání/klesání
OR
12
Detekce hran)
SLEEP_TMO_FLAG
Časovač spánku
TA_TMR_INT
Časovač A přeruší
TA_CCR0_INT TA_CCR1_INT
TA_CCR2_INT
Přerušení TX FIFO TX_SYM_EMPTY
Přerušení SPI
SPI_TXMTY SPI_RXNMTY
TB_TMR_INT
Časovač B přeruší
TB_CCR0_INT TB_CCR1_INT
TB_CCR2_INT
Přerušení CDR
CDR_CLK_OUT D0
Synchronizovat pomocí SYS_CLK
D1
I/O přerušení
D2
(Pouze mapa D0 D3 až 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
Graf 8-1. Mapování periferních INT0, INT1 a INT2
Následuje podrobné mapování mezi INT2-INT7 a každým zdrojem přerušení:
Copyright © HOPERF
Rev 0.1A | 30/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Graf 8-2. Zdroj periferních přerušení a osm externích mapování přerušení
Mezi
Přerušit
rupt Selection
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
Zdroj přerušení
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
Popis přerušení
Přerušit
on
rupt Selection
zdroj
INT3_SEL = 0000 TA_TMR_INT
Časovač A
INT3_SEL = 0001 TA_CCR0_INT
Přerušit
INT3_SEL = 0010 TA_CCR1_INT
INT3_SEL = 0011 TA_CCR2_INT
Vysílač
INT3_SEL = 0100 TX_SYM_EMPTY
Přerušit
SPI
INT3_SEL = 0101 COMP0_OUT
Přerušit
INT3_SEL = 0110 COMP1_OUT
Časovač B
INT3
INT3_SEL = 0111 INT3_SEL = 1000
TB_TMR_INT TB_CCR0_INT
Přerušit
INT3_SEL = 1001 TB_CCR1_INT
Popis iontu
Časovač A Přerušení
Přerušení vysílače Přerušení komparátoru
Přerušení časovače 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
Přerušení CDR
Přerušení vstupu I/O
INT3_SEL = 1011 CDR_CLK_OUT
INT3_SEL = 1100 D4 INT3_SEL = 1101 D5 INT3_SEL = 1110 D6 INT3_SEL = 1111 D7
Přerušení CDR
Přerušení vstupu 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
Časovač A Přerušení
Přerušení vysílače
INT5_SEL = 0001 TA_CCR0_INT INT5_SEL = 0010 TA_CCR1_INT INT5_SEL = 0011 TA_CCR2_INT INT5_SEL = 0100 TX_SYM_EMPTY
Časovač A Přerušení
Přerušení vysílače
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
Přerušení SPI
Přerušení časovače 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
Přerušení komparátoru
Přerušení časovače B
INT4_SEL = 1011 CDR_CLK_OUT INT4_SEL = 1100 D8
Vstup I/O přerušení CDR
INT5_SEL = 1011 CDR_CLK_OUT INT5_SEL = 1100 D0
Vstup I/O přerušení CDR
Copyright © HOPERF
Rev 0.1A | 31/100 stránky
www.hoperf.com
Inter roztržka
Výběr přerušení
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
Zdroj přerušení
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
Uživatelská příručka AN261-CMT2186A
Popis Inter
on
roztrhnout
Výběr přerušení
Zdroj přerušení
Přerušit
INT5_SEL = 1101 D1
INT5_SEL = 1110 D2
INT5_SEL = 1111 D3
INT7_SEL= 0000 TA_TMR_INT
Časovač A
INT7_SEL = 0001 TA_CCR0_INT
Přerušit
INT7_SEL = 0010 TA_CCR1_INT
INT7_SEL = 0011 TA_CCR2_INT
Vysílač
INT7_SEL = 0100 TX_SYM_EMPTY
přerušit
SPI
INT7_SEL = 0101 COMP0_OUT
Přerušit
INT7_SEL = 0110 COMP1_OUT
Časovač B
INT7
INT7_SEL = 0111 TB_TMR_INT INT7_SEL = 1000 TB_CCR0_INT
Přerušit
INT7_SEL = 1001 TB_CCR1_INT
INT7_SEL = 1010 TB_CCR2_INT
CDR
INT7_SEL = 1011 CDR_CLK_OUT
Přerušit
INT7_SEL = 1100 D8
I/O vstup
INT7_SEL = 1101 D9
Přerušit
INT7_SEL = 1110 D10
INT7_SEL = 1111 D11
Popis iontu
Přerušit
Časovač A Přerušení
Přerušení vysílače Přerušení komparátoru
Přerušení časovače B
Přerušení CDR
Přerušení vstupu I/O
Externí přerušení INT0 a INT1 podporují úrovňová i okrajová přerušení, zatímco INT2-INT7 podporuje pouze okrajová přerušení. Polarita spouštění přerušení je zvolena uživatelem konfigurací příslušného SFR, úroveň spouštění může být vybrána jako spouštění vysoké nebo nízké úrovně a spouštění na hraně může být zvoleno jako spouštění na vzestupné nebo sestupné hraně.
8.5 Související registr
Tabulka 8-3. Skupiny registrů související se systémem
Jméno
TCON IEN0 IPL0
stránka SFR
0 0 0
adresa
0x88 0xA8 0xB8
výchozí hodnoty
0x00 0x00 0x00
Časovač 1 Řídicí registry Registr povolení přerušení 0 Registr priority přerušení 0
Funkce
Copyright © HOPERF
Rev 0.1A | 32/100 stránky
www.hoperf.com
Jméno
IEN1 IRCON1
IPL1 INTCTL_0 INTCTL_1 INTCTL_2 INTCTL_3
stránka SFR
0 0 0 0 0 0 0
Uživatelská příručka AN261-CMT2186A
adresa
0xE6 0xF1 0xF6 0x92 0x93 0x94 0x95
výchozí hodnoty
0x00 0x00 0x00 0x00 0x00 0x00 0x00
Funkce
Registr povolení přerušení 1 Registr příznaku požadavku periferního přerušení Registr priority přerušení 1 INT0 – INT7 Polarita přerušení vybraný registr INT2 a INT3 mapování nakonfigurované registry INT4 a INT5 mapování nakonfigurované registry mapování INT6 a INT7 nakonfigurované registry
Copyright © HOPERF
Rev 0.1A | 33/100 stránky
www.hoperf.com
9 Modul GPIO
Uživatelská příručka AN261-CMT2186A
9.1 Základní funkce
Čipy řady CMT2186A podporují až 12 GPIO, GPIO0 ~ GPIO11. GPIO2-GPIO5 podporuje digitální porty a analogové porty a zbytek podporuje pouze digitální funkce. Související provozní režimy jsou uvedeny v níže uvedené tabulce.
Tabulka 9-1. Provozní režimy GPIO
Vlastnost 1 Analogový port
Nemovitost 2
Pracovní režim Analogový vstup[1] Pouze vstupní režim (plovoucí vstup)
Režim zadávání[3]
Vstupní režim s pull-up
Digitální port[2]
Vstupní režim s vytahovacím tlačítkem
Výstupní režim
Výstup s otevřeným odtokem Push-pull výstup
Poznámky:
[1]. Analogový vstupní port slouží jako vstup dvou analogových komparátorů; [2]. Když se používá jako digitální port, je reprezentován písmenem D, například D1, D2 atd., a štítek odpovídá sériovému čísluGPIO.
[3]. Pouze když GPIO pracuje ve vstupním režimu, může aktivovat funkci detekce úrovně IOC; [4]. Podporujte výběr vytahování nebo stahování na čipu s povolením ovládání. Typické vytažení/stažení je 50 k. Mezitím,pull-up také poskytuje velmi slabé pull-up, typicky 500k pull-up odpor.
9.2 Úvod do struktury GPIO
Funkční blokové schéma D0 až D11 je uvedeno níže:
Copyright © HOPERF
Rev 0.1A | 34/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Dn_open_drain Dn
Dn_out
VÝSTUP
Dn_pd_odrv
Dn_pd_idrv ~Dn_pd_idrv
Dn_pd_pullup
Dn_pd_pullup2
50 tis
500 tis
~Dn_pd_idrv
Dn_in
50 tis
Dn_pd_idrv
Dn_pd_pulldown ~Dn_pd_pullup
VSTUP
~Dn_pd_pullup2
Dn_pd_ana
ANALOGOVÝ
Dn_ana
~Dn_pd_ana Graf 9-1. Funkční schéma GPIO
Tabulka 9-2. Popis funkce GPIO
Název portu Dn Dn_open_drain
Dn_out Dn_pd_odrv
Typ signálu General IO PAD
Popis
Nakonfigurujte signál
rejstřík
Odpovídající hodnota Dn open drain se nastavuje v registru 0x19 AON_REG_19 a 0x1A registru AON_REG_1A. 0: open_drain, 1: push_pull;
System internal Když Dn je režim digitálního výstupu, Dn_out je interní výstup
řídící signál
signál.
Systém interní Když je Dn použit jako režim digitálního výstupu, Dn_pd_odrv = 0,
Copyright © HOPERF
Rev 0.1A | 35/100 stránky
www.hoperf.com
Název portu Dn_pd_idrv
Dn_pd_pullup2
Dn_pd_pulldown Dn_pd_ana Dn_ana
Uživatelská příručka AN261-CMT2186A
Typ signálu
Popis
řídící signál
jinak Dn_pd_odrv = 1;
Když je Dn použit jako režim digitálního vstupu, Dn_pd_idrv = 0, jinak
Dn_pd_idrv = 1
Když je Dn použit jako režim digitálního vstupu, odpovídající
Nakonfigurujte signál
rejstřík
registry jsou konfigurovány prostřednictvím 0x15 registrů AON_REG_15 a 0x16 registrů AON_REG_16, aby nezávisle řídily, zda je či není povolen odpor 50 kOhm každého Dn.
Dn_pd_pullup 0: Povolit. 1 Zakázat
Když je Dn zadáno v režimu digitálního vstupu, zda všechny digitální vstupy
Ovládání systému
Dn 500Kohm slabý pullup odpor je povolen nebo nemůže být vnitřní
konfigurováno prostřednictvím registru 0x10 AON_REG_10[5]
pd_pullup_500K.
0: Povolit1: Zakázat ;
Když je Dn zadáno v režimu digitálního vstupu, odpovídající
registry se konfigurují prostřednictvím 0x17 registrů AON_REG_17
Vnitřní řídicí signál systému
a 0x18 registruje AON_REG_18 pro nezávislou kontrolu, zda je 50Kohm stahovací odpor každého Dn povolen nebo ne. Dn_pd_pulldown 0: Povolit1: Zakázat;
Poznámka: Když je povolen pull-down rezistor a pull-up rezistor
zároveň má pull-up rezistor vyšší prioritu.
Vnitřní řídicí signál systému
Když je Dn v analogovém I/O režimu, je interní analogové signální vedení připojeno k internímu řídicímu signálu systému přes registr 0x10 AON_REG_10[4:0] Dn_ana.
9.3 Digitální vstup GPIO
Když je GPIO nakonfigurováno jako digitální vstup:
výstupní část je deaktivována. Zda je povolen odpor vytažení/stažení závisí na konfiguraci související s IO
stahování v registru AON; Voltage na IO je sampvedly k SFR registrům GPIO_IN_0 a GPIO_IN_1, které jsou
čitelné softwarem.
9.4 Digitální výstup GPIO
Copyright © HOPERF
Rev 0.1A | 36/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Když je GPIO nakonfigurováno jako výstup: výstupní kanál je povolen. Otevřete výstupní režim vypouštění
– Pokud je výstupní registr 0, výstupní NMOS je povolen. – Pokud je výstupní registr 1, výstupní NMOS a PMOS jsou deaktivovány a GPIO je na vysoké úrovni
stav odporu. Režim výstupu push-pull:
– Pokud je výstupní registr 0, výstupní NMOS je povolen a výstupní PMOS je zakázán. – Pokud je výstupní registr 1, výstupní NMOS je deaktivován a výstupní PMOS je povolen. Ve výstupním režimu je vstupní režim deaktivován a vstupní signál je vytahován interně, takže GPIOn_in čte 1.
9.5 Analogový vstup a výstup GPIO
Když je GPIO nakonfigurováno v analogovém režimu:
Funkce digitálního výstupu je deaktivována. Režim digitálního vstupu je deaktivován a vstupní signál je nucen vnitřně vytáhnout nahoru, takže GPIOn_in
čte 1.
9.6 Mapování digitálního vstupu GPIO
Když jsou GPIO0-GPIO11 v režimu digitálního vstupu, jsou označovány jako D0-D11, které lze použít pro detekci překlopení úrovně I/O ke generování přerušení před synchronizací systémových hodin SYS_CLK a po synchronizaci se používají pro následující tři účely:
Jako externí vstup pro různé periferie Jako vstupní zdroj pro externí přerušení INT2-INT7 (popsáno v Mapování externích přerušení
sekce) Jako GPIO_IN_SFR<11:0> může uživatel číst data prostřednictvím dvou SFR GPIO_IN_0<7:0> a
GPIO_IN_1<7:0>
Následující obrázek ukazuje konfiguraci t0_gpio_sel<3:0> jako externí vstup periferního časovače 0
Copyright © HOPERF
Rev 0.1A | 37/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
t0_gpio_sel<3:0>
D0
0
D1
1
D2
2
D3
3
D4
4
D5
Synchronizovat podle
5
D6
SYS_CLK
6
t0_in
D7
7
D8
8
D9
9
D10
10
D11
11
Změna I/O
Skenovat
ioc_detected
jako zdroje INT2 INT7
Přečtěte si GPIO_IN_SFR<11:0>
Graf 9-2. Funkční blokové schéma GPIO jako digitálních vstupů
Konfigurací registru t0_gpio_sel<3:0> může uživatel vybrat jakýkoli digitální vstupní signál z D0-D11, který je synchronizován pomocí SYS_CLK pro odeslání na externí vstup t0_in časovače 0. Existuje celkem 14, jako je MUX, jak ukazuje následující tabulka:
Tabulka 9-3. Registr mapování vstupu GPIO pro každé periferní zařízení
Periferní modul
SFR
Signál výběru MUX T0_GPIO_SEL<3:0>
Výstup MUX t0_in
Časovač 0
GPIO_INC_SEL
T0_INTN_GPIO_SEL<3: 0> T1_GPIO_SEL<3:0>
t0_int0_n t1_in
Časovač 1 Časovač A
GPIO_IND_SEL GPIO_INF_SEL
T1_INTN_GPIO_SEL<3: 0> TA_CCI0_GPIO_SEL<3: 0>
t1_int0_n ta_cci0_in
Účel výstupu MUX
Vstup externího signálu počáteční periferie jádra 8051 Timer 0 Vstup ovládání čítací brány pro počáteční periferii jádra 8051 Timer 0 Vstup externího signálu počáteční periferie jádra 8051 Časovač 1 Vstup čítací brány pro počáteční periferii jádra 8051 Timer 1 Jeden z externího zdroje zachycení Timer A
Copyright © HOPERF
Rev 0.1A | 38/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Obvodový
SFR
Výběr signálu MUX MUX
Účel výstupu MUX
Modul
Výstup
TA_CCI1_GPIO_SEL<3: ta_cci1_in Jeden z externích zdrojů zachycení časovače A
0>
TB_CCI0_GPIO_SEL<3: tb_cci0_in Jeden z externích zdrojů zachycení časovače B
Časovač B
0> GPIO_ING_SEL
TB_CCI1_GPIO_SEL<3: tb_cci1_in
Jeden z externích zdrojů zachycení časovače B
0>
NSS_IN_GPIO_SEL<3:0 nss_in
Zvolený vstup režimu SPI slave
> GPIO_INA_SEL
SCK_IN_GPIO_SEL<3:0 sck_in
Hodinový vstup režimu SPI slave
>
SPI
MISO_IN_GPIO_SEL<3: miso_in
Vstup dat režimu SPI slave
0> GPIO_INB_SEL
MOSI_IN_GPIO_SEL<3: mosi_int
Výstup dat režimu SPI master
0>
UART
RXD0_GPIO_SEL<3:0> GPIO_INE_SEL
rxd0_in
Externí vstupní signál počátečního periferního UART jádra 8051
CDR
CDR_GPIO_SEL<3:0> cdr_in
Vstup externího signálu CDR
Poznámky:
[1] Jeden vstup GPIO lze použít jako externí periferní vstup, zdroj přerušení a mapování na SFR současně,a uživatel se potřebuje vyhnout funkčním konfliktům správnou konfigurací.
9.7 Mapování digitálního výstupu GPIO
Když je GPIO0-GPIO11 použit jako digitální výstup, lze zdroj výstupního signálu nakonfigurovat pomocí SFR a vybrat z následující tabulky:
Tabulka 9-4. Zdroj signálu vybraný z GPIOn
Vyberte položku 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
Funkce GPIO_OUT_0 a GPIO_OUT_1 registry Port0[7:0] výstup Port1[3:0] výstup Výstup Timer A zachycení/porovnání v modulu 0 Výstup Timer A zachycení/porovnání v modulu 1 Výstup Timer A zachycení/porovnání v modulu 2 Výstup Timer B zachycení/porovnání v modulu Timer výstup Bison výstup 0 Timer výstup modulu Timer zachycení/porovnání v modulu 1 Výstup hodin režimu SPI master Zvolený výstup režimu SPI master
Copyright © HOPERF
Rev 0.1A | 39/100 stránky
www.hoperf.com
Vyberte položku mosi_out miso_out
csb_out
fcsb_out
rxd0_out txd0_out
T0_ov t1_ov
Uživatelská příručka AN261-CMT2186A
Funkce Datový výstup režimu SPI master Datový vstup režimu SPI slave Výstup výběru čipu CMT specifického 4-vodičového v režimu SPI master Přístup výstupu výběru čipu FIFO specifického 4-vodičového CMT v režimu SPI master Výstup UART umožňující signál UART hodiny nebo datový výstup Signální výstup časovače0 Přetečení modulu Signální výstup časovače0 Přetečení modulu
Mapování mezi GPIOn a každým zdrojem výstupního signálu je uvedeno v následující tabulce:
GPIOn GPIO0 GPIO1
Tabulka 9-5. Mapování mezi GPIOn a výstupem funkčního modulu
SFR GPIO_OUTA_SEL GPIO_OUTA_SEL
Hodnota vybraného signálu a kódu GPIO0_OUT_SEL<3:0> = 4'd0 GPIO0_OUT_SEL<3:0> = 4'd1 GPIO0_OUT_SEL<3:0> = 4'd2 GPIO0_OUT_SEL<3:0> = 4'd3 GPIO0_OUT_SEL=<3'd0 GPIO4_OUT_SEL=<4' 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:0_4> = 9'd0 GPIO3_OUT_SEL'0:4_10> = 0'd3 0'd4 GPIO11_OUT_SEL<0:3> = 0'd4 GPIO12_OUT_SEL<0:3> = 0'd4 GPIO13_OUT_SEL<0:3> = 0'd4 GPIO14_OUT_SEL<0:3> = 0'd4 GPIO15_OUT_SEL1<d3 GPIO0_OUT_OUT_ GPIO4_OUT_SEL<0:1> = 3'd0 GPIO4_OUT_SEL<1:1> = 3'd0 GPIO4_OUT_SEL<2:1> = 3'd0 GPIO4_OUT_SEL<3:1> = 3'd0 GPIO4_OUT_SEL'4:1_3> = 0'd4 5'd1 GPIO3_OUT_SEL<0:4> = 6'd1 GPIO3_OUT_SEL<0:4> = 7'd1 GPIO3_OUT_SEL<0:4> = 8'd1 GPIO3_OUT_SEL<0:4> = 9'dXNUMX
Zdroj výstupního signálu 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_ccr2_out gpio_out_sfr<0> port1_out<1> tb_ccr0_out tb_cc1_out tb_ccr0_out nss_out sck_out miso_out mosi_out rxd1_out
Copyright © HOPERF
Rev 0.1A | 40/100 stránky
www.hoperf.com
GPIOn GPIO2 GPIO3 GPIO4
Uživatelská příručka AN261-CMT2186A
SFR GPIO_OUTB_SEL GPIO_OUTB_SEL GPIO_OUTB_SEL
Vybraná hodnota signálu a kódu GPIO1_OUT_SEL<3:0> = 4'd10 GPIO1_OUT_SEL<3:0> = 4'd11 GPIO1_OUT_SEL<3:0> = 4'd12 GPIO1_OUT_SEL<3:0> = 4'd13 GPIO1_OUT_OUT_3 GPIO0_OUT_SEL<4:14> = 1'd3 GPIO0_OUT_SEL<4:15> = 2'd3 GPIO0_OUT_SEL<4:0> = 2'd3 GPIO0_OUT_SEL<4:1> = 2'd3 GPIO0_OUT_SEL<4:2> = OUT2'3_OUT_SEL<0:4GP> = OUT3'2_OUT_SEL<3:0GP> = 4'd4 2'd3 GPIO0_OUT_SEL<4:5> = 2'd3 GPIO0_OUT_SEL<4:6> = 2'd3 GPIO0_OUT_SEL<4:7> = 2'd3 GPIO0_OUT_SEL<4:8> = 2'd3 GPIO0_OUT_SEL =d<4' GPIO9_OUT_SEL<2:3> = 0'd4 GPIO10_OUT_SEL<2:3> = 0'd4 GPIO11_OUT_SEL<2:3> = 0'd4 GPIO12_OUT_SEL<2:3> = 0'd4 GPIO13_OUT_SEL2:3 GPIO0_OUT_SEL<4:14> = 2'd3 GPIO0_OUT_SEL<4:15> = 3'd3 GPIO0_OUT_SEL<4:0> = 3'd3 GPIO0_OUT_SEL<4:1> = 3'd3 GPIO0_OUT_SEL<4:2> = OUT3'3:0> = OUT4'3:3> GPIO 3'd0 GPIO4_OUT_SEL<4:3> = 3'd0 GPIO4_OUT_SEL<5:3> = 3'd0 GPIO4_OUT_SEL<6:3> = 3'd0 GPIO4_OUT_SEL<7:3> = 3'd0 GPIO4_OUT_SEL =d<8' GPIO3_OUT_SEL<3:0> = 4'd9 GPIO3_OUT_SEL<3:0> = 4'd10 GPIO3_OUT_SEL<3:0> = 4'd11 GPIO3_OUT_SEL<3:0> = 4'd12 GPIO3_OUT_SEL3:0 GPIO4_OUT_SEL<13:3> = 3'd0 GPIO4_OUT_SEL<14:3> = 3'd0 GPIO4_OUT_SEL<15:4> = 3'd0 GPIO4_OUT_SEL<0:4> = 3'd0
Zdroj výstupního signálu 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 xmosi miso nss_out sck_out ten 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
Copyright © HOPERF
Rev 0.1A | 41/100 stránky
www.hoperf.com
GPIOn GPIO5 GPIO6
Uživatelská příručka AN261-CMT2186A
SFR GPIO_OUTC_SEL GPIO_OUTD_SEL
Vybraná hodnota signálu a kódu GPIO4_OUT_SEL<3:0> = 4'd3 GPIO4_OUT_SEL<3:0> = 4'd4 GPIO4_OUT_SEL<3:0> = 4'd5 GPIO4_OUT_SEL<3:0> = 4'd6 GPIO4_OUT_OUT_3 GPIO0_OUT_SEL<4:7> = 4'd3 GPIO0_OUT_SEL<4:8> = 4'd3 GPIO0_OUT_SEL<4:9> = 4'd3 GPIO0_OUT_SEL<4:10> = 4'd3 GPIO0_OUT_SEL<4:11> = OUT4'3_OUT_SEL<0:4GP> = OUT12'4_OUT_SEL<3:0GP> = 4'd13 4'd3 GPIO0_OUT_SEL<4:14> = 4'd3 GPIO0_OUT_SEL<4:15> = 5'd3 GPIO0_OUT_SEL<4:0> = 5'd3 GPIO0_OUT_SEL<4:1> = 5'd3 GPIO0_OUT_SEL =d<4' GPIO2_OUT_SEL<5:3> = 0'd4 GPIO3_OUT_SEL<5:3> = 0'd4 GPIO4_OUT_SEL<5:3> = 0'd4 GPIO5_OUT_SEL<5:3> = 0'd4 GPIO6_OUT_SEL5:3 GPIO0_OUT_SEL<4:7> = 5'd3 GPIO0_OUT_SEL<4:8> = 5'd3 GPIO0_OUT_SEL<4:9> = 5'd3 GPIO0_OUT_SEL<4:10> = 5'd3 GPIO0_OUT_SEL<4:11> = OUT5'3:0> = OUT4'12:5> GPIO 3'd0 GPIO4_OUT_SEL<13:5> = 3'd0 GPIO4_OUT_SEL<14:5> = 3'd0 GPIO4_OUT_SEL<15:6> = 3'd0 GPIO4_OUT_SEL<0:6> = 3'd0 GPIO4_OUT_SEL =d<1' GPIO6_OUT_SEL<3:0> = 4'd2 GPIO6_OUT_SEL<3:0> = 4'd3 GPIO6_OUT_SEL<3:0> = 4'd4 GPIO6_OUT_SEL<3:0> = 4'd5 GPIO6_OUT_SEL3:0 GPIO4_OUT_SEL<6:6> = 3'd0 GPIO4_OUT_SEL<7:6> = 3'd0 GPIO4_OUT_SEL<8:6> = 3'd0 GPIO4_OUT_SEL<9:6> = 3'd0
Zdroj výstupního signálu 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> tb_cc0_out tb_ccr5_out nss_out sck_out miso_out mosi_out fcsb_out txd0_out ta_ccr1_out ta_cc2_out ta_ccr0_out t0_ov_out t1_ov_out gpio_ccr_sfr<2> port0_out tb <1> port6_out tb_ccr0_out nss_out sck_out miso_out mosi_out rxd6_out txd0_out ta_ccr1_out
Copyright © HOPERF
Rev 0.1A | 42/100 stránky
www.hoperf.com
GPIOn GPIO7 GPIO8 GPIO9
Uživatelská příručka AN261-CMT2186A
SFR GPIO_OUTD_SEL GPIO_OUTE_SEL GPIO_OUTE_SEL
Vybraná hodnota signálu a kódu GPIO6_OUT_SEL<3:0> = 4'd12 GPIO6_OUT_SEL<3:0> = 4'd13 GPIO6_OUT_SEL<3:0> = 4'd14 GPIO6_OUT_SEL<3:0> = 4'd15 GPIO7_OUT_OUT_3 GPIO0_OUT_SEL<4:0> = 7'd3 GPIO0_OUT_SEL<4:1> = 7'd3 GPIO0_OUT_SEL<4:2> = 7'd3 GPIO0_OUT_SEL<4:3> = 7'd3 GPIO0_OUT_SEL<4:4> = OUT7'3_OUT_SEL<0:4GP> = OUT5'7_OUT_SEL<3:0GP> = 4'd6 7'd3 GPIO0_OUT_SEL<4:7> = 7'd3 GPIO0_OUT_SEL<4:8> = 7'd3 GPIO0_OUT_SEL<4:9> = 7'd3 GPIO0_OUT_SEL<4:10> = 7'd3 GPIO0_OUT_SEL =d<4' GPIO11_OUT_SEL<7:3> = 0'd4 GPIO12_OUT_SEL<7:3> = 0'd4 GPIO13_OUT_SEL<7:3> = 0'd4 GPIO14_OUT_SEL<7:3> = 0'd4 GPIO15_OUT_SEL8:3 GPIO0_OUT_SEL<4:0> = 8'd3 GPIO0_OUT_SEL<4:1> = 8'd3 GPIO0_OUT_SEL<4:2> = 8'd3 GPIO0_OUT_SEL<4:3> = 8'd3 GPIO0_OUT_SEL<4:4> = OUT8'3:0> = OUT4'5:8> GPIO 3'd0 GPIO4_OUT_SEL<6:8> = 3'd0 GPIO4_OUT_SEL<7:8> = 3'd0 GPIO4_OUT_SEL<8:8> = 3'd0 GPIO4_OUT_SEL<9:8> = 3'd0 GPIO4_OUT_SEL =d<10' GPIO8_OUT_SEL<3:0> = 4'd11 GPIO8_OUT_SEL<3:0> = 4'd12 GPIO8_OUT_SEL<3:0> = 4'd13 GPIO8_OUT_SEL<3:0> = 4'd14 GPIO8_OUT_SEL3:0 GPIO4_OUT_SEL<15:9> = 3'd0 GPIO4_OUT_SEL<0:9> = 3'd0 GPIO4_OUT_SEL<1:9> = 3'd0 GPIO4_OUT_SEL<2:9> = 3'd0
Zdroj výstupního signálu 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_0_out tdd rx ta_cc0_out 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 mosi_out rxd2_out ta_ccr0_out t0_ov_out t0_ov_out gpio_out_sfr<1> port2_out<0> tb_ccr1_out tb_cc9_out tb_ccr1_out
Copyright © HOPERF
Rev 0.1A | 43/100 stránky
www.hoperf.com
GPIOn GPIO10 GPIO11
Uživatelská příručka AN261-CMT2186A
SFR GPIO_OUTF_SEL GPIO_OUTF_SEL
Vybraná hodnota signálu a kódu GPIO9_OUT_SEL<3:0> = 4'd5 GPIO9_OUT_SEL<3:0> = 4'd6 GPIO9_OUT_SEL<3:0> = 4'd7 GPIO9_OUT_SEL<3:0> = 4'd8 GPIO9_OUT_OUT_3 GPIO0_OUT_SEL<4:9> = 9'd3 GPIO0_OUT_SEL<4:10> = 9'd3 GPIO0_OUT_SEL<4:11> = 9'd3 GPIO0_OUT_SEL<4:12> = 9'd3 GPIO0_OUT_SEL<4:13> = OUT9'3_OUT_SEL<0:4GP> = OUT14'9_OUT_SEL<3:0GP> = 4'd15 10'd3 GPIO0_OUT_SEL<4:0> = 10'd3 GPIO0_OUT_SEL<4:1> = 10'd3 GPIO0_OUT_SEL<4:2> = 10'd3 GPIO0_OUT_SEL<4:3> = 10'd3 GPIO0_OUT_SEL =d<4' GPIO4_OUT_SEL<10:3> = 0'd4 GPIO5_OUT_SEL<10:3> = 0'd4 GPIO6_OUT_SEL<10:3> = 0'd4 GPIO7_OUT_SEL<10:3> = 0'd4 GPIO8_OUT_SEL10:3 GPIO0_OUT_SEL<4:9> = 10'd3 GPIO0_OUT_SEL<4:10> = 10'd3 GPIO0_OUT_SEL<4:11> = 10'd3 GPIO0_OUT_SEL<4:12> = 10'd3 GPIO0_OUT_SEL<4:13> = OUT10'3:0> = OUT4'14:10> GPIO 3'd0 GPIO4_OUT_SEL<15:11> = 3'd0 GPIO4_OUT_SEL<0:11> = 3'd0 GPIO4_OUT_SEL<1:11> = 3'd0 GPIO4_OUT_SEL<2:11> = 3'd0 GPIO4_OUT_SEL =d<3' GPIO11_OUT_SEL<3:0> = 4'd4 GPIO11_OUT_SEL<3:0> = 4'd5 GPIO11_OUT_SEL<3:0> = 4'd6 GPIO11_OUT_SEL<3:0> = 4'd7 GPIO11_OUT_SEL3:0 GPIO4_OUT_SEL<8:11> = 3'd0 GPIO4_OUT_SEL<9:11> = 3'd0 GPIO4_OUT_SEL<10:11> = 3'd0 GPIO4_OUT_SEL<11:11> = 3'd0
Zdroj výstupního signálu 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> tbcc_ccr_0_out nss_out sck_out miso_out mosi_out rxd1_out txd2_out ta_ccr0_out ta_cc0_out ta_ccr0_out t1_ov_out t2_ov_out gpio_out_sfr<0> port1_out<11> tb_ccr0_out tbout tb_ccr3_out tbout sck_out miso_out mosi_out rxd0_out txd1_out ta_ccr2_out ta_cc0_out ta_ccr0_out
Copyright © HOPERF
Rev 0.1A | 44/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
GPIOn
SFR
Zvolený signál a hodnota kódu
Zdroj výstupního signálu
GPIO11_OUT_SEL<3:0> = 4’d14
t0_ov_out
GPIO11_OUT_SEL<3:0> = 4’d15
t1_ov_out
Poznámky:
[1]. Výchozí mapování je řízeno skupinou registrů GPIO_OUT_SFR<11:0> a to z důvodu, že registrskupina nepodporuje režim přístupu k bitům, takže řídicí výstup se musí řídit režimem „čtení-změna-zápis“.
9.8 Detekce převrácení úrovně GPIO
Modul detekce překlopení úrovně GPIO (I/O Change Scan) umístěný v doméně AON slouží k detekci překlopení úrovně libovolného I/O poté, co systém přejde do režimu STOP, generuje zdroj přerušení, který probudí systém a odešle jej na externí přerušení INT0. Když systém běží normálně, uživatelé musí tento modul deaktivovat, aby nedocházelo ke konfliktům s jinými I/O funkcemi.
Pro použití tohoto modulu je proces uživatelského programu zobrazen následovně:
1. Modul lze otevřít pouze při STOP a bit IO_EVENT_RST_N registru WKINT_STA v SFR PAGE0 je udržován jako 0, když je program spuštěn, to znamená, že celý modul je ve stavu reset.
2. Po výběru GPIO, které má být detekováno, mohou uživatelé začít konfigurovat GPIO a detekční modul pomocí AON REG. Protože je modul v režimu resetování, během procesu konfigurace nedojde k žádné chybné detekci.
3. GPIO musí být nakonfigurováno v režimu digitálního vstupu s deaktivovanou funkcí digitálního výstupu. 4. Nakonfigurujte odpor proti vytažení/stažení GPIO; 5. Nakonfigurujte obrácenou polaritu GPIO (náběžná nebo sestupná hrana); 6. Povolte detekci převrácení úrovně GPIO; 7. Nastavením IO_EVENT_RST_N na 1 uvolníte detekční modul a nakonfigurujete INT0 přes SFR; 8. Systém přejde do režimu STOP. 9. Když GPIO detekuje převrácení úrovně a probudí systém přes INT0, nastaví
IO_EVEN_RST_N bit na 0 po příslušném IO dotazu a zpracování.
Běžným scénářem aplikace tohoto modulu je, že GPIO připojuje externí klíče. Obvykle se používají dva způsoby připojení. Následující ukazuje example spojovacích klíčů s D0-D11:
Nezávislé připojení klíče
Copyright © HOPERF
Rev 0.1A | 45/100 stránky
www.hoperf.com
D11_IN
VDD
Strong-Pull Week-Pull
D11
D10_IN
D10
D9_IN
D9
D8_IN
D8
D7_IN
D7
D6_IN
D6
D5_IN
D5
D4_IN
D4
D3_IN
D3
D2_IN
D2
D1_IN
D1
D0_IN
D0
Uživatelská příručka AN261-CMT2186A
Graf 9-3. Schéma připojení nezávislého klíče
D0-D11 na obrázku níže jsou všechny připojeny k zemi, takže všechny tyto porty mohou aktivovat režim pull-up digitálního vstupního portu a nakonfigurovat Dn_POLAR (n obecně označuje jakékoli číslo od 0 do 11, každý IO má odpovídající bit pro výběr polarity) na 1, to znamená, že normální stav je 1. Když stisknete klávesu na portu 0, bude detekována sestupná hrana.
Připojení maticového klíče
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
Strong-Pull Week-Pull
D5 D6 D7 D8 D9 D10
D11
Copyright © HOPERF
Graf 9-4. Schéma připojení maticového klíče
Rev 0.1A | 46/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Podle výše uvedeného způsobu připojení je D0-D11 maticová klávesnice sestávající z D5-D11, která se používá jako sada detekce vstupu, a D0-D4, která se používá jako sada pro ovládání výstupu. Před vstupem do režimu STOP musí uživatel nakonfigurovat D0-D4 jako režim digitálního výstupu s výstupní hodnotou 0. Skupinu digitálních vstupů D5-D11 lze nakonfigurovat tak, aby aktivovala funkci detekce jako nezávislá tlačítka. Po vstupu do režimu STOP jakákoliv klávesa na maticové klávesnici probudí systém přes D5-D11. Software může normálně skenovat klávesnici jako obecný postup k identifikaci kláves po probuzení systému.
9.9 Související registr
Tabulka 9-6. AON registruje skupiny GPIO
Název AON_REG_10
Adresa 0x10
AON_REG_11 AON_REG_12 AON_REG_13 AON_REG_14 AON_REG_15 AON_REG_16 AON_REG_17 AON_REG_18 AON_REG_19 AON_REG_1A AON_REG_1B AON_REG_1C AON_REG_1D AON_REG_1E
0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1A 0x1B 0x1C 0x1D 0x1E
Výchozí hodnoty
0xE0
0x00 0x00 0x00 0x00 0xFF 0x0F 0xFF 0x0F 0xFF 0x0F 0x00 0x00 0x00 0x00
Funkce
Povolení analogových funkcí GPIO a konfigurace hodnoty odporu přitahování a stahování Digitální výstup povolovací bit D0 – D7 Digitální výstup povolovacího bitu D8 – D11 Povolovací bit digitálního vstupu D0 – D7 Povolovací bit digitálního vstupu D8 – D11 Vytáhněte odporový spínač D0 – D7 Vytáhněte odporový vypínač D8 – D11 Spínač odporu Stahujte dolů Pult pulsu D0 – D7 – D8 Rozepněte odporový vypínač Pull dolů spínač D11 – D0 Otevřít vypouštěcí spínač D7 – D8 Bit aktivace detekce překlopení úrovně pro D11-D0 Bit aktivace detekce převrácení úrovně pro D7-D8 Výběr polarity detekce převrácení úrovně pro D11-D0 Výběr polarity detekce převrácení úrovně pro D7-D8
Tabulka 9-7. SFR registr skupiny GPIO
Jméno
GPIO_INA_SEL GPIO_INB_SEL GPIO_INC_SEL GPIO_IND_SEL GPIO_INE_SEL GPIO_INF_SEL
stránka SFR
0 0 0 0 0 0
adresa
0xA1 0xA2 0xA3 0xA4 0xA5 0xA6
výchozí hodnoty
0x00 0x00 0x00 0x00 0x00 0x00
Funkce
Mapování funkcí vstupu GPIO Mapování funkcí vstupu GPIO Mapování funkcí vstupu GPIO Mapování funkcí vstupu GPIO Mapování funkcí vstupu GPIO Mapování funkcí vstupu Mapování funkcí vstupu GPIO
Copyright © HOPERF
Rev 0.1A | 47/100 stránky
www.hoperf.com
Jméno
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
stránka SFR
0 0 0 0 0 0 0 0 0 0 0
Uživatelská příručka AN261-CMT2186A
adresa
0xA9 0xAA 0xAB 0xAC 0xAD 0xB0 0xB1 0xB3 0xB4 0xB5 0xB6
výchozí hodnoty
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Funkce
Mapování vstupní funkce GPIO Mapování výstupní funkce GPIO Mapování výstupní funkce GPIO Mapování výstupní funkce GPIO Mapování výstupní funkce GPIO Mapování výstupní funkce GPIO Mapování výstupní funkce GPIO Mapování výstupních GPIO dat pomocí konfigurace SFR Výstupní data GPIO pomocí konfigurace SFR Čitelná vstupní data GPIO ze SFR Čitelná vstupní data GPIO ze SFR
Copyright © HOPERF
Rev 0.1A | 48/100 stránky
www.hoperf.com
10 Modul časovače0
Uživatelská příručka AN261-CMT2186A
10.1 Základní funkce
Timer0 je 16bitový programovatelný časovač/počítač, který lze nakonfigurovat pomocí registrů TMOD pro výběr způsobu fungování, spuštění nebo zastavení počítání a generování přerušení přetečení počítání. Timer0 podporuje 3 pracovní režimy a jsou uvedeny v tabulce 10-1.
Tabulka 10-1. Pracovní režimy v Timer0
TMOD. M01 TMOD.M00
0
0
0
1
1
0
1
1
Pracovní režim Režim 0 Režim 1 Režim 2 deaktivován
Funkce
8bitové časování/počítač s 5bitovou předškálou, tj. 13bitový režim časování/počet 16bitový režim časovače/počítače 8bitový režim časování/počet s přetíženými počátečními hodnotami
10.2 Režim časovače0
Blokové schéma Timer0 módu 0 je uvedeno níže.
TIMER0_CLK /12 t0_in C/T0 TR0
GATE0 t0_int0_n
0
Časovač 0
TL0[4:0]
ČT0
TF0
Přerušit k
1
umožnit
8051 jádro
Graf 10-1. Blokové schéma režimu časovače 0 0
Když Timer0 pracuje v Mode0, je 13bitový čítač kombinován z 5bitového předděličky poskytovaného TL0[4:0] a 8bitového čítače poskytovaného TH0:
Pokud je TMOD.C/T0 nastaveno na 0, je vybrán režim časování a zdrojem časování je 12-ti stupnice FPCLK.
Pokud je TMOD.C/T0 nastaveno na 1, je zvolen režim počítání a sestupná hrana externího vstupního kolíku t0 se používá jako signál počítání.
Copyright © HOPERF
Rev 0.1A | 49/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Je-li TMOD.GATE0 nastaveno na 1, je zvoleno počítání spouštění ovládání brány. vyžaduje vysokou úroveň externího přerušení t0_int0_n a Ton.tr0 ke spuštění počítání Timer0.
Pokud je TMOD.GATE0 nastaveno na 0, spustí se počítání Timer0, když je TCON.TR0 nastaveno na 1 Celkový přepínač počítání Timer0 je TCON.TR0, funkce počítání je povolena, když je nastaven na 1 a
deaktivovat, když je nastavena na 0.
10.3 Režim časovače0
Blokové schéma Timer0 módu 1 je zobrazeno v tabulce níže.
TIMER0_CLK /12
t0_in C/T0 TR0 GATE0 t0_int0_n
0
1
umožnit
Časovač 0
TL0
ČT0
TF0
Přerušit k
8051 jádro
Graf 10-2. Blokové schéma režimu časovače 0 1
Když TIMER0 pracuje v Mode0, jedná se o 16bitový čítač, skládající se z TL0 a TH0, rozdíl od Mode0 je pouze v počtu bitů čítače. Funkce ostatních řídicích bitů jsou stejné jako u Mode0.
10.4 Režim časovače0
Blokové schéma Timer0 módu 2 je zobrazeno v tabulce níže.
TIMER0_CLK /12 t0_in C/T0 TR0
GATE0 t0_int0_n
Copyright © HOPERF
0
1
umožnit
TL0
Přetékat
TF0
Časovač 0 Přerušit do
8051 jádro
ČT0
Rev 0.1A | 50/100 stránky
www.hoperf.com
AN261-CMT2186A Uživatelská příručka Tabulka 10-3. Blokové schéma režimu časovače 0 2
Když Timer0 pracuje v režimu 2, čítač se automaticky přetíží počáteční hodnotou 8 bitů a když počet TL0 přeteče, automaticky načte hodnotu uloženou v TH0 (počáteční hodnota), čímž se TL0 přepočítá z počáteční hodnoty. To je hlavní rozdíl oproti režimu 0/1, kde se počítadlo po přetečení vynuluje. Zatímco funkce ostatních řídicích bitů je stejná jako u Moode0/1.
10.5 Související registr
Jméno
TCON TMOD
TL0 TH0
Tabulka 10-2. Zaregistrujte skupinu modulu Timer0
stránka SFR
0 0 0 0
adresa
0x88 0x89 0x8A 0x8C
výchozí hodnoty 0x00 0x00 0x00 0x00
Funkce
Řídicí registry Timer0 a Timer1 Timer0 a Timer1 Pracovní režim Registry Timer0 nízký registr 8 bitový registr Timer0 vysoký 8 bit
Copyright © HOPERF
Rev 0.1A | 51/100 stránky
www.hoperf.com
11 Modul časovače1
Uživatelská příručka AN261-CMT2186A
11.1 Základní funkce
Timer1 je 16bitový programovatelný časovač/počítač, který lze nakonfigurovat pomocí registrů TMOD pro výběr způsobu fungování, spuštění nebo zastavení počítání a generování přerušení přetečení počítání. Časovač 1 podporuje 3 druhy pracovních režimů, které jsou uvedeny v následující tabulce.
TMOD. M11 TMOD.M10
0
0
0
1
1
0
1
1
Tabulka 11-1. Pracovní režimy v časovači 1
Pracovní režim Režim 0 Režim 1 Režim 2 Zakázat
Funkce
8bitové časování/počítač s 5bitovou předškálou, tj. 13bitové časování/režim počítání 16bitové časování/režim počítání 8bitové časování/počítací režim s přetíženými počátečními hodnotami
11.2 Režim časovače1
Blokové schéma Timer1 módu 0 je uvedeno níže.
TIMER1_CLK /12 t1_in C/T1 TR1
GATE1 t1_int1_n
0
Časovač 1
TL1[4:0]
ČT1
TF1
Přerušit k
1
umožnit
8051 jádro
Graf 11-1. Blokové schéma Timer1 Mode0
Když Timer1 pracuje v režimu 0, je 13bitový čítač kombinován z 5bitového předděličky poskytovaného TL1[4:0] a 8bitového čítače poskytovaného TH1:
Pokud je TMOD.C/T1 nastaveno na 0, je vybrán režim časování a zdrojem časování je 12-ti stupnice FPCLK.
Pokud je TMOD.C/T1 nastaveno na 1, je zvolen režim počítání a sestupná hrana externího vstupního kolíku t1 se používá jako signál počítání.
Copyright © HOPERF
Rev 0.1A | 52/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Pokud je TMOD.GATE1 nastaveno na 1, je zvoleno počítání spouštěcích signálů ovládání brány. vyžaduje vysokou úroveň externího přerušení t1_int1_n a TCON.TR1 ke spuštění počítání Timer1.
Pokud je TMOD.GATE1 nastavena na 0, počítání Timer1 se spustí, když je TCON.TR1 nastaveno na 1 Celkový spínač počítání Timer1 je TCON.TR1, funkce počítání je povolena, když je nastavena na 1 a
deaktivovat, když je nastavena na 0.
11.3 Režim časovače1
Blokové schéma Timer1 módu 1 je uvedeno níže.
TIMER1_CLK /12
t1_in C/T1 TR1 GATE1 t1_int1_n
0
1
umožnit
Časovač 1
TL1
ČT1
TF1
Přerušit k
8051 jádro
Graf 11-2. Blokový diagram v Timer1 Mode1
Když TIMER1 pracuje v Mode1, jedná se o 16bitový čítač, skládající se z TL1 a TH1, a liší se od Mode0 pouze počtem bitů čítače. Zatímco ostatní funkce ovládacího bitu jsou stejné jako u Moode0.
11.4 Režim časovače1
Blokové schéma Timer1 módu 2 je uvedeno níže.
TIMER1_CLK /12 t1_in C/T1 TR1
GATE1 t1_int1_n
Copyright © HOPERF
0
1
umožnit
TL1
Přetečení TF1
Časovač 1 Přerušit do
8051 jádro
ČT1
Rev 0.1A | 53/100 stránky
www.hoperf.com
AN261-CMT2186A Uživatelská příručka Tabulka 11-3. Blokové schéma Timer1 Mode2
Když Timer1 pracuje v režimu 2, čítač se automaticky přetíží počáteční hodnotou 8 bitů, a když počet TL1 přeteče, automaticky načte hodnotu uloženou v TH1 (počáteční hodnota), čímž se TL1 přepočítá z počáteční hodnoty.
To je hlavní rozdíl oproti režimu 0/1, kde se počítadlo po přetečení vynuluje.
Zatímco ostatní funkce ovládacího bitu jsou stejné jako u Moode0/1.
11.5 Související registr
Jméno
TCON TMOD
TL1 TH1 USART_SEL
Tabulka 11-2. Zaregistrujte skupinu modulu Timer1
stránka SFR
0 0 0 0 0
adresa
0x88 0x89 0x8B 0x8D 0x9F
výchozí hodnoty
0x00 0x00 0x00 0x00 0x01
Funkce
Řídicí registry Timer0 a Timer1 Timer0 a Timer1 Registry pracovního režimu Timer1 nízký 8 bitový registr Timer1 vysoký 8 bit Možnosti předděličky zdroje hodin Timer1
Copyright © HOPERF
Rev 0.1A | 54/100 stránky
www.hoperf.com
12 Modul SPI
Uživatelská příručka AN261-CMT2186A
12.1 Základní funkce
Sériové periferní rozhraní (SPI) umožňuje čipu a periferním zařízením komunikovat polo/plným duplexním, synchronním a sériovým způsobem. Z provozního způsobu podporuje režim master a režim slave view. Master poskytuje komunikační hodiny podřízenému. Rozhraní také podporuje konfiguraci multi-master nebo 1-vodičový obousměrný simplexní synchronní přenos (3-vodičový režim).
Obvykle je třeba zapojit 4 piny mezi hlavní a podřízené SPI zařízení.
MISO: pin master-in-slave-out. Piny jsou přijímány z hlavního zařízení a přenášeny z podřízeného zařízení. Pin může odesílat data z podřízeného zařízení do hlavního zařízení.
MOSI; master-out-slave-in pin. Piny přijaté z podřízeného zařízení a přenesené z hlavního zařízení. Pin může odesílat data z hlavního zařízení do podřízeného zařízení.
SCK: sériové datové synchronní hodiny, které vystupují z hlavního zařízení na podřízené zařízení. Povolení výběru zařízení NSSslave, volitelný pin používaný pro hlavní zařízení k výběru cíle
slave zařízení. Umožňuje hlavnímu zařízení komunikovat s konkrétním podřízeným zařízením individuálně, čímž se zabrání konfliktům na datových linkách. Pin NSS podřízeného zařízení může být řízen hlavním zařízením jako standardní IO. Jakmile je povolen (bit SSOE), může být pin NSS také použit jako výstupní pin a může být snížen, když je SPI nastaveno na hlavní režim; V tuto chvíli všechna SPI zařízení s jejich piny NSS připojenými k hlavnímu pinu NSS získají nízké úrovně a automaticky přejdou do režimu slave, pokud jsou nastavena jako hardwarový režim NSS.
Časování rozhraní SPI v režimu master a slave je znázorněno v grafu 12-1 a grafu 12-2. Mezi nimi i sampFáze hodin CPHA SCK se konfiguruje registrem SPI_CTL_1.SPI_EDGE_SEL. Pokud je 1, SPI odešle data na první hraně hodin a sample data na druhém okraji; pokud je nastavena na 0, SPI bude sampukládat data na první hranu hodin a odesílat data na druhou hranu. CPOL určuje stav SCK, když je nečinný. Když je CPOL 1, linka SCK zůstane během nečinnosti vysoká. Když je CPOL 0, linka SCK zůstane během nečinnosti nízká.
Copyright © HOPERF
Rev 0.1A | 55/100 stránky
www.hoperf.com
SCK (CPOL = 1)
SCK (CPOL = 0)
MISO od mistra
MOSI z otroka
NSS na otroka
MSB MSB
Uživatelská příručka AN261-CMT2186A
LSB LSB
Graf 12-1. Časování rozhraní SPICPHA = 1
CPOL = 1
CPOL = 0
MISO
od mistra
MSB
LSB
LELKOVAT
od otroka
MSB
LSB
NSS na otroka
Graf 12-2. Časování rozhraní SPICPHA = 0
12.2 Možnost konfigurace
Nastavení Master Mode a Slave Mode
Modul SPI obsahuje kompletní program režimu master a slave. Uživatel může nastavit aktuálně ovládané SPI jako master nebo slave zařízení konfigurací registru SPI_CTL_1.SPI_MS_SEL tak, aby komunikovalo s ostatními slave nebo master zařízeními. Pokud je SPI_MS_SEL nastaveno na 1'b1, aktuální modul SPI bude nastaven do hlavního režimu; pokud je SPI_MS_SELl nastaveno na 1'b0, aktuální modul SPI bude nastaven do režimu slave.
Konfigurace fáze a polarity hodin
Pro nastavení fáze hodin je potřeba nakonfigurovat proměnnou SPI_CTL_1.SPI_EDGE_SEL. Pokud je tato proměnná nastavena na 1, SPI bude sample druhý okraj hodin, a pokud je nastavena 0, SPI bude sample první okraj hodin.
Polaritu hodin lze nastavit konfigurací registru SPI_CTL_1.SPI_CKPOL_SEL. Pokud je SPI_CKPOL_SEL nastaveno na 1,
Copyright © HOPERF
Rev 0.1A | 56/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
SCK bude ve stavu NEČINNOSTI vysoká; pokud je SPI_CKPOL_SEL nastaveno na 0, bude SCK ve stavu IDLE nízký. Následující obrázek ukazuje okraj dat sampling a vysílání při konfiguraci s různými polaritami hodin a fázemi.
SPI_CKPOL_SEL = 0
Poslat
SPI_EDGE_SEL = 0 SCK
Cap Send
SPI_EDGE_SEL = 1 SCK Cap
SPI_CKPOL_SEL = 1
Poslat
SCK
Cap Send
Čepice SCK
Graf 12-3. Diagram časování rozhraní SPI CPHA = 1
Nastavení bitové šířky přenášených dat
Když je registr SPI_CTL_0.SPI_8B16B_SEL nastaven na 1, SPI vybere přenos 16bitových dat, hlavní zařízení přenese 16 cyklů hodin do podřízeného zařízení a podřízené také shromáždí 16 bitů dat postupně podél odpovídajících hodin. Když je SPI_8B16B_SEL nastaveno na 0, přenáší se pouze 8 bitů dat, což je spodních 8 bitů ze 16 bitů v SPI_DATA.
Nastavení přenosové rychlosti
Tabulka 12-1. Sazba modulu SPI
SPI_CTL_0.SPI_MBR Hodnota nastavení 3'b000 3'b001 3'b010 3'b011 3'b100 3'b101 3'b110 3'b111
Přenosová rychlost: sys_clk jsou systémové hodiny, výchozí 24 MHz sys_clk/4 sys_clk/8 sys_clk/16 sys_clk/24 sys_clk/32 sys_clk/64 sys_clk/128 sys_clk/256
Nastavení přenosu s vysokou prioritou bitů
Pokud je vstupní signál SPI_CTL_1.SPI_LSBF nastaven na 1, budou nejprve vysílána data nízké úrovně; je-li nastavena na 0, budou nejprve přenášena data vysoké úrovně.
12.3 Pracovní režim
Master i slave zařízení mají čtyři pracovní režimy a lze je rozdělit na 2 typy, které
Copyright © HOPERF
Rev 0.1A | 57/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
zahrnuje plný duplex a poloviční duplex. Tři proměnné SPI_CTL_0.SPI_BIDI_MODE SPI_CTL_0.SPI_BIDI_OENSPI_CTL_0.SPI_RX_ONLY lze nakonfigurovat jako následující seznam a dosáhnout 4 pracovních režimů.
Tabulka 12-2. Provozní režimy modulu SPI
SPI_BIDI_MODE SPI_RX_ONLY
1'b0
1'b0
1'b0
1'b1
1'b1
Náhodná hodnota
1'b1
Náhodná hodnota
SPI_BIDI_OEN Náhodná hodnota Náhodná hodnota 1'b1 1'b0
Priorita výběru režimu
První úroveň
Druhá úroveň
Třetí úroveň
Čtvrtá úroveň
Pracovní režim
Plně duplexní normální režim
Plně duplexní režim pouze pro čtení
Poloduplexní režim pouze pro zápis
Poloduplexní režim pouze pro čtení
1. Plně duplexní normální režim: Když je hlavní nebo podřízené zařízení nakonfigurováno v tomto režimu, data jsou odesílána a přijímána synchronně. Vezmeme-li hlavní zařízení jako example, port pro přenos dat MOSI odesílá data, zatímco port MISO také přijímá data z podřízeného zařízení.
2. Plně duplexní režim pouze pro čtení: Přijímací konec hlavního zařízení a podřízeného zařízení v tomto režimu funguje normálně, zatímco vysílací konec vždy posílá 0.
3. Poloduplexní režim pouze pro zápis: V tomto režimu má hostitelské nebo podřízené zařízení pouze tři externí rozhraní. Napřample, na hlavním zařízení SCK vysílá hodiny, je povolen přenos NSS a poslední I/O port je přidělen MOSI pro přenos dat.
3. Half-duplex režim pouze pro čtení: V tomto režimu má hostitelské nebo podřízené zařízení pouze tři externí rozhraní. Napřample, na hlavním zařízení SCK vysílá hodiny, je povolen přenos NSS a poslední I/O port je přidělen MOSI pro příjem dat.
Použití: SPI může komunikovat s rozhraním S3S přepínáním tam a zpět mezi pouze pro čtení a pouze pro zápis v polovičním duplexu. Když chce SPI poslat adresu do rozhraní S3S, může být nastaveno na poloduplexní režim pouze pro zápis a namapovat MOSI na PAD, aby se spojilo s SDA S3S a realizovalo zápis adresy. Když chce SPI číst data přenášená S3S, může nastavit SPI na poloduplexní režim pouze pro čtení a mapovat MISO na PAD pro připojení k SDA S3S za účelem načítání dat přenášených S3S. V tomto případě lze datovou komunikaci mezi SPI a S3S realizovat, když jsou připojeny pouze tři fyzické vodiče.
12.4 Stavový příznak
Modul SPI poskytuje stav sběrnice prostřednictvím 3 stavových příznaků, které slouží k monitorování softwaru.
Copyright © HOPERF
Rev 0.1A | 58/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Příznak obsazenosti SPI_CTL2.SPI_BUSY příznakový bit, když je SPI v procesu přenosu, příznakový bit bude zvýšen.
Odeslat příznak volného vyrovnávací paměti (příznakový bit SPI_CTL2.SPI_TXMTY); Když je SPI nakonfigurováno s novými přenosovými daty, příznakový bit bude snížen. Když jsou nová vysílaná data nakonfigurována a úspěšně přenesena, příznakový bit bude vysoký.
Vyrovnávací paměť příjmu není prázdná (příznakový bit SPI_CTL2.SPI_RXNMTY); Když SPI dokončí cyklus přenosu dat, vytáhne příznakový bit SPI_RXNMTY, aby indikoval, že data byla úspěšně odeslána a přijata. Když uživatel čte data přijatá v SPI_DATA, příznakový bit bude automaticky snížen.
12.5 Související registr
Tabulka 12-3. Zaregistrujte skupinu modulu SPI
Jméno
SPI_CTL_0 SPI_CTL_1 SPI_CTL_2 SPI_DATA_H SPI_DATA_L
SFR strana Strana0 Strana0 Strana0 Strana0 Strana0
adresa
0x96 0x97 0x9A 0x9B 0x9C
výchozí hodnoty
0x00 0x00 0x00 0x00 0x00
Funkce
Řídicí registr modulu SPI 0 Řídicí registr modulu SPI 1 Řídicí registr modulu SPI 2 Data modulu SPI vysoké bajty Data modulu SPI nízké bajty
Copyright © HOPERF
Rev 0.1A | 59/100 stránky
www.hoperf.com
13 Modul UART
Uživatelská příručka AN261-CMT2186A
13.1 Základní funkce
UART na čipu CMT2186A je flexibilní plně duplexní asynchronní transceiver plně kompatibilní s architekturou 8051. Přenosová rychlost je konfigurována softwarem a podporuje následující 4 provozní režimy.
Režim 0: režim synchronního posunu s přenosovou rychlostí pevně nastavenou na UART_CLK / 12 režim 18bitový režim UART s konfigurovatelnou přenosovou rychlostí generovanou interním časovačem 1 režim 29bitový UART režim s přenosovou rychlostí UART_CLK / 64 nebo UART_CLK / 32 režim 39bitový režim UART generovaný interním přenosem času 1
Uživatelé si mohou vybrat přerušení provozního režimu modulu UART, povolení komunikace a vysílání/příjmu dat pomocí konfigurace SCON0.
13.2 Režim synchronního posunu (Mode0)
Režim synchronního posunu je synchronní provozní režim modulu UART, podobný režimu SPI slave, který umožňuje sériovou komunikaci s ostatními 8051. Přijímá poloduplexní komunikaci se sériovou linkou RxD, která se používá jako obousměrné vstupní a výstupní datové rozhraní, a TxD generující hodiny s pevnou sériovou přenosovou rychlostí s taktovací frekvencí UART_CLK / 12.. Když jsou SCON0.SM00 a SCON0.SM10 nakonfigurovány jako 00, modul UART zvolí a bude pracovat v přenosovém režimu 0, jak je znázorněno níže.
SBUF0 Napište
TX posuvný registr
rxd0_o
SERIAL0_CLK
1/12
Počítadlo TX
txd0
Graf 13-1. Blokové schéma přenosu pro UART v režimu 0
V procesu přenosu, kdy jsou data zapisována do vysílací vyrovnávací paměti SBUF, je generován kladný impuls a sériový port začíná odesílat data. V tomto okamžiku je třeba SCON0.REN0 nastavit na 0. Po dokončení přenosu je bit příznaku přerušení odesílání SCON0.TI0 nastaven na 1. Sekvenční diagram je následující.
Copyright © HOPERF
Rev 0.1A | 60/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
SBUF0 Zápis 12xTPCLK 5xTPCLK
txd0
rxd0_o
1xTPCLK D0 D1
D6 D7
TI0 1xTPCLK
Graf 13-2. Diagram časování přenosu pro UART v režimu 0
Schéma struktury příjmu Mode0 je znázorněno na obrázku níže.
SBUF0 Číst
SBUF0
Data v rxd0_i
Posuvný registr RX
1
rxd0_o
FPCLK
1/12
Počítadlo RX
txd0 Clock Out
Graf 13-3. Diagram příjmu pro UART v režimu 0
Když přijímá v režimu 0, bit povolení příjmu SCON0.REN 0 je nastaven na 1, a když je bit příznaku přerušení příjmu SCON0.RI0 vymazán, vygeneruje se kladný impuls a sériový port začne přijímat data. Posunovací hodiny výstupu TxD sampdata na řádku RxD. Když jsou přijata 8bitová data, přijímací bit příznaku přerušení SCON0.RI0 je nastaven na 1 a data jsou ukládána do vyrovnávací paměti v SBUF0. Časový diagram je znázorněn na obrázku níže.
Copyright © HOPERF
Rev 0.1A | 61/100 stránky
www.hoperf.com
SCON0 Zápis 12xTPCLK 5xTPCLK txd0
rxd0_i
REN0 RI0
SBUF0
1xTPCLK 1xTPCLK D0 D1
Uživatelská příručka AN261-CMT2186A
D6 D7 1xTPCLK
D[7:0]
Graf 13-4. Přijímání časového diagramu UART v režimu 0
13.3 Asynchronní plně duplexní režim s konfigurovatelnou přenosovou rychlostí
(Režim 1 a Režim 3)
Režim 1 i režim 3 modulu UART jsou asynchronní plně duplexní režim transceiveru s proměnnými přenosovými rychlostmi. Jediný rozdíl mezi nimi je, že režim 1 je 8bitový režim vysílání a příjmu dat, zatímco režim 3 je režim vysílání a příjmu 9bitových dat.
Nastavení sériového portu 0 jako Mode1: Nakonfigurujte SCON0.SM00 a SCON0.SM10 jako 01. Generujte přenosovou rychlost prostřednictvím bitů Timer1 a PCON.SMOD1. Při příjmu nastavte bit povolení příjmu SCON0.REN0 na 1. Při odesílání zapisujte data do přenosové vyrovnávací paměti SBUF.
Nastavení sériového portu 0 jako Mode3: Nakonfigurujte SCON0.SM00 a SCON0.SM10 jako 11. Generujte přenosovou rychlost prostřednictvím bitů Timer1 a PCON.SMOD1. Při příjmu nastavte bit povolení příjmu SCON0.REN0 na 1. Při vysílání zapisujte data do přenosové vyrovnávací paměti SBUF a SCON0.TB8.
Copyright © HOPERF
Rev 0.1A | 62/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Formáty snímků pro režim 1 a režim 3 jsou znázorněny na obrázcích níže.
S D0
D7 STOP
S D0
D7 D8 STOP
Graf 13-5. Formát rámce režimu 1 a režimu 3 UART
Přenosové rychlosti v režimu 1 a režimu 3 závisí na rychlosti přetečení Timer1. Bloková schémata vysílání a příjmu jsou znázorněna na obrázcích níže.
SBUF0 Napište
Vyrovnávací paměť přenosu
TX posuvný registr
txd0
Časovač 1 Přetečení
1/2
0
1/16 1
SMOD1
Počítadlo TX
Graf 13-6. Blokové schéma přenosu UART v režimu 1 a režimu 3
SBUF0 Číst
SBUF0
rxd0_i
Posuvný registr RX
Časovač 1 Přetečení
1/2
0
1
SMOD1
1/16
Počítadlo RX
Graf 13-7. Blokové schéma příjmu UART v režimu 1 a režimu 3
Copyright © HOPERF
Rev 0.1A | 63/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Nakonfigurujte Timer1 pro generování přenosové rychlosti:
TMOD.M1[1:0] je nakonfigurován jako 10 (Timer1 v režimu 2), TMOD.GATE1 je nakonfigurován jako 0 a TMOD.C/T1 je nakonfigurován jako 0.
Zapište 8bitovou počáteční hodnotu počtu do TH1. TCON.TR1 je nakonfigurován jako 1 a spustí časování.
Přenosová rychlost se vypočítá podle následujícího vzorce:
Přenosová_rychlost = 21
×
[32 × 12 × (256 – 1)]Je ekvivalentní:
přenosová rychlost
=
21
×
1_ 32
Během přenosu, kdy jsou 8bitová data zapsána do přenosové vyrovnávací paměti SBUF0 (v režimu 3 zapište data nejprve do SCON0.TB8, poté zapište 8bitová data do SBUF0), je generován kladný impuls a sériový port začne vysílat data. Nejprve odešlete 1-bit jako počáteční bit 0, poté odešlete bit LSB SBUF, odešlete postupně 8bitová data, poté odešlete SCON0.TB8 (režim 3) a nakonec odešlete 1bitový stop bit 1. Po dokončení přenosu dat nastavte bit příznaku přerušení přenosu SCON0.TI0 na 1. Časový diagram je znázorněn na obrázku níže.
Režim 1
txd0
S
D0
D1 D2 D3
D4 D5 D6 D7 STOP S
X0
SBUF0 Napište
Zápis ve vyrovnávací paměti může nastat kdekoli
Vyrovnávací paměť TI0 TX
D[7:0]
X[7:0]
Režim 2, 3
txd0
SBUF0 Napište
S
D0
D1 D2 D3
D4 D5 D6 D7 D8 STOP S
Zápis ve vyrovnávací paměti může nastat kdekoli
Vyrovnávací paměť TI0 TX
D[7:0]
X[7:0]
TB80 D8
X8
Graf 13-8. Diagram asynchronního časování přenosu pro UART v režimu 1 a režimu 3
Copyright © HOPERF
Rev 0.1A | 64/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Když je povolen režim příjmu UART v režimu 1 nebo v režimu 3, musí být nejprve nastaven bit povolení příjmu SCON0.REN0 na 1, poté je stav pinu RxD sampvedena 16násobkem přenosové rychlosti, poté počkejte na sestupnou hranu startovacího bitu. Zatímco sestupná hrana je sampLED se znovu zkontroluje, zda je RxD 0 během start bitu sampling, abyste potvrdili, zda se jedná o platný startovací bit. Pokud není 0, pokračujte na sample počáteční bit. Když je potvrzeno jako platný počáteční bit, začne přijímat 8bitová / 9bitová data a každý bit dat je sampvedena ve střední poloze. V 8bitovém přijímacím stavu se kontroluje, zda je sampling stop bit je platný a zkopírujte jej do SCON0.RB80 a nastavte přijímací bit příznaku přerušení SCON0.RI0 na 1. Pokud je stop bit nesprávný, příznak FE0 (framing error) je nastaven na 1. Při 9bitovém příjmu se po sampv 9. bitu se příznak bitu přerušení SCON0.RI0 nastaví na 1 na pozici stop bitu a 9. bit se zapíše do SCON0.RB80. Chyba stop bitu se používá pouze ke generování příznaku FE0. Když je SCON0.RI0 nastaveno na 1, SBUF načte přijatá 8bitová data. Časový diagram je znázorněn na obrázku níže.
Režim 1
rxd0_i
Sample
RI0 SBUF0
Režim 2, 3
rxd0_i SBUF0 Zápis
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
Graf 13-9. Schéma časování asynchronního příjmu UART (režim 1 a režim 3)
13.4 Asynchronní plně duplexní režim s pevnou přenosovou rychlostí (režim 2)
Režim 2 je 9bitový asynchronní plně duplexní provozní režim transceiveru s pevnou přenosovou rychlostí. Bloková schémata vysílání a příjmu jsou znázorněna na obrázku níže.
Copyright © HOPERF
Rev 0.1A | 65/100 stránky
www.hoperf.com
SBUF0 Číst
SBUF0
Uživatelská příručka AN261-CMT2186A
SBUF0 Napište
Vyrovnávací paměť přenosu
rxd0_ i
Posuvný registr RX
TX posuvný registr
txd0
FPCLK / 2
1/2
0
1/16
1
SMOD1
Počítadlo RX
Počítadlo TX
Graf 13-10. Blokové schéma vysílání a příjmu režimu UART 2
Kroky pro nastavení UART do režimu 2 jsou následující. Nakonfigurujte SCON0.SM00 a SCON0.SM10 jako 10. Při příjmu nastavte bit povolení příjmu SCON0.REN0 na 1. Při vysílání zapisujte data do přenosové vyrovnávací paměti SBUF a SCON0.TB8.
Jediný rozdíl mezi režimem 2 a režimem 3 je rozdíl v přenosové rychlosti. Přenosová rychlost režimu 2 se vypočítá následovně.
Baud_Rate = 2SMOD1 × PCLK 64
Jak režim 2, tak režim 3 UART podporují multi-machine komunikaci, která stačí nastavit SCON0.SM20 na 1. V tomto režimu může master posílat data více podřízeným zařízením přes sériovou linku. Master může salve rozpoznat pouze tehdy, když přijme 9. bit dat RB8 jako 1. Zbývající 8bitová data se použijí k přenosu adresy podřízeného zařízení. Může přijímat úplná data pouze v případě, že adresa odpovídá. Další datový tok se posílá pouze do identifikovaných podřízených zařízení. 9. bit datového toku musí být nastaven na 0, takže ostatní podřízené jednotky nemohou data rozpoznat.
13.5 Rozšířený režim USART
Mezi různými provozními režimy UART lze pouze v režimu 1 a režimu 3 dosáhnout různých přenosových rychlostí podle doby přetečení Timer1. Je to nejjednodušší, ale nejpraktičtější, když Timer 1 pracuje v režimu 2. Zdroj hodin CMT2186A HFOSC však podporuje relativně omezené frekvence, konkrétně 24 MHz, 12 MHz, 3 MHz a externích 13 MHz (generovaných 26 MHz/2). Proto jsou také omezené možnosti odpovídající přenosové rychlosti. Podrobné informace jsou uvedeny v tabulce níže.
Copyright © HOPERF
Rev 0.1A | 66/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A Tabulka 13-1. Chyba přenosové rychlosti UART ve standardním režimu (časovač 1 v režimu 2)
Cílová přenosová rychlost
300 600 1200 2400 4800 9600 14400 19200
Nastavení Value.of
ČT1 – 48 152 204 230 243 247 249
SMOD=1
Skutečná přenosová rychlost:
-601 1202 2404 4808 9615 13889 17857
Chybová hodnota
Nastavení hodnoty TH1
SMOD=0
Skutečná přenosová rychlost:
Chybová hodnota
—
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 %
Poznámka: Zvolte takt HFOSC s frekvencí 24MHz (tj. FPCLK = 24MHz).
Tabulka 13-1 ukazuje, že pouze šest běžných nízkých hodnot 300, 600, 1200, 2400, 4800, 9600 je méně chyb a splňuje požadavek na použití. Vyšší přenosovou rychlost v podstatě nelze použít. Aby CMT2186A mohl podporovat více možností přenosové rychlosti, je na čipu zabudován rozšířený režim. CMT2186A může nastavit USART_SEL (nachází se v registru SFR USART_CTL) na 1, jinak zruší 12 frekvenční dělič před zdrojem hodin Timer1 a přímo poskytne Timer1 z FPCLK jako zdroj hodin, jak je znázorněno na následujícím obrázku.
FPCLK
/ 12
0
1
Časovač1
USART_SEL
Graf 13-11. Schematický diagram zdroje hodin Timer1 v rozšířeném režimu
Když USART_SEL=0, zdroj hodin Timer1 je FPCLK/12 podle standardní architektury 51. Když USART_SEL=1, zdroj hodin Timer1 je v rozšířeném režimu a je přímo poskytován
FPCLK.
Chyby přenosové rychlosti vypočítané v rozšířeném režimu jsou uvedeny níže.
Copyright © HOPERF
Rev 0.1A | 67/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A Tabulka 13-2. Chyby přenosové rychlosti UART v rozšířeném režimu (Timer1 Mode 2)
Cílová přenosová rychlost
4800 9600 14400 19200 38400 56000 57600 115200
Hodnota nastavení TH1
-100 152 178 217 229 230 243
SMOD=1
Skutečná přenosová rychlost
-9615 14423 19230 38462 55556 57692 115385
Míra chyb
-0.16 % 0.16 % 0.16 % 0.16 % -0.79 % 0.16 % 0.16 %
Hodnota nastavení TH1
SMOD=0
Skutečná přenosová rychlost:
100
4808
178
9615
204
14423
217
19231
236
37500
243
57692
243
57692
249
107143
Míra chyb
0.16 % 0.16 % 0.16 % 0.16 % -2.34 % 3.02 % 0.16 % -6.99 %
13.6 Související registr
Jméno
PCON SCON0 SBUF0 USART_SEL
stránka SFR
0 0 0 0
adresa
0x87 0x98 0x99 0x9F
výchozí hodnoty
0x00 0x00 0x00 0x01
Funkce
Power Control Register Řídicí registr sériového portu Registr mezipaměti dat sériového portu 0 Výběr zdroje hodin časovače 1 předděličky
Copyright © HOPERF
Rev 0.1A | 68/100 stránky
www.hoperf.com
14 Časovač A/Časovač B Modul
Uživatelská příručka AN261-CMT2186A
Časovač A i časovač B se skládají z 16bitového časovače/počítače a tří zachycovacích/komparátorů, které umožňují vícenásobné zachycování/komparátory, PWM výstupy a časové intervaly pro počítání spouštěcích podmínek. Časovač A má několik režimů přerušení, které spouštějí přetečení a zachycení/komparátory z časovače/počítadla. Charakteristika časovače A / časovače B zahrnuje
16bitové časování/čítač podporující 4 provozní režimy; Podpora pro konfiguraci zdroje hodin jako systémových hodin s frekvenčním dělením 1 ~ 65535 . 2 nebo 3 konfigurovatelné zachycení/komparátory; Konfigurovatelný výstup PWM; Asynchronní vstup sampmník; Rychlé zachycení zdroje přerušení
Hodiny s časovačem
blok časovače ta_cnt_mode
systémové hodiny FSYSCLK
DĚLIČ 1~65535
16bitový časovač TACNT
jasný
ta_clr
Režim počítání
EQU0
Nastavit časovač IFG
taccr2_ccis taccr2_cm
(z GPIO)tacci0 (z GPIO)tacci1 (z SFR)tacci2
00
(z SFR)tacci3 10
11
Režim snímání
logika taccr2_cov_set
0
synchronizace
1
taccr2_cci
Časovač taccr2_scs
taccr2_scci A
Y EN
EQU2
EQU2 EQU0 taccr2_out
Výstupní jednotka 2
ta_out2
CCR0 CCR1 CCR2
TACCR2
komparátor2
EQU2
0
Nastavit CCR2 CCIFG
taccr2_cap
taccr2_outmode
Tabulka 14-1. Schéma struktury časovače A
Copyright © HOPERF
Rev 0.1A | 69/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Poznámka: Struktura časovače A a časovače B je identická. Obrázek výše znázorňuje strukturu časovače A.
14.1 Způsob provozu
Činnost modulu časovače A/časovače B je řízena softwarem. TACCR0TH/TBCCR0TH zmíněné v této části představují konfigurovatelný 16bitový čítač. Skládá se z registrů TACCR0TH_H/TBCCR0TH_H a TACCR0TH_L/TBCCR0TH_L. Tabulka 14-1 uvádí režimy počítání 16bitového časovače/čítače (TACNT a TBCNT) podle různých pracovních režimů.
Tabulka 14-1. Provozní režimy časovače
REŽIM_CNT_TA/TB 00 01 10
11
Pracovní režim Zastavení
Kontinuální
Nahoru / dolů
Popis
TACNT/TBCNT nefunguje a zastaví počítání, konkrétně režim zastavení počítání.
TACNT/TBCNT se opakovaně zvyšuje od 0 do TACCR0TH/TBCCR0TH.
hodnota, konkrétně režim načítání
TACNT/TBCNT se opakovaně inkrementuje od 0 do 0xFFFF, tj. kontinuálně.
režim počítání
TACNT/TBCNT
opakovaně
přírůstky
z
0
na
TACCR0TH/TBCCR0TH, poté klesající k 0, v cyklu, tj. kontinuální
režim počítání.
Jak je patrné z výše uvedené tabulky, časovač A nebo časovač B zahrnuje čtyři provozní režimy: Stop, Nahoru, Nepřetržitý, Nahoru/Dolů, přičemž provozní režim lze určit konfigurací TA_CNT_MODE nebo TB_CNT_MODE. Pokud je nutné dočasně upravit provozní režim časovače A nebo časovače B (s výjimkou úpravy povolení přerušení a příznaku přerušení), doporučuje se nejprve zastavit počítání TACNT nebo TBCNT, aby se předešlo nepředvídatelným chybám.
V režimu vzestupného počítání generuje TACNT nebo TBCNT přerušení, jakmile dosáhne nastavené prahové hodnoty TACCR0TH/TBCCR0TH. V režimu kontinuálního počítání generuje TACNT nebo TBCNT přerušení, jakmile dosáhne 0xFFFF. V režimu nahoru/dolů generuje TACNT nebo TBCNT přerušení, jakmile se hodnota sníží na 0x0001.
Před spuštěním časovače A nebo časovače B nakonfigurujte TAC_L.TA_CNT_MODE nebo TBC_L.TB_CNT_MODE (režim bez zastavení), prahovou hodnotu čítání TACCR0TH nebo hodnotu TBCCR0TH (0) a parametry zachycení/porovnání (viz kapitola 4.14.5). Poté nastavte TAC_H.TA_START nebo TBC_H.TB_START nejprve na nulu a poté na 1 pro efektivní spuštění.
Během počítání může uživatel nastavit TACL.TA_CLR nebo TBCL.TB_CLR na 1, čímž vymaže většinu konfigurace čítače. Jako příklad si vezměte časovač A.ampMezi hodnoty, které může TA_CLR vynulovat, patří: hodnota dělení frekvence zdroje hodin čítače TACLK_DIV, hodnota čítače TACNT, pracovní režim čítače TA_CNT_MODE a prahová hodnota čítače TACCR0TH.
Copyright © HOPERF
Rev 0.1A | 70/100 stránky
www.hoperf.com
14.2 Režim nahoru
Uživatelská příručka AN261-CMT2186A
V režimu Up může uživatel nakonfigurovat prahovou hodnotu počítání TACCR0TH nebo TBCCR0TH na libovolnou hodnotu a TACNT (nebo TBCNT) se bude opakovaně zvyšovat od 0 do prahové hodnoty TACCR0TH (nebo TBCCR0TH) s periodou počítání TACCR0TH (nebo TBCCR0TH) +1. Když počet TACNT (nebo TBCNT) dosáhne prahové hodnoty, okamžitě se vrátí na 0 a znovu se spustí počítání.
0xFFFF TACCR0 (TBCCR0)
0
Tabulka 14-2. Schéma zapojení časovače A/časovače B v režimu Up
Když TACNT (nebo TBCNT) dočítá do TACCR0TH nebo TBCCR0TH a přeteče zpět na 0, je nastaven příznak přerušení TA_CCR0_INT nebo TB_CCR0_INT. Příznak přerušení TA_TMR_INT (nebo TB_TMR_INT) časovače A (nebo časovače B) je nastaven o jednu dobu později než TA_CCR0_INT. Následující diagram znázorňuje generační diagram dvou různých přerušení po nastavení hodnoty před rozdělením TA_CLK_DIV na 3:
SYS_CLK TACNT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
CCR0-1
CCR0
0
1
TA_CCR0_INT TA_TMR_INT
Tabulka 14-3. Schéma přerušení časovače A pracujícího v režimu Up
Nedoporučuje se upravovat hodnotu TACCR0TH (nebo TBCCR0TH) během procesu počítání TACNT (nebo TBCNT). V případě, že uživatelé provedou úpravy vynuceně, bude to mít v závislosti na různých podmínkách dva následující efekty. 2. Pokud je nová hodnota úpravy TACCR1TH (nebo TBCCR0TH) větší než předchozí nebo větší než
0. Pokud je nová hodnota modifikace TACCR0TH (nebo TBCCR0TH) menší než předchozí hodnota počtu TACNT (nebo TBCNT), TACNT nebo TBCNT se okamžitě nastaví na 2 a bude pokračovat v počítání do nové hodnoty TACCR0TH (nebo TBCCR0TH).
Copyright © HOPERF
Rev 0.1A | 71/100 stránky
www.hoperf.com
14.3 Nepřetržitý režim
Uživatelská příručka AN261-CMT2186A
V kontinuálním režimu se TACNT (nebo TBCNT) opakovaně zvyšuje z 0 na 0xFFFF, resetuje se a poté se počítá od 0. V tomto režimu mají 3 sady zachycovačů/komparátorů CCR0 ~ CCR2 stejnou funkci a fungují nezávisle, což se liší v režimu up. V režimu up je TACCR0TH (nebo TBCCR0TH) periodou čítače TACNT (nebo TBCNT).
0xFFFF
0
Tabulka 14-4. Schéma zapojení časovače A v nepřetržitém režimu
V kontinuálním režimu může modul zachycení/porovnání generovat přerušení samostatně, jak je znázorněno na obrázku níže.
Když TACNT (TBCNT) dosáhne hodnoty TACCR0TH+1 (TBCCR0TH+1), nastaví se příznak přerušení TA_CCR0_INT (TB_CCR0_INT) komparátoru ta_ccr0 nebo tb_ccr0.
Když TACNT (TBCNT) dopočítá do 0xFFFF a poté se vrátí na 0 pro nové odpočítávání, nastaví se příznak přerušení časovače 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 23 24
TACCR0TH-1 TACCR0TH TACCR0TH+1
0 xFFFE 0 xFFFF
0
1
TA_CCR0_INT TA_TMR_INT
Tabulka 14-5. Schéma přerušení časovače A pracujícího v nepřetržitém režimu
Kontinuální režim lze výše uvedenými způsoby použít ke generování nezávislých časových intervalů a výstupních frekvencí. V případě komparátoru ccr0 vygeneruje časovač A přerušení při čítání do TACCR0TH. Poté, co software detekuje toto přerušení v registru, může nakonfigurovat prahovou hodnotu porovnání TACCR0TH na TACCR0TH + n, kde n je nastavená hodnota periody a n < 0XFFFF. Hodnotu TACCR0TH aktualizujte v cyklech a generují se přerušení o periodě n.
Proto se k vytvoření tří sad nezávislých výstupů časových intervalů a kmitočtů používají tři sady zachycovacích/komparátorů ta_ccr0~ ta_ccr2 (tb_ccr0~ tb_ccr2), jak je znázorněno na obrázku níže, kde TACCR0THa, TACCR0THb, TACCR0THc a TACCR0THd jsou hodnoty
Copyright © HOPERF
Rev 0.1A | 72/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
vypočítáno pomocí rovnice TACCR0TH =TACCR0TH+ n, totéž platí pro ta_ccr1.
TACCR1THb TACCR1THc TACCR1THd
0xFFFF
TACCR0THb
TACCR1THa
TACCR0THa
TACCR0THc TACCR0THd
0
t0
t0
t0
t1
t1
t1
Tabulka 14-6. Schéma nezávislého provozu každého časovače A pro zachycení/porovnání (stejné pro časovač B)
14.4 Režim nahoru / dolů
V režimu Nahoru/Dolů se hodnota TACNT (TBCNT) opakovaně zvyšuje od 0 do TACCR0TH (TBCCR0TH) a poté se snižuje na 0. Jedna perioda je dvojnásobkem hodnoty TACCR0TH (TBCCR0TH).
0xFFFF TACCRTH0 (TBCCRTH0)
0
Tabulka 14-7. Schéma zapojení časovače A / B v režimu nahoru / dolů
Přerušení TA_CCR0_INT (TB_CCR0_INT) pro ta_ccr0 a příznaky přerušení tb_ccr0 a TA_TMR_INT (TB_TMR_INT) pro TACNT (TBCNT) jsou rozloženy v první a druhé polovině jednoho cyklu. Podobně jako v režimu Up, když TACNT (TBCNT) dočítá do hodnoty TACCR0TH (TBCCR0TH), nastaví se příznak přerušení TA_CCR0_INT (TB_CCR0_INT) pro ta_ccr0. Když TACNT (TBCNT) dočítá do prahové hodnoty ta_ccr0 a vrátí se na 0 pro další čítání, nastaví se příznak přerušení časovače A (časovače B) TA_TMR_INT (TB_TMR_INT).
Copyright © HOPERF
Rev 0.1A | 73/100 stránky
www.hoperf.com
SYS_CLK
Uživatelská příručka AN261-CMT2186A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
TACNT
TACCR0TH-1 TACCR0TH TACCR0TH-1
2
1
0
1
TA_CCR0_INT
TA_TMR_INT
Tabulka 14-8. Schéma přerušení časovače A pracujícího v režimu nahoru/dolů
Režim nahoru/dolů může podporovat aplikace vyžadující mrtvou dobu mezi dvěma výstupními signály. Např.amptj. 2 výstupy, které synchronně řídí H-můstek, ale nemohou současně vydávat vysokou úroveň, aby se zabránilo přetížení.
TDead=ČasovačTTACCR1THTACCR2TH
Výše uvedené: 1. TDead označuje dobu trvání mrtvého času 2. TTimer označuje periodu hodin TACNT nebo TBCNT 3. TACCR1TH a TACCR2TH označují konfigurační hodnoty 2 sad zachytávacích/komparátorů.
0xFFFF
TACCR0TH
TACCR1TH TACCR2TH
0
Režim výstupu mrtvého času 6: Přepínání/Nastavení
EQU1
EQU2
EQU0
Časovač INT
EQU1 EQU2
EQU1 EQU2
Časovač INT
EQU0
Výstupní režim 2: Přepínání/Reset
EQU1 EQU2
Tabulka 14-9. Schéma zapojení pro režim nahoru/dolů s regulací mrtvého času
Copyright © HOPERF
Rev 0.1A | 74/100 stránky
www.hoperf.com
14.5 Modul pro zachycení/porovnání
Uživatelská příručka AN261-CMT2186A
Časovač A / B obsahuje 2 až 3 nezávislé moduly pro zachycení/porovnání dat TACNT (nebo TBCNT) nebo generování časových intervalů. V režimech Nahoru a Nahoru / Dolů se TACCR0 (TBCCR0) používá jako registr periody a nelze do něj ukládat zachycené hodnoty.
V nepřetržitém režimu mohou jak ta_ccr0~ ta_ccr2, tak i tb_ccr0~ tb_ccr2 ukládat zachycené hodnoty.
Režim snímání
Pokud je TACCTL0_H.TA_CCR0_FUNC_MODE až TA_CCR2_FUNC_MODE nastaveno na 1, odpovídající modul snímání/porovnávání přejde do režimu snímání. Režim snímání se používá k záznamu událostí souvisejících s časem, jako jsou odhady rychlosti nebo měření času. K dispozici jsou 4 zdroje snímání, z nichž TACCI0 a TACCI1 pocházejí z GPIOn (konfigurovatelný výběr, podrobnosti viz kapitola 4.9 Modul GPIO) a TACCI_H.TA_CCI2_IN_SFR a TAC_H.TA_CCI3_IN_SFR pocházejí z interních registrů SFR, které jsou přístupné softwaru. Konfigurací TA_CCR0_SRC_SEL – TA_CCR1_SRC_SEL lze vybrat různé zdroje snímání (CCI0 – CCI3) pro tři kanály snímání. Časovač B je přesně stejný, stejný je i níže. Nakonfigurujte TACCR0_CM ~ TACCR2_CM pro výběr režimu snímání odpovídajícího modulu snímání/porovnávání jako spouštění vzestupnou hranou, sestupnou hranou nebo dvojitou hranou. Po úspěšném zachycení bude hodnota TACNT uložena do registru TACCRn odpovídajícího modulu pro zachycení/porovnání a zároveň bude nastaven jejich příznak přerušení TA_CCR0_INT~TA_CCR2_INT.
Nakonfigurujte TACCR0_SCS ~ TACCR2_SCS a vyberte, zda se má na zdroji zachycení provádět synchronizace systémových hodin.
Časovač TACNT CCI
TA_CCR0_FUNC_MODE TA_CCR0_INT
TACCR0TH
n-2
n-1
n
n+1
n+2
n+3
n+4
n
Tabulka 14-10. Schéma zapojení režimu snímání s časovačem A
Pokud nebyl předchozí výsledek zachycení přečten a zdroj zachycení je znovu spuštěn a dojde k přetečení zachycení, příznak COV odpovídajícího modulu zachycení/porovnání se nastaví na 1 a po vymazání softwarem se výsledek znovu zachytí.
Copyright © HOPERF
Rev 0.1A | 75/100 stránky
www.hoperf.com
Znovu zachytit
Vymažte odpovídající
COV bit
Uživatelská příručka AN261-CMT2186A
Zdroj spouštěcího záznamu
Úspěšné zachycení
Zachycení čtení
Přečíst výsledek zachycení
Zdroj spouštěcího zachycení Po načtení nedojde k žádnému zachycení.
Zdroj spouštěcího záznamu
Přetečení zachycení COV=1
Zdroj spouštěcího záznamu
Tabulka 14-11. Schéma stavu režimu snímání a přerušení časovače A
Režim porovnání
Pokud je TA_CCR0_FUNC_MODE ~ TA_CCR2_FUNC_MODE nastaveno na 0, odpovídající modul zachycení/porovnání přejde do režimu porovnání. Režim porovnání se používá ke generování výstupního signálu PWM nebo ke generování přerušení v určitém časovém intervalu. Pokud TACNT čítá do TACCR0TH ~ TACCR2TH.
1) Odpovídající příznak přerušení TACCR0 /1/2 je nastaven na 1. 2) Odpovídající počet je roven, což znamená, že signál EQU0 ~ EQU2 je nastaven na 1; 3) EQU0~EQU2 ovlivňuje výstupní signál podle různých výstupních režimů; 4) Zdroj zachycení vybraný každým komparátorem je uložen v odpovídajícím TA_CCR0_SRC ~
Registr TA_CCR2_SRC;
Výstupní jednotky
Každý modul pro snímání/porovnávání obsahuje výstupní jednotku pro generování výstupního signálu, například PWM signálu. Každá výstupní jednotka je založena na signálech EQU0 a EQU1/EQU2 a lze ji kombinovat do osmi výstupních režimů.
TA_CCR0_OUT_MODE ~ TA_CCR2_OUT_MODE je registr konfigurace výstupu pro odpovídající modul zachycení/porovnání, kde výstupní režimy 2, 3, 6 a 7 se nevztahují na výstup jednotky 0, protože EQUx = EQU0. (EQUx znamená EQU1 a EQU2)
Copyright © HOPERF
Rev 0.1A | 76/100 stránky
www.hoperf.com
Uživatelská příručka AN261-CMT2186A
Tabulka 14-2. Různé režimy výstupní jednotky
MIMO REŽIM
Režim
Popis
POZNÁMKY
V přímém režimu je výstup TA_OUTx konfigurován pomocí
Platí pro 3.
000
VÝSTUP
registr CCRx_OUT.
moduly pro zachycení/porovnání.
Když TACNT dočítá do TACCRxTH, výstup
TA_OUTx je nastaven a stav zůstává zachován, dokud není nastaven časovač A.
Platí pro 3.
001
bitů
reset nebo změna výstupního režimu a ovlivnění
moduly pro zachycení/porovnání.
výstup..
Když TACNT dočítá do TACCRxTH, výstup
Platí pouze pro zachycení 1
010
TA_OUTx se přepne. Když TAR dosáhne TACCR0TH,
a 2
výstup TA_OUTx se resetuje.
Když TACNT dočítá do TACCRxTH, výstup
Sada bitů /
Platí pouze pro zachycení 1
011
TA_OUTx je nastaveno. Když TAR dosáhne hodnoty TACCR0TH,
resetovat
a 2
výstup TA_OUTx se resetuje.
Když TACNT dočítá do TACCRxTH, výstup
Platí pro 3.
100
Překlopit
TA_OUTx otočení
moduly pro zachycení/porovnání.
Když TACNT dočítá do TACCRxTH, výstup
Platí pro 3.
101
Resetovat
TA_OUTx se resetuje a stav zůstává zachován, dokud
moduly pro zachycení/porovnání.
výstupní režim se mění a ovlivňuje výstup.
Když TACNT dočítá do TACCRxTH, výstup
Platí pouze pro zachycení 1
110
Otočit / Obnovit
TA_OUTx se přepne. Když TAR dosáhne TACCR0TH,
a 2
výstup TA_OUTx je nastaven.
Když TACNT dočítá do TACCRxTH, výstup
Platí pouze pro zachycení 1
111
Resety/bity TA_OUTx se resetují. Když TAR dosáhne TACCR0TH,
a 2
výstup TA_OUTx je nastaven.
Oznámení: 1. T
Dokumenty / zdroje
![]() |
Vysílací mikrořadič HOPERF CMT2186A Sub-1G [pdfUživatelská příručka Vysílací mikrokontrolér CMT2186A Sub-1G, CMT2186A Sub-1G, Vysílací mikrokontrolér, Mikrokontrolér, Řídicí jednotka |