Systemy dla Internetu Rzeczy (9). Zestaw startowy CC1350 LaunchPad

Systemy dla Internetu Rzeczy (9). Zestaw startowy CC1350 LaunchPad
Pobierz PDF Download icon
Procesor komunikacyjny CC1350 firmy Texas Instruments ma zupełnie nowe możliwości komunikacji bezprzewodowej. Po pierwsze, obsługuje dwa pasma ISM. Po drugie, w pasmie 2,4 GHz obsługuje komunikację standardu Bluetooth 4.2, a w paśmie 433/868/915 MHz (Sub-1 GHz) pracuje z różnymi standardami komunikacji, w tym GFSK (IEEE 802.15.4). Jak łatwo zauważyć, pojedynczy układ obsługuje komunikację bliskiego zasięgu oraz komunikację dużego zasięgu małej mocy (przełączanie programowe). Umożliwia to bezpośrednie sterowanie węzłami sieci Internetu Rzeczy (IoT) z użyciem smartfonu lub tabletu.

Platforma SimpleLink firmy Texas Instruments dostarcza nowy standard sprzętowo-programowy. Obejmuje wiele układów scalonych zgodnych funkcjonalnie nóżka-w-nóżkę. Obejmuje to np. układy CC1310 i CC1350 (oraz CC2640R2F). Oprogramowanie jest zorganizowane w postaci pakietu programowego – SimpleLink Sub-1 GHz CC13x0 Software Development Kit (SDK). Zapewniona jest pełna zgodność (100%) przenoszenia oprogramowania aplikacyjnego pomiędzy procesorami platformy. SDK zawiera system operacyjny czasu rzeczywistego TI-RTOS. API kompatybilne ze standardem POSIX umożliwia zmianę systemu operacyjnego czasu rzeczywistego, np. na FreeRTOS. SDK zawiera również stosy komunikacyjne standardu BLE 4.2 oraz IEEE 802.15.4g.

Zestaw startowy CC1350 LaunchPad jest wygodną platformą do rozpoczęcia pracy z procesorem CC1350. Zawiera tylko minimum elementów dodatkowych: wyprowadzenia układu scalonego CC1350, przyciski, diody LED, zasilanie, dwie anteny PCB oraz emulator sprzętowy. Zwory na płytce umożliwiają łatwą modyfikację jej zastosowania. Jest pełny dostęp do wszystkich sygnałów. Złącze rozszerzeń umożliwia łatwe dołączanie kolejnych modułów sprzętowych.

Zestaw CC1350 LaunchPad jest dostępny w trzech wersjach wykonania:
- LAUNCHXL-CC1350US: Przystosowany do pracy w paśmie 915 MHz ISM (USA) [4]
- LAUNCHXL-CC1350EU: Przystosowany do pracy w paśmie 868 MHz ISM (Europa) [4]

LAUNCHXL-CC1350-4: Przystosowany do pracy w paśmie 433 MHz ISM (USA/Europa/Chiny) [22]. W portalu TI spotykana jest też jest nazwa CC1350CN (China).

W dotychczasowych artykułach z cyklu „Systemy dla Internetu Rzeczy” omówiono zestaw CC2650 SensorTag [S1], jego użytkowanie [S2] oraz moduły rozszerzeń Debug DevPack, Display DevPack (LCD screen) i LED Audio DevPack [S3]. Zestaw CC1310 LaunchPad został omówiony w kolejnym odcinku [S4].

W dwóch następnych odcinkach kursu został przedstawiony system operacyjny czasu rzeczywistego TI-RTOS przeznaczony do układów scalonych serii CC13xx/CC26xx [S5, S6]. Kolejny odcinek to praktyczne (krok po kroku) wprowadzenie do używania stosu TI BLE-Stack [S7]. Ostatni odcinek to przedstawienie zestawu startowego CC2650 LaunchPad [S8].

Dokumentacja

Dotarcie do opisu zestawu CC1350 LaunchPad nastręcza (tradycyjnie) pewne kłopoty. Podstawowym miejscem informacji jest strona produktu układu scalonego CC1350 [1]. Na kilku zakładkach znajduje się sporo informacji, wiele odnośników do dokumentacji (Data Sheet [2], Reference Guide [3]), oprogramowania, projektów i modułów sprzętowych. Na stronie zestawu CC1350 LaunchPad [4] znajdują się odnośniki do krótkiego opisu zestawu [5], jego schematu [6] oraz dokumentacji pakietu programowego – SimpleLink Sub-1 GHz CC13x0 Software Development Kit (SDK) [11]. Dokumentacja stosu BLE v4.2 znajduje się na stronie BLE SDK [20]. Strona TI Wiki Category:Sub-1GHz [19] zawiera linki dotyczące sprzętu i oprogramowania. Strona Category: Bluetooth low energy (BLE) zawiera linki dotyczące transmisji z protokołem BLE [18].

Strona Meet the CC1350 LaunchPad [8] na portalu TI Resource
Explorer [7] udostępnia jedyny szerszy opis zestawu CC1350 LaunchPad. Znajduje się tam odnośnik do strony Project Zero for the CC1350 LaunchPad [9] zawierającej opis oprogramowania.

