Kilka razy widziałem piny, takie jak piny GPIO mikrokontrolera na płytach głównych komputerów stacjonarnych. Chciałem najpierw wiedzieć, czy to naprawdę GPIO? jeśli tak, czy można z nich czytać lub pisać?
microcontroller
motherboard
Mohsen Salahshoor
źródło
źródło
Odpowiedzi:
Normalne komputery PC nie mają jako takiego GPIO w znaczeniu „pinów przeznaczonych do ogólnego zastosowania”. Złącza na płycie głównej komputera PC (zarówno wewnętrzne, jak i zewnętrzne porty) zostały zaprojektowane do określonych funkcji. Jednak niektóre z nich można zmienić na własne potrzeby.
Komputery PC najbliższe GPIO mają prawdopodobnie równoległy port drukarki, który ma wiele linii danych i linii uzgadniania. Te linie są trochę jak piny GPIO, chociaż masz mniejszą elastyczność pod względem ich kierunków. http://retired.beyondlogic.org/spp/parallel.htm
Linie uzgadniania na portach szeregowych mogą być również używane jako ogólne IO, chociaż mają dziwne poziomy napięcia.
Porty równoległe i szeregowe są mniej popularne niż kiedyś, ale nadal łatwo jest znaleźć płyty główne, które je mają, jeśli robisz zakupy.
Możesz również być w stanie zmienić przeznaczenie wejść i wyjść przeznaczonych dla diod LED, przycisków itp., Ale wyobrażam sobie, że szczegóły będą bardzo specyficzne dla konkretnego systemu.
Komputery PC używają magistrali I2C o nazwie SMBUS do różnych funkcji zarządzania. Jestem pewien, że widziałem wcześniej doniesienia o ludziach umieszczających własne urządzenia I2C na tej magistrali za pomocą przewodów lutowniczych, ale nie mogę teraz znaleźć linków.
Na portach wideo używanych do identyfikacji monitora znajduje się kolejna magistrala I2C. To, czy możesz uzyskać dostęp do oprogramowania, zależy od używanego systemu operacyjnego i sprzętu wideo http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and- Projektowanie/
I oczywiście jest USB. Istnieją teraz tanie mikrokontrolery z interfejsami USB, których można użyć do podłączenia do tego.
źródło
Myślę, że pytanie, czy płyty główne mają GPIO, jest bardzo specyficzne dla modelu i marki. Niektórzy mogą, inni nie.
Np. Na mojej płycie Asus zawiera pulpit Nuvoton NCT6775 do kontroli wentylatora i odczytu temperatury. Jest to dostępne z (niestandardowych dostawców) systemu BIOS i narzędzi pulpitu systemu Windows. Muszę uruchomić oprogramowanie Asusa, aby sterowanie wentylatorem działało, co oznacza, że sterowanie wentylatorem PWM odbywa się za pomocą oprogramowania. W przypadku instalacji Linuksa muszę skonfigurować go ręcznie za pomocą tego modułu jądra i programu pwmconfig.
Jeśli spojrzysz na arkusz danych Nuvoton NCT677xF , znajdziesz ogólny sprzęt do sterowania PWM, odczytem temperatury i napięć, a także GPIO przez SMBus. Wyposażony w oba elementy zapewnia dobry start, dzięki czemu działa. Teoretycznie możesz użyć tego chipsetu do funkcji GPIO.
Jednak tego nie dotknę. Nie wiesz, do jakiego sprzętu jest podłączony, chyba że chcesz zanurzyć się w bardzo konkretny model płyty głównej i poddać ją inżynierii wstecznej (np. Układ, przypisanie pinów itp.). Nie jest również rozbity na złącze.
Co najważniejsze, jeśli aplikacja musi trwać kilka lat, model płyty głównej również powinien. Jeśli nie, powiązanie z bardzo specyficznym sprzętem płyty głównej nie jest dobrym pomysłem.
źródło
Wiem, że to starszy temat, ale w każdym razie ...
Po zaprogramowaniu kodu BIOS mogę powiedzieć, że każda płyta główna ma GPIO i są one całkowicie dostępne w przestrzeni adresowej użytkownika, a adres portu jest zwykle bardzo zbliżony do portu równoległego. Stworzyłem niestandardowe sterowniki dla niestandardowych płyt głównych za pomocą standardowych sterowników portu równoległego, wystarczyło zmodyfikować numer adresu, ale znałem go wcześniej.
Czy możesz ich użyć? To zależy od osoby, która zaprogramowała BIOS. Stan wszystkich GPIO musi być ustawiony przed kompilacją, wszystkie nieużywane GPIO mogą być łatwo ustawione na wyłączenie.
Jeśli GPIO jest nieużywane i nieuzbrojone, jaki jest jego stan domyślny? Całkiem prawdopodobne, że po prostu się unosi (większość to trójstan, więc powodzenia) ..
Czy GPIO ma pullup / pulldown? Kto wie, czy EE dodał jeden…
Czy są jakieś ślady nieużywanych GPIO? Wątpię, ale hej wszystko jest możliwe ..
Krótko mówiąc, musisz mieć szczęście, że nieużywane GPIO zostało ustawione w taki sposób, że możesz z niego korzystać; podobnie jak arduino (ale bez prawdziwych ustawień domyślnych), pomyśl „WEJŚCIE / WYJŚCIE / TRI”. Musi mieć ślad użyteczny na płycie głównej, który, mam nadzieję, ma szpilkę lub podkładkę do lutowania. Jeśli znasz lokalizację adresu GPIO, możesz łatwo użyć standardowego sterownika przestrzeni użytkownika.
źródło
Komputery na ogół mają interfejsy i2c i można znaleźć układy ekspanderów IO dla i2c, takie jak TI TCA9535DBR.
Tak więc pośrednio możesz to zrobić w zależności od wymagań prędkości. Jeśli korzystasz z komputera, dokładne wymagania dotyczące czasu są trudne.
źródło