[KURS] Aplikacje DSP na przykładzie mikrokontrolerów C2000 firmy Texas Instruments inicjalizacja systemowa procesora serii Piccolo F2802x, część 3

 

Konstruktorów zainteresowanych procesorami DSP z serii C2000 firmy Texas Instruments zachęcamy do zapoznania się z książkami napisanymi przez Henryka A. Kowalskiego:

Specjalna oferta wyłącznie dla zarejestrowanych użytkowników portalu MIKROKONTROLER.pl: wspólnie ze sklepem KAMAMI.pl oferujemy obydwie książki w cenie jednej! Szczegółowe informacje są dostępne pod adresem.

 

Code Composer Studio (CCS, CCStudio) jest zintegrowanym środowiskiem projektowym – IDE (Integrated Development Environment) dostarczanym przez firmę Texas Instruments. Obecna wersja CCSv5 jest utworzona z użyciem najnowszej wersji środowiska Eclipse i może pracować pod systemem Windows i Linux. Do tworzenia w środowisku CCSv5 programów przeznaczonych dla procesorów rodziny Piccolo TMS320F2802x firmy Texas Instruments potrzebny jest również pakiet programowy controlSUITE tej firmy. Zawiera on oprogramowanie „firmware”, biblioteki, opisy zestawów sprzętowych oraz projekty przykładowe dla wszystkich serii procesorów rodziny C2000.

Artykuł zawiera opis następujących działań:

  • Instalowanie środowiska CCSv5.3.0
  • Instalowanie pakietu programowego controlSUITEv3.1.2
  • Aktualizacja środowiska CCSv5
  • Wybór opcji licencji środowiska CCSv5
  • Importowanie projektu do CCSv5
  • Budowanie projektu
  • Definiowanie konfiguracji sprzętowego systemu docelowego
  • Uruchamianie sesji debugowej dla projektu
  • Ćwiczenie praktyczne z projektem przykładowym uruchamianym na zestawie ewaluacyjnym C2000 Piccolo LaunchPad dla układu procesorowego serii Piccolo F2802x

 

Konfiguracja sprzętowa i programowa

Do wykonania ćwiczenia potrzebny jest komputer z zainstalowanym (darmowym) oprogramowaniem:

  • Środowisko Code Composer Studio v5.3.0 firmy Texas Instruments [2, 3, 4]
  • Pakiet programowy controlSUITEv3.1.2 firmy Texas Instruments [6, 7, 15]

Platforma sprzętowa wymaga tylko jednego elementu:

  • Zestaw ewaluacyjny C2000 Piccolo LaunchPad firmy Texas Instruments z układem procesorowym Piccolo TMS320F28027 firmy Texas Instruments (zawiera kabel USB-A USB-mini) [1]

W folderze C:\home_dir komputera zostanie utworzony nowy folder work_CCS. Wymagane są prawa dostępu (zapisu i modyfikacji) dla tej ścieżki dyskowej. Możliwe jest umieszczenie foldera home_dir na innym wolumenie dyskowym z prawami dostępu.

Celem ćwiczenia jest poznanie środowiska programowego CCSv5. Realizowane jest to przy zastosowaniu biblioteki driverlib pakietu programowego controlSUITEv3. Zastosowano przykładowy projekt Example_F2802xLEDBlink z tego pakietu co umożliwia poznanie sposobów programowania układów procesorowych Piccolo F2802x. Ćwiczenie jest zorganizowane tak, że działania są wykonywane w kolejnych punktach i krokach uzupełnionych o opisy.

Dodatkowe informacje

Dane techniczne i parametry elektryczne układu procesorowego serii Piccolo F2802x są zamieszczone w dokumencie Texas Instruments:

  • TMS320F28027, TMS320F28026, TMS320F28023, TMS320F28022, TMS320-F28021, TMS320F280200, Piccolo Microcontrollers, Data Sheet [8]

Istotne informacje na temat błędnego działania układu procesorowego serii Piccolo F2802x zawiera errata:

  • TMS320F28027, TMS320F28026, TMS320F28023, TMS320F28022, TMS320-F28021, TMS320F280200, Piccolo MCU, Silicon Errata, [9]