Kolejne przydatne miejsce to portal SimpleLink Academy for SimpleLink CC13x0 SDK [12]. Znajduje się tam opis (ze źródłami) wielu warsztatów z projektami dla zestawu CC1350 LaunchPad.

Sporym problemem z użytkowaniem portalu TI Resource Explorer jest brak daty ostatniej aktualizacji. Zresztą dotyczy to także stron produktu. A praktyka pokazuje, że w portalach TI zdarzają się „zapomniane” strony z kompletnie nieaktualnymi informacjami.

Układ scalony CC1350

W zestawie startowym CC1350 LaunchPad zastosowano układ scalony CC1350 [1]. Ten dwuzakresowy układ obsługuje komunikację w paśmie 2.4 GHz w standardzie Bluetooth Smart oraz w pasmie poniżej 1 GHz (Sub-1GHz) w standardzie IEEE 802.15.4. Układ CC1350 jest typu SOC i zawiera trzy sprzętowe rdzenie użytkowe: ARM Cortex-M3 (48 MHz), ARM Cortex-M0 – który steruje sekcją radiową oraz specjalizowany rdzeń Sensor Controller (bardzo małej mocy) do obsługi modułów peryferyjnych. Stabilną pracę układu zapewniają dwa rezonatory kwarcowe: 24 MHz oraz 32,768 kHz.

Układ CC1350 wyróżnia się bardzo małym poborem mocy. Przy zasilaniu 3 V pobiera: MCU 51 mA/MHz, RX 5,4/6,4 mA (Sub-1 GHz/BLE 2,4 GHz), TX 20,5 mA – 0 dBm (BLE 2,4 GHz). Również prąd pobierany w trybie uśpienia jest bardzo mały: stan Standby 0,7 mA (pracuje RTC i podtrzymanie zawartości RAM/CPU), stan Shutdown 185 nA (wybudzanie zdarzeniem zewnętrznym).

Zestaw startowy CC1350 (US/EU/CN) LaunchPad

Cała elektronika zestawu CC1350 LaunchPad jest umieszczona na jednej wielowarstwowej płytce drukowanej [6]. Jest ona zorganizowana w taki sam sposób jak inne płytki zestawów z układami scalonymi serii CC13xx/26xx, jak CC2650 LaunchPad i CC1310 LaunchPad.

Płytkę podzielono na dwie części: u góry płytki jest emulator sprzętowy standardu XDS110 a na dole układ scalony CC1350F128RGZ (rysunek 1). Od góry na płytce znajduje się złącze USB micro. Do niego może być dołączona ładowarka USB lub komputer. Emulator standardu XDS110 wykonano z wykorzystaniem procesora komunikacyjnego TM4C129 (Tiva). Procesor ten zapewnia obsługę pełnego łącza emulacyjnego JTAG procesora CC1350. Do układu dołączone są dwie diody LED sygnalizujące aktywność komunikacyjną. Dodatkowo do układu dołączone są sygnały łącza standardu UART. Drajwer programowy na komputerze PC udostępnia dwa kanały: emulatora oraz wirtualnego łącza UART (VCOM). Regulator 3,3 V, dołączony do gniazdka USB, dostarcza zasilanie do emulatora i procesora. W środku płytki znajduje się poziomy szereg zworek, które pozwalają na rozłączenie połączenia pomiędzy emulatorem i procesorem. Osiem sygnałów jest łączonych przez zwory M1-M8 (P4.1-P4.16).

Dalej są zwory połączenia zasilania:

- Zwora M9. Napięcie 3,3 V (XDS_VCC) z regulatora LDO modułu XDS110 jest dołączane jako główne zasilanie układu procesora (CC1350_VDD).
- Zwora M10
. Napięcie 5 V (USB_VBUS) z gniazdka USB-micro modułu XDS110 jest doprowadzane do złącza J1 oraz P2 (+5 V) tylko w celu kompatybilności ze standardem LAUNCHXL. Nie jest ono używane w układzie procesorowym.
- Zwora M11
. Masa modułu XDS110 jest dołączana do masy układu procesora.

Złącze P10 („VSENSE”) umożliwia wybór zasilania translatorów poziomów napięcia sygnałów łącza JTAG modułu XDS110. Zwora w pozycji P10.1-2 umożliwia zasilanie translatorów z LDO emulatora („XDS110 Power”). Zwora w pozycji P10.2-3 umożliwia zasilanie translatorów napięciem układu procesora (‘Extern. Pwr”). Typowo jest to zasilanie zewnętrzne poprzez wyprowadzenia „3V3” złączy P1 i J1.

Pełne rozłączenie obu stron pozwala na:
- Zastosowanie emulatora XDS110 do debugowania innego układu elektronicznego z układem scalonym serii CC13xx/CC26xx przy zastosowaniu złącza P7 („XDS110 Out”).
- Debugowanie układu CC1350 na płytce LaunchPad przez zewnętrzny emulator przy zastosowaniu złącza P5 („CC1350 In”).

