ś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

wtorek, 23 sierpnia 2016

[12] STM32F4 - Discovery - Akcelerometr LIS302DL

W przykładzie opiszę sposób obsługi trzy osiowego akcelerometru firmy ST LIS302DL, który był umieszczany na starszych wersjach płytek Discovery z układem STM32F407VG.

Układ do komunikacji wykorzystuje magistralę SPI.

Opis układu


Opisywany czujnik pozwala detekcję przyśpieszeń od +/- 2g do +/- 8g. Komunikacja może się odbywać poprzez dwa interfejsy komunikacyjne SPI bądź I2C.

Rys. 1. LIS302DL

czwartek, 18 sierpnia 2016

[26] Arduino - Cyfrowy czujnik ciśnienia MPL3115A2

Tym razem chciałbym opisać sposób obsługi cyfrowego czujnika z interfejsem I2C. Pozwala on na pomiar takich parametrów jak ciśnienie, wysokość nad poziomem morza oraz temperaturę.

MPL3115A2 - Opis


Parametry czujnika:

wtorek, 16 sierpnia 2016

Źródła sygnału zegarowego dla mikrokontrolerów

Ten post chciałbym poświęcić na opis sposobu dobrania źródła sygnału zegarowego dla mikrokontrolera.

Opis


Sygnał jest potrzebny do synchronizacji przesyłanych danych pomiędzy zintegrowanymi blokami. Pozwala on także określić z jaką prędkością układ będzie działał. Przy czym należy pamiętać, że im większa częstotliwość tym większe potencjalne zakłócenia oraz zwiększony pobór prądu przez układ.

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, 11 sierpnia 2016

[12] STM32F4 - Discovery - Obsługa wyświetlacza HD44780

W tym poście opiszę w jaki sposób obsłużyć wyświetlacz 2x16 ze sterownikiem HD44780. 

Program


Poniżej przejdę po poszczególnych głównych funkcjach całego programu.

Rozpoczęcie pracy z wyświetlaczem należy rozpocząć od jego poprawnego włączenia, co się wykonuje na podstawie przedstawionej poniżej funkcji inicjującej pracę wyświetlacza oraz uruchamiającą potrzebne wyprowadzenia GPIO.

niedziela, 7 sierpnia 2016

Zadanie - Wzmacniacz operacyjny - [1] - Odwracający

W tym poście chciałbym przedstawić sposób obliczania wzmocnienia dla odwracającego wzmacniacza operacyjnego. 

Rys. 1. Wzmacniacz odwracający

[1] STM32 M3 - Nucleo - F103RB - Rejestry - Porty GPIO

Ten post chciałbym poświęcić na przedstawienie sposobu włączenia portów GPIO oraz zegara w mikrokontrorze wymienionym w tytule. 

Opis Rejestrów


Do obsługi portów GPIO można wyróżnić następujące rejestry: CRL, CRH, IDR, BSRR, BRR, ODR, LCKR.

Poniżej krótki opis wymienionych rejestrów. Po dokładniejsze informacje należy zajrzeć do Reference manual dla wybranego mikrokontrolera.

GPIO_CRL - Pozwala on na wybranie ustawień dotyczących wyprowadzeń od Px0 do Px7.

Rys. 1. Rejestr GPIO_CRL [manual]

środa, 3 sierpnia 2016

C - Sortowanie bąbelkowe

W tym poście chciałbym zaprezentować algorytm sortowanie bąbelkowego przygotowany w języku C.

Działanie tej metody polega na porównywaniu ze sobą dwóch liczb znajdującego się w ciągu znaków, z nich liczba mniejsza zostaje podstawiona pod niższą pozycję w tabeli a liczba większa pod pozycję o większym numerze. Poniżej krótka prezentacja:

tab[5] = 7;
tab[6] = 2;

Zadanie - Tranzystor bipolarny [1]

Ten post chciałbym poświęcić na rozwiązanie prostego narazie zadania dotyczącego obliczeń układu dla tranzystora bipolarnego.

Zadanie polega na wyznaczeniu w przybliżeniu prądu emitera Ie oraz napięcia kolektor emiter Uce, dla tranzystora krzemowego, w którym napięcie baza emiter wynosi Ube = 0,7. Obliczenia należy przeprowadzić dla kilku wartości napięcia Eb.(10 V, 2V, -6V)

poniedziałek, 1 sierpnia 2016

ESD - Opakowania

Ten post chciałbym poświęcić zagadnieniu dotyczącemu zastosowań opakowań ESD w procesie produkcyjnym.

Dopuszczalne rodzaje metod pakowania zostały opisane w normie PN-EN (IEC) 61340.

Można wyznaczyć cztery rodzaje opakowań ESD, które są przeznaczone do różnych zastosowań:

  • Conductive – C – są to opakowana przewodzące. – Rezystancja 10^5, trójwarstwowe z wielowarstwowej polietylenowej folii.
  • Dissipative – D – rozpraszają ładunki elektrostatyczne - Rezystancja 10^8 do 10^11. 
  • Shielding – S – zapewniają ekranowanie przed wyładowaniami elektrostatycznymi - typowa rezystancja takich opakować oscyluje w okolicach 10^10. Przeważnie są one trójwarstwowe, warstwa zewnętrzna to poliester (10^11), środkowa to metal (10^2), wewnętrzna polietylen (10^11). 
  • Field Shielding – F- Opakowanie ekranujące przed polem elektrostatycznym