реклама на сайте
подробности

 
 
> ПК и GPIO-интерфейс
Andrey Pesoshin
сообщение Oct 18 2012, 13:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



Доброго времени суток!

Возможно ли использовать стандартный персональный компьютер в качестве GPIO-контроллера? Хочу подключить к нему всего 4 линии, на 2 из них подать высокий логический уровень, и 2 другие в программе опрашивать на наличие сигнала.

Нужен ли в данном случае нестандартный контроллер (покупной, разрабатываемый) или он уже есть в составе ПК (если да, как к нему подключиться)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Oct 18 2012, 13:41
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Andrey Pesoshin @ Oct 18 2012, 16:16) *
Возможно ли использовать стандартный персональный компьютер в качестве GPIO-контроллера? Хочу подключить к нему всего 4 линии, на 2 из них подать высокий логический уровень, и 2 другие в программе опрашивать на наличие сигнала.
Нужен ли в данном случае нестандартный контроллер (покупной, разрабатываемый) или он уже есть в составе ПК (если да, как к нему подключиться)?

Все зависит от скорости. У обычного LPT-порта есть целых пять (если не ошибаюсь) линий, способных работать на ввод. Пример такого решения - всем известный AvReal. А вот статья, одна из нескольких, как минимум:
http://www.pcports.ru/articles/2.php
Еще способ, сравнительно простой - использовать обычную PCI-ную сетевую карточку. У таких карточек есть загрузочное ПЗУ или хотя бы панелька для него, вот к ней и можно подключиться:
http://fpga-faq.narod.ru/
Ну и, наконец, можно сделать простейший адаптер на МК, подключаемый к COM - порту. И к этому адаптеру подключить ваши линии (это, если скорости небольшие, наиболее предпочтительный вариант) ...
Go to the top of the page
 
+Quote Post
Andrey Pesoshin
сообщение Oct 18 2012, 17:41
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 5-07-10
Пользователь №: 58 297



Цитата(kovigor @ Oct 18 2012, 17:41) *
Все зависит от скорости. У обычного LPT-порта есть целых пять (если не ошибаюсь) линий, способных работать на ввод. Пример такого решения - всем известный AvReal. А вот статья, одна из нескольких, как минимум:
http://www.pcports.ru/articles/2.php
Еще способ, сравнительно простой - использовать обычную PCI-ную сетевую карточку. У таких карточек есть загрузочное ПЗУ или хотя бы панелька для него, вот к ней и можно подключиться:
http://fpga-faq.narod.ru/
Ну и, наконец, можно сделать простейший адаптер на МК, подключаемый к COM - порту. И к этому адаптеру подключить ваши линии (это, если скорости небольшие, наиболее предпочтительный вариант) ...

спасибо за ответ! Видимо, действительно, штатной возможности у ПК нет (на electronics.stackexchange.com ответили то же самое). Наверно остановлюсь на МК или покупном чем-нибудь вроде http://www.mccdaq.com/pci-data-acquisition...O24-Series.aspx
Go to the top of the page
 
+Quote Post
_pv
сообщение Oct 18 2012, 18:10
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Andrey Pesoshin @ Oct 18 2012, 23:41) *
спасибо за ответ! Видимо, действительно, штатной возможности у ПК нет

такая штатная возможность есть у последовательных портов. или переходников USB -> serial, если на плате нет.
там помимо RX,TX есть на выход две линии RTS и DTR, правда с уровнями +-12В. и 4 линии на вход CTS, DSR, DCD и RI, которые обычно от 3-5 вольтовых TTL лог уровней тоже срабатывают. порог на уровне около +1.4В
EIA-232 Input Threshold Low 1.2 V
EIA-232 Input Threshold High 1.6 V

скорости-то какие нужны?

Go to the top of the page
 
+Quote Post
kovigor
сообщение Oct 18 2012, 20:51
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(_pv @ Oct 18 2012, 21:10) *
такая штатная возможность есть у последовательных портов. или переходников USB -> serial, если на плате нет.

C USB надежность никудышняя выйдет. Хотя, смотря, для чего это надо. Можно (и лучше) такое сделать с настоящим COM - портом, только вот нужно ли ? Не проще ли будет сделать простейший адаптер на МК с RS232C и подключить его к COM-порту не через левое колено, а как полагается ?
Go to the top of the page
 
+Quote Post
_pv
сообщение Oct 18 2012, 22:06
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(kovigor @ Oct 19 2012, 03:51) *
C USB надежность никудышняя выйдет. Хотя, смотря, для чего это надо. Можно (и лучше) такое сделать с настоящим COM - портом, только вот нужно ли ? Не проще ли будет сделать простейший адаптер на МК с RS232C и подключить его к COM-порту не через левое колено, а как полагается ?

насчёт надёжности, не знаю, особых проблем при использовании переходниками USB->COM вроде не возникало, единственное что было это кривые драйвера для XP64, когда незакрытый порт периодически вызывал синий экран при закрытии программы. да еще нежелание работать вместе нескольких одинаковых тексасовских демо плат, где usb->com тексасовские же, не могли нормально номера портов поделить между собой, и то только на ноутбуке, то есть работало оно почему-то при включении в определённой последовательности и только в определённые порты, причина опять же в кривых драйверах.
ну и еще со скоростью переключения контрольно-статусных io порта через usb переходник тоже беда.

но если нужна только пара IO без каких-либо жестких требований по времени, то зачем плодить лишние сущности в виде МК.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Oct 19 2012, 07:34
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(_pv @ Oct 19 2012, 01:06) *
но если нужна только пара IO без каких-либо жестких требований по времени, то зачем плодить лишние сущности в виде МК.

Уж лучше в виде MK, подключаемого к настоящему COM - порту, чем в виде USB-переходника ...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 12:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016