Wyprowadzenia układu scalonego CC1350, umieszczonego w środku płytki, są udostępnione na dwóch złączach 40-wyprowadzeniowych. Po lewej stronie płytki znajduje się złącze oznaczone na schemacie J1 (obok J3) a po prawej stronie złącze J2 (obok J4) [5].

Firma Texas Instruments stosuje standardową numerację wyprowadzeń dla płytek LAUNCHXL [6]. Są to oznaczenia zgodne ze standardem aplikacji Energia – wersji Arduino dla płytek LanuchPad firmy Texas Instruments. Fizyczne rozmieszczenie złączy na płytce LanuchPad nie jest zgodne ze standardem Arduino.

Na płytce drukowanej zestawu CC1350 LaunchPad wyprowadzenia są opisane nazwami dołączonych do nich wyprowadzeń układu scalonego CC1350. W dokumencie CC1350 LaunchPad Getting Started Guide [5] są podane nazwy wyprowadzeń układu scalonego CC1350. Zastosowane na płytce złącza są podwójne, na górze płytki męskie a na dole żeńskie. Umożliwia to nakładanie na płytkę modułów rozszerzeń (BoosterPack) oraz składanie płytek w stos. Na złączach J1–J4 są udostępnione wszystkie trzydzieści wyprowadzeń wejścia-wyjścia (GPIO) układu scalonego CC1350 oznaczane „DIOxx”, gdzie xx-numery od 01 do 30 oraz cztery sygnały łącza JTAG i sygnał reset („LPRST”). Dodatkowo, na dole płytki są umieszczone dwa potrójne złącza z wyprowadzoną masą „GND” oraz zasilaniem „3V3” oraz „5V” (nieużywane na płytce). Do wyprowadzenia DIO7 układu scalonego CC1350 jest dołączona zielona dioda LED poprzez złącze P6 3–4. Do wyprowadzenia DIO6 jest dołączona czerwona dioda LED poprzez złącze P6 1–2. Do wyprowadzenia DIO13 jest poprzez rezystor 100 V dołączony przycisk SW1 „BTN-1” (po lewej stronie płytki). Do wyprowadzenia DIO14 jest poprzez rezystor 100 V dołączony przycisk SW2 „BTN-2” (po prawej stronie płytki). Na górze płytki jest umieszczony przycisk SW3 „Reset” dołączony poprzez rezystor 100 V do linii C1350_RESET a następnie do wejścia RESET_N układu scalonego CC1350_RESET. Umożliwia on wykonanie pełnej sprzętowej operacji Reset. Do układu scalonego CC1350 są dołączone, zamontowane na płytce, rezonatory kwarcowe: główny zegar systemowy 24 MHz, zegar RTC 32.768 kHz oraz pamięć Flash 8 Mbit (bardzo małej mocy) obsługiwana poprzez 4-sygnałowe łącze SPI.

Antena

Na dolej płytki drukowanej zestawu CC1350 LaunchPad w wersjach USA/ Europa umieszczone są dwie anteny wykonane powierzchniowo. Zaletą anteny PCB jest niska cena oraz dobra jakość (po dokładnym zweryfikowaniu działania kolejnych wersji płytki drukowanej). Pierwsza antena (A1) pozwala na pracę w paśmie poniżej 1 GHz (Sub-1GHz). Druga antena pozwala na pracę w paśmie 2,4 GHz (ISM). Obie anteny są dołączone poprzez multiplekser (U11) do tych samych wyprowadzeń układu scalonego CC1350. Dlatego jest możliwa praca zestawu albo w jednym, albo w drugim paśmie.

Podczas normalnej pracy każda antena PCB (odpowiednio A1 oraz A2) jest dołączona do wyprowadzeń sekcji radiowej poprzez kondensator (C15 oraz C24). Po wylutowaniu tego kondensatora i wlutowaniu innego kondensatora (C69 oraz C67) dołączonego do gniazdka typu JSC (P11 oraz P12) możliwa jest praca z anteną zewnętrzną [14] dla każdego pasma.

Na samym dole płytki drukowanej znajdują się otwory do mocowania zewnętrznej anteny [14].

Zestaw startowy CC1350-4 LaunchPad

Zestaw LAUNCHXL-CC1350-4 dla pasma 433 MHz ma taką samą konstrukcję jak wersje CC1350 (CN) (US/EU) LaunchPad dla pasma 868/915 MHz (rysunek 2). Ze względu na brak miejsca zastosowano antenę PCB pracującą w paśmie 868 MHz, ale dostrojoną do 433 MHz. Dlatego ma ona bardzo małą efektywność i jest przeznaczona tylko do celów testowych, do połączeń krótkiego zasięgu. Na płytce zostały zastosowane standardowe gniazdka typu SMA (P11 oraz P12). Do połączeń dużego zasięgu zalecane jest wylutowanie C15 i zalutowanie C69 oraz dołączenie do gniazdka P11 zewnętrznej anteny 433 MHz (np. prętowej). Wtedy zasięg zwiększa się 4…8-krotnie.

Użytkowanie zestawu startowego
CC1350 LaunchPad

