Các bo mạch chủ máy tính để bàn có GPIO? Nếu họ làm, làm thế nào để đọc hoặc viết cho họ


21

Tôi đã thấy một số chân như chân GPIO của vi điều khiển trên bo mạch chủ máy tính để bàn một vài lần, tôi muốn biết, đầu tiên, chúng có thực sự là GPIO không? nếu có, có thể đọc hoặc viết cho họ không?


2
Chúng là bất cứ thứ gì mà bảng dữ liệu cho bo mạch chủ nói. Ngoài ra, câu hỏi này chỉ là yêu cầu đầu cơ.

1
@OlinLathrop ổn nếu họ, làm thế nào tôi có thể giao tiếp với họ? hệ điều hành có API tích hợp cho mục đích này không? hoặc có bất kỳ API cho ngôn ngữ lập trình?

2
"Các chân như chân GPIO của vi điều khiển" Chúng "như thế nào"? Tất cả các chân trông giống nhau ..
Eugene Sh.

Tôi không bắt gặp các chân GPIO trên máy tính để bàn, mọi thứ trông giống như hầu hết các phần mở rộng ngoại vi (tiêu đề USB, tiêu đề âm thanh, v.v.) hoặc đầu vào cho các công tắc và đầu ra cho đèn LED. Nếu đó là một tính năng phổ biến, internet sẽ không bị vấy bẩn bởi lời khuyên về cách sử dụng DTR của cổng nối tiếp làm GPIO hoặc cổng song song. Tôi muốn nói câu hỏi này không thuộc về nơi này.

2
Nhìn chung, CPU x86 sẽ không có chân GPIO, với mỗi chân được hướng đến một thiết bị ngoại vi cụ thể mà không cần ghép kênh PIO thường thấy trên MCU. TUY NHIÊN, chức năng như GPIO thường là một phần của kiến ​​trúc và được xử lý bởi (thường được ánh xạ bộ nhớ) trên bo mạch chủ, chipset thường sẽ có một số bus cấp thấp (SPI và I2C cho cảm biến) cũng như bản chất chính xác của GPIO phụ thuộc vào bo mạch chủ và chipset / kiến ​​trúc được sử dụng.
crasic

Câu trả lời:


15

Các PC thông thường không có GPIO theo nghĩa "chân dự định là mục đích chung". Các đầu nối trên bo mạch chủ PC (cho dù các tiêu đề bên trong hoặc cổng bên ngoài) đều được thiết kế cho các chức năng cụ thể. Tuy nhiên, một số trong số chúng có thể được tái sử dụng cho mục đích của riêng bạn.

Thứ gần nhất với GPIO mà PC có có lẽ là cổng máy in song song có một số dòng dữ liệu và dòng bắt tay. Các đường này hơi giống các chân GPIO, mặc dù bạn có độ linh hoạt kém hơn về hướng của chúng. http://retired.beyondlogic.org/spp/abul.htm

Các đường bắt tay trên các cổng nối tiếp cũng có thể được sử dụng làm IO chung, mặc dù chúng có các mức điện áp kỳ lạ.

Các cổng song song và nối tiếp ít phổ biến hơn trước đây, nhưng vẫn dễ dàng tìm thấy bo mạch chủ có chúng nếu bạn mua sắm xung quanh.

Bạn cũng có thể tái sử dụng đầu vào và đầu ra dành cho đèn LED trường hợp, nút, v.v., nhưng tôi sẽ tưởng tượng các chi tiết sẽ rất cụ thể cho một hệ thống cụ thể.

PC sử dụng bus dựa trên I2C có tên SMBUS cho các chức năng quản lý khác nhau. Tôi chắc chắn tôi đã thấy báo cáo về việc mọi người đặt các thiết bị I2C của riêng họ trên xe buýt này thông qua dây hàn cho nó trước đây, nhưng tôi không thể tìm thấy liên kết ngay bây giờ.

Có một bus I2C khác trên các cổng video được sử dụng để nhận dạng màn hình. Việc bạn có thể truy cập phần mềm vào phần mềm hay không tùy thuộc vào hệ điều hành và phần cứng video nào bạn đang sử dụng http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Ad CHƯƠNG / step5 / Software- and- Dự án /