Opis modułu CPU Timer układu procesorowego Piccolo serii F2802x jest zamieszczony w dokumencie:

  • TMS320x2802x/TMS320F2802xx Piccolo System Control and Interrupts Reference Guide [10]

Opis opis zestawu ewaluacyjnego C2000 Piccolo LaunchPad jest zamieszczony w dokumencie:

  • LAUNCHXL-F28027 C2000 Piccolo LaunchPad Experimenter Kit, User’s Guide [13]

Opis oprogramowania „firmware” pakietu programowego controlSUITEv3 jest zamieszczony w dokumencie:

  • F2802x Firmware Development Package USER’S GUIDE v. 210 [11]

Opis biblioteki driverlib pakietu programowego controlSUITEv3 jest zamieszczony w dokumencie:

  • F2802x Peripheral Driver Library USER’S GUIDE v. 210 [12]

Dokładne omówienie budowy układu procesorowego serii Piccolo F2802x jest zamieszczone w książce:

  • Henryk A. Kowalski, „Procesory DSP dla praktyków”, BTC, Warszawa, 2011 [14]

Dokładne omówienie przykładowego projektu Example_F2802xLEDBlink jest zamieszczone w książce:

  • Henryk A. Kowalski, „Procesory DSP w przykładach”, BTC, Warszawa, 2012 [15]

Dokładne omówienie zestawu ewaluacyjnego C2000 Piccolo LaunchPad jest zamieszczone w artykule:

  • Henryk A. Kowalski, „Zestaw ewaluacyjny C2000 Piccolo LaunchPad” Elektronika Praktyczna 01/13 [1]

Do tworzenia w środowisku CCSv5 programów przeznaczonych dla procesorów rodziny Piccolo F2802x firmy Texas Instruments potrzebny jest pakiet programowy controlSUITE tej firmy. Zawiera on oprogramowanie „firmware”, biblioteki, opisy zestawów sprzętowych oraz projekty przykładowe dla wszystkich serii procesorów rodziny C2000. Projekty przykładowe pakietu controlSUITE zwierają na początku kodu programu sekwencję inicjalizacji systemowej układu procesorowego serii Piccolo F2802x.

Tekst zawiera opis następujących działań:

  • Uruchomienie i praca ze środowiskiem CCSv5
  • Importowanie i budowanie projektu Example_F2802xGpioSetup
  • Inicjalizowanie układu generacji sygnału zegarowego
  • Inicjalizowanie modułu CPU Watchdog, układu obsługi przerwań
  • Inicjalizowanie modułu PIE
  • Kalibracja oscylatorów wewnętrznych i modułu ADC.
  • Ćwiczenie praktyczne z projektem z przykładową inicjalizacją układu procesorowego serii Piccolo F2802x na zestawie ewaluacyjnym C2000 Piccolo LaunchPad.

 

Konfiguracja sprzętowa i programowa

Do wykonania ćwiczenia potrzebny jest komputer z zainstalowanym (darmowym) oprogramowaniem:

  • Środowisko Code Composer Studio v5.3.0 firmy Texas Instruments [1, 13, 15]. Umożliwia tworzenie w środowisku CCSv5 programów przeznaczonych dla procesorów serii Piccolo TMS320F2802x.
  • Pakiet programowy controlSUITEv3.1.2 firmy Texas Instruments [2, 13, 15]. Zawiera oprogramowanie „firmware”, biblioteki, opisy zestawów sprzętowych oraz projekty przykładowe dla wszystkich serii procesorów rodziny C2000.

Platforma sprzętowa wymaga tylko jednego elementu:

  • Zestaw ewaluacyjny C2000 Piccolo LaunchPad firmy Texas Instruments z układem procesorowym TMS320F28027 Piccolo firmy Texas Instruments (zawiera kabel USB-A USB-mini) [10, 12]