Zestaw CC1350 LaunchPad jest dostarczany z fabrycznie zaprogramowanym programem o nazwie CC1350 LaunchPad Out of the Box Demo. Program obsługuje transmisję bezprzewodową Bluetooth LE ver.4.2. Jego opis znajduje się na portalu TI Re-
source Explorer [7] na stronie Meet the CC1350 LaunchPad [8]. Na tej stronie jest przycisk dający możliwość wpisania obrazu tego programu do zestawu CC1350 LaunchPad z zastosowaniem środowiska sieciowego (wtyczka do przeglądarki) [21]. Jest jeszcze strona „Project Zero for the CC1350 LaunchPad” z opisem i odnośnikiem programowania sieciowego aplikacji Project Zero for the CC1350 LaunchPad [9]. Nazwa Out of the Box Application pojawia się wielokrotnie w dokumentacji. Ale dotyczy ona też innych aplikacji gotowych do działania „z pudełka”. Na stronie SimpleLink Academy są zamieszczone bardzo przydatne prezentacje wideo [12]. Zestaw startowy CC1350 LaunchPad umożliwia zmianę standardu komunikacji w sposób programowy [4].

Dołączanie zestawu startowego
CC1350 LaunchPad do urządzenia mobilnego

Zestaw CC1350 LaunchPad może zostać dołączony poprzez łącze radiowe standardu Bluetooth LE do urządzenia mobilnego (smartfon/iPad) lub innego z obsługą tego standardu. Opis i odnośniki na stronie Meet the CC1350 LaunchPad [8]. Postępowanie przy uruchamianiu komunikacji z urządzeniem mobilnym:

Pobierz darmową aplikację SimpleLink Starter dla swojego urządzenia mobilnego (smartfon/iPad), obsługującego transmisję bezprzewodową Bluetooth LE ver.4.0 (lub nowszą):

- Apple App Store dla urządzeń z systemem operacyjnym iOS 8.0 i nowszym (iPhone i iPad) [15],
- Z Google Play dla urządzeń z systemem operacyjnym Android 5.0 i nowszym [16],

Włącz zasilanie zestawu CC1350 LaunchPad. Zielona dioda LED zaczyna błyskać. Sygnalizuje to, że zestaw CC1350 LaunchPad jest w stanie rozgłaszania.

Uruchom aplikację SimpleLink Starter na swoim urządzeniu mobilnym. Może to wymagać włączenia na urządzeniu radia Bluetooth. Aplikacja najlepiej działa na iPadzie. W przypadku Androida można spotkać się z kłopotami i ograniczeniami funkcjonalności.

W głównym oknie aplikacji wyszukaj na liście „Bluetooth Smart Devices” swój zestaw CC1350 LaunchPad:
- z aplikacją „CC1350 LaunchPad Out of the Box Demo” rev.1.00 oraz v.1.11 zestaw widoczny jako LaunchPad 1.0,
- z aplikacją CC1350 LaunchPad Out of the Box Demo
” v.1.20 zestaw widoczny jako CC1350 LaunchPad.

Typowo dołączony blisko zestaw ma największą wartość RSSI (najwięcej kresek identyfikacji poziomu sygnału). Po kliknięciu na niego pojawia się okienko wyboru (rysunek 3).

Kliknij na linię nazwy i wybierz Sensor View. Zostanie wyświetlone okno prezentujące bieżące wartości odczytu z zestawu (rysunek 4). Zielona dioda LED zestawu CC1350 LaunchPad przestaje błyskać. Oznacza to, że zestaw jest w stanie komunikacyjnym „połączony”. Niestety, wygląda to tak samo, jak w stanie uśpienia urządzenia. Aplikacja umożliwia włączanie i wyłączanie diod LED zestawu, odczyt stanu przycisków, stanu napięcia zasilania (baterii). Możliwa jest też aktualizacja oprogramowania firmowego zestawu oraz dołączenie do chmury obliczeniowej.

Dołączanie zestawu startowego
CC1350 LaunchPad do chmury obliczeniowej

Aplikacja Simplelink Starter pozwala, aby urządzenie mobilne (np. iPad) dołączone do sieci Internet umożliwiało pracę zestawu CC1350 LaunchPad z chmurą obliczeniową firmy IBM. Na górze okna Simplelink Starter znajduje się pole Cloud View które, pozwala na pracę z chmurą obliczeniową. Kliknięcie na przełącznik „Push to cloud” powoduje włączenie pracy z chmurą obliczeniową. Jeśli połączenie zostało poprawnie wykonane, to przełącznik pozostaje w prawej pozycji. Za każdym razem, gdy dane są wysyłane do chmury, poniżej ikonki chmury pojawia się strzałka. Kliknięcie na ikonę chmury otwiera okno „Config Summary”. Jako identyfikator urządzenia jest brany unikalny adres MAC zestawu CC1350 LaunchPad. W oknie jest podany adres dostępu do strony internetowej Quickstart z danymi pomiarowymi pobieranymi z zestawu CC1350 LaunchPad i wyświetlanymi na bieżąco (w czasie rzeczywistym). Łączenie jest darmowe, łatwe, szybkie i obecnie (09.2017) nie działa. Na stronie Quickstart jest informacja o otrzymaniu komunikatu od urządzenia. Jednak ze względu na błędny format dane nie mogą być pokazane. Dla zestawu CC2650 SensorTag połączenie działa, więc może jest to sytuacja przejściowa.

