{"id":488,"date":"2018-03-30T21:38:06","date_gmt":"2018-03-30T21:38:06","guid":{"rendered":"http:\/\/hayperek.pl\/?p=488"},"modified":"2018-03-30T21:38:06","modified_gmt":"2018-03-30T21:38:06","slug":"karta-sd","status":"publish","type":"post","link":"https:\/\/hayperek.pl\/en\/2018\/03\/30\/karta-sd\/","title":{"rendered":"Karta SD"},"content":{"rendered":"<p>Jedn\u0105 z funkcjonalno\u015bci uwzgl\u0119dnionych w <a href=\"http:\/\/hayperek.pl\/en\/2018\/03\/21\/start\/\">za\u0142o\u017ceniach projektu<\/a> by\u0142a obs\u0142uga kart SD\/microSD. Najcz\u0119\u015bciej w systemach wbudowanych stosuje si\u0119 montowane na sta\u0142e pami\u0119ci Flash, w postaci osobnego uk\u0142adu scalonego. To rozwi\u0105zanie ma jednak wiele wad, zw\u0142aszcza w przypadku kiedy tworzymy prototyp. Zmiana czegokolwiek w ko\u015bci pami\u0119ci Flash wymaga\u0142aby u\u017cycia programatora. Kart\u0119 SD mo\u017cna natomiast bardzo szybko wyci\u0105gn\u0105\u0107 ze slotu w naszym urz\u0105dzeniu i modyfikowa\u0107 jej zawarto\u015b\u0107 na komputerze czy tablecie. <\/p>\n<h5>Hardware<\/h5>\n<p>Mikrokontroler STM32F407 posiada wbudowany sterownik SDIO <em>(ang. Secure Digital Input\/Output)<\/em> przeznaczony specjalnie do obs\u0142ugi kart pami\u0119ci SD\/MMC. W wi\u0119kszo\u015bci popularnych modu\u0142\u00f3w Arduino stosowany jest r\u00f3wnie\u017c interfejs SPI, charakteryzuje si\u0119 on jednak zdecydowanie ni\u017csz\u0105 pr\u0119dko\u015bci\u0105 transmisji danych.<br \/>\nKontroler SDIO mo\u017ce pracowa\u0107 w dw\u00f3ch trybach: 1-bitowym lub 4-bitowym. Pierwszy do dzia\u0142ania potrzebuje jedynie trzy piny procesora. Jest oczywi\u015bcie wolniejszy od 4-bitowego odpowiednika, kt\u00f3ry wymaga a\u017c 6 pin\u00f3w. Na potrzeby naszego projektu u\u017cyjemy trybu 1-bitowego &#8211; pr\u0119dko\u015b\u0107 odczytu\/zapisu nie jest w tym momencie kwesti\u0105 szczeg\u00f3lnie istotn\u0105.<br \/>\nPoniewa\u017c dost\u0119pne s\u0105 gotowe modu\u0142y zawieraj\u0105ce slot karty SD wraz z wygodnymi wyprowadzeniami, nie b\u0119dziemy przygotowywa\u0107 specjalnej p\u0142ytki tak, jak to mia\u0142o miejsce w przypadku <a href=\"http:\/\/hayperek.pl\/en\/2018\/03\/29\/interfejsy-can-i-obd\/\">interfejs\u00f3w CAN \/ OBD<\/a>.<\/p>\n<p><a href=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_1-1024x768.jpg\" alt=\"\" width=\"720\" height=\"540\" class=\"aligncenter size-large wp-image-489\" srcset=\"https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_1-1024x768.jpg 1024w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_1-600x450.jpg 600w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_1-300x225.jpg 300w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_1-768x576.jpg 768w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_1.jpg 1200w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>Warto zwr\u00f3ci\u0107 uwag\u0119, i\u017c piny kontrolera SDIO s\u0105 przypisane &#8222;na sztywno&#8221;. Nie mamy wi\u0119c mo\u017cliwo\u015bci u\u017cycia multipleksera port\u00f3w i przeniesienia ich w dogodniejsz\u0105 lokalizacj\u0119. Jest to kolejny argument za tym, aby u\u017cywa\u0107 prostszej wersji 1-bitwej. A tak wygl\u0105da karta pod\u0142\u0105czona do naszego urz\u0105dzenia \ud83d\ude42 .<\/p>\n<p><a href=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_2-1024x768.jpg\" alt=\"\" width=\"720\" height=\"540\" class=\"aligncenter size-large wp-image-490\" srcset=\"https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_2-1024x768.jpg 1024w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_2-600x450.jpg 600w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_2-300x225.jpg 300w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_2-768x576.jpg 768w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_2.jpg 1200w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<h5>Software<\/h5>\n<p>Od strony oprogramowania, jako warstw\u0119 zapewniaj\u0105c\u0105 wygodne API dla aplikacji, zastosujemy popularn\u0105 <a href=\"http:\/\/elm-chan.org\/fsw\/ff\/00index_e.html\">bibliotek\u0119 FatFS<\/a>. Jej zalet\u0105 jest niewielki rozmiar, interfejs zbli\u017cony do standardu POSIX oraz mo\u017cliwo\u015b\u0107 u\u017cycia niemal dowolnego no\u015bnika danych. W naszym przypadku rol\u0119 po\u015brednika mi\u0119dzy bibliotek\u0105 FatFS a kontrolerem SDIO b\u0119dzie spe\u0142nia\u0107 biblioteka HAL. W ten spos\u00f3b ponownie powstaje warstwowa struktura, znana z naszych poprzednich rozwa\u017ca\u0144.<br \/>\n<a href=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_sw.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_sw-300x169.png\" alt=\"\" width=\"300\" height=\"169\" class=\"aligncenter size-medium wp-image-492\" srcset=\"https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_sw-300x169.png 300w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_sw-600x338.png 600w, https:\/\/hayperek.pl\/wp-content\/uploads\/2018\/03\/karta_sw.png 766w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Tyle na dzi\u015b &#8211; jutro spr\u00f3bujemy pod\u0142\u0105czy\u0107 wreszcie wy\u015bwietlacz LCD i zobaczy\u0107 upragnione kolorki! \ud83d\ude42 Zapraszam!<\/p>","protected":false},"excerpt":{"rendered":"<p>Jedn\u0105 z funkcjonalno\u015bci uwzgl\u0119dnionych w za\u0142o\u017ceniach projektu by\u0142a obs\u0142uga kart SD\/microSD. Najcz\u0119\u015bciej w systemach wbudowanych stosuje si\u0119 montowane na sta\u0142e pami\u0119ci Flash, w postaci osobnego uk\u0142adu scalonego. To rozwi\u0105zanie ma jednak wiele wad, zw\u0142aszcza w przypadku kiedy tworzymy prototyp. Zmiana czegokolwiek w ko\u015bci pami\u0119ci Flash wymaga\u0142aby u\u017cycia programatora. Kart\u0119 SD mo\u017cna natomiast bardzo szybko wyci\u0105gn\u0105\u0107 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":515,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":{"0":"post-488","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-stodni","9":"post-with-thumbnail","10":"post-with-thumbnail-large"},"_links":{"self":[{"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/posts\/488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/comments?post=488"}],"version-history":[{"count":8,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/posts\/488\/revisions"}],"predecessor-version":[{"id":516,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/posts\/488\/revisions\/516"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/media\/515"}],"wp:attachment":[{"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/media?parent=488"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/categories?post=488"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hayperek.pl\/en\/wp-json\/wp\/v2\/tags?post=488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}