Własny programu do overlockingu wraz ze sterowaniem fotoogniwa.

0

Poprawiona wersja postu po założeniu konta w Państwa serwisie.

Witam wszystkich.

Jestem studentem drugiego roku na wydziale automatyki. Praca dyplomowa składa się z dwóch części i jest oparta na mikrokomputerze. Pierwsza dotyczy stworzeniem sterownika dla footoogniwa. Mikrokomputer pobiera dane w sposób energooszczędny (uśpienia procesora), a następnie ma przeprowadzić analizę zebranych danych. (pierwszą część doradził mi znajomy) Druga część dotyczy stworzenia oprogramowania zarówno do prostego overlockingu np. zwiększenie częstotliwości taktowania procesora, jak i nadzoru mikrokomputera np. wyświetla temperaturę poszczególnych elementów układu, pobór energii, częstotliwość DRAM jeśli chodzi o pamięci, czy prędkość jądra procesora. Coś w rodzaju CPU-Z.

Jaki polecacie mikrokomputer ? Pod uwagę wziąłem Latta Panda z systemem Windows 10.

Jaki najlepiej wykorzystać język programowania ? Na uczelni poznałem postawy C++/C/C# oraz Assembler. W razie potrzeby mogę się douczyć.

W jaki sposób przy pomocy kodu zmienić częstotliwość taktowania procesora ? Jakieś biblioteki, funkcje ? Przeglądałem MSDN Microsoft, lecz nie jestem pewien czy zmierzam w dobrym kierunku. Szukałem po wielu stronach i nic ciekawego nie znalazłem, chyba, że jestem ślepy.

Prosiłbym o jakieś wskazówki, rady - nie tylko dotyczące tych pytań. Wybaczcie ze użycie mało technicznego języka do opisu problemu, pisałem na szybko. Jest to mój pierwszy porządny projekt, mam do niego ambitne podejście, lecz mało wiedzy praktycznej Z góry dziękuję.

1

Ogólnie: ciężko, bo to zależy od konkretnego komputera, w każdym takie zmiany będą mogły być realizowane inaczej, w niektórych w ogóle nie będą mogły być realizowane. Nie ma na to uniwersalnej metody, zresztą na zwykłych komputerach najczęściej robi to jakiś specjalny soft producenta np. płyty głównej, który jakoś zapisuje te ustawienia, np. do konfiguracji CMOS. Dodatkowo, kod firmware procesora sam będzie też się zajmował takimi rzeczami jak zmiana częstotliwości taktowania (Intel Turbo Boost).

W kolejnym małym komputerku, Raspberry Pi, częstotliwość taktowania procesora da się ustawić w pliku config.txt ustawiając jedną linię tekstową. Zmiana zaczyna obowiązywać po restarcie. Ale już częstotliwości pamięci RAM nie da się zmienić, temperaturę też można odczytać co najwyżej tylko procesora, zużycie energii jest nie do odczytania.

0

Szukałem cały dzień i znalazłem kilka informacji w WMI i na filmie tutaj . Szczerze jestem trochę zielony. A chciałbym zacząć od stworzenia prostego programu okienkowego w C++, C# muszę sobie przypomnieć. Jak już mówiłem, chciałbym stworzyć aplikację w rodzaju CPUID CPU-Z, screeny poniżej:
https://zapodaj.net/ec98ea4d541fd.png.html
https://zapodaj.net/05f6db18eb3d5.png.html
https://zapodaj.net/46dc01bbdb405.png.html

Link do dokumentacji http://msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx

Prędkość rdzenia, prędkość szyny zmieniają się w czasie, napięcie rdzenia podobnie, mnożnik.W zakładce zegarów, prędkość zegarów identycznie. To samo dotyczy zakładki pamięci - częstotliwość DRAM. Moim zamierzeniem jest stworzenie coś na wzór podobnej aplikacji jak ta, którą przedstawiłem powyżej. Odczytuje ona modele komponentów i dokonuje odpowiednich pomiarów.

Napisałem do Intela (Intel Polska) i otrzymałem info "Wspomnianymi elementami steruje warstwa system operacyjnego, w Windows np. MMC, w Linuxie dostępne są komendy sterujące warstwą sprzętową, przykładowo komenda "cpufreq-set -f 1700 Dodatkowo nasi specjaliści polecają literaturę fachową: "Linux Device Drivers, Third Edition", Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman, gdzie można dowiedzieć się więcej." Może rzeczywiście, zrobić to na Linuxsie ?

Jak na początek sam odczyt, na sam koniec mogę kombinować z podkręcaniem. A coraz bardziej wpadam na głupie pomysły których nie jestem pewien - zdekompilować.

Nie wiem czy idę dobrym tropem i jak to wszystko poskładać do kupy ? Zielony jestem akurat w tym temacie. Naprawdę prosiłbym o dalsze wskazówki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1