Reprogramowanie zestawu
startowego CC1350 LaunchPad

Zestaw CC1350 LaunchPad jest dostarczany z fabrycznie zaprogramowanym programem CC1350 LaunchPad Out of the Box Demo. Nie jest dostępny projekt tej aplikacji. Można tylko zaprogramować jej obraz. Ponowne zaprogramowanie zestawu CC1350 LaunchPad programem firmowym jest możliwe na kilka sposobów:
- Zastosowanie programu SmartRF Flash Programmer 2 [13].
- Zastosowanie oprogramowania w chmurze (strona „Meet the CC1350 Launchpad” [8]).
- Aktualizacja przez łącze radiowe standardu Bluetooth LE z aplikacji Simplelink Starter pracującej na urządzeniu mobilnym (smartfon/iPad) [8].
- Programowanie w środowisku Code Composer Studio. Nie jest dostępny projekt tej aplikacji.

Najlepszy sposób reprogramowania to zastosowanie programu SmartRF Flash Programmer 2. Typowo udostępnia on najbardziej aktualne wersje oprogramowania firmowego (FW.) Program jest prosty, łatwy i stabilny. Pozwala też na przeprowadzenie aktualizacji oprogramowania firmowego XDS110, jeśli jest wymagana.

A. Reprogramowanie aplikacji firmowej
w programie SmartRF Flash Programmer 2

Do programowania układów rodziny CC13xx/26xx służy program SmartRF Flash Programmer 2 [13]. Do poprawnej pracy jest wymagane również zainstalowanie programu BLE Device Monitor [17]. Obecnie (09.2017) poprawną i (w miarę) stabilną pracę zapewnia wersja v2.5.0:

A1. Zainstaluj program BLE Device Monitor v2.5.0. Jest on instalowany w folderze C:Program Files (x86)Texas InstrumentsSmartRF ToolsBLE Device Monitor. Razem z aplikacją jest instalowany w ścieżce instalacyjnej folder /firmware, w którym znajdują się pliki źródłowe obrazów aplikacji firmowych gotowe do programowania układów rodziny CC13xx/26xx. W pliku readme.html znajdującym się w tym folderze jest opis dostępnych wersji oprogramowania firmowego.

A2. Zainstaluj program SmartRF Flash Programmer 2. Jest on instalowany w folderze C:Program Files (x86)Texas InstrumentsSmartRF ToolsFlash Programmer 2. Szczegółowy opis programu SmartRF Flash Programmer 2 User’s Manual znajduje się w pliku help.html w ścieżce instalacyjnej dochelp.

Aktualizacja oprogramowania firmowego XDS110

W programie SmartRF Flash Programmer 2 istnieje możliwość aktualizacji oprogramowania firmowego emulatora sprzętowego XDS110 znajdującego się na płytce drukowanej zestawu CC1350 LaunchPad. Typowo taka sytuacja zachodzi podczas pierwszego użycia zestawu po zakupie lub po aktualizacji wersji drajwerów. Tak aktualizacja jest wtedy konieczna.

A3. Uruchom program SmartRF Flash Programmer 2. W oknie Connected devices zostanie pokazany wykryty układ XDS110, XDS-xxxxxxxx (rysunek 5). Często linia XDS110 jest poprzedzona znakiem wykrzyknika i typ układu jest pokazany jako Unknown [13].
A4. Kliknij na linię XDS110. Powoduje to wyświetlenie okna z informacją o wymaganej aktualizacji oprogramowania firmowego emulatora XDS110 (rys. 5). Należy to wykonać.
A5. Kliknij Yes.
A6. Poczekaj na wyświetlenie informacji o poprawnym wykonaniu aktualizacji.
A7. Kliknij Done. Teraz nazwa dołączonego zestawu sprzętowego jest wyświetlana poprawnie.

Programowanie wewnętrznej
pamięci Flash procesora

Program SmartRF Flash Programmer 2 jest przeznaczony do programowania wewnętrznej pamięci Flash układów SoC System on Chips (SoC) z rdzeniem ARM. Obsługuje on pliki w formatach: binarny (.bin), Intel HEX (.hex) oraz ELF (.out/.elf). Typowo, udostępniane pliki oprogramowania firmowego są formatu *.hex.

A8. Na zakładce Main kliknij przycisk Browse.
A9. Nawiguj do foldera z plikami źródłowymi *.hex aktualizacji dla zestawu CC1350LP (rysunek 6) C:Program Files (x86)Texas InstrumentsSmartRF ToolsBLE Device Monitorfirmwarecc26xxlaunchpad.
A10. Wybierz plik z aplikacją firmową najnowszej wersji 1.20 o nazwie CC1350LaunchPad_BLE_All_v1_20.hex.
A11. Teraz należy zaznaczyć wszystkie akcje: Erase, Program, Verify.
A12. Kliknij na znaczek „play” .
A13. Czekaj na wyświetlenie w oknie Status informacji o sukcesie.

