Kurs programowania mikrokontrolerów Coldfire firmy Freescale – zaczynamy!
MCF51CN128
Niezależnie czy to pralka czy mikrokontroler, w każdym z tych przypadków należy sięgnąć po nielubianą przez nas instrukcję by zaznajomić się z działaniem i funkcjonowaniem urządzenia. Pozwolę sobie w tym miejscu nie omawiać działania mikrokontrolera, lecz pokrótce opisać najważniejsze aspekty jego architektury oraz główne właściwości.
MCF51CN128 to 32-bitowy mikrokontroler oparty na rdzeniu Coldfire V1. Jego architektura i działanie zostało tak zoptymalizowane, by jak najlepiej obsłużyć protokoły sieciowe, co umożliwi nam stworzenie urządzeń sieciowych w oparciu o niego.
Do wyboru mamy 3 różne wersje MCF51CN128, zależne od ilości wyprowadzeń: 48, 64 i 80 pinów. W niniejszym kursie pracować będziemy na wersji 80-cio pinowej.
Rys. 1.
Główne właściwości MCF51CN128:
- 32-bitowa architektura
- Napięcie zasilania:
- 3,0 – 3,6 V – taktowanie CPU do 50,33 MHz,
- 2,1 – 3,0 V – taktowanie CPU do 40 MHz,
- 2,1 – 1,8 V – taktowanie CPU do 20 MHz.
- Źródła sygnału zegarowego:
- Wewnętrzny rezonator (XOSC) o zakresie częstotliwości od 31.25 kHz do 38.4 kHz lub od 1 MHz do 24 MHz,
- Generator zegarowy ogólnego przeznaczenia (MCG) mogący pełnić funkcję pętli fazowej PLL lub pętli częstotliwościowej FLL.
- 128 kB pamięci Flash, 24 kB pamięci RAM
Porty wejścia/wyjścia:
- 70 portów ogólnego przeznaczenia (GPIO) pełniących funkcje wejścia/wyjścia,
- 16 przerwań klawiaturowych (keyboard interrupt – KBI) z wyborem polaryzacji,
- 16 portów o zwiększonej szybkości tzw. Rapid GPIO.
Peryferia:
- przetwornik analogowo-cyfrowy (ADC) – 12-kanałowy, 12-bitowy,
- szeregowy interfejs komunikacyjny (SCI),
- szeregowe interfejsy komunikacyjne: SPI, IIC oraz SCI,
- zegar czasu rzeczywistego RTC – 8 bitowy licznik modulo,
- Ethernet – 10/100 Base-T/TX oparty o FEC (fast ethernet controller) wspomagany DMA (bezpośrednim dostępem do pamięci),
- Timer Modulo – 8-bitowy z 8-bitowym preskalerem (dzielnikiem),
- Timer/PWM (TPM) – 3-kanałowy, 16-bitowy.
Programowanie poprzez interfejs:
- BDM (background debug module) – USB