W folderze C:\home_dir komputera zostanie utworzony nowy folder work_SYS. Wymagane są prawa dostępu (zapisu i modyfikacji) dla tej ścieżki dyskowej. Możliwe jest umieszczenie foldera home_dir na innym wolumenie dyskowym z prawami dostępu.

 

Cel ćwiczenia

Celem ćwiczenia jest poznanie inicjalizowania systemowego układu procesorowego serii Piccolo F2802x przy użyciu biblioteki driverlib pakietu programowego controlSUITEv3 oraz środowiska Code Composer Studio v5. Zastosowano przykładowy projekt Example_F2802xGpioSetup z tego pakietu. Ćwiczenie jest zorganizowane tak, że działania są wykonywane w kolejnych punktach i krokach uzupełnionych o opisy.

 

Opisy

Dane techniczne i parametry elektryczne układu procesorowego serii Piccolo F2802x są zamieszczone w dokumencie Texas Instruments:

  • TMS320F28027, TMS320F28026, TMS320F28023, TMS320F28022, TMS320-F28021, TMS320F280200, Piccolo Microcontrollers, Data Sheet [3]

Istotne informacje na temat błędnego działania układu procesorowego serii Piccolo F2802x zawiera errata:

  • TMS320F28027, TMS320F28026, TMS320F28023, TMS320F28022, TMS320-F28021, TMS320F280200, Piccolo MCU, Silicon Errata, [4]

Opis układu generacji sygnału zegarowego, modułu CPU Watchdog, obsługi przerwań, modułu PIE oraz modułu GPIO układu procesorowego serii Piccolo F2802x jest zamieszczony w dokumencie:

  • TMS320x2802x Piccolo System Control and Interrupts [5].

Procedura Device_cal jest umieszczona w pamięci Boot ROM układów procesorowych serii F2802x i jest opisana w dokumencie

  • TMS320x2802x Piccolo Boot ROM Reference Guide [7],

Opis modułu ADC układu procesorowego serii Piccolo F2802x jest zamieszczony w dokumencie:

  • TMS320x2802x, 2803x Piccolo Analog-to-Digital Converter (ADC) and Comparator [6]

Opis opis zestawu ewaluacyjnego C2000 Piccolo LaunchPad jest zamieszczony w dokumencie:

  • LAUNCHXL-F28027 C2000 Piccolo LaunchPad Experimenter Kit, User’s Guide [10]

Opis oprogramowania „firmware” pakietu programowego controlSUITEv3 jest zamieszczony w dokumencie:

  • F2802x Firmware Development Package USER’S GUIDE v. 210 [8]

Opis biblioteki driverlib pakietu programowego controlSUITEv3 jest zamieszczony w dokumencie:

  • F2802x Peripheral Driver Library USER’S GUIDE v. 210 [9]

Dokładne omówienie budowy układu procesorowego serii Piccolo F2802x jest zamieszczone w książce:

  • Henryk A. Kowalski, „Procesory DSP dla praktyków”, BTC, Warszawa, 2011 [13]

Dokładne omówienie inicjowania układu procesorowego serii Piccolo F2802x jest zamieszczone w książce:

  • Henryk A. Kowalski, „Procesory DSP w przykładach”, BTC, Warszawa, 2012 [15]

Dokładne omówienie zestawu ewaluacyjnego C2000 Piccolo LaunchPad jest zamieszczone w artykule:

  • Henryk A. Kowalski, „Zestaw ewaluacyjny C2000 Piccolo LaunchPad” Elektronika Praktyczna 01/13 [12]

Dokładne omówienie środowiska CCSv5 oraz pakietu controlSUITEv3 jest zamieszczone w artykule:

  • Henryk A. Kowalski„C2000 Piccolo LanuchPad (1) – Pierwszy program w środowisku programowym CCSv5”, Elektronika Praktyczna 02/2013 [13]

 

Model programowy procesora serii Piccolo F2802x