B. Reprogramowanie z zastosowaniem
oprogramowania w chmurze

Ponowne zaprogramowanie zestawu CC1350 LaunchPad programem firmowym CC1350 LaunchPad Out of the Box Demo jest możliwe z wykorzystaniem strony „Meet the CC1350 Launchpad” [8] na portalu TI Resource Explorer [7]. Znajduje się tam przycisk (rysunek 7) służący do zaprogramowania pamięci Flash układu scalonego CC1350 zestawu LaunchPad. Kod oprogramowania firmowego zostaje wpisany do zewnętrznej pamięci Flash zestawu.

B1. Dołącz zestaw CC1350 LaunchPad do komputera PC kablem USB.
B2. Otwórz okno Menedżer Urządzeń i sprawdź, czy są poprawnie zainstalowane wszystkie sterowniki (cztery pozycje).
B3. Kliknij na przycisk reprogramowania (rysunek 7) pierwszy raz. Wyświetlana jest plansza z instrukcją:

Jeśli program TI Cloud Agent nie był instalowany, to pokazywana jest plansza instalacyjna (rysunek 8).

Jeśli program TI Cloud Agent był instalowany, to pokazywana jest (prawdopodobnie) plansza aktualizacji (rysunek 9). Wtedy idź od razu do punktu B5.

B4. Zainstaluj wtyczkę TI Cloud Agent Bridge [21] dla przeglądarki internetowej (Firefox, Chrome, Safari lub IE). Jest to niewielka aplikacja, która umożliwia programowanie i debugowanie układu scalonego bezpośrednio z narzędzi sieciowych Texas Instruments Cloud Tools. Na stronie [21] jest opis, jak ją aktywować w przeglądarce.
B5. Pobierz plik instalacyjny ticloudagent__2__tixds110.exe aplikacji TI Cloud Agent.
B6. Wyłącz program antywirusowy.
B7. Uruchom i zainstaluj aplikację w domyślnej lokalizacji.
B8. Ponownie kliknij na przycisk reprogramowania, pojawia się plansza z nową informacją (rysunek 10). Odnośniki na planszy dotyczą strony TI Cloud Agent [21] z dodatkowymi informacjami.
B9. Kliknij na FINISH. Strona zostanie ponownie załadowana.
B10. Ponownie kliknij na przycisk reprogramowania (rysunek 7), aby rozpocząć zapis pamięci Flash. Diody komunikacyjne emulatora XDS110 zestawu CC1350 LaunchPad zaczynają błyskać i pokazywana jest plansza z informacją o statusie operacji. Na koniec wyświetlana jest informacja o pomyślnym zakończeniu pracy.
B11. Kliknij OK. Do zestawu CC1350 LaunchPad zostaje wpisane oprogramowanie firmowe w wersji v.1.11, Sep 22 2016 (czyli starej).

Po pierwszym wykonaniu operacji sprzętowej Reset zostaje kod oprogramowania firmowego przepisany (błyskają obie diody LED) z zewnętrznej pamięci Flash zestawu do wewnętrznej pamięci Flash procesora. Następnie programowanie zostanie rozpoczęte. Bardziej polecane jest programowanie za pomocą SmartRF Flash Programmer 2.

C. Reprogramowanie
przez łącze radiowe Bluetooth LE

Możliwe jest reprogramowanie poprzez łącze radiowe (OAD – Over the Air Download) standardu Bluetooth LE z aplikacji SimpleLink Starter pracującej na urządzeniu mobilnym (smartfon/iPad). Kod oprogramowania firmowego zostaje wpisany do zewnętrznej pamięci Flash zestawu. W polu Device Information okna prezentującego bieżące wartości odczytu pokazywane są informacje o nazwie urządzenia, identyfikatorze (adresie), wersji sprzętu oraz wersji oprogramowania (rysunek 11).

C1. Dołącz zestaw startowy CC1350 LaunchPad do urządzenia mobilnego z pracująca aplikacją Simplelink Starter (według opisu powyżej).
C2. Aby przejść do reprogramowania, kliknij w oknie „SimpleLink Starter” na pole FW Dowload.
C3. W oknie TI OAD profile kliknij na Select FW file.
C4. W oknie Select FW to program znajdź wersje kompatybilne z zestawem CC1350 LaunchPad oraz obecną wersją oprogramowania. Dla wpisanej wersji przedprodukcyjnej (rev.1.00) dostępna jest tylko wersja CC1350 LaunchPad v1.11 (BLE) Factory Image.
C5. Kliknij na linię kodu.
C6. Wybierz tryb bezpieczny (Safe mode).
C7. Czekaj na zakończenie transferu.
C8. Sprawdź, czy już działa nowsza wersja (v.1.11, Sep 22 2016).
C9. Ponownie sprawdź kompatybilne wersje kodów (rysunek 12). Teraz pojawiły się dodatkowo wersje kodu do pracy w pasmie sub 1 GHz: Node (US i EU) oraz Concentrator (US i EU). Obecnie (08.2017) programowanie żadnej z tych wersji nie startuje.