Và tất nhiên, có USB. Hiện nay có các bộ vi điều khiển giá rẻ với giao diện USB mà bạn có thể sử dụng để kết nối với bộ điều khiển này.


2

Tôi nghĩ rằng câu hỏi nếu bo mạch chủ có GPIO là rất cụ thể cho mô hình và thực hiện. Một số có thể, một số thì không.

Ví dụ, trên bo mạch máy tính để bàn Asus của tôi, nó chứa Nuvoton NCT6775 để điều khiển quạt và đọc nhiệt độ. Điều này có thể truy cập được từ các tiện ích máy tính để bàn BIOS và Windows (nhà cung cấp tùy chỉnh). Tôi cần chạy phần mềm của Asus để điều khiển quạt hoạt động, điều đó có nghĩa là điều khiển quạt PWM được thực hiện bằng phần mềm. Khi cài đặt Linux, tôi cần thiết lập thủ công thông qua mô-đun hạt nhân này và pwmconfig.

Nếu bạn nhìn vào bảng dữ liệu Nuvoton NCT677xF, bạn sẽ tìm thấy phần cứng chung để điều khiển PWM, đọc nhiệt độ và điện áp và cả GPIO qua SMBus. Được trang bị cả hai cung cấp cho bạn một khởi đầu tốt để làm cho nó hoạt động. Về lý thuyết, bạn có thể sử dụng chipset này cho các chức năng GPIO.

Tuy nhiên tôi sẽ không chạm vào nó. Bạn không biết phần cứng nào được kết nối với nó, trừ khi bạn muốn đi sâu vào một mô hình bo mạch chủ rất cụ thể và thiết kế ngược lại (ví dụ: bố trí, phân bổ pin, v.v.). Nó cũng không bị phá vỡ để kết nối.

Quan trọng nhất, nếu ứng dụng của bạn cần tồn tại trong vài năm, mô hình bo mạch chủ cũng vậy. Nếu không, buộc vào phần cứng bo mạch chủ rất cụ thể không phải là một ý tưởng tốt.


2

Tôi biết đây là một chủ đề cũ hơn, nhưng dù sao thì ...

Đã lập trình mã BIOS, tôi có thể nói rằng mọi bo mạch chủ đều có GPIO và chúng hoàn toàn có sẵn trong không gian địa chỉ người dùng và địa chỉ cổng thường rất gần với cổng song song. Tôi đã tạo trình điều khiển tùy chỉnh cho bo mạch chủ tùy chỉnh bằng trình điều khiển cổng song song tiêu chuẩn, tất cả những gì tôi phải làm là sửa đổi số địa chỉ, nhưng tôi biết trước số đó.

Bạn có thể sử dụng chúng? Vâng, điều đó phụ thuộc vào người đã lập trình BIOS. Trạng thái của tất cả các GPIO phải được đặt trước khi biên dịch, tất cả các GPIO không được sử dụng có thể dễ dàng được đặt thành bị vô hiệu hóa.

Nếu GPIO không được sử dụng và không được đặt, trạng thái mặc định của nó là gì? Khá có khả năng chỉ nổi (hầu hết là ba trạng thái rất may mắn) ..

GPIO có pullup / pulldown không? Ai biết nếu EE thêm một ..

Có dấu vết cho bất kỳ GPIO nào không được sử dụng không? Tôi nghi ngờ điều đó, nhưng hey mọi thứ đều có thể ..

Nói tóm lại, bạn phải may mắn rằng GPIO chưa sử dụng đã được đặt theo cách mà bạn có thể sử dụng nó; giống như arduino (nhưng không có mặc định thực sự), hãy nghĩ "INPUT / OUTPUT / TRI". Nó phải có một dấu vết có thể sử dụng trên bo mạch chủ hy vọng có một pin hoặc miếng đệm để hàn. Sau đó, nếu bạn biết vị trí địa chỉ của GPIO, bạn có thể sử dụng trình điều khiển không gian người dùng tiêu chuẩn một cách dễ dàng.


0

PC thường có giao diện i2c và bạn có thể tìm thấy chip mở rộng IO cho i2c như TI TCA9535DBR.

Vì vậy, gián tiếp bạn có thể làm điều này tùy thuộc vào yêu cầu tốc độ của bạn. Nếu bạn đang ở trên PC thì yêu cầu về thời gian chính xác là rất khó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.