Witajcie,
Z nowym rokiem nowe wyzwania
Zwracam się do Was z pytaniem, czy moja koncepcja jest słuszna...
Otóż, potrzebuję zbudować urządzenie, które będzie zasilane bateryjnie (docelowo 2xAA), które ma tylko zliczać impulsy zewnętrzne w ciągu każdej godziny działania urządzenia. Po odliczeniu godziny ma te informacje przesłać po rs485 dalej.Tych impulsów może być od kilku na godzinę do nawet 10tyś/godzinę. Czas trwania impulsu to ok. 10ms.
Do zrealizowania zadania wybrałem procesor stm32l031 ze względu na dobry stosunek cena/możliwości/energooszczędność.
Po zapoznaniu z DS wymyśliłem, że procesor będzie pracował w trybie "Stop mode with RTC" ponieważ:
- pobiera 0,4uA
- LSE/LSI działają
-procesor można obudzić z trybu zatrzymania za pomocą dowolnej linii EXTI
- układ wyposażony jest w LowPowerTimer, który to działa w tym trybie i może być taktowany z LSE
Do taktowania LSE użyję kwarca zewnętrznego 32,768kHz i podam go na LPTIM. Reszta peryferiów będzie pracowała z MSI RC na np. 1.049MHz. Układ po inicjalizacji przejdzie w tryb STOP mode, jednocześnie LPTIM będzie odliczał 1s (docelowo do 3600). W czasie odliczania pełnej godziny będę zliczał przychodzące przerwania zewnętrzne.
CubeMX teoretycznie pozwala na taką kombinację:
Czy taka koncepcja ma szansę zadziałać prawidłowo?
Pytam, bo już zaczynam mieć wątpliwości, czy LPTIM to dobry wybór. W CubeMX jest bardzo uboga lista ustawień tego timera:
Nie ma tu choćby ustawienia wartości do przeładowania ARR jak w innych timerach:
Z nowym rokiem nowe wyzwania
Zwracam się do Was z pytaniem, czy moja koncepcja jest słuszna...
Otóż, potrzebuję zbudować urządzenie, które będzie zasilane bateryjnie (docelowo 2xAA), które ma tylko zliczać impulsy zewnętrzne w ciągu każdej godziny działania urządzenia. Po odliczeniu godziny ma te informacje przesłać po rs485 dalej.Tych impulsów może być od kilku na godzinę do nawet 10tyś/godzinę. Czas trwania impulsu to ok. 10ms.
Do zrealizowania zadania wybrałem procesor stm32l031 ze względu na dobry stosunek cena/możliwości/energooszczędność.
Po zapoznaniu z DS wymyśliłem, że procesor będzie pracował w trybie "Stop mode with RTC" ponieważ:
- pobiera 0,4uA
- LSE/LSI działają
-procesor można obudzić z trybu zatrzymania za pomocą dowolnej linii EXTI
- układ wyposażony jest w LowPowerTimer, który to działa w tym trybie i może być taktowany z LSE
Do taktowania LSE użyję kwarca zewnętrznego 32,768kHz i podam go na LPTIM. Reszta peryferiów będzie pracowała z MSI RC na np. 1.049MHz. Układ po inicjalizacji przejdzie w tryb STOP mode, jednocześnie LPTIM będzie odliczał 1s (docelowo do 3600). W czasie odliczania pełnej godziny będę zliczał przychodzące przerwania zewnętrzne.
CubeMX teoretycznie pozwala na taką kombinację:
Czy taka koncepcja ma szansę zadziałać prawidłowo?
Pytam, bo już zaczynam mieć wątpliwości, czy LPTIM to dobry wybór. W CubeMX jest bardzo uboga lista ustawień tego timera:
Nie ma tu choćby ustawienia wartości do przeładowania ARR jak w innych timerach: