Zestaw ewaluacyjny firmy Texas Instruments C2000 Piccolo LaunchPad w aplikacjach DSP

Emulator XDS100v2

Górna część płytki (fot. 3), aż do linii złączy JP1 i JP2 zajmuje układ emulatora sprzętowego XDS100v2 [12, 18]. Jest tam zamontowane gniazdko standardu USB Mini-B, dwie diody LED (Tx/Rx) sygnalizacji transmisji oraz zwory JP1, JP2 i JP3 konfiguracji zasilania układu procesorowego. Są również układy scalone konwertera FT2232H (U6, duży kwadrat po prawej), izolatory cyfrowe ISO27xx (U5, U7, duże prostokąty po lewej) oraz liniowy regulator napięcia LDO (U4, u góry).

 

Fot. 3. Emulator XDS100v2 na płytce zestawu ewaluacyjnego C2000 Piccolo LaunchPad

Fot. 3. Emulator XDS100v2 na płytce zestawu ewaluacyjnego C2000 Piccolo LaunchPad

 

Emulator klasy XDS100 jest bardzo ciekawą inicjatywą firmy Texas Instruments. Jest to projekt taniego emulatora JTAG z łączem USB. Emulator ma pewne ograniczenia funkcjonalne w porównaniu z emulatorami klasy XDS510. W projekcie został zastosowany podwójny konwerter USB-RS232/JTAG firmy FTDI (FT2232H). Projekt oraz komplet sterowników jest udostępniony za darmo w Internecie. Wiele modułów oferowanych przez TI ma wbudowany emulator klasy XDS100. Są różne wersje emulatorów XDS100 – aktualne informacje można uzyskać na stronie internetowej [12].

Układ scalony konwertera FT2232H firmy Future Technology Devices International Limited (FTDI) jest zgodny ze specyfikacją USB 2.0 Full Speed (12 Mbit/s) oraz USB High Speed (480 Mbits). Układ pracuje z napięciem zasilania 4,35 V do 5 V, co umożliwia poprawną pracę w całym zakresie możliwych napięć VBUS portu USB. Interfejs cyfrowy portu A i portu B ma osobne doprowadzenia zasilania i pozwala na pracę z poziomami logicznymi CMOS 3,0 V do 5,0 V. Dane konfiguracyjne są zapisane w zewnętrznej pamięci typu EEPROM. Każdy układ ma zapisany w trakcie programowania unikalny numer seryjny łącza USB. Układ ma dwa niezależne porty cyfrowe A i B. Tryb pracy każdego portu jest osobno konfigurowany. Może to być np. tryb Multi-Protocol Synchronous Serial Engine (MPSSE) z szeregowym protokołem zgodnym ze standardem JTAG lub tryb RS232 UART do emulacji portu RS-232. Dokładniejszy opis pracy emulatora klasy XDS100 oraz układu FT2232H jest zamieszczony w książce [18].

 

Sterowniki programatora-debuggera XDS100

Producent konwertera FT2232H (FTDI) udostępnia wolne od opłat licencyjnych oprogramowanie składające się ze sterownika portu wirtualnego COM (VCP) oraz kompletu sterowników programowych dla aplikacji użytkownika (D2XX Direct Drivers). Oprogramowanie jest przeznaczone dla większości systemów operacyjnych. Dla emulatora klasy XDS100 sterowniki są instalowane razem ze środowiskiem CCSv5. Nie ma potrzeby dodatkowego ich instalowania.

Na komputerze PC musi być najpierw zainstalowane środowisko programowe CCSv5 (lub CCSv4). Środowisko CCSv5 zawiera sterowniki dla emulatora klasy XDS100. Dopiero potem można pierwszy raz dołączyć emulator klasy XDS100 do łącza USB komputera. System Windows automatycznie rozpoznaje układ. Zostaną zainstalowane sterowniki systemu Windows dla emulatora. Sterownik nadaje każdemu portowi układu FT2232H osobny uchwyt USB i taktuje jako osobne urządzenie końcowe. Obsługę portu B układu FT2232H skonfigurowanego jako RS232 UART zapewniają standardowe sterowniki FTDI (instalowane razem z CCSv5). Do obsługi tego wirtualnego portu (VCOM) nie jest potrzebne dodatkowe oprogramowanie.

Więcej informacji dotyczących sterowników dla emulatora klasy XDS100 jest zamieszczonych w książce [18].

 

