Motorola 68HC12 - Motorola 68HC12
Návrhář | Freescale Semiconductor |
---|---|
Bity | 8bitové/ 16bitové |
Design | CISC |
Kódování | Variabilní |
Endianness | Velký |
Registry | |
8 |
68HC12 (6812 nebo HC12 v krátkosti) je mikrořadič rodina z Freescale Semiconductor . Architektura byla původně představena v polovině devadesátých let minulého století a je vylepšením Freescale 68HC11 . Programy napsané pro HC11 jsou obvykle kompatibilní s HC12, který má několik dalších pokynů . První deriváty 68HC12 měly maximální rychlost sběrnice 8 MHz a velikost flash paměti až 128 KB .
Architektura 68HC12
Stejně jako 68HC11, 68HC12 má dva 8bitové akumulátory A a B (označovaný jako jeden 16bitový akumulátor, D, když jsou A & B kaskádovány tak, aby umožňovaly operace zahrnující 16 bitů ), dva 16bitové registry X a Y, 16bitový čítač programů, 16bitový ukazatel zásobníku a 8bitový registr kódů podmínek . Na rozdíl od 68HC11 má procesor 16bitové interní datové cesty
68HC12 přidává a nahrazuje malý počet instrukcí 68HC11 novými formami, které jsou blíže procesoru 6809 . Ještě důležitější je, že změní kódování instrukcí na mnohem hustší a přidá mnoho 6809 funkcí indexování, některé s ještě větší flexibilitou. Výsledkem je, že velikosti kódu jsou obvykle o 30% menší.
Deriváty HCS12/MC9S12
Počínaje rokem 2000 byla rodina rozšířena zavedením derivátů MC9S12, které mají rychlost sběrnice až 25 MHz a velikosti flash až 512 KB.
MC9S12NE64 byl představen Freescale v září 2004, prohlašovat, že je „Průmysl první jednočipový rychlý Ethernet Flash mikrořadič.“ Je vybaven 25 MHz procesorem HCS12, 64 kB FLASH EEPROM, 8 KB RAM a řadičem Ethernet 10/100 Mbit/s .
Deriváty MC9S12X
MC9S12XDP512 , který byl zaveden v roce 2004, má rychlost sběrnice 40 MHz a obvodovou koprocesor známý jako XGATE který umožňuje některé úkoly, které mají být vyložen od CPU. CPU derivátu S12X také obsahuje několik nových instrukcí pro zvýšení výkonu.
Společnost Freescale v květnu 2006 oznámila MC9S12XEP100, aby dále rozšířila rodinu S12X na rychlost sběrnice 50 MHz a přidala jednotku ochrany paměti (na základě segmentace ) a hardwarové schéma, které poskytne emulovanou EEPROM .
Produkty HCS12 obsahují jeden procesor, HCS12X jsou vybaveny dalším periferním procesorem XGATE.
Rodina S12X nabízí dva hlavní způsoby řešení více než 64 kB.
- Oblasti stránkované paměti v místní mapě 64 kB: PPAGE pro stránkovaná data programu, RPAGE pro stránkovanou RAM, EPAGE pro stránkovanou EEPROM/flash
- Globální adresování umožňuje přístup ke všem adresám v adresním prostoru 8 MB . GPAGE se používá ve spojení se speciálními operačními kódy. (gldaa atd.)
XGATE
Koprocesor XGATE je 16bitový procesor RISC pracující na dvojnásobku hodin hlavní sběrnice. Přenáší práci z jádra S12X pouze zpracováním přerušení a nespouští smyčku na pozadí. První verze XGATE neumožňují přerušení s vyšší prioritou předcházet aktuálně zpracovanému přerušení, ale „XGATEV3“, jak je uvedeno v 9S12XEP100 (a dalších), to umožňuje. S12X může spouštět softwarová přerušení na jádru XGATE a naopak. Je implementován systém semaforu, který umožňuje jádrům S12X a XGATE synchronizovat přístup k periferním zařízením.
Obvykle je kód XGATE zkopírován do paměti RAM při spuštění zařízení a poté spuštěn z paměti RAM kvůli zvýšení rychlosti. XGATE má částečný 64KByte adresní prostor bez stránkování. Registry sdílejí adresy, ale flash a RAM se objevují na různých adresách mezi jádry. (Další podrobnosti viz datový list.)
Reference
externí odkazy
- Zdarma zdrojový kód jádra v reálném čase pro HCS12 s ukázkovými aplikacemi
- Oficiální projekt OpenTCP společnosti Freescale na SourceForge pro rodinu MC9S12NE
- DRAGON12-Plus HCS12/9S12 Trenér, EVB a vývojová rada
- Vývojové prostředí MiniIDE, které pracuje s 68HC11 i 68HC12
- Diskusní skupina 68HC12