เมนบอร์ดคอมพิวเตอร์เดสก์ท็อปมี GPIO หรือไม่ หากพวกเขาทำวิธีการอ่านหรือเขียนจากพวกเขา


21

ฉันเห็นพินบางอย่างเช่นพิน GPIO ของไมโครคอนโทรลเลอร์บนมาเธอร์บอร์ดคอมพิวเตอร์เดสก์ท็อปสองสามครั้งฉันอยากรู้ก่อนอื่นพวกเขาเป็นจีพีโอจริงๆหรือไม่? ถ้าใช่มันเป็นไปได้ที่จะอ่านหรือเขียนจากพวกเขา?


2
พวกเขาเป็นอะไรแผ่นข้อมูลสำหรับเมนบอร์ดบอกว่าพวกเขาเป็น นอกเหนือจากนั้นคำถามนี้แค่ขอเก็งกำไร

1
@OlinLathrop ตกลงถ้าเป็นเช่นนั้นฉันจะสื่อสารกับพวกเขาได้อย่างไร? ระบบปฏิบัติการมี API ในตัวสำหรับจุดประสงค์นี้ หรือมี API สำหรับภาษาการเขียนโปรแกรม?

2
"พินเหมือนกับ GPIO ของพินไมโครคอนโทรลเลอร์" เป็นอย่างไรบ้าง "ชอบ" หมุดทั้งหมดมีลักษณะเหมือนกัน ..
Eugene Sh

ฉันไม่ได้พบกับพิน GPIO บนคอมพิวเตอร์เดสก์ท็อปสิ่งที่ดูเหมือนว่าส่วนใหญ่มักจะมีอุปกรณ์ต่อพ่วง (หัวต่อ USB, หัวต่อสัญญาณเสียง ฯลฯ ) หรืออินพุตสำหรับสวิตช์และเอาท์พุทสำหรับ LED หากนั่นเป็นคุณสมบัติทั่วไปอินเทอร์เน็ตจะไม่เกลื่อนไปด้วยคำแนะนำในการใช้ DTR ของพอร์ตอนุกรมเป็น GPIO หรือพอร์ตขนาน ฉันว่าคำถามนี้ไม่ได้อยู่ที่นี่

2
โดยทั่วไปแล้วซีพียู x86 จะไม่มีพิน GPIO โดยทุกพินจะถูกส่งไปยังอุปกรณ์ต่อพ่วงเฉพาะที่ไม่มี PIO มัลติเพล็กซิ่งที่ใช้ทั่วไปใน MCU อย่างไรก็ตาม GPIO เช่นฟังก์ชั่นมักจะเป็นส่วนหนึ่งของสถาปัตยกรรมและจัดการโดย (ต่อพ่วงหน่วยความจำโดยทั่วไป) บนเมนบอร์ดชิปเซ็ตมักจะมีบัสระดับต่ำ (SPI และ I2C สำหรับเซ็นเซอร์) เช่นเดียวกับ GPIO ที่มีอยู่ ขึ้นอยู่กับเมนบอร์ดและชิปเซ็ต / สถาปัตยกรรมที่ใช้
crasic

คำตอบ:


15

พีซีทั่วไปไม่มี GPIO เช่นนี้ในแง่ของ "พินที่ตั้งใจให้เป็นจุดประสงค์ทั่วไป" ตัวเชื่อมต่อบนเมนบอร์ด PC (ไม่ว่าจะเป็นส่วนหัวภายในหรือพอร์ตภายนอก) ได้รับการออกแบบมาสำหรับฟังก์ชั่นเฉพาะ อย่างไรก็ตามบางส่วนของพวกเขาสามารถ repurposed สำหรับปลายของคุณเอง

