Płytka demonstracyjna DEMO9S08QD4 firmy Freescale
8-bitowe mikrokontrolery rodziny HCS08 firmy Freescale (wcześniej Motorola), mimo upływu lat, nadal cieszą się niesłabnącym zainteresowaniem konstruktorów. Powodem tej popularności jest niewątpliwie łatwość płynnego rozwijania starszych aplikacji, dostosowywania ich do aktualnych potrzeb bez odwoływania się do rewolucyjnych środków. Mikrokontrolery HCS08 są idealne do zastosowań w przemyśle i motoryzacji.
Ewolucja mikrokontrolerów rodziny HCS08 doprowadziła do powstania między innymi układu oznaczonego symbolem MC9S08QD4 (rysunek 1). Jest to 8-bitowy, 16-megahercowy procesor jest wspomagany pamięcią Flash (4 kB) i RAM (256 B). Do dyspozycji użytkownika jest 4-kanałowy przetwornik analogowo-cyfrowy; dwa timery: 2-kanałowy i 1-kanałowy, oba pracujące również jako modulatory PWM; 4-pinowy moduł klawiatury wykorzystujący przerwania.
Rys. 1. Schemat blokowy mikrokontrolerów MC9S08QD
Cztery wyprowadzenia układu mogą być wykorzystywane jako uniwersalne porty I/O, wyjścia mają wydajność prądową 10 mA. Procesor jest taktowany przebiegiem zegarowym generowanym przez wewnętrzny moduł wykorzystujący pętlę FLL ( frequency-locked-loop ). Wykonywany przez MCU program jest kontrolowany pod względem poprawności kodu i adresów. W chwili wykrycia błędów generowany jest sygnał zerowania procesora. Mikrokontroler jest produkowany w 8-nóżkowych obudowfach SOIC i PDIP zgodnych z dyrektywą RoHS.
Inne artykuły o mikrokontrolerach MC9S08QD w portalu MIKROKONTROLER.pl: – S08QD firmy Freescale: mikrokontrolery za grosze |
Firma Freescale zadbała o opracowanie płytki demonstracyjnej DEMO9S08QD4 prezentującej mikrokontroler MC9S08QD4 w działaniu. Zawarto na niej wszystkie komponenty niezbędne do pracy systemu wraz z otoczeniem wykorzystywanym przez przykładową aplikację. W jego skład wchodzą: zasilacz napięciowy, interfejs USB-BDM umożliwiający debugowanie programu na komputerze, zworki konfiguracyjne, 2 przyciski użytkownika i przycisk zerowania, 4 diody LED, potencjometr montażowy 5 k? i fototranzystor. Na płytce umieszczono również 32-pinowe gniazdo MCU I/O, gniazdo zasilające (2 mm), gniazdo USB i port BDM ( Background Debug Mode ) wyprowadzony jednak tylko w postaci pól lutowniczych. Do zestawu dołączono dwa CD-ROM-y. Jeden zawierający przykładowe programy i dokumentację techniczną, drugi zawiera pliki instalacyjne środowiska uruchomieniowego CodeWarrior, od wielu lat nierozerwalnie związanego z mikrokontrolerami Freescale’a (wcześniej Motoroli).
Płytka demonstracyjna może być zasilana z zewnętrznego źródła 6…20 VDC (typowo 9 V) lub z portu USB. Napięcie zasilające system jest wytwarzane przez wewnętrzny stabilizator i może być równe 3 lub 5 V (ustawianie zworką).
Tryby pracy
Płytka DEMO9S08QD4 (jej schemat pokazano na rysunku 2) jest przystosowana do pracy w dwóch trybach: Run Mode i Debug Mode. W pierwszym z nich układ pracuje samodzielnie, bez konieczności połączenia z komputerem. W drugim trybie możliwa jest emulacja i dokładne śledzenie programu krok po kroku na przykład w środowisku IDE CodeWarrior uruchomionym na komputerze. W pamięci mikrokontrolera MC9S08QD4 fabrycznie zapisano przykładowy program wykorzystujący jego otoczenie sprzętowe zamontowane na płytce. Jest on automatycznie uruchamiany w trybie Run po doprowadzeniu napięcia zasilającego.
Rys. 2. Schemat elektryczny zestawu DEMO9S08QD4
Praca w trybie Debug jest dla użytkowników na pewno dużo bardziej interesująca. Oprócz testowania programu demonstracyjnego możliwe jest również uruchamianie własnych programów. Do współpracy środowiska CodeWarrior z mikrokontrolerem MC9S08QD4 konieczne jest zainstalowanie servis packa dla mikrokontrolerów rodziny QD. Praca w trybie debugowania jest możliwa poprzez port USB, bez konieczności stosowania specjalnego interfejsu. Odpowiedni adapter jest zabudowany na płytce. W programie demonstracyjnym pokazano obsługę portów I/O i przetwornika analogowo-cyfrowego. Do wejść ADC doprowadzono napięcia z potencjometru i fototranzystora. Przekroczenie zadanego progu napięciowego powoduje zmianę stanu diody świecącej. Przyjęty próg przełączania stanu diody można zmieniać modyfikując odpowiednią stałą programu. Dokonuje się tego w wersji źródłowej udostępnionej w języku C. Do sprawdzenia efektu działania poprawek konieczne jest oczywiście skompilowanie programu i zapisanie go w pamięci Flash mikrokontrolera. Jest to możliwe z poziomu środowiska CodeWarrior.
Jak wykazuje praktyka, oprócz coraz mocniejszych procesorów wyposażonych we wszystkie stosowane interfejsy, dysponujących ogromnymi pamięciami Flash i RAM, taktowanych przebiegami o częstotliwościach zbliżających się do granic fizycznych, nadal nie słabnie zapotrzebowanie na małe i tanie mikrokontrolery wykorzystywane do realizacji stosunkowo prostych zadań sterowania. Potwierdzeniem tego jest układ MC9S08QD4.