Freescale 68HC11

A Wikipédiából, a szabad enciklopédiából
Motorola MC68HC11 48 lábú DIP (dual in-line) tokozásban

A 68HC11 (rövidítve 6811, vagy HC11) egy 8 bites CISC típusú mikrovezérlő (µC) család, a Motorola 6800-as mikroprocesszor közeli rokona. A Motorola készítette és forgalmazta 1985-től,[1] 2004-től a gyártását a Freescale Semiconductor folytatta. A 68HC11-es eszközök hatékonyabbak és drágábbak is a 68HC08 mikrovezérlőknél; vonalkód-olvasókban, mágneskártya-író berendezésekben, amatőr robotikai eszközökben és változatos beágyazott rendszerekben használják őket. A MC68HC11A8 volt az első CMOS EEPROM-ot tartalmazó MCU.[2][3][4]

Architektúra[szerkesztés | forrásszöveg szerkesztése]

A Motorola 68HC11 regiszterei
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 (bitpozíció)
Fő regiszterek
A B D regiszterpár
Indexregiszterek
IX X indexregiszter
IY Y indexregiszter
SP Stack Pointer[r 1]
Programszámláló
PC Program Counter
Állapotregiszter
  1 1 H I N Z V C állapotbitek [r 2]
  1. veremmutató
  2. flags, processzor jelzőbitek v. állapotbitek

Belsőleg a HC11 utasításkészlete felfelé kompatibilis a Motorola 6800-aséval, azzal a kiegészítéssel, hogy ennek van egy Y indexregisztere is. Az Y regisztert használó utasításokat egy 0x18 prefix különbözteti meg. Két 8 bites akkumulátora van, az A és a B, két 16 bites indexregisztere, az X és az Y, egy feltételkód- v. állapotregisztere, egy 16 bites veremmutatója és egy 16 bites programszámlálója. Van 8 × 8 bites szorzóutasítása (A × B), amely 16 bites eredményt produkál, valamint vannak 16-16 bites törtrész/egészrész osztóutasításai is. Rendelkezik 16 bites utasításokkal, amelyek az A és B regisztereket a 16 bitesként értelmezett D regiszterbe összevont módon kezelik, ezek összehasonlítás, összeadás, kivonás és eltoló utasítások lehetnek. Az X és Y regiszterek összehasonlíthatók 16 bites memóriaoperandusokkal is, a B akkumulátorregiszter pedig hozzáadható az X és Y indexregiszterekhez. Az utasításkészletet bitellenőrző utasításokkal is kibővítették, amelyek logikai ÉS műveletet végeznek az operandusokkal és a feltételbiteket állítják, miközben az operandusok nem változnak.

A HC11 különböző változatai eltérő számú külső porttal rendelkeznek, ezeket a portokat betűkkel jelölik. A legelterjedtebb változatnak öt portja van, ezeket A, B, C, D és E-vel jelölik, néhány más változatnak (pl. a D3 verziónak) csak három portja van. A portok nyolcbitesek, kivéve a D-t, amely hatbites (bár a D port is lehet nyolcbites egyes változatokban). 1-től 768 bájt méretű belső program- és adatmemóriával rendelkezik, amelyben programot is képes futtatni, ha a méret ezt lehetővé teszi. A külső memória mérete max. 64 KiB lehet. Külső memória használata esetén a B és C portok cím- és adatsínként funkcionálnak. Ebben az üzemmódban a C port multiplexelt, felváltva hordozza a 16 bites cím alsó bájtját és az adatot.

Megvalósítások[szerkesztés | forrásszöveg szerkesztése]

52 csatlakozós PLCC tokozásban

Az 1990-es évek elején a Motorola készített néhány próbapanelt a 68HC11-eshez, különböző méretű UART, RAM és EPROM kombinációkkal. Ekkoriban egy ilyen próbapanel ára 68 dollár körül volt.

A HC11 család standard bootloadere (rendszerindító betöltőprogram) a BUFFALO volt, ami a „Bit User Fast Friendly Aid to Logical Operation” rövidítése (a rendszer indulásakor a BUFFALO prompt megjelenik a soros porton, ami azt jelzi, hogy a kártya flashmemóriája törlődött). Nem minden HC11 modellhez járt a BUFFALO bootloader, pl. a 68HC11A0 és A1 modellekhez nem, de az A8-hoz már igen.

Más verziók[szerkesztés | forrásszöveg szerkesztése]

A Freescale 68HC16 mikrovezérlő családot a 68HC11 16 bites, nagyrészt szoftverkompatibilis frissítésének ill. felváltására szánták.

A Freescale 68HC12 mikrovezérlő család a 68HC11 kiterjesztett 16 bites változata.

A Fred Martin által tervezett Handy Board robotikai vezérlő szintén a 68HC11-es mikrokontrolleren alapul.[5]

A HC11-es számára rendelkezésre áll a MC68HC24 jelű porthelyettesítő egység. Ez a külső címsínhez csatlakoztatva átveszi a B és C port eredeti funkcióit. Az A port bemeneti tároló, kimeneti összehasonlító, impulzusakkumulátor és egyéb időzítő funkciókat szolgál ki, a D port a soros ki- és bemenet céljaira, az E port pedig az analóg-digitális átalakító (ADC) céljaira szolgál.

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]

  1. Hambley, Allan R. (1839).. Electrical Engineering: Principles and Applications (Digitized by Google) (angol nyelven), Prentice Hall / Pearson Higher Education, 417 / 893. o. ISBN 0132130068, 9780132130066 (2011). Hozzáférés ideje: 2010. május 17. 
  2. MCU: microcontroller unit
  3. M68HC11 Reference Manual
  4. M68HC11 Reference Manual (angol nyelven) (pdf) pp. 127–150 / 650. Freescale, 2002, 2007
  5. Handy Board Hardware

Fordítás[szerkesztés | forrásszöveg szerkesztése]

Ez a szócikk részben vagy egészben a Freescale 68HC11 című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.

Források[szerkesztés | forrásszöveg szerkesztése]

További információk[szerkesztés | forrásszöveg szerkesztése]

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]