Rozdzielone zasilanie

Zestaw ewaluacyjny C2000 Piccolo LaunchPad zawiera dwa rozdzielone galwanicznie układy elektroniczne: układ procesorowy i emulator XDS100v2.

Konwerter FT2232H emulatora XDS100v2 zestawu jest zasilany z linii VBUS portu USB. Do tego napięcia dołączony jest regulator LDO (U4) o napięciu 3,3 V i wydajności do 0,8 A. Dostarcza on również napięcia zasilania dla obu portów cyfrowych konwertera FT2232H. Dioda D6 LED (EMU PWR) sygnalizuje napięcie wyjściowe 3,3 V układu LDO. Oznacza to również sygnalizowanie napięcia z linii VBUS portu USB.

Izolacja sygnałów cyfrowych pomiędzy procesorem i emulatorem XDS100v2 jest zrealizowana z zastosowaniem szybkich (1 Mbps) cyfrowych izolatorów scalonych ISO7240 (poczwórny jednokierunkowy) i ISO7231 (trzy kanały z czego dwa w przeciwnym kierunku). Transmitowane są cztery sygnały standardowego złącza JTAG układu procesorowego Piccolo F28027 oraz dwa sygnały szeregowego łącza SCI typu UART.

 

Fot. 4. Zwory konfigurowania zasilania układu procesorowego na płytce zestawu ewaluacyjnego C2000 Piccolo LaunchPad

Fot. 4. Zwory konfigurowania zasilania układu procesorowego na płytce zestawu ewaluacyjnego C2000 Piccolo LaunchPad

 

Obie domeny zasilania są połączone złączami (fot. 4): masa (JP2), zasilanie 3,3 V (JP1) oraz dodatkowe zasilanie 5V (JP3). Zasilanie układu procesorowego napięciem 3,3 V jest sygnalizowane przez diodę LED D1 (PWR).

Zasilanie płytki zestawu można skonfigurować na dwa sposoby:

  • Wspólne zasilanie układu procesorowego i emulatora XDS100v2.
    Po założeniu zwor na tych złączach układ procesorowy jest zasilany napięciem 3,3 V uzyskanym z łącza USB. Zasilanie 3,3 V z regulatora LDO jest dołączone do wyprowadzenia J1.1 oraz do osobnego złącza J3. Umożliwia to zasilanie zewnętrznych układów dołączanych do zestawu z tego samego napięcia co układy wejścia/wyjścia (GPIO) procesora. Wspólne jest także napięcie 5V uzyskane z łącza USB. Jest to domyślne ustawienie fabryczne.
  • Osobne zasilanie układu procesorowego i emulatora XDS100v2.
    Emulator XDS100v2 jest zasilany napięciem uzyskanym z łącza USB. Po zdjęciu zwor z łączy JP1, JP2 i JP3 można zasilać układ procesorowy z osobnego/izolowanego zewnętrznego źródła zasilania. Układ procesorowy jest zasilany z osobnego napięcia 3,3 V podawanego na złącze J3. Napięcie 5 V nie jest używane.

 

Układ procesorowy

W zestawie ewaluacyjny C2000 Piccolo LaunchPad został zastosowany układ procesorowy TMS320F28027PT w obudowie 48-wyprowadzeniowej LQFP [10, 11]. Jest to najbardziej rozbudowany układ serii Piccolo F2802x. Układ jest zasilany pojedynczym napięciem 3,3 V i posiada wewnętrzny regulator do zasilania rdzenia. Układ Piccolo TMS320F28027 jest stałoprzecinkowym procesorem z rdzeniem C28x. Posiada wbudowane 12 kB pamięci RAM oraz 64 kB pamięci Flash. Układ jest taktowany zegarem o częstotliwości do 60 MHz. Posiada 8 kanałów PWM z czego 4 wysokiej rozdzielczości, 13-kanałowy 12-bitowy szybki (4,6 Msps) przetwornik analogowo-cyfrowy, 2 komparatory analogowe, wbudowany czujnik temperatury, moduł eCAP do zbierania danych o zależnościach czasowych, moduł łącza szeregowego SPI, moduł łącza szeregowego I2C oraz moduł asynchronicznego łącza szeregowego SCI (UART). Dokładny opis układu układ procesorowy Piccolo TMS320F28027 jest zamieszczony w książce [17].

 

Złącze JTAG

