Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

SD-power down albo sleep lub cokolwiek takiego;)

Balu 04 Lut 2010 18:05 1308 20
  • #1 04 Lut 2010 18:05
    Balu
    Poziom 38  

    Witam, patrzę w google, w elkę i nie widzę...
    Mam w układzie SD'ka kartę właczam układ pobiera 2mA... inicjalizacja karty zapis/odczyt 50mA... Teraz procek w sleeep a to gówienko dalej żre 40mA...
    Jest jakaś możliwość sleepnięcia albo powerdown'a na karcie SD?
    Nie mam możliwości fizycznie odłączyć zasilania.

    0 20
  • #2 04 Lut 2010 19:11
    asembler
    Poziom 32  

    Dziwne moze MMc to troszke co innego ale jak nic nie robie to nic nie pobiera a widac to po tym ze dioda szeregowo podłączona nawet nie żarzy.
    Próbowałes inną kartę SD?
    I jeszcze druga sprawa czy przed sleep odpowiednio ustawiasz piny procka?

    0
  • #3 04 Lut 2010 19:17
    Balu
    Poziom 38  

    Co to znaczy odpowiednio ustawiasz piny procka?
    Na chwilę obecną nie żrę się o uA tylko o SDka który wsysa mmmmmmmApery...
    zastanawiam się nad tym czy nie zrobić jej hwareowego on offa ale mi się to bardzo nie poodoba == ciecie pcb:P

    Mam ten problem ponieważ poprzednia przetwornica odcinąła przy shutdownie zupelnie zasilanie a ta co jest teraz coś tam przekazuje przez jakąś wew. diodę... I to mnie bardzo bardzo drażni.

    0
  • #4 04 Lut 2010 19:25
    tek-no-logical
    Poziom 15  

    Można jakoś w ten sposób. (z przykładowego kodu TI dla MSP430xx)

    Code:

    // set MMC in Idle mode
    unsigned char mmcGoIdle()
    {
      unsigned char response=0x01;
      CS_LOW();

      //Send Command 0 to put MMC in SPI mode
      mmcSendCmd(MMC_GO_IDLE_STATE,0,0x0095);
      //Now wait for READY RESPONSE
      if(mmcGetResponse()!=0x01)
        return MMC_INIT_ERROR;

      while(response==0x01)
      {
        CS_HIGHX();
        spiSendByte(DUMMY_CHAR);
        CS_LOW();
        mmcSendCmd(MMC_SEND_OP_COND,0x00,0xff);
        response=mmcGetResponse();
      }
      CS_HIGHX();
      spiSendByte(DUMMY_CHAR);
      return (MMC_SUCCESS);
    }


    Szczegóły w dokumentacji kart:
    http://www.sdcard.org/developers/tech/sdcard/pls/Simplified_Physical_Layer_Spec.pdf
    Cytat:

    The command GO_IDLE_STATE (CMD0) is the software reset command and sets each card into Idle
    State regardless of the current card state. Cards in Inactive State are not affected by this command.
    After power-on by the host, all cards are in Idle State, including the cards that have been in Inactive
    State before.
    After power-on or CMD0, all cards’ CMD lines are in input mode, waiting for start bit of the next com-
    mand. The cards are initialized with a default relative card address (RCA=0x0000) and with a default
    driver stage register setting (lowest speed, highest driving current capability).

    Nie mam w tej chwili możliwości sprawdzenia, ale powinno zredukować pobór prądu.
    Trochę info też tutaj:
    http://www.cs.ucr.edu/~amitra/sdcard/Additional/sdcard_appnote_foust.pdf

    0
  • #5 04 Lut 2010 19:39
    asembler
    Poziom 32  

    To ty nie wprowadziłes oprócz procka równiez karty w tryb zmniejszonego poboru mocy?

    0
  • #6 04 Lut 2010 19:51
    Balu
    Poziom 38  

    No toć to pisze że nie wiem jak ją wprowadzić ^^ :)
    Ok, fakt po wprowadzeniu w IDLE je tylko 3.5mA (sd 2GB), 16MB żre 400uA:)
    Jeśli ktoś ma jeszcze jakieś propozycje poza idle będę wdzięczny:)

    Łukasz.

    0
  • #7 04 Lut 2010 20:10
    asembler
    Poziom 32  

    Jak chcesz to moge sprawdzic ile moja karta żre chociaz bedzie ciezko.

    Dodano po 7 [minuty]:

    No to zmierzyłem mam kartę 16MB i jest całkowicie trzezwa 0.0.0 jak z niej nie korzystam w trybie aktive pobier ok 20 promili.
    Cos musisz miec zle.
    Sprobuj odłaczyc od systemu karte i w tedy zmierzyc prąd (w ogole miej na stale miernik mA.)
    Zmierz linie CS dopóki karta nie wybrana to nie ma prawa cokolwiek pobierac. Innymi słowy jak wprowadzasz procka w sleep musisz na CS karty wymusic '1' .

    0
  • #8 04 Lut 2010 20:32
    Balu
    Poziom 38  

    No u mnie to 16MB żre tyle prądu wraz z całym otoczeniem...lcd, procek itd;)

    Wiem,że wciąż za dużo, będę walczył:)
    I tu się rodzi kolejne pytanie...

    Mam źródło prądu 2...do 2.3V przełącznik zwierany do masy, i tu mój problem tranzystor polowy jakiś bym chciał wstawić co by się go dało załączać właśnie tym przyciskiem a potem wymuszać prockiem podtrzymanie zasilania...
    Jakieś rozwiązania panowie zaproponujecie? Bo ja na dziś się wyumysłowałem:P

    Innymi słowy chcę jakiś przełącznik zrobić na wyjściu z baterii:)

    Dodano po 1 [minuty]:

    A mierniki dziś na stałe to 3 miałem:P
    Jeden do prądu, drugi mierzył napięcie na przetwornicy bo też w pewnym momencie cudowało, a trzecim mierzyłem aktualne rzeczy;P

    0
  • #9 04 Lut 2010 20:33
    _Robak_
    Poziom 33  

    2.3V starczy na wysterowanie jakiegoś NPNa który wysteruje n mosfeta i będzie sterować zasilaniem karty. Tylko musiałbyś jeszcze mieć w zanadrzu gdzieś wyższe napięcie do sterowania mosfetem ;) Albo Spróbować dać mosfeta P z L w nazwie, tylko te 2.3V może być za mało żeby go zatkać.

    0
  • #10 04 Lut 2010 20:34
    asembler
    Poziom 32  

    A co jednak chcesz odłaczac baterie od systemu?

    0
  • #11 04 Lut 2010 20:35
    Balu
    Poziom 38  

    Jutro się upewnię jeszcze, czy na pewno robię cs :) Ale chyba tak:)

    Dodano po 39 [sekundy]:

    No generalnie jak nie będzie innej opcji to i to przeżyję - tylko odłączać zasilanie całego systemu nie tylko SDka;)

    0
  • #12 04 Lut 2010 20:42
    asembler
    Poziom 32  

    Kiedys dawna dawna temu zrobile licznik rowerowy na dwie baterie AA i musialem odłaczac LCD + przetwornica ujemnego napiecia + procek +inne duperele to wystarczył jeden zwykły PNP bipolarny no chyba ze walczysz o kazdy mV spadku napiecia. Dzialalo to super 1-2 lata na jednym komplecie zwykłych paluszków.

    Dodano po 2 [minuty]:

    mysle ze ten drugi sposob nawet bedzi elepszy dla bateryjnych urzadzec gdyz mozesz przewidziec tzw AutoOff po zadanym czasie bezczynnosci.

    Dodano po 1 [minuty]:

    Swoja drogą to jestem ciekaw dlaczego ci pobiera ta karta 16Mb tyle prądu
    Ja wybrałem 16Mb własnie dlatego ze podczas bezczynnosci nie pobierala ni a na dodatek to koszt jej to obecnie ponizej zlotówki.

    0
  • #13 04 Lut 2010 20:47
    Balu
    Poziom 38  

    Koszt 16MB to 5zł ;) (nowe)
    Co to jest drugi sposób?:>

    0
  • #14 04 Lut 2010 20:49
    asembler
    Poziom 32  

    Drugi sposob to odłaczanie calego systemu od zasilania
    No to przeplaciłem kupilem 6 sztuk za 5 zł :)

    0
  • #15 04 Lut 2010 21:30
    Balu
    Poziom 38  

    Ja szukałem bardziej powtarzalnej partii:)
    Proszę nie cierpię polowych tranzystorów...
    Niech ktoś machnie jakiś prosty schemat;)

    Dodano po 21 [minuty]:

    Jak dla mnie to Source do bateri, Drain do układu a sterujemy bramką, dobrze Tato?:)

    0
  • #16 04 Lut 2010 21:37
    asembler
    Poziom 32  

    Zwylky bipolarny stosuje emiter do plusa i 3 oporniki
    Jeden opornik baza i plus, drugi baza i pin podtrzymujacy zasilanie trzeci baz i przycisk właczajacy do masy.

    Dodano po 42 [sekundy]:

    sory za opisowy schemat

    0
  • #18 04 Lut 2010 22:14
    Balu
    Poziom 38  

    TY ale source do masy drain do plusa to po wysterowaniu zwarcie jest;)
    Już wiem jak podłączyć:)
    Anyway wybór padł na irlml6302;)

    0
  • #19 05 Lut 2010 08:17
    _Robak_
    Poziom 33  

    Cytat:
    TY ale source do masy drain do plusa to po wysterowaniu zwarcie jest;)

    ;) Żeby nie było, odbiornik podłączasz tak samo jak do bipolarnego, przy nmosfecie od strony draina i sterujesz masa, przy pmosfecie od strony sourca i sterujesz plusem. Wiadomo, dla układów cmos lepiej dać pmosfeta żeby nie dostawały napięcia bez masy.

    0
  • #20 10 Lut 2010 19:13
    asembler
    Poziom 32  

    Mialem taki myk ze na czas pomiaru poboru prądu z karty nie odłaczyłem całkowicie programatora i wynik wyszedł kilkakrotnie wiekszy.
    Ja bym walczyl dalej zeby wprowadzac karte w power-down bo to eleganckie rozwiazanie a jakby sie udało to bym skorzystał z doświadczenia :-)

    0
  • #21 10 Lut 2010 21:41
    markosik20
    Poziom 33  

    Spróbuj CS dać na high i resztę (MISO,MOSI i SCK ) na LOW. Mnie karta skubana "ciągła prąd" przez MOSI jak było ustawione na HIGH.

    0