{
    "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\/pl_pl\/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\/pl_pl\/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\/pl_pl\/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>",
        "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\/pl_pl\/wp-json\/wp\/v2\/posts\/488",
                "targetHints": {
                    "allow": [
                        "GET"
                    ]
                }
            }
        ],
        "collection": [
            {
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/posts"
            }
        ],
        "about": [
            {
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/types\/post"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/users\/1"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/comments?post=488"
            }
        ],
        "version-history": [
            {
                "count": 8,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/posts\/488\/revisions"
            }
        ],
        "predecessor-version": [
            {
                "id": 516,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/posts\/488\/revisions\/516"
            }
        ],
        "wp:featuredmedia": [
            {
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/media\/515"
            }
        ],
        "wp:attachment": [
            {
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/media?parent=488"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "category",
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/categories?post=488"
            },
            {
                "taxonomy": "post_tag",
                "embeddable": true,
                "href": "https:\/\/hayperek.pl\/pl_pl\/wp-json\/wp\/v2\/tags?post=488"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https:\/\/api.w.org\/{rel}",
                "templated": true
            }
        ]
    }
}