Sygnały TDI, TMS, TDO, TCK łącza emulacyjnego JTAG układu procesorowego są dołączone bezpośrednio do cyfrowych izolatorów galwanicznych U5 i U7. Oznacza to, że nie ma dostępnego złącza emulacyjnego i nie można zastosować dla tego zestawu zewnętrznego układu emulatora sprzętowego. Wydaje się jednak, że zastosowany w układzie emulator sprzętowy klasy XDS100v2 jest zupełnie wystarczający do wygodnej pracy debugowej z tym procesorem. Dokładniejszy opis łącza JTAG układu procesorowego Piccolo TMS320F28027 jest zamieszczony w książce [17].

 

Tryby bootowania układu procesorowego

Przełącznik S1, umieszczony po lewej stronie płytki, jest przeznaczony do ustawiania trybu bootowania układu procesorowego.

rys1

Przełącznik S1 na pozycjach 1 i 2 ustawiony w położeniu do góry (UP) czyli zwarty (ON) powoduje ustawienie na odpowiedniej pozycji wysokiego poziomu logicznego (rys.2). Dotyczy to sygnału GPIO34 (pozycja 1) oraz GPIO37/TDO (pozycja 2). Po włączeniu zasilania układu procesorowego wyprowadzenie GPIO37 jest domyślnie konfigurowane jako wyjście TDO łącza emulacyjnego JTAG.

Pozycja 3 przełącznika S1 pozwala na odłączenie (położenie na dół) wyprowadzenia /TRST układu procesorowego od cyfrowego izolatora galwanicznego U7. Na wyprowadzeniu /TRST jest ustalany poziom niski przez rezystor R10. Ustawia to tryb pracy samodzielnej układu procesorowego. Dla przełącznika S1 na pozycji 1 i 2 ustawionego w położeniu do góry (GPIO37/34-11b), po włączeniu zasilania płytki wykonywane jest uruchomienia programu wpisanego do pamięci Flash.

Do pracy umieszczonego na płytce emulatora XDS100 należy ustawić pozycję 3 przełącznika S1 w położenie do góry (ON). Emulator nie zmienia stanu sygnału dołączonego do wyprowadzenia /TRST układu procesorowego aż do uruchomienia debugera w środowisku CCSv4/v5. Dlatego ustawienie wszystkich trzech pozycji przełącznika S1 w położenie do góry (ON) powoduje po włączeniu zasilania płytki uruchomienie programu wpisanego do pamięci Flash. Zagadnienia związane z trybami bootowania układu procesorowego Piccolo TMS320F28027 są dokładnie omówione w książce [17].

 

Asynchroniczny port szeregowy (UART)

Przełącznik S4, umieszczony po lewej stronie płytki, jest przeznaczony do dołączania sygnałów portu szeregowego konwertera USB/RS232 do układu procesorowego.

rys2

Lewa pozycja przełącznika S4 w położeniu do góry (ON) dołącza sygnał SCI_RX z układu izolatora U5 do wyprowadzenia GPIO28 układu procesorowego. Prawa pozycja przełącznika S4 w położeniu do góry (ON) dołącza sygnał SCI_TX z układu izolatora U7 do wyprowadzenia GPIO29 układu procesorowego.

Jest to domyślne ustawienie fabryczne. Pozwala ono na komunikację układu procesorowego z komputerem PC poprzez port wirtualny COM.

Wyprowadzenie GPIO28 jest także bezpośrednio dołączone do wyprowadzenia złącza J1.3. Ustawienie lewej pozycji przełącznika S4 w położeniu na dół odłącza sygnał SCI_RX (z izolatora) od wyprowadzenia GPIO28. Wyprowadzenie GPIO29 jest także bezpośrednio dołączone do wyprowadzenia złącza J1.4. Ustawienie prawej pozycji przełącznika S4 w połażeniu na dół odłącza sygnał SCI_TX od wyprowadzenia GPIO29. Pozwala to na użycie tych wyprowadzeń układu scalonego do pracy z układem zewnętrznym dołączonym poprzez złącze J1. Należy zauważyć, ze układ Piccolo F28027 posiada możliwość dołączenia sygnałów modułu SCI-A nie tylko do wyprowadzeń GPIO28/29 lecz również do wyprowadzeń GPIO7/12. Są one dostępne na złączu J2 płytki. Jednak nie ma możliwości dołączenia ich do sygnałów SCI_RX oraz SCO_TX (z izolatora).

 

O autorze