Извиняюсь, что немного не про роботов, но пока больше не знаю где спросить. Есть очень простая задача - непрерывный опрос дискретных датчиков и ввод полученной информации в PC. Хотелось бы решить с минимумом железа и головной боли. Поискав в интернете, нашел почти подходящую микросхему, но некоторые детали портят картину. Помогите найти более подходящий аналог. Микросхема:
WoodmanUSB. Её
PORTB в синхронном режиме с внутренней синхронизацией и съемом данных по этой же синхронизации (
http://www.pcports.ru/articles/usb21.php) работает практически так, как мне хотелось бы, но есть такие моменты:
1. У этой штуки всего 8 линий (у порта B). Уложиться можно, но хотелось бы хотя бы 16. Есть ещё PortA, но это не то.
2. Совершенно не нужны ни 30, ни 48 мегагерц частоты опроса. Пары сотен герц хватило бы с головой, но эти герцы железка должна отсчитывать самостоятельно (а не опрашиваться с этой частотой с ПК). Понятно, что синхронизирующий генератор можно внешний прицепить, но это - дополнительные цацки.
3. Пока не обязательно, но в будущем, вероятно, пригодились бы 1-2 встроенных АЦП на 8-10 бит.
Вопрос главный: есть ли что-либо подобное в природе, и как оно называется?
Микроконтроллеры под эти условия вроде бы есть, но это уже сложнее - его надо программировать, и, наверное, ещё USB сверху цеплять, внешний тактовый генератор, опять же.
Ну и, чтоб два раза не вставать, поясните мне тупому пару непонятных моментов:
Цитата:
"Например, буфер модуля пуст. Начинаем заполнять его данными с частотой тактового сигнала. Дошли до 512 байт. В этот момент пакет из этих 512 байт уходит на PC (512 байт - размер контрольной точки для модуля WoodmanUSB). Продолжаем записывать в модуль данные. Заполнили еще 512 байт. Этот пакет тоже ушел на PC. Теперь на компьютере у нас есть 1024 байт. Мы можем говорить о том что врмеменное расстояние между байтами в этом пакете равно переоду тактвого сигнала, кроме стыка двух 512 байтных пакетов (время Ttr), т.к. в течение этого временного промежутка происходила транспортировка предыдущего пакета на PC и заполнение буфера модуля следующими 512 байтами."
То есть оно, пока обменивается данными с ПК через USB, входы опрашивать прекращает? Почему? Буфер у него 1024 байта, после заполнения 512 байт данные передаются в ПК (если, конечно, их кто-то там ждет), и ещё 512 байт в этот момент могут оставаться незаполненными, так почему опрос останавливается, и что с тактовым генератором - тоже останавливается что-ли?
И ещё: объясните на пальцах, зачем в схеме на
http://www.pcports.ru/articles/usb22.php нужен операционный усилитель с подстроечниками, и почему исследуемый сигнал не подать прямо на вход АЦП (напряжения у них соответствуют, вроде)?
PS - не железячник я ни разу - программист и админ. Вот, пришлось заниматься и этим.