STM32Butterfly2: obsługa kart SD w trybie SPI

Nieodłącznym elementem, w realizowanych aplikacjach, jest przetwarzanie oraz gromadzenie danych. Zwykle wymaga to użycia dodatkowych układów scalonych, jednak w przypadku dużych ilości danych takie rozwiązanie może stać się mało wygodne i kosztowne, tym bardziej gdy zgromadzone dane mają być przetwarzane przez komputer lub dane są postaci plików. W takim przypadku najlepszym rozwiązaniem okaże się zastosowanie standardu stosowanego w świecie komputerów. Jednym z nich jest gromadzenie danych na kartach pamięci, bardzo popularnym jest stosowanie kart SD, głównym czynnikiem rozpowszechnienia jest dość prosta ich obsługa przy wykorzystaniu magistrali SPI.

Poniższy projekt przedstawia właśnie komunikację z kartą SD. Zadaniem aplikacji jest uzyskanie dostępu do karty SD oraz przedstawienie na wyświetlaczu informacji o rodzaju karty oraz odczytanie pierwszego sektora zawierającego informację o typie partycji, a następnie wyświetlenie typu partycji, oraz pierwszego sektora LBA. W przypadku braku włożonej karty pojawia się informacja z prośbą o jej włożenie.

 

Fot. 1. Wygląd modułu KAmodMMC

Fot. 1. Wygląd modułu KAmodMMC

 

 

Aplikacja została przygotowana dla zestawów STM32Butterfly2 oraz STM32Butterfly. W przypadku zestawu STM32Butterfly2 złącze występuje na płytce, natomiast dla STM32Butterfly wymagany jest moduł dla kart SD – np. KAmodMMC (pokazany na rysunku 1), którego schemat elektryczny znajduje się na rysunku 2. W obu przypadkach dodatkowo potrzebny jest moduł z wyświetlaczem KAmodLCD1, na którym przedstawiane są informacje o stanie karty pamięci.

 

Rys. 2. Schemat elektryczny modułu KAmodMMC

Rys. 2. Schemat elektryczny modułu KAmodMMC

 

 

Ze względu na różnice w obu płytkach projekt wymaga odrębnej kompilacji, która to uwzględnia. W przypadku kompilacji dla zestawu STM32Butterfly wymagane jest aby plik Makefile wywołać z parametrem BOARD=1. Wywołanie to spowoduje, iż koprocesor zdefiniuje odpowiednie wartości określające, które linie są używane przez poszczególne elementy.

 

Rys. 3. Połączenie pomiędzy zestawem STM32Butterfly2 i modułem KAmodMMC

Rys. 3. Połączenie pomiędzy zestawem STM32Butterfly2 i modułem KAmodMMC

 

 

Na rysunku 3 przedstawiono połączenie zestawu ewaluacyjnego STM32Butterfly2 z modułem KAmodLCD1. Tak jak zaznaczono wcześniej przygotowaną aplikację można wykorzystać także z zestawem STM32Butterfly, w tym przypadku wymagany jest dodatkowo moduł kart pamięci SD. Jako moduł można zastosować KAmodMMC (jak pokazano na rysunku 4).

 

Rys. 4. Połączenia elektryczne pomiędzy STM32Butterfly i modułami KAmodLCD1 oraz KAmodMMC

Rys. 4. Połączenia elektryczne pomiędzy STM32Butterfly i modułami KAmodLCD1 oraz KAmodMMC

 

 

Do pobrania

O autorze