Freescale 68HC12
A 68HC12 (vagy 6812, vagy HC12) egy a Freescale Semiconductor által gyártott mikrovezérlő család. A cég az 1990-es évek közepén jelentette meg. Az architektúra a Freescale 68HC11 továbbfejlesztése. A HC11-esre írt programok kompatibilisek a HC12-es eszközzel is, annak csak néhány újabb utasítása van. Az első 68HC12 változatok maximális buszsebessége 8 MHz volt és legfeljebb 128 KiB flash memóriával rendelkeztek.
A családba tartozó további csipeket nagyobb memóriával szerelték fel, és később perifériavezérlő koprocesszort is kaptak. Az autóiparban alkalmazzák.
A 68HC12 architektúra
szerkesztésElődjéhez hasonlóan a 68HC12-es is két 8 bites akkumulátorregiszterrel rendelkezik – ezek jele egyszerűen A és B; amelyek összekapcsolva egy 16 bites, D-vel jelölt akkumulátorként is használhatók, ezt a processzor 16 bites utasításai használják. A processzornak van még két 16 bites címregisztere, az X és az Y, egy 16 bites programszámlálója, egy 16 bites veremmutatója és egy 8 bites feltételkód-regisztere (ill. állapotszava).
A HCS12/MC9S12 származékai
szerkesztés2000 elején a családot kibővítették az MC9S12 sorozatú változatokkal, amelyek 25 MHz-es buszsebességgel és nagyobb, max. 512 KiB-os flashmemóriával rendelkeztek.
Az MC9S12NE64 mikrovezérlőt 2004-ben vezette be a Freescale,[1] azt állítva, hogy ez az ipar első egycsipes, gyors Ethernet kapcsolatot biztosító, flashmemóriás mikrovezérlője. Ezt egy 25 MHz HCS12 CPU működteti, 64 KiB flash EPROM memóriát és 8 KiB RAM-ot tartalmaz, valamint egy 10/100 Mbit/s sebességű Ethernet vezérlőt.
Az MC9S12X változatai
szerkesztésA 2004-ben bevezetett MC9S12XDP512 buszsebessége már 40 MHz és XGATE sorozatú perifériavezérlő processzort kapott, amely képes bizonyos feladatokat átvenni a fő processzortól, tehát azzal párhuzamosan működni. Az S12X változat CPU-ja több újabb utasítást is kapott, amelyek tovább növelik a teljesítményt.
A Freescale 2006 májusában bemutatta a továbbfejlesztett MC9S12XEP100 vezérlőt, amely az S12X család újabb tagja volt; 50 MHz buszsebességgel működik, memóriavédelmi és szegmentált memóriaelérést biztosító funkciókkal rendelkezik, és hardveresen képes EPROM memóriát emulálni (emulált EPROM funkciót ellátó hardvere van). A HCS12 típusú termékeknek egy processzoruk van, a HCS12X típusban van csak kiegészítő XGATE perifériakezelő processzor.
Az S12X család két módszert alkalmazhat a 64 KiB-nál nagyobb memóriák elérésére:
- Lapozott memóriaterületek az alap 64 KiB helyi memóriatérképen: PPAGE a lapozott programadatok, RPAGE a RAM, EPAGE a globális lapozható EEPROM/flash számára.
- A globális címzés lehetővé teszi 8 MiB címterület címzését/elérését. A GPAGE a speciális opkódokkal együtt (gldaa és társai) használható.
XGATE
szerkesztésAz XGATE koprocesszor egy 16 bites RISC processzor, amely a buszsebesség kétszeresének megfelelő órajelen működik. Ez tehermentesíti az S12X magot, csak megszakításokat kezel és nem futtat a fő processzort terhelő ciklusokat. Az XGATE első verziói nem engedték meg, hogy a magasabb prioritású megszakítások megszakítsák az aktuálisan kiszolgálás alatt lévő megszakítást, azonban a 9S12XEP100 csipekben és a többiekben szereplő „XGATE-v3” koprocesszor már megengedi ezt. Az S12X triggerelheti a szoftver-megszakításokat az XCORE magban és ez a lehetőség kölcsönös (fordítva is működik). Egy szemaforrendszeren keresztül az S12X és XCORE magok szinkronizálják a periféria-hozzáféréseket.
Általában az XCODE kódja a RAM-ba másolódik az indítási folyamat alatt és futási időben a processzor a RAM-ból hajtja végre a kódot, a sebességnövekedés miatt. Az XGATE a 64 KiB memóriaterület egy részét képes csak elérni, és nem kezeli a lapozást. Regiszterei memóriacímekre vannak leképezve, de a flash és RAM memóriákat a két mag különböző címeken éri el.
Jegyzetek
szerkesztés- ↑ MC9S12NE64 Data Sheet (angol nyelven) (pdf). HCS12 Microcontrollers. Freescale, 2006. június 27. [2012. október 11-i dátummal az eredetiből archiválva]. (Hozzáférés: 2013)
Fordítás
szerkesztésEz a szócikk részben vagy egészben a CIKKCIME 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. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.
Források
szerkesztésTovábbi információk
szerkesztés- Ingy valós idejű kernel forráskód a HCS12 számára, mintaalkalmazásokkal
- Freescale's official OpenTCP project on SourceForge for MC9S12NE family
- http://hc12text.com/
- http://ee.cleversoul.com/hc12.html
- http://hc12web.de/
- DRAGON12-Plus HCS12/9S12 Trainer, EVB and Development Board
- A 68HC11 és 68HC12 csipeket egyaránt támogató MiniIDE fejlesztőkörnyezet
- 68HC12 Discussion Group
- 68HC12 fejlesztő és gyakorlórendszer