Pokazywanie postów oznaczonych etykietą SPI. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą SPI. Pokaż wszystkie posty

piątek, 17 czerwca 2022

[49] STM32F4 - BMI160 SPI

Ten post jest kontynuacją wcześniejszego o czujniku BMI160. Tym razem przygotuję wersję obsługującą komunikację po SPI.


[Moduł czujnika BMI160]

środa, 15 grudnia 2021

STM32H7 - AT45DB

Tym razem chciałbym opisać sposób obsługi pamięci Flash AT45DB. W moim przypadku będzie to pamięć AT45DB161.

[Źródło: https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-h753zi.html#overview]

środa, 31 sierpnia 2016

[14] STM32F4 - Discovery - Obsługa SPI na bibliotekach API&HAL

We wcześniejszym poście opisałem obsługę czujnika LIS302DL poprzez SPI. Tym razem chciałem przybliżyć uruchamianie samego interfejsu za pomocą bibliotek HAL oraz API. 

Biblioteki API


W tej części definiuje się część włączającą SPI oraz odpowiednie GPIO. Następnie należy zdefiniować funkcje za pomocą których dane będą wysyłane oraz odbierane.

wtorek, 30 sierpnia 2016

[13] STM32F4 - Programowanie pamięci Flash FL127SIF10

W tym poście chciałbym opisać sposób programowania pamięci Flash FL127SIF10 za pomocą mikrokontrolera STM32F4 zamontowanego na dwóch płytkach tzn. na Discovery z mikrokontrolerem STM32F407vg oraz na płytce Nucleo z układem STM32F446RE.

Opis pamięci flash FL127SIF10


Przedstawiana pamięć jest produkowana przez dwóch firmę Cypress. Jej pojemność wynosi 128 Mbit czyli 16Mbyte. Napięcie zasilania wynosi od 2.7V do 3.6V. Posiada ona 100 tyś cykli zapisu oraz odczytu. 

Rys. 1. Pamięć Flash FL127SIF10

poniedziałek, 15 sierpnia 2016

Opis interfejsu SPI

Tym razem chciałbym zaprezentować opis magistrali SPI.

SPI


SPI (ang. Serial Peripheral Interfejs) jest to magistrala szeregowa stosowana w systemach opartych głównie o mikrokontrolery. Pozwala on na stosowanie synchronicznej, dwukierunkowej transmisji danych (full-duplex). Prędkość transmisji dostosowywana jest do najwolniejszego ze stosowanych układów.

Magistrala jest zbudowana z trzech linii:

  • SCK - czyli linia sygnału taktującego
  • MISO - wyjście danych z układu podrzędnego
  • MOSI - wejście danych dla układu podrzędnego
  • CS, SS - pozwala na wybranie układu który będzie przeprowadzał transmisję

czwartek, 24 grudnia 2015

[12] STM32 M3 - Nucleo - F103RB - Wyświetlacz Nokia 5110 SPI

Ostatnio opisywałem sposób obsługi tego wyświetlacza przez mikrokontroler Atmega328 na arduino. Tym razem przyszła pora na odpalenie tego samego modułu na STM32. Sposób programowania i inicjalizacji jest bardzo podobny, właściwie jedyną różnicą są tutaj odpowiednie ustawienia i deklaracje poszczególnych portów oraz interfejsu SPI.

Wstęp


Poniżej przedstawiam schemat blokowy wyświetlacza, który został zaczerpnięty z dokumentacji:

Rys. 1. Schemat blokowy wyświetlacza [1]

piątek, 11 grudnia 2015

[10a] STM32 M3 - Nucleo - F103RB - SPI - Ekspander portów wejścia/wyjścia

W tym poście chciałbym opisać sposób podłączenia oraz obsługi ekspandera portów MCP23S08

Wstęp


Ekspander portów wejścia/wyjścia pozwala na zwiększenie liczby dostępnych pinów. Komunikacja przebiega poprzez interfejs SPI. W przypadku zakupy układu MCP23008 zamiast interfejsu SPI będzie dostępny I2C.

Rys. 1. Ekspander [microchip.com]

piątek, 4 grudnia 2015

[10] STM32 M3 - Nucleo - F103RB - SPI opis oraz sposób programowania

Tym razem chciałbym zaprezentować sposób obsługi urządzeń za pomocą interfejsu SPI.

Wstęp


SPI (ang. Serial Peripheral Interface) jest to interfejs szeregowy stosowany do komunikacji pomiędzy różnymi układami. Obecnie jest jednym z częściej wykorzystywanych metod komunikacji pomiędzy urządzeniami.

Komunikacja odbywa się za pomocą trzech głównych linii:

  • MOSI (ang. Master Output Slave Input) - dane wysyłane z urządzenia sterującego (przeważnie mikrokontroler) do urządzenia peryferyjnego pod układ główny (np. czujnik wyświetlacz).
  • MISO (ang. Master Input Slave Output) - odwrotne działanie niż MOSI, z układu peryferyjnego do głównego,
  • SCKL, CLK, SPC (ang. Serial Clock) - jest to sygnał taktujący.
Dodatkowo często wykorzystywana jest linia SS, pozwala ona na wybranie układu podrzędnego, lub na wykonanie adresacji układów.

W czasie przesyłania danych jeden układ jest nadrzędny (master), drugi natomiast w tym czasie jest układem podrzędnym.

Rys. 1. Podłączenie modułów SPI [wikipedia]

poniedziałek, 2 listopada 2015

[17] Arduino - SPI, cyfrowy potencjometr MCP4231

Tym razem przedstawię sposób komunikacji poprzez szeregowy interfejs SPI. W przykładzie wykorzystam cyfrowy potencjometr MCP4231.

Wstęp


SPI (ang. Serial Peripheral Interfejs) jest szeregowym interfejsem urządzeń peryferyjnych.

Komunikacja odbywa się z wykorzystaniem trzech linii:

SCLK (ang. Serial Clock) - sygnał zegarowy. Odpowiedzialny za taktowanie układu.
MISO (ang. Master Input Slave Output) - Przesyła dane z układu peryferyjnego.
MOSI (ang. Master Output Slave Input) - Wysyła dane do układu peryferyjnego.