Masaüstü bilgisayar anakartlarında GPIO var mı? Eğer yaparlarsa, onlardan nasıl okunur veya yazılır


21

Birkaç kez masaüstü bilgisayar anakartlarında mikrodenetleyici GPIO pinleri gibi bazı pinler gördüm, ilk önce gerçekten GPIO'lar mı? evet ise, onlardan okumak ya da onlara yazmak mümkün müdür?


2
Anakart için veri sayfası ne derse desin onlar. Bunun dışında bu soru sadece spekülasyon istiyor.

1
@OlinLathrop tamamsa, onlarla nasıl iletişim kurabilirim? işletim sistemleri bu amaç için yerleşik bir API'ye sahip mi? veya programlama dilleri için herhangi bir API var mı?

2
"mikrodenetleyicinin GPIO pinleri gibi pimler" Nasıl "gibidirler? Tüm pimler aynı görünüyor ..
Eugene Sh.

Bir masaüstü bilgisayarda GPIO pinlerine rastlamadım, bunlar gibi görünen şeyler çoğu zaman bazı çevresel uzantılar (USB başlığı, Ses başlığı vb.) Veya LED'ler için anahtarlar ve çıkışlar için girişlerdi. Bu ortak bir özellik olsaydı, seri bağlantı noktasının DTR'sinin GPIO veya paralel bağlantı noktası olarak nasıl kullanılacağına dair tavsiye verilmezdi. Bu sorunun buraya ait olmadığını söyleyebilirim.

2
x86 işlemcilerin genel olarak GPIO pinleri olmayacaktır, her pin MCU'larda yaygın olan PIO çoğullama olmadan belirli bir kalıp üzerinde çevre birimine yönlendirilir. Bununla birlikte, GPIO benzeri işlevsellik genellikle mimarinin bir parçasıdır ve anakart üzerindeki (genellikle bellek eşlemeli) çevre birimi tarafından işlenir, yonga setinde genellikle GPIO'lar ve sensörler için bazı düşük seviye otobüsler (sensörler için SPI ve I2C) bulunur. kullanılan anakart ve yonga seti / mimariye bağlıdır.
crasic

Yanıtlar:


15

Normal PC'lerde "genel amaçlı olması amaçlanan pinler" anlamında GPIO yoktur. Bir PC anakartındaki konektörlerin (ister iç başlıklar ister harici bağlantı noktaları olsun) hepsi belirli işlevler için tasarlanmıştır. Bununla birlikte, bazıları kendi amaçlarınız için yeniden kullanılabilir.

Bilgisayarların sahip olduğu GPIO'ya en yakın şey, muhtemelen bir dizi veri hattı ve el sıkışma çizgisine sahip paralel yazıcı bağlantı noktasıdır. Bu çizgiler GPIO pinlerine benzer, ancak yönleri açısından daha az esnekliğe sahip olursunuz. http://retired.beyondlogic.org/spp/parallel.htm

Seri portlardaki el sıkışma hatları, garip voltaj seviyelerine sahip olmalarına rağmen, genel IO olarak da kullanılabilir.

Paralel ve seri portlar eskisinden daha az yaygındır, ancak etrafta alışveriş yaparsanız sahip oldukları anakartları bulmak oldukça kolaydır.

Ayrıca kasa LED'leri, düğmeler vb. İçin tasarlanmış giriş ve çıkışları yeniden kullanabilirsiniz, ancak ayrıntıların belirli bir sisteme çok spesifik olacağını hayal ediyorum.

PC'ler, çeşitli yönetim işlevleri için SMBUS adı verilen I2C tabanlı bir veri yolu kullanır. Eminim daha önce lehimleme telleri aracılığıyla kendi I2C cihazlarını bu otobüse koyan insanların raporlarını gördüm, ancak şu anda bağlantılar bulamıyorum.

Monitör tanımlaması için kullanılan video bağlantı noktalarında başka bir I2C veri yolu var. Yazılım erişimi elde edip edemeyeceğiniz, kullandığınız işletim sistemi ve video donanımına bağlıdır http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and- Projeler /