สิ่งที่ใกล้เคียงกับ GPIO ที่พีซีมีน่าจะเป็นพอร์ตเครื่องพิมพ์แบบขนานซึ่งมีสายข้อมูลจำนวนมากและสายจับมือ เส้นเหล่านี้คล้ายกับหมุด GPIO แม้ว่าคุณจะมีความยืดหยุ่นน้อยลงในแง่ของทิศทาง http://retired.beyondlogic.org/spp/parallel.htm

บรรทัด handshake บนพอร์ตอนุกรมสามารถใช้เป็น IO ทั่วไปได้แม้ว่าจะมีระดับแรงดันไฟฟ้าแปลก ๆ

พอร์ตขนานและพอร์ตอนุกรมนั้นพบได้น้อยกว่าที่เคยเป็นมา แต่ก็ยังค่อนข้างง่ายที่จะหามาเธอร์บอร์ดที่มีพวกเขาหากคุณซื้อสินค้ารอบ ๆ

คุณอาจจะสามารถปรับเปลี่ยนอินพุทและเอาท์พุทที่มีให้สำหรับเคส LED, ปุ่ม ฯลฯ แต่ฉันคิดว่ารายละเอียดจะมีความเฉพาะเจาะจงมากสำหรับระบบใดระบบหนึ่ง

พีซีใช้บัสแบบ I2C ที่เรียกว่า SMBUS สำหรับฟังก์ชันการจัดการที่หลากหลาย ฉันแน่ใจว่าฉันเคยเห็นรายงานของผู้คนที่วางอุปกรณ์ I2C ของตัวเองบนรถบัสนี้ผ่านสายบัดกรีไปก่อน แต่ฉันไม่สามารถหาลิงก์ได้ในตอนนี้

มี I2C บัสอื่นบนพอร์ตวิดีโอที่ใช้สำหรับระบุตัวตนของจอภาพ ไม่ว่าคุณจะสามารถเข้าถึงซอฟต์แวร์ได้หรือไม่นั้นขึ้นอยู่กับระบบปฏิบัติการและฮาร์ดแวร์วิดีโอที่คุณใช้http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and- / โครงการ

และแน่นอนมี USB ขณะนี้มีไมโครคอนโทรลเลอร์ราคาถูกพร้อมอินเตอร์เฟส USB ซึ่งคุณสามารถใช้เชื่อมต่อกับสิ่งนี้ได้


2

ฉันคิดว่าคำถามว่ามาเธอร์บอร์ดมี GPIO นั้นเฉพาะเจาะจงมากกับรุ่นหรือไม่ บางคนอาจบางคนทำไม่ได้

เช่นบนบอร์ดเดสก์ทอป Asus ของฉันมี Nuvoton NCT6775 สำหรับการควบคุมพัดลมและอุณหภูมิที่อ่านได้ สิ่งนี้สามารถเข้าถึงได้จาก BIOS (อรรถประโยชน์กำหนดเองของผู้ขาย) และยูทิลิตี้เดสก์ท็อป Windows ฉันต้องเรียกใช้ซอฟต์แวร์ของ Asus เพื่อให้การควบคุมพัดลมทำงานได้ซึ่งหมายความว่าซอฟต์แวร์ควบคุมพัดลม PWM นั้นทำโดยซอฟต์แวร์ ในการติดตั้ง Linux ฉันต้องตั้งค่าด้วยตนเองผ่านโมดูลเคอร์เนลและ pwmconfig นี้

หากคุณดูแผ่นข้อมูลของNuvoton NCT677xFคุณจะพบฮาร์ดแวร์ทั่วไปสำหรับการควบคุม PWM อุณหภูมิการอ่านและแรงดันและ GPIO ผ่าน SMBus การติดตั้งทั้งสองอย่างนี้ช่วยให้คุณเริ่มต้นได้อย่างมีประสิทธิภาพ ในทางทฤษฎีคุณสามารถใช้ชิปเซ็ตนี้สำหรับฟังก์ชั่น GPIO

อย่างไรก็ตามฉันจะไม่แตะต้องมัน คุณไม่ทราบว่ามีฮาร์ดแวร์ใดเชื่อมต่ออยู่เว้นแต่คุณต้องการดำน้ำในรูปแบบที่เฉพาะเจาะจงของมาเธอร์บอร์ดและทำวิศวกรรมย้อนกลับ (เช่นโครงร่างการจัดสรรพินเป็นต้น) ไม่แตกออกเป็นขั้วต่อ

สิ่งสำคัญที่สุดคือหากแอปพลิเคชันของคุณต้องใช้งานได้นานหลายปีรุ่นเมนบอร์ดก็ควรจะมีเช่นกัน ถ้าไม่เช่นนั้นการยึดติดกับฮาร์ดแวร์มาเธอร์บอร์ดโดยเฉพาะนั้นไม่ใช่ความคิดที่ดี


2

ฉันรู้ว่านี่เป็นหัวข้อที่เก่ากว่า แต่อย่างไรก็ตาม ...

มีรหัส BIOS ที่ตั้งโปรแกรมไว้ฉันสามารถพูดได้ว่าเมนบอร์ดทุกตัวมี GPIO และพวกเขามีอยู่ในพื้นที่ที่อยู่ของผู้ใช้และที่อยู่พอร์ตมักจะอยู่ใกล้กับพอร์ตขนาน ฉันได้สร้างไดรเวอร์ที่กำหนดเองสำหรับเมนบอร์ดที่กำหนดเองโดยใช้ไดรเวอร์พอร์ตขนานมาตรฐานสิ่งที่ฉันต้องทำคือแก้ไขหมายเลขที่อยู่ แต่ฉันรู้หมายเลขนั้นล่วงหน้า

คุณสามารถใช้มันได้หรือไม่ ดีขึ้นอยู่กับคนที่ตั้งโปรแกรม BIOS สถานะของ GPIO ทั้งหมดจะต้องตั้งค่าการคอมไพล์ล่วงหน้า GPIO ที่ไม่ได้ใช้ทั้งหมดสามารถตั้งค่าให้ปิดการใช้งานได้อย่างง่ายดาย

ถ้า GPIO ไม่ได้ใช้และไม่ได้ตั้งค่าสถานะเริ่มต้นของมันคืออะไร? มีโอกาสมากที่จะลอยได้ (ส่วนใหญ่เป็นไตรสถานะโชคดีมาก) ..

GPIO มี pullup / pulldown หรือไม่ ใครจะรู้ถ้า EE เพิ่มหนึ่ง ..

มีร่องรอยของ GPIO ที่ไม่ได้ใช้หรือไม่ ฉันสงสัยมัน แต่อะไรก็ได้ที่เป็นไปได้ ..

กล่าวโดยสรุปคือคุณต้องโชคดีที่มีการตั้งค่า GPIO ที่ไม่ได้ใช้ในลักษณะที่คุณสามารถใช้งานได้ เหมือน arduino (แต่ไม่มีค่าเริ่มต้นจริง) ให้คิดว่า "INPUT / OUTPUT / TRI" มันจะต้องมีร่องรอยการใช้งานบนเมนบอร์ดที่หวังว่าจะมีหมุดหรือแผ่นรองเพื่อบัดกรี จากนั้นถ้าคุณทราบตำแหน่งที่อยู่ของ GPIO คุณสามารถใช้ไดรเวอร์พื้นที่ผู้ใช้มาตรฐานได้อย่างง่ายดาย


0

พีซีโดยทั่วไปมีอินเทอร์เฟซ i2c และคุณสามารถค้นหาชิปแผ่ IO สำหรับ i2c เช่น TI TCA9535DBR

ดังนั้นทางอ้อมคุณสามารถทำสิ่งนี้ขึ้นอยู่กับความต้องการความเร็วของคุณ หากคุณใช้งานพีซีความต้องการด้านเวลาที่แน่นอนนั้นค่อนข้างยุ่งยาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.