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á data

se 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řepnou

na.

[3] Při použití korekčního modulu LFOSC nebo HFOSC je řízen registrem ANA_CTL_8, je tedy nastaveno ANA_CLK_EN

na 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 číslu

GPIO.

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

skupina 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

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *