gormih 0 16 октября, 2006 Опубликовано 16 октября, 2006 (изменено) · Жалоба Если уточните задачу, возможно решение найдется... Не уверен, что компу обязательно нужны все выборки... Уверяю, что обработать инфу внутри платы будет гораздо легче, нежели попробывать передать ее на описанной вам скорости в комп. Вещь довольно высокоскоростная... USB 2.0 в принципе под завязку хватило бы, но пока микросхем работающих на usb 2.0 full speed я не встречал. Изменено 16 октября, 2006 пользователем Михаил Горюнов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
muravei 3 16 октября, 2006 Опубликовано 16 октября, 2006 · Жалоба но пока микросхем работающих на usb 2.0 full speed я не встречал. А CY7C68013 , например? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 16 октября, 2006 Опубликовано 16 октября, 2006 · Жалоба Можно на рассыпухе собрать платку, которая по команде из LPT будет забивать статическое ОЗУ данными, а потом через этот же LPT их оттуда читать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gormih 0 16 октября, 2006 Опубликовано 16 октября, 2006 · Жалоба но пока микросхем работающих на usb 2.0 full speed я не встречал. А CY7C68013 , например? А Вы пробовали ее купить в России? :-) Можно на рассыпухе собрать платку, которая по команде из LPT будет забивать статическое ОЗУ данными, а потом через этот же LPT их оттуда читать. Насколько я понял, задача стоит не таким образом... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
upc2 0 17 октября, 2006 Опубликовано 17 октября, 2006 · Жалоба Подобная задача решалась лет 10 в DOSе на четверке.Использовались сигналы прерывания.Есть прерывание лог1, нет лог0.Естественно комп. только этой задачей и занимался.В Windows все сложнее.Если писать драйвер для обработки только прерывания , то время на обработку одного прерывания составляет около 15 мксек. Как,правильно,советовали многие, необходим внешний контроллер с памятью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gormih 0 17 октября, 2006 Опубликовано 17 октября, 2006 · Жалоба Если писать драйвер для обработки только прерывания , то время на обработку одного прерывания составляет около 15 мксек. Это еще хорошо сказано - 15 мкс :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GeorgeV 0 17 октября, 2006 Опубликовано 17 октября, 2006 · Жалоба Хочется. чтобы этими всеми задачами занимался сам комп, неважно в досе или винде. Если контроллер может обработать, то почему допустим Celeron 433 не сможет это обработать, а сейчас такие компы сваливают по дешевке за смешные цены. Один такой комп у меня уже видеоохраной занимается. Вариант с PCI пока в данной постановке задачи кажется наиболее предпочтительным, скорость там достаточно высокая. Т.е. в идеале минимум внешних элементов (только элементы буферизации). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gormih 0 17 октября, 2006 Опубликовано 17 октября, 2006 · Жалоба Хочется. чтобы этими всеми задачами занимался сам комп, неважно в досе или винде. Если контроллер может обработать, то почему допустим Celeron 433 не сможет это обработать, а сейчас такие компы сваливают по дешевке за смешные цены. Один такой комп у меня уже видеоохраной занимается. Вариант с PCI пока в данной постановке задачи кажется наиболее предпочтительным, скорость там достаточно высокая. Т.е. в идеале минимум внешних элементов (только элементы буферизации). C PCI будет много мороки. Есть конечно готовые контроллеры шины PCI, но разбираться с ними гораздо сложнее, чем скажем, с USB. По идее, если размер буфера будет достаточно большим - можно пользоваться и Windows, только при этом ядро драйвера должно быть в виде vxd - процесс, имеющий приоритет сравнимый с ядром ОС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GeorgeV 0 17 октября, 2006 Опубликовано 17 октября, 2006 · Жалоба Насколько я помню из написания драйверов vxd это устаревший формат, под современные оси идет wdm. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
upc2 0 17 октября, 2006 Опубликовано 17 октября, 2006 · Жалоба Насколько я помню из написания драйверов vxd это устаревший формат, под современные оси идет wdm. Да последняя система Windows 98.Но VXD предпочительнее.Здесь вы можете на ассемблере вылизать код, а в WDM вы используете си-ные функции. Если у вас есть возможность использовать компьютер вместо контроллера, то пишите вообще в DOSе. Только я плохо представляю вашу задачу.Вы пишите последовательность 0 и 1 , но мне кажется ,что вы хотите аппроксимировать аналоговые процессы.Так ли это? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GeorgeV 0 17 октября, 2006 Опубликовано 17 октября, 2006 · Жалоба Нет, чисто цифровые линии и цифровой ввод (сегодняшняя проблема). Может когда нибудь доберусь и до аналоговых, но проблемы решаю по мере поступления. Сижу читаю сегодня соседний форум по PCI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GeorgeV 0 25 октября, 2006 Опубликовано 25 октября, 2006 · Жалоба Вобщем, перебрав разные варианты вернулся к ИДЕ интерфейсу. Как оказалось, это уже готовый двунаправленный 16 разрядный порт. Без внешнего активного устройства можно добиться выборки в 1 мкс. Для более скоростной, как и предлагали, надо ставить ПЛИС, имитировать диск и работать в режиме ПДП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gormih 0 25 октября, 2006 Опубликовано 25 октября, 2006 · Жалоба Вобщем, перебрав разные варианты вернулся к ИДЕ интерфейсу. Как оказалось, это уже готовый двунаправленный 16 разрядный порт. Без внешнего активного устройства можно добиться выборки в 1 мкс. Для более скоростной, как и предлагали, надо ставить ПЛИС, имитировать диск и работать в режиме ПДП. А протокол работы через IDE известен? :huh: Вот кстати нашел... Не очень прельщает такое реализовывать... Но это думаю поможет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GeorgeV 0 25 октября, 2006 Опубликовано 25 октября, 2006 · Жалоба Забудьте про Вот и про это! Это все нужно,если вы делаете аналог HDD диска. А так работаете, как с обычным портом MOV DX, 0x170 MOV AX, ВАШИ ДАННЫЕ OUT DX, AX - вот вам и вывод Аналогично и ввод. Если у вас одно устройство на шине, то можно ставить любой адрес в диапазоне 170-177 (предполгается, что вы работаете с 1 каналом IDE). Если надо адресовать несколько устройств, до декодируете сигналы CS0, CS1, DA0, DA1, DA2 (они формируюся из адресов 170-177контроллером IDE) . Не забудьте только логическую 1 подать на линию IORDY. Это один из двух парааллельных портов в компе, куда можно выдать байт и зажечь светодиод (как многие любят спрашивать). Через буфер, конечно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gormih 0 25 октября, 2006 Опубликовано 25 октября, 2006 · Жалоба А как узнать, в какой момент подавать? И как ОС узнает, какого размера диск, какие на нем файлы.. об этом задумывались? :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться