eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaKarta SD - dziwne zachowanie zasilaniaRe: Karta SD - dziwne zachowanie zasilania
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!go
    blin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-02.news.neostrad
    a.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    Subject: Re: Karta SD - dziwne zachowanie zasilania
    Newsgroups: pl.misc.elektronika
    References: <56866f5a$0$694$65785112@news.neostrada.pl>
    <56866f5a$0$694$65785112@news.neostrada.pl>
    <a...@n...neostrada.pl>
    <5686a0fc$0$644$65785112@news.neostrada.pl>
    <a...@n...neostrada.pl>
    From: Atlantis <m...@w...pl>
    X-Enigmail-Draft-Status: N1110
    Date: Fri, 1 Jan 2016 21:40:22 +0100
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101
    Thunderbird/38.5.0
    MIME-Version: 1.0
    In-Reply-To: <a...@n...neostrada.pl>
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit
    Lines: 67
    Message-ID: <5686e43d$0$678$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.7.86.129
    X-Trace: 1451680829 unt-rea-a-01.news.neostrada.pl 678 83.7.86.129:63198
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:691266
    [ ukryj nagłówki ]

    W dniu 2016-01-01 o 19:01, Marek pisze:

    > Ale tak na marginesie.nie stosowałem kluczowania Vcc kart sd i nie
    > kojarzę abym napotkał przy kartach sd opisywany przez Ciebie problem.
    > Podejrzewam, ze być może jednak driver spi jaki używasz nieprawidłowo
    > inicjuje kartę np. brak spi lowbitrate przy inicjalizacji (przyspieszyć
    > spi można dopiero po inicjalizacji).

    Hmm... Masz może działającą wersję mmc.c?
    Bo siedzę na tym już kolejną godzinę i za nic nie mogę zmusić ukłdu do
    stabilnej pracy. W kółko wywala albo bład 3, albo 13. Jeśli już ruszy,
    to od wielkiego święta i nie ma żadnej pewności, że stan taki utrzyma
    się po kolejnym resecie.

    Obecna konfiguracja wygląda następująco:
    1) Osoba linia zasilania dla karty, kluczowana tranzystorem i filtrowana LC.
    2) Wszystkie linie karty podciągnięte do tej linii rezystorami 4,7k. To
    znaczy wszystkie z wyjątkiem DC - ta jest podłączona do ogólnego VCC.
    3) w funkcji power_on() konfiguruję wyjścia i ustawiam PPS. W
    power_off() wyłączam funkcję PPS dla MOSI i z powrotem przestawiam
    wszystkie wyjścia na wejścia.

    Generalnie wygląda to następująco:

    static
    void power_on (void)
    {
    PWR_SETOUT();
    PWR_ON();
    for (Timer1 = 150; Timer1; ); /* Wait for 150ms */

    /* Setup SPI2 */
    // Setup CS as output
    CS_SETOUT();
    MISO_SETIN();
    MISO_SETPPS();
    MOSI_SETOUT();
    MOSI_SETPPS();
    // configured for ~400 kHz operation - reset later to 20 MHz
    SpiChnOpen(SPI_CHANNEL2,SPI_OPEN_MSTEN|SPI_OPEN_CKP_
    HIGH|SPI_OPEN_SMP_END|SPI_OPEN_MODE8,64);
    SPI2CONbits.ON = 1;
    }

    static
    void power_off (void)
    {
    select(); /* Wait for card ready */
    deselect();

    SPI2CONbits.ON = 0; /* Disable SPI2 */

    Stat |= STA_NOINIT; /* Set STA_NOINIT */

    PWR_OFF();
    CS_SETIN();
    MOSI_RESTOREPPS();
    MOSI_SETIN();
    for (Timer1 = 150; Timer1; ); /* Wait for 40ms */

    }

    Jak widzisz SPI startuje na małej prędkości.

    Zresztą w disk_initialize są wywoływane jeszcze dwie makrodefinicje:
    #define FCLK_SLOW() SPI2BRG = 64 /* Set slow clock (100k-400k) */
    #define FCLK_FAST() SPI2BRG = 2 /* Set fast clock (depends on the CSD) */

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: