logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega8 [C] Zapis danych z przetwornika A/C

pawel8704 03 Lis 2010 12:32 2377 24
REKLAMA
  • #1 8696847
    pawel8704
    Poziom 10  
    Witam. Mam problem z wyborem miejsca zapisu danych z przetwornika ADC do pamięci. Będe próbkował sygnał bedzie to ok. 200 próbek i każdą z tych probek musze zapisywać o przechowywać gdzieś by później je analizować. Prókowany bedzie sygnał sieciowy. W takim razie mam bytanie gdzie zapisywać te dane? Czy zapisywać w którejś z pamięci mikrokontrolera czy dołączonej pamięci?
  • REKLAMA
  • #2 8696986
    _Robak_
    Poziom 33  
    Jeśli nie zależy Ci na kosztach specjalnie, to kupiłbym pamięć FRAM, działa po I2C, jest bardzo szybka, nie "zużywa" się, kosztuje kilka złotych.
  • #3 8697130
    mirekk36
    Poziom 42  
    _Robak_ napisał:
    Jeśli nie zależy Ci na kosztach specjalnie, to kupiłbym pamięć FRAM, działa po I2C, jest bardzo szybka, nie "zużywa" się, kosztuje kilka złotych.


    No tak kilka zł to nie kosztuje ;) , np FM24C512 kosztuje już aż ok 60-70zł netto!!!

    Co nie zmienia faktu, że czasem warto ją zastosować bo jest świetna!!!! i warto w ogóle wiedzieć że istnieje jako alternatywa dla zwykłych tańszych EEPROM'ów.

    Uważam też, że do takiego jednostkowego projektu to można sobie pozwolić na taką pamięć tym bardziej jeśli jej potrzeba mniej niż 512Kbit ;) bo będzie wtedy nieco taniej.
  • #4 8697138
    tmf
    VIP Zasłużony dla elektroda
    Kwestia ile takich sekwencji próbek na raz chcesz zapisać. FRAM jest fajny, bo praktycznie niezużywalny, ale drogi. Z drugiej strony pamięci EEPROM mają ograniczoną ilość zapisów, ale np. 100tys. prawdopodobnie i tak cię nie ogranicza. Jeśli potrzebujesz gromadzić dużo próbek to karta mikroSD wychodzi tanio, a przy pewnych założeniach jej obsługa jest banalna i podobna do pamięci EEPROM.
  • #5 8697532
    gaskoin
    Poziom 38  
    _Robak_ napisał:
    Jeśli nie zależy Ci na kosztach specjalnie, to kupiłbym pamięć FRAM, (...)kosztuje kilka złotych.


    tmf napisał:
    FRAM jest fajny, (...), ale drogi.


    Możecie się zdecydować ? :) Chyba, że Robak jest poprostu nadziany :P
  • #6 8697581
    flodins
    Poziom 12  
    do tego nada się jakikolwiek SRAM te układy są tanie i mają spore pojemności dla przykładu IS62LV256AL 256kb kosztuje ok 7zł a 23A640 64kb ok 4zł
  • #7 8697596
    tymon_x
    Poziom 30  
    gaskoin napisał:
    Możecie się zdecydować ? :) Chyba, że Robak jest poprostu nadziany :P

    200 próbek, dane 10-bitowe, organizacja 8-bitowa, wychodzi 3.2Kb (200x16bity). Pamięć FRAM minimum 4Kb, coś pominąłem?

    Wersja na SPI i I2C (poprawiony link)

    Cena 5zł. Kto przebije ofertę:P

    EDIT.
    Głupie linki z TME (;
  • REKLAMA
  • #8 8697598
    mirekk36
    Poziom 42  
    gaskoin napisał:
    _Robak_ napisał:
    Jeśli nie zależy Ci na kosztach specjalnie, to kupiłbym pamięć FRAM, (...)kosztuje kilka złotych.


    tmf napisał:
    FRAM jest fajny, (...), ale drogi.


    Możecie się zdecydować ? :) Chyba, że Robak jest poprostu nadziany :P


    Sorry, ale ten tekst jest zupełnie BEZ SENSU. Tu nie odpowiadający mają się decydować tylko zadający pytanie autor. To po pierwsze. Po drugie to każdy proponuje inne możliwości rozwiązania takiego problemu i bardzo dobrze bo autor będzie miał z czego wybrać. Padła już propozycja FRAM, karty SD, i szybkiej pamięci RAM, która też przecież występuje w różnych odmianach nawet w wersji SPI. I całkiem pozytywne uwagi..... tymczasem ty chcesz łyżkę dziegciu do tematu wrzucić? Podobają ci się pyskówki i przepychanki, kto ma rację a kto nie? kto tu jest mądrzejszy a kto mniej? .... czy w końcu kto jest bardziej "dziany" jak powiadasz. Pomyśl na drugi raz zanim wtrącisz takie bzdury do normalnej dyskusji.
  • #9 8697761
    pawel8704
    Poziom 10  
    Jest to projekt, na którym ma być oparty później miernik impedancji pętli zwarciowej. Na początku myślałem ze spokojnie te próbki zmieszczą mi sie w pamięci mikrokontrolera tzn EEPROM SRAM czy samym flash'u mikroprocesora. Ponieważ po odłączeniu zasilania próbki mogą być tracone. Chodzi tylko o zebranie tych próbek i później np zaprezentowanie ich na wyświetlaczu. Czy jest możliwość zapisu tych próbek bez dołączania pamieci zewnętrznej?
  • REKLAMA
  • #11 8697839
    pawel8704
    Poziom 10  
    Właśnie chodzi o doradzenie w której pamięci najlepiej umieścić te dane. I czy jeśli zapisuje np. do tablicy (dynamicznej) dane z przetwornika to czy ogranicza mnie wielkość SRAM'u?
  • #12 8697920
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Chyba już dobry moment, żeby zacząć czytać trochę o podstawach... Jak przekroczysz pojemność pamięci RAM, to (pomijając problem ze skompilowaniem takiego projektu) dane po prostu odlecą w kosmos, bo niby czemu miałyby się automatycznie zapisywać gdziekolwiek indziej?

    4\/3!!
  • #13 8697958
    gaskoin
    Poziom 38  
    Jak zwykle mirku nie rozumiesz chyba sensu wypowiedzi. docinki proszę przez PW załatwiać Chodzi o to, że jedna osoba pisze, że są bardzo tanie, gdy następne mówią, że są bardzo drogie (m.in. Ty). W mojej wypowiedzi była prośba o sprostowanie tego faktu, co już zrobił tymon_x, który jak wnioskuje po jego poście - zrozumiał o co chodzi.
  • #14 8697985
    pawel8704
    Poziom 10  
    Źle sformułowałem pytanie, już edytowałem.
  • #15 8698175
    mirekk36
    Poziom 42  
    gaskoin napisał:
    Jak zwykle mirku nie rozumiesz chyba sensu wypowiedzi. Postaram się mówić następnym razem jak do chłopa ze wsi.


    ..... jakbyś nie wysilał się mówić , to twój post tyle wnosi do dyskusji co NIC, i zamiast wnioskować o tym czy ktoś cię zrozumiał czy nie, zamiast obrażać chłopów ze wsi, daj spokój na drugi raz z takim tekstami, to przyjemniejsze staną się dyskusje na elektrodzie.

    Dodano po 3 [minuty]:

    pawel8704 napisał:
    Właśnie chodzi o doradzenie w której pamięci najlepiej umieścić te dane. I czy jeśli zapisuje np. do tablicy (dynamicznej) dane z przetwornika to czy ogranicza mnie wielkość SRAM'u?


    Po co ci zaraz tablica dynamiczna skoro masz mieć 200 próbek, po co ci eeprom czy flash skoro dane są tylko po to żeby zaprezentować je szybko na LCD a nie przechowywać w tej pamięci.

    Racja, że powinieneś zajrzeć do noty PDF swojego procka, zobaczyć, poczytać ile masz dostępnej pamięci RAM i już sam będziesz wiedział czy ją możesz wykorzystać, zresztą co za problem w ogóle samemu spróbować zapisać te dane do RAM ???
  • #16 8698238
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Cytat:
    czy ogranicza mnie wielkość SRAM'u?

    Nie sądzisz chyba, że przy alokacji dynamicznej (czy jakiejkolwiek innej) możliwe jest cudowne powiększenie pojemności pamięci, no nie?

    4\/3!!
  • #19 8698424
    _Robak_
    Poziom 33  
    Freddie Chopin napisał:
    Po co komu zewnętrzna pamięć na 400 bajtów danych?

    4\/3!!

    To już autor musi zdecydować, czy mu potrzebna, czy też nie. Pytanie było, jaka pamięć a nie, czy potrzebuję takiej pamięci. Chociaż, jak czytam o co autorowi chodzi, to tak, po co rzeczywiście kolego pawel8704 Ci ta pamięć?
  • #20 8698471
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Tyle że on nie napisał, że to musi być pamięć zewnętrzna. Po kolejnych postach ("automatyczny wybór pamięci" i "automatyczne zwiększanie pojemności") zaczynam się zastanawiać, czy on aby na pewno wie co chce zrobić [;

    4\/3!!
  • #21 8698680
    pawel8704
    Poziom 10  
    Nie musi to być zewnętrzna pamięć, miała to być zewnetrzna jeśli miernik miałby być zrobiony kompletnie. Wtedy musiałbym przechowywać próbki 2x(200-300) przekonwertowane to typu float. Aby nastepnie przeprowadzić na nich pewne algorytmy i wyliczyć impedancje pętli. Jednak na tym etapie wystarczy mi pamieć jaką posiada procesor.
  • #22 8698692
    gaskoin
    Poziom 38  
    pawel8704 napisał:
    Witam. Mam problem z wyborem miejsca zapisu danych z przetwornika ADC do pamięci. Będe próbkował sygnał bedzie to ok. 200 próbek i każdą z tych probek musze zapisywać o przechowywać gdzieś by później je analizować. Prókowany bedzie sygnał sieciowy. W takim razie mam bytanie gdzie zapisywać te dane? Czy zapisywać w którejś z pamięci mikrokontrolera czy dołączonej pamięci?


    Hmm atmega8 ma 1K SRAMu,

    200 próbek * 2 bajty = 400 bajtów na tablicę. Zostaje Ci jeszcze 1,6K. Może napisz co to za program, bo nie jesteśmy w stanie Ci powiedzieć, czy w ogóle jakiekolwiek zewnętrzne pamięci będziesz musiał stosować :)

    --------
    post pisałem zanim odpisałeś
  • #23 8699285
    pawel8704
    Poziom 10  
    Musze spróbkować sygnał energetyczny przez 1 okres gdzie na ten okres przypada około 200-300 probek, nastepnie spróbkować sygnał energetyczny obciążony rezystancja i także spróbkować w jednym okresie (200-300 próbek). Napięcie sieciowe będzie obniżone przez transformator do wartości dopuszczalnych jakie mogą zostać podane na ADC. Natepnie stosując pewne algorytmy aproksymacji sygnału obliczam impedancje pętli zwarciowej na podsytwaie właśnie tych zebranych próbek.
  • #24 8699289
    Freddie Chopin
    Specjalista - Mikrokontrolery
    pawel8704 napisał:
    Wtedy musiałbym przechowywać próbki 2x(200-300) przekonwertowane to typu float.

    Czyli 600 x 4 = 2.4kB - co drugi AVR ma wystarczającą pojemność RAMu...

    Cytat:
    Jednak na tym etapie wystarczy mi pamieć jaką posiada procesor.

    Ja myślę, że na tym etapie potrzebna Ci dobra lektura...

    4\/3!!
  • REKLAMA
REKLAMA