Ve elbette, USB var. Şimdi buna bağlanmak için kullanabileceğiniz ucuz USB arayüzlü mikrodenetleyiciler var.


2

Anakartlarda GPIO olup olmadığı sorusunun modele ve markaya çok özel olduğunu düşünüyorum. Bazıları olabilir, bazıları değil.

Örneğin, Asus masaüstü anakartımda fan kontrolü ve sıcaklık okuması için bir Nuvoton NCT6775 içerir. Buna (satıcıların özel) BIOS ve Windows masaüstü yardımcı programlarından erişilebilir. Fan kontrolünün çalışması için Asus'un yazılımını çalıştırmam gerekiyor, bu da PWM fan kontrolünün yazılım tarafından yapıldığı anlamına geliyor. Linux kurulumunda bu çekirdek modülü ve pwmconfig aracılığıyla manuel olarak ayarlamam gerekiyor .

Nuvoton NCT677xF veri sayfasına bakarsanız, PWM, sıcaklık ve voltajları okumak için genel donanım ve SMBus aracılığıyla GPIO'yu bulacaksınız. Her ikisiyle de donatılmış olması, çalışmasını sağlamak için iyi bir başlangıç ​​sağlar. Teorik olarak, bu yonga setini GPIO işlevleri için kullanabilirsiniz.

Ancak dokunmazdım. Çok özel bir anakart modeline dalmak ve ters mühendislik yapmak istemiyorsanız (örneğin düzen, pin tahsisi vb.), Hangi donanımın bağlı olduğunu bilmiyorsunuz. Bir konektöre de dağılmamıştır.

En önemlisi, uygulamanızın birkaç yıl sürmesi gerekiyorsa, anakart modeli de olmalıdır. Değilse, çok özel anakart donanımına bağlanmak iyi bir fikir değildir.


2

Bunun daha eski bir konu olduğunu biliyorum, ama her neyse ...

BIOS kodunu programladıktan sonra, her anakartın GPIO'ları olduğunu ve bunların kullanıcı adres alanında tamamen mevcut olduğunu ve bağlantı noktası adresinin genellikle paralel bağlantı noktasına çok yakın olduğunu söyleyebilirim. Standart paralel port sürücüleri kullanan özel anakartlar için özel sürücüler yaptım, tek yapmam gereken adres numarasını değiştirmekti, ancak bu numarayı önceden biliyordum.

Onları kullanabilir misin? Bu, BIOS'u programlayan kişiye bağlıdır. Tüm GPIO'ların durumu önceden derlenmelidir, kullanılmayan tüm GPIO'lar kolayca devre dışı bırakılmak üzere ayarlanabilir.

GPIO kullanılmamış ve ayarlanmamışsa, varsayılan durumu nedir? Büyük olasılıkla sadece yüzer (çoğu tri-state çok iyi şanslar) ..

GPIO'da bir çekme / açılan menü var mı? Enerji Verimliliği ekleyip eklemediğini kim bilebilir ..

Kullanılmayan GPIO'ların izleri var mı? Bundan şüphe ediyorum, ama her şey mümkün ..

Kısacası, kullanılmayan bir GPIO'nun kullanabileceğiniz şekilde ayarlandığı için şanslı olmalısınız; arduino gibi (ama gerçek varsayılanlar olmadan), "INPUT / OUTPUT / TRI" deyin. Anakart üzerinde lehim için bir pim veya ped bulunan kullanışlı bir iz olması gerekir. Daha sonra GPIO'nun adres konumunu biliyorsanız, standart bir kullanıcı alanı sürücüsünü kolayca kullanabilirsiniz.


0

Bilgisayarlarda genellikle i2c arabirimleri bulunur ve i2c için TI TCA9535DBR gibi IO genişletme yongaları bulabilirsiniz.

Dolaylı olarak, hız gereksinimlerinize bağlı olarak bunu yapabilirsiniz. Bir PC'deyseniz, kesin zamanlama gereksinimleri yine de zor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.