Я видел пару выводов, таких как выводы GPIO микроконтроллера на материнских платах настольных компьютеров, я хотел знать, во-первых, действительно ли они являются GPIO? если да, можно ли читать или писать в них?
microcontroller
motherboard
Мохсен Салахсхур
источник
источник
Ответы:
Обычные ПК не имеют GPIO как такового в смысле «выводов, предназначенных для общего назначения». Разъемы на материнской плате ПК (будь то внутренние разъемы или внешние порты) были разработаны для определенных функций. Однако некоторые из них могут быть перенаправлены для ваших собственных целей.
Наиболее близкая вещь к GPIO, которую имеют ПК, - это, вероятно, параллельный порт принтера, который имеет несколько строк данных и линий рукопожатия. Эти линии чем-то похожи на выводы GPIO, хотя у вас меньше гибкости с точки зрения их направления. http://retired.beyondlogic.org/spp/parallel.htm
Линии квитирования на последовательных портах также могут использоваться в качестве общего ввода-вывода, хотя они имеют странные уровни напряжения.
Параллельные и последовательные порты встречаются реже, чем раньше, но все же довольно легко найти материнские платы, у которых они есть, если вы ходите по магазинам.
Вы также можете изменить расположение входов и выходов, предназначенных для светодиодов, кнопок и т. Д., Но я думаю, что детали будут очень специфичны для конкретной системы.
ПК используют шину на основе I2C под названием SMBUS для различных функций управления. Я уверен, что я уже видел сообщения о том, что люди подключали свои собственные устройства I2C к этой шине через пайку, но сейчас я не могу найти ссылки.
На видео портах есть еще одна шина I2C, используемая для идентификации монитора. Доступ к программному обеспечению зависит от того, какую операционную систему и видеооборудование вы используете. Http://www.instructables.com/id/Worlds-Cheapest-I2C-I-Squared-C-Adapter/step5/Software-and- Проекты /
И конечно же, есть USB. В настоящее время существуют дешевые микроконтроллеры с интерфейсами USB, которые можно использовать для подключения к этому.
источник
Я думаю, что вопрос, если материнские платы имеют GPIO, очень специфичен для модели и марки. Некоторые могут, некоторые нет.
Например, на моей системной плате Asus он содержит Nuvoton NCT6775 для управления вентилятором и считывания температуры. Это доступно из утилит BIOS и Windows. Мне нужно запустить программное обеспечение Asus, чтобы управление вентиляторами работало, а это значит, что управление вентиляторами ШИМ осуществляется программным обеспечением. При установке Linux мне нужно настроить его вручную через этот модуль ядра и pwmconfig.
Если вы посмотрите таблицу данных Nuvoton NCT677xF, вы найдете стандартное оборудование для управления ШИМ, считывания температуры и напряжения, а также GPIO через SMBus. Оснащенный обоими дает вам достойное начало, чтобы заставить его работать. Теоретически вы можете использовать этот чипсет для функций GPIO.
Однако я бы не трогал это. Вы не знаете, какое оборудование подключено к нему, если не хотите погрузиться в очень специфическую модель материнской платы и перепроектировать ее (например, расположение, расположение выводов и т. Д.). На разъем тоже не пробивается.
Самое главное, если ваше приложение должно работать в течение нескольких лет, модель материнской платы также должна. Если нет, то привязка к очень специфическому оборудованию материнской платы не очень хорошая идея.
источник
Я знаю, что это старая тема, но в любом случае ...
Запрограммировав код BIOS, я могу сказать, что у каждой материнской платы есть GPIO, и они полностью доступны в адресном пространстве пользователя, а адрес порта обычно очень близок к параллельному порту. Я сделал пользовательские драйверы для пользовательских материнских плат, используя стандартные драйверы параллельного порта, все, что мне нужно было сделать, это изменить номер адреса, но я знал этот номер заранее.
Вы можете их использовать? Ну, это зависит от человека, который запрограммировал BIOS. Состояние всех GPIO должно быть установлено до компиляции, все неиспользуемые GPIO могут быть легко отключены.
Если GPIO не используется и не установлен, каково его состояние по умолчанию? Вполне вероятно, что просто плавающие (большинство из них с тремя состояниями, так что удачи) ..
У GPIO есть подтягивание / опускание? Кто знает, добавил ли EE один ..
Есть ли следы для неиспользованного GPIO? Я сомневаюсь в этом, но эй все возможно ..
Короче говоря, вам повезло, что неиспользованный GPIO был установлен таким образом, что вы можете использовать его; очень похоже на arduino (но без реальных значений по умолчанию), подумайте «INPUT / OUTPUT / TRI». На материнской плате должен быть полезный след, который, как мы надеемся, имеет булавку или пэд для пайки. Тогда, если вы знаете расположение адреса GPIO, вы можете легко использовать стандартный драйвер пространства пользователя.
источник
ПК обычно имеют интерфейсы i2c, и вы можете найти микросхемы расширения ввода-вывода для i2c, такие как TI TCA9535DBR.
Таким образом, косвенно вы можете сделать это в зависимости от ваших требований к скорости. Если вы работаете на ПК, то точные временные требования все равно хитры.
источник