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

Atmega88 - Minimalna praca zegara dla 100khz I2C? Oraz redukcja prądu.

modrih 25 Lip 2016 08:11 1449 2
REKLAMA
  • #1 15828198
    modrih
    Poziom 20  
    Posty: 558
    Pomógł: 5
    Ocena: 29
    Dzień dobry.

    Używam środowiska Bascom. Chciałbym dowiedzieć się przy jakim najmniejszym taktowaniu zegara systemowego scalaka mogę uzyskać komunikację 100khz dla I2C?

    Ustawiałem atmegę na 1MHz (8MHz wewnętrzny i dzielnik na 8), ale to było za mało by I2C działało mi na częstotliwości 100khz. Były błędy w komunikacji, albo tez Bascom się buntował. Przy 8 MHz wszystko mi działa. Ale chciałbym pobawić się z redukcją pobieranego prądu (zasilanie bateryjne).

    Więc z tej okazji pytanie bonus. Posiadam Atmegę 88PU-PA, Pico Power, która dla trybu aktywności dla 1MHz powinna pobierać 0,2mA, a u mnie pobiera ok. 9-11mA w spoczynku - nic nie po podłączane (prócz oczywiście zasilania prawidłowo używając kondensatorów filtrujących). Zasilanie około 3V, użyłem komendy "stop Ac" oczywiście, ADC mi nie potrzebne. W trybie powerdown pobiera wzorowo baardzo mało 1 - 2 µA i ładnie mi się wybudza.

    Jakieś podpowiedzi odnośnie redukcji prądu?
  • REKLAMA
  • #3 15828658
    Andrzej__S
    Poziom 28  
    Posty: 567
    Pomógł: 182
    Ocena: 65
    modrih napisał:
    Ustawiałem atmegę na 1MHz (8MHz wewnętrzny i dzielnik na 8), ale to było za mało by I2C działało mi na częstotliwości 100khz.

    Pytanie, czy potrzebujesz takiej szybkości. 100kHz to prędkość graniczna. Jeśli to typowy interfejs I2C (a nie np. pokrewny SMBus), to nie ma ograniczenia w dół. Powinno działać też prawidłowo np. przy 1kHz. Chyba że to wymagająca aplikacja i musisz odczytywać często lub duże ilości danych.
    Maksymalna szybkość I2C dla taktowania 1MHz wynosi 62,5kHz.

    modrih napisał:
    Więc z tej okazji pytanie bonus. Posiadam Atmegę 88PU-PA, Pico Power, która dla trybu aktywności dla 1MHz powinna pobierać 0,2mA, a u mnie pobiera ok. 9-11mA
    Te 0,2mA to jest raczej przy zasilaniu napięciem 1,8V.

    modrih napisał:
    Jakieś podpowiedzi odnośnie redukcji prądu?

    Zainteresuj się rejestrem PRR i w miarę możliwości powyłączaj wszystkie nieużywane peryferia (takie jak timery, SPI, USART). Sporadycznie używane też ewentualnie można wyłączyć i włączać tylko w razie potrzeby. Tytan prędkości to nie będzie, ale konsumpcja prądu powinna spaść.
REKLAMA