Úvodem
AT91SAM (tj. AT91 Smart ARM-based Microcontrollers) od společnosti Atmel je 32bitová řada RISC mikroprocesorů zalořená na architektuře ARM. Procesory obsahují paměti Flash a SRAM, množství periferií a také některá strandardní komunikační rozhraní. Dají se tedy označit termínem SoC (system-on-a-chip).
Externí rozhraní zahrnují USB a CAN sběrnice, Ethernet, SPI, USART, ADC. Řadič DMA umožňuje přímou komunikaci mezi externími rozhraními a pamětí. Tím se zvýší datová propustnost s minimálnímí nároky na samotný procesor.
Vnitřní periferie mikrokontrolérů jsou čítače a časovače, obvody Power-on-Reset, napájecí obvody a vylepšené řadiče přerušení. To zlepšuje výkon procesoru v reálném čase. Obvody řízení napájení udržují proudovou spotřebu obvodu na miminu tím, že se vypínají nepoužívané periferie a rozhraní, příp. může být procesor uveden do standby módu.
|
ARM je původně název společnosti Acorn RISC Machines, která vyvinula cca v roce 1987 první RISC procesor s názvem ARM - údajně původně pro levný desktopový počítač. Později se po úspěchu procesorů ARM1 až ARM3 odělila divize procesorů ARM jako firma Advanced RISC Machines (Acorn vyvíjel i OS - RISC OS). Jak plyne z názvu společnosti zaměřovala se na procesory s architekturou RISC (Reduced Instruction Set Computing). Od doby odštěpení opustilo dílny ARM několik řad procesorů od ARM6 až po ARM11.
Výhoda ARMu spočívá především v jeho RISCové instrukční sadě - instrukce jsou vykonávány přímo hardwarem, nikoli mikrokódem. To že procesor obsahuje menší počet hardwarových instrukcí dělá jeho návrh do jisté míry jednodušší, samotný procesor je menší a tedy má menší spotřebu. Jednodušší instrukční soubor umožňuje také snadnější vytvoření kompilátoru. Díky některým vlastostem ARM je omezen i problém předpovídání skoků, který je tak ožehavý ve světě CISC. Za výhody RISCových procesorů se považuje i větší počet univerzálně použitelných registrů. ARM má navíc některé vymoženosti jako jsou podmíněné instrukce.
ARM architektura je založená na redukovaném instrukčním souboru (RISC) mající vysokou instrukční výkonnost a rychlou reálnou odezvu na přerušení. Nelze také opomenout 16bitovou Thumb podmnožinu která ušetří 35-40% paměti ve srovnání s 32bitovým instrukčním souborem aniž by se významně snížil výkon.
|
|
ARM7 – specifikace jádra
- 32bitový RISC procesor (redukovaná instrukční sada)
- 0,18 mm technologie
- napájení 1,8 V
- příkon < 0,4 mW
- pracovní frekvence 60-110 Mhz
- architektura typu von Neumann (data i program v jednom adresovém prostoru)
- 3 stavové zpracování instrukcí (pipeline)
ARM7 – z hlediska programování
- 37 celočíselných 32bitových registrů
- 8, 16, 32bitové datové typy
- 7 pracovních režimů:
- usr – normální programový režim
- fiq – režim datového přenosu (rychlá obsluha IRQ, přenos dat prostřednictvím DMA)
- irq – režim pro základní přerušovací služby
- svc – chráněný režim pro operační systém
- abt – režim pro případ, kdy data nebo prováděná instrukce se nepodaří správně vykonat
- sys – privileg režim pro uživatelskou aplikaci
- und – režim pro případ vykonání nedefinované (neznámé) instrukce
ARM7 – popis registrů
- struktura registrů závisí na pracovním režimu
- R0-R12 univerzální 32bitové registry
- R13 (SP) ukazatel do zásobníku adres
- R14 (LR) registr pro uložení obsahu registru R15 při vykonání instrukce typu BL
- R15 (PC) programový čítač
- R16 (CPSR) stavový registr
ARM7 – instrukční sada
- 15 typů instrukcí pro větvení programu (B, BL, BLX, BX, ...)
- 16 typů instrukcí pro aritmetické a logické operace (AND, ADD, SUB, MUL, ...)
- 10 typů instrukcí pro přesun dat (MOV, LDR, STR, SWP, ...)
- SWI instrukce pro softwarové přerušení
ARM Thumb – specifikace
- instrukční sada je 16bitová, o 35-40 % méně programové paměti
- redukované instrukce nemají vliv na snížení výkonu
- registry zůstávají 32bitové, ale používá se jen jejich polovina
- redukované instrukce se dekódují během standardního dekódovacího cyklu
- významně zjednodušuje návrh procesorového systému
Atmel AT91SAM7X
Architektura těchto procesorů na bázi ARM7 se vyznačuje, kromě předchozího, následujícími rysy:
- Vylepšená architektura ARM.
- Deterministické chování – předvídatelná odezva na události v reálném čase, předem známý počet hodinových taktů.
- Podpora DMA – zrychlení komunikace mezi periferiemi a pamětí.
- Vylepšené řízení a obsluha přerušení, zlepšená funkce v reálném čase.
- Bitové operace set/reset jedinou instrukcí zjednodušují kód.
- Paměť Flash pro ukládání kódu a dat.
- Rozličná komunikační rozhraní – USB, Ethernet, SPI, USART, atd.
- Prostředky pro zvýšení bezpečnosti – zrychlené výpočty kryptovacích algoritmů AES/TDES, zamykání paměti, atd.
- Kompatibilita kódu pro všechny procesory.
- Levné vývojové prostředky.
|
Hlavní znaky:
- ARM7TDMI ARM Thumb Processor
- Interní rychlá Flash paměť
- 512 kB (AT91SAM7X512)
- 256 kB (AT91SAM7X256)
- 128 kB (AT91SAM7X128)
- Interní rychlá SRAM paměť, přístup v jednom cyklu
- 128 Kbytes (AT91SAM7X512)
- 64 Kbytes (AT91SAM7X256)
- 32 Kbytes (AT91SAM7X128)
- Memory Controller (MC), Reset Controller (RSTC), Clock Generator (CKGR), Power Management Controller (PMC), Slow Clock Mode (Down to 500 Hz) and Idle Mode, Advanced Interrupt Controller (AIC)
- Periodic Interval Timer (PIT), 20bitový programovatelný čítač, 12bitový intervalový čítač
- Real-time Timer (RTT), Windowed Watchdog (WDT)
- Two Parallel Input/Output Controllers (PIO)
- Thirteen Peripheral DMA Controller (PDC) Channels
- One USB 2.0 Full Speed (12 Mbits per second) Device Port
- One Ethernet MAC 10/100 base-T
- One Part 2.0A and Part 2.0B Compliant CAN Controller
- Two Universal Synchronous/Asynchronous Receiver Transmitters (USART)
- Individual Baud Rate Generator, IrDA Infrared Modulation/Demodulation
- Support for ISO7816 T0/T1 Smart Card, Hardware Handshaking, RS485 Support
- One Four-channel 16-bit Power Width Modulation Controller (PWMC)
- One Two-wire Interface (TWI)
- One 8-channel 10-bit Analog-to-Digital Converter, Four Channels Multiplexed with Digital I/Os
- Fully Static Operation: Up to 55 MHz at 1.65 V
- 100-lead LQFP and 100-ball TFBGA Packages
|
Závěr
Architektura ARM hraje důležitou roli na poli mikroprocesorů, jsou již vyvinuty i pokročilejší verze (ARM7-ARM11). Architekturu ARM7 používají i procesory Atmel AT91SAM7X. Ty jsou vybaveny velkým množstvím periferií a komunikačních rozhraní USB, Ethernet, CAN, možností připojení paměťových karet, atd. Spojením ARM a těchto periferií vzniká velice výkonný komplexní procesor, který je možné využít v mnoha zařízeních např. spotřební elektroniky, v automobilech, řídicí a měřicí technice.
Literatura
|