LinkedIn YouTube Facebook
Szukaj

Newsletter

Proszę czekać.

Dziękujemy za zgłoszenie!

Wstecz
Artykuły

PSoC 6 BLE Pioneer Kit – zestaw rozwojowy z układem Cypress PSoC 6

Firma Cypress Semiconductor oferuje darmowe, przyjazne w obsłudze środowisko do programowania mikrokontrolerów – PSoC Creator. Za jego pomocą można edytować, kompilować oraz debugować kod przeznaczony dla systemów PSoC oraz FM0+. Komponenty analogowe i cyfrowe są reprezentowane przez symbole, które można pociągnąć i upuścić do projektu, a następnie ustawić zgodnie z wymaganiami projektu. Każdy komponent z katalogu jest ustawiany za pomocą okien dialogowych, a w samym katalogu zawarto pełny zestaw dynamicznie generowanych bibliotek API. Wygenerowany kod można dalej edytować, skompilować i debugować w programie PSoC Creator lub wyeksportować do zewnętrznego środowiska, np. IAR Embedded Workbench®, Arm® Microcontroller Development Kit, lub Eclipse™.

Producent udostępnia też paczkę do programu PSoC Creator, umożliwiającą prostą obsługę zestawu BLE Pioneer Kit. Można ją pobrać w wersji zawierającej tylko pliki wsparcia zestawu, dokumentację i przykłady oraz w wersji z pełnym zestawem oprogramowania do projektowania (PSoC Creator, PSoC Programmer, PDL oraz CySmart). Obie wersje można pobrać ze strony Cypress Semiconductor. Z mojego punktu widzenia, gdy nie mamy jeszcze doświadczenia z układami firmy Cypress, najlepiej zainstalować wersję ze środowiskiem programistycznym. W tym pakiecie znajduje się wszystko, co potrzebne do rozpoczęcia przygody z mikrokontrolerami PSoC.

W pierwszym kroku po instalacji i uruchomieniu środowiska należy utworzyć nowy projekt. Aby to zrobić trzeba z menu głównego wybrać File → New → Project.

Rys. 7. Otwarcie nowego projektu w środowisku PSoC Creator

W następnym okienku jako Target kit trzeba wybrać CY8CKIT-062-BLE (PSoC 63), o ile ma się zamiar korzystać z prezentowanego tutaj zestawu.

Rys. 8. Ustawienie projektu jako przeznaczonego na płytkę CY8CKIT-062-BLE

Kolejne okno to wybór szablonu nowego projektu. Do dyspozycji są trzy opcje: Code example pozwala wybrać jeden z bogatej bazy przykładów przygotowanych przez producenta. Każdy przykład opatrzony jest stosowną dokumentacją, co pozwala na sprawdzenie jak producenci zalecają realizację poszczególnych zadań. Opcja Pre-populated schematic uruchamia projekt ze wstępnie skonfigurowanymi najważniejszymi peryferiami (modułem BLE, interfejsem I2C, I2S, UART oraz SPI). Ostatnia możliwość, Empty schematic, pozwala na utworzenie pustego projektu.

Rys. 9. Wybór szablonu projektu

Po utworzeniu projektu można dodać na schemat komponenty z listy znajdującej się po prawej stronie okna. W artykule przedstawię sposób zaprojektowania kodu, który ma za zadanie mrugać jedną z części diody LED. Aby tego dokonać należy sterować jednym z wyjść cyfrowych mikrokontrolera. Z katalogu części należy więc przeciągnąć na schemat element Digital Output Pin.

Rys. 10. Wyjście cyfrowe na schemacie projektu

Po dwukrotnym kliknięciu na symbol otwiera się okno konfiguracyjne. Środowisko PSoC Creator ma bardzo rozbudowane możliwości konfiguracji graficznej, umożliwia zatem ustawienie wielu opcji interfejsów komunikacyjnych i modułów peryferyjnych. W opisywanym przypadku należy odznaczyć opcję HW connection oraz zaznaczyć External Terminal. Pozwoli to na korzystanie z terminalu jako portu zewnętrznego mikrokontrolera. W lewym, dolnym rogu znajduje się przycisk Datasheet, który otwiera dokumentację odpowiedniego symbolu.

Rys. 11. Konfiguracja wyjścia cyfrowego

W katalogu, pod zakładką Off-Chip można znaleźć komponenty, które mają być podłączone do mikrokontrolera. Dodanie ich do schematu nie ma wpływu na wygenerowany kod, ale pozwala na poprawę przejrzystości schematu. Do mojego projektu dodałem rezystor, diodę LED oraz port zasilania w taki sposób, w jaki elementy te połączone są fizycznie na płytce.

Rys. 12. Gotowy schemat projektu

Teraz po prawej stronie należy wybrać opcję Pins. W ten sposób przechodzimy do konfiguracji pinoutu mikrokontrolera. Jako Pin_1 ustawiono port P11_1, który steruje niebieską częścią diody LED RGB na płytce. Ta dioda będzie sterowana przez program. Aby wygenerować wszystkie konieczne pliki należy nacisnąć przycisk Generate Application zaznaczony czerwoną ramką na rysunku 13.

Rys. 13. Konfiguracja pinoutu projektu

Po wygenerowaniu plików źródłowych można przejść do pisania programu. Kod na rdzeń Cortex-M4 należy umieścić w pliku main_cm4.c. Do ustawienia wartości logicznej na wyjściu cyfrowym służy funkcja Cy_GPIO_Write, natomiast funkcja CyDelay służy do wstawienia opóźnienia, w tym przypadku równego pół sekundy. Pełny kod pliku main_cm4.c znajduje się w listingu 1. Aby skompilować program i wgrać go na płytkę należy nacisnąć przycisk Program, który znajduje się po prawej stronie przycisku Generate Application, lub wykorzystać skrót klawiszowy Ctrl+F5.

#include "project.h"
#define myLedPin_Port P11_1_PORT
#define myLedPin_Num P11_1_NUM

int main(void)
{
    __enable_irq(); /* Enable global interrupts. */
        
    /* Place your initialization/startup code here (e.g. MyInst_Start()) */
    for(;;)
    {
        /* Place your application code here. */
        Cy_GPIO_Inv(myLedPin_Port, myLedPin_Num);
        CyDelay(500);
        Cy_GPIO_Inv(myLedPin_Port, myLedPin_Num);
        CyDelay(500);
        
    }
}

/* [] END OF FILE */

Listing 1. Kod powodujący mruganie na niebiesko diody LED RGB