Pakiet programowy „firmware” (F2802x Firmware Development Package) dostarcza wsparcia dla dwóch modeli programowania układów procesorowych serii F2802x Piccolo. Jest to: model bezpośredniego dostępu do rejestrów (header files) oraz model drajwerów programowych (library). Każdy z tych modeli może być zastosowany osobno lub łącznie. Opis jest zamieszczony w dokumentach [8, 9] dostępnych w ścieżce \doc pakietu programowego „firmware”.

Biblioteka driverlib modelu drajwerów programowych dostarcza API do sterowania modułami peryferyjnymi. Drajwery programowe zapewniają kontrolę nad modułami i nie wymagają bezpośredniego dostępu do ich rejestrów. Model może nie udostępniać wszystkich możliwości funkcjonalnych modułu peryferyjnego. Opis modelu jest zamieszczony w dokumentach [8, 9] dostępnych w ścieżce \doc pakietu programowego „firmware”.

Zastosowanie w programie modelu drajwerów programowych wymaga dołączenia do projektu biblioteki driverlib.lib. Na początku programu należy włączyć pliki nagłówkowe drajwerów modułów które będą w programie używane. Następnie należy zainicjować wskazanie (handle) na strukturę dla tego modułu. Potem można już używać funkcji obsługi tego modułu.

Metody obsługi modułów peryferyjnych układów procesorowych serii Piccolo F2802x udostępniane przez bibliotekę driverlib są bardzo podobne dla wszystkich modułów.

 

Podłączenie i skonfigurowanie zestawu C2000 Piccolo LaunchPad

Po zainstalowaniu środowiska CCSv5 [1, 13] można pierwszy raz dołączyć zestaw ewaluacyjny C2000 Piccolo LaunchPad [10, 12] kablem USB do wolnego portu USB komputera. System Windows automatycznie rozpoznaje układ. Zostaną zainstalowane sterowniki systemu Windows dla emulatora XDS100v2 [15]. Należy poczekać aż system potwierdzi, że sprzęt jest gotowy do pracy.

Do poprawnej pracy programu przykładowego wymagana jest podstawowa (standardowa) konfiguracja przełączników płytki drukowanej zestawu [12]:

  • Zwory konfigurowania zasilania układu procesorowego JP1 („3V3”), JP3 („5V”) i JP2 („GND”) założone. Oznacza to zasilanie układu procesorowego Piccolo F28027 z gniazdka USB (rysunek 1).

 

  Rys. 1. Zwory JP1, JP2 i JP3 konfigurowania zasilania układu procesorowego Piccolo F28027

Rys. 1. Zwory JP1, JP2 i JP3 konfigurowania zasilania układu procesorowego Piccolo F28027

 

  • Przełącznik S1 („Boot”) konfigurowania trybu bootowania układu procesorowego skonfigurowany następująco: S1.1 – do góry (ON), S1.2 – do góry, S1.3 – do góry. W praktyce oznacza to bootowanie układu procesorowego Piccolo F28027 z pamięci Flash (rysunek 2).

 

  Rys. 2. Przełącznik S1 konfigurowania trybu bootowania układu procesorowego Piccolo F28027

Rys. 2. Przełącznik S1 konfigurowania trybu bootowania układu procesorowego Piccolo F28027

 

  • Przełącznik S4 („Serial”) konfigurowania dołączenie portu UART układu procesorowego skonfigurowany na obu pozycjach do góry (ON). Oznacza to dołączenie portu UART układu procesorowego Piccolo F28027 do układu emulatora, a tym samym do wirtualnego portu COM na komputerze PC (rysunek 3).

 

  Rys. 3. Przełącznik S4 konfigurowania dołączenie portu UART układu procesorowego Piccolo F28027do układu emulatora XDS100v2

Rys. 3. Przełącznik S4 konfigurowania dołączenie portu UART układu procesorowego Piccolo F28027do układu emulatora XDS100v2

 

Zestaw ewaluacyjny jest dostarczany z wpisanym do pamięci Flash układu procesorowego Piccolo F28027 programem przykładowym Example_F2802xLaunchPadDemo. Program automatycznie zaczyna pracować po dołączeniu zestawu do portu USB [12].

 

O autorze