Weryfikacja pracy w programie
BLE Device Monitor

BLE Device Monitor [17] jest aplikacją dla systemu Windows do obsługi transmisji w formacie BLE. Monitor umożliwia wgląd w parametry komunikacji oraz w przesyłane dane. Aplikacja wymaga dołączenia do komputera zestawu CC2650LP lub CC2650STK [S1, S8] z pracującą aplikacją BLE HostTest Project [S7]. Jest też możliwość użycia do pracy z programem BLE Device Monitor zestawu CC1350 LaunchPad [17]. Brakuje jednak informacji o umiejscowieniu pliku z kodem oprogramowania. Jednak po zainstalowaniu pakietu programowego SimpleLink CC13x0 SDK [10] jest udostępniany taki plik. Plik host_test_cc1350lp_all.hex znajduje się w ścieżce C:tisimplelink_cc13x0_sdk_1_40_00_10examplesrtosCC1350_LAUNCHXLti154stackhexfilesoad. Po zaprogramowaniu tego pliku do zestawu CC1350 LaunchPad należy ponownie uruchomić system Windows. Potem już można uruchomić BLE Device Monitor i wskazać odpowiedni port COM. Próby pokazały poprawne działanie takiego rozwiązania.

BLE Device Monitor pracuje jak węzeł Central sieci BLE. Umożliwia on skanowanie układów BLE w pobliżu z odczytaniem podstawowych informacji jak nazwa i MAC adres. Następnie można i wykonać dołączenie do wykrytego zestawu CC1350 LaunchPad. Odczytywane są wszystkie dostępne dane i udostępniane sterowania. Do poprawnej pracy aplikacji BLE Device Monitor wymagane jest oprogramowanie firmowe zestawu CC1350 LaunchPad w wersji co najmniej v.1.20, Feb 20 2017. Ze starszymi wersjami FW praca jest niemożliwa lub niestabilna. Na zakładce CC1350 LaunchPad udostępniany jest interfejs graficzny (rysunek 13). Zawiera on tylko możliwość zapalenia/zgaszenia diody LED czerwonej i zielonej oraz wykonanie operacji Reset układu i kasowania zewnętrznej pamięci Flash. Ta ostatnia operacja wymaga zasilania bateryjnego. Na zakładce Services jest pełny dostęp do zasobów oferowanych przez profil łącza BLE (rysunek 14). Bardziej dokładny opis został zamieszczony w odcinku 7 kursu [S7].

Aplikacja BLE Device Monitor w obecnej (08.2017) wersji pracuje bardzo dobrze, ale czasami nie potrafi dołączyć się do zestawu sprzętowego z pracującą aplikacją BLE HostTest Project. Zdarza się też jej awaria na poziomie systemu Windows. Jednak była ona ostatnio kilkakrotnie aktualizowana, co daje nadzieję na poprawną pracę przyszłych wersji.

Henryk A. Kowalski

 

Gotowe projekty referencyjne mają olbrzymie znaczenie dla projektanta układów z zastosowaniem złożonego układu scalonego. Wiodący producenci układów scalonych udostępniają takie projekty sprzętowo-programowe. Niektóre z nich wchodzą do regularnej produkcji i sprzedaży. Biblioteka projektów referencyjnych TI Designs Reference Design Library (http://www.ti.com/tidesigns) zawiera projekty z układami analogowymi (np. czujniki), procesorami i układami komunikacji. Udostępnione są opisy, schematy, projekty płytek drukowanych i oprogramowanie.

W poprzednich artykułach narzekałem na kiepski dostęp do opisów projektów referencyjnych firmy Texas Instruments [S1]. I najwyraźniej to podziałało. Jest teraz selektywny dostęp do projektów biblioteki w portalu TI Resource Explorer [7].

Wystarczy wybrać Device Documentation, potem odpowiednią serię procesorów i typ procesora i na koniec wybrać TI Designs (rysunek 15). W prawym oknie pokazywany jest widok ze strony biblioteki z projektami dotyczącymi wybranego układu scalonego. Aby otworzyć tę stronę pełnoekranowo, wystarczy kliknąć na ikonkę Open in a New tab (rysunek 16). W oknie jest pokazywana lista wszystkich projektów z zastosowaniem wybranego układu scalonego. Jest też bezpośredni dostęp do materiałów. Obecnie (09.2017) jest dostępnych ponad 2629 projektów.

Trochę inne zorganizowanie prezentacji projektów jest także udostępnione na stronie Texas Instruments Reference Designs http://embedded-computing.com/designs/ti-reference/. Jest możliwość selekcji wyboru z zastosowaniem różnych kategorii.

Jak (prawie) zawsze na portalu firmy Texas Instruments, jeśli chodzi o dokumentację, to nic nie jest łatwe. Jeśli w portalu TI Resource Explorer [7] zostanie wybrany Development Tools, potem Kits and Boards a na koniec odpowiedni zestaw uruchomieniowy, to znajdziemy Reference Design (rysunek 17). To jest zupełnie coś innego niż poprzednio. Po kliknięciu rozpoczyna się pobieranie pliku *.zip z dokumentacją techniczną wybranego zestawu uruchomieniowego – schemat, BOM, rysunki montażu, rysunki płytek. Też projekt, ale jakby inny. I nie ma podglądu zawartości na stronie…

 

 

 

 

 

 

 

 

 

 

 

 

 

Artykuły kursu:

- Systemy dla Internetu Rzeczy (1): Zestaw CC2650 SensorTag, „Elektronika Praktyczna”, 12/2016.
- Systemy dla Internetu Rzeczy (2): Użytkowanie zestawu CC2650 SensorTag, „Elektronika Praktyczna”, 1/2017.
- Systemy dla Internetu Rzeczy (3): Moduły rozszerzeń DevPack dla zestawu SensorTag, „Elektronika Praktyczna”, 2/2017.
- Systemy dla Internetu Rzeczy (4): Zestaw CC1310 LaunchPad, „Elektronika Praktyczna”, 3/2017.
- Systemy dla Internetu Rzeczy (5): System operacyjny czasu rzeczywistego TI-RTOS – pierwszy program, „Elektronika Praktyczna”, 4/2017.
- Systemy dla Internetu Rzeczy (6): System operacyjny czasu rzeczywistego TI-RTOS – zadania i przerwania, „Elektronika Praktyczna”, 5/2017.
- Systemy dla Internetu Rzeczy (7): Bluetooth Low Energy, „Elektronika Praktyczna”, 6/2017.
- Systemy dla Internetu Rzeczy (8): Zestaw startowy CC2650 LaunchPad, „Elektronika Praktyczna”, 7/2017.

 

Literatura:

- CC1350 SimpleLink Ultra-Low Power Dual Band Wireless Microcontroller, Product Page, https://goo.gl/3ezRii
- CC1350 SimpleLink Ultra-Low-Power Dual-Band Wireless MCU (SWRS183A) 21 Nov 2016, https://goo.gl/3zozQX
- CC13xx, CC26xx SimpleLink Wireless MCU Technical Reference Manual (SWCU117G) 21 Feb 2017, https://goo.gl/6pniFP
- Simplelink™ Sub-1 GHz and Bluetooth® low energy CC1350 wireless MCU LaunchPad™ Development Kit, LAUNCHXL-CC1350, Tools Page, https://goo.gl/royP4X
- CC1350 LaunchPad Getting Started Guide (SWRU478A) 10 Feb 2017, https://goo.gl/DkaHYN
- LAUNCHXL-CC1350 Design Files (SWRC320A.ZIP) 13 Mar 2017, https://goo.gl/NVSgD9
- TI Resource Explorer, https://goo.gl/kQJpqH
- Meet the CC1350 Launchpad, https://goo.gl/V5tkJ5
- Project Zero for the CC1350 LaunchPad, https://goo.gl/w5geBo
- SimpleLink Sub-1 GHz CC13x0 Software Development Kit, SIMPLELINK-CC13X0-SDK, Ver 1.40.00, 28-Jun-2017, https://goo.gl/sKFkWM
- SimpleLink CC13x0 SDK – v: 1.40.00.10, Software, Documents, Examples, SimpleLink Academy, https://goo.gl/febLf9
- SimpleLink™ Academy 1.12.01 for SimpleLink CC13x0 SDK 1.40 v1.13.01.05 - 5 July 2017, https://goo.gl/FwpLvG
- SmartRF Flash Programmer v2 v1.7.5 096-DEC-2016, https://goo.gl/i3r2E7
- Sub-1 GHz and 2.4 GHz Antenna Kit for LaunchPad™ and SensorTag CC-ANTENNA-DK2, https://goo.gl/3zCajW
- TI SimpleLink™ Starter By Texas Instruments (Version: 4.92, Sep 26, 2016), https://goo.gl/etNd8o
- Google Play, Simplelink SensorTag, Texas Instruments Inc. (Version: 3.8, 4 listopada 2016), https://goo.gl/brLpYH
- BLE Device Monitor User Guide (TI WIKI), 7 April 2017, https://goo.gl/ZrDGLR
- Category: Bluetooth low energy (BLE), TI Wiki, 28 July 2017, https://goo.gl/S1oS3a
- Category:Sub-1GHz, TI Wiki, 30 June 2016, https://goo.gl/v13Fkp
-Bluetooth low energy software stack, BLE-STACK V2.2.1 (Supports Bluetooth 4.2 for CC2640/CC2650/CC1350), v2.2.1, 28-OCT-2016, https://goo.gl/GTDRH2
- TI Cloud Agent, 23 February 2017, https://goo.gl/gSutrj
- CC1350 Dualband Launchpad for 433MHz/2.4GHz Applications LAUNCHXL-CC1350-4, https://goo.gl/Augi6Y

Artykuł ukazał się w
Elektronika Praktyczna
wrzesień 2017
DO POBRANIA
Pobierz PDF Download icon

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio marzec - kwiecień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje marzec 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich kwiecień 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów