Jump to content

    

Самодельный осциллограф-приставка

Если уточните задачу, возможно решение найдется...

Не уверен, что компу обязательно нужны все выборки... Уверяю, что обработать инфу внутри платы будет гораздо легче, нежели попробывать передать ее на описанной вам скорости в комп. Вещь довольно высокоскоростная... USB 2.0 в принципе под завязку хватило бы, но пока микросхем работающих на usb 2.0 full speed я не встречал.

Edited by Михаил Горюнов

Share this post


Link to post
Share on other sites
но пока микросхем работающих на usb 2.0 full speed я не встречал.

А CY7C68013 , например?

Share this post


Link to post
Share on other sites

Можно на рассыпухе собрать платку, которая по команде из LPT будет забивать статическое ОЗУ данными, а потом через этот же LPT их оттуда читать.

Share this post


Link to post
Share on other sites

но пока микросхем работающих на usb 2.0 full speed я не встречал.

А CY7C68013 , например?

 

А Вы пробовали ее купить в России? :-)

 

 

Можно на рассыпухе собрать платку, которая по команде из LPT будет забивать статическое ОЗУ данными, а потом через этот же LPT их оттуда читать.

 

Насколько я понял, задача стоит не таким образом...

Share this post


Link to post
Share on other sites

Подобная задача решалась лет 10 в DOSе на четверке.Использовались сигналы прерывания.Есть

прерывание лог1, нет лог0.Естественно комп. только этой задачей и занимался.В Windows все

сложнее.Если писать драйвер для обработки только прерывания , то время на обработку одного прерывания составляет около 15 мксек.

Как,правильно,советовали многие, необходим внешний контроллер с памятью.

Share this post


Link to post
Share on other sites
Если писать драйвер для обработки только прерывания , то время на обработку одного прерывания составляет около 15 мксек.

 

Это еще хорошо сказано - 15 мкс :-)

Share this post


Link to post
Share on other sites

Хочется. чтобы этими всеми задачами занимался сам комп, неважно в досе или винде. Если контроллер может обработать, то почему допустим Celeron 433 не сможет это обработать, а сейчас такие компы сваливают по дешевке за смешные цены. Один такой комп у меня уже видеоохраной занимается.

Вариант с PCI пока в данной постановке задачи кажется наиболее предпочтительным, скорость там достаточно высокая. Т.е. в идеале минимум внешних элементов (только элементы буферизации).

Share this post


Link to post
Share on other sites
Хочется. чтобы этими всеми задачами занимался сам комп, неважно в досе или винде. Если контроллер может обработать, то почему допустим Celeron 433 не сможет это обработать, а сейчас такие компы сваливают по дешевке за смешные цены. Один такой комп у меня уже видеоохраной занимается.

Вариант с PCI пока в данной постановке задачи кажется наиболее предпочтительным, скорость там достаточно высокая. Т.е. в идеале минимум внешних элементов (только элементы буферизации).

 

 

C PCI будет много мороки. Есть конечно готовые контроллеры шины PCI, но разбираться с ними гораздо сложнее, чем скажем, с USB.

По идее, если размер буфера будет достаточно большим - можно пользоваться и Windows, только при этом ядро драйвера должно быть в виде vxd - процесс, имеющий приоритет сравнимый с ядром ОС.

Share this post


Link to post
Share on other sites

Насколько я помню из написания драйверов vxd это устаревший формат, под современные оси идет wdm.

Share this post


Link to post
Share on other sites
Насколько я помню из написания драйверов vxd это устаревший формат, под современные оси идет wdm.

 

Да последняя система Windows 98.Но VXD предпочительнее.Здесь вы можете на ассемблере вылизать код, а в WDM вы используете си-ные функции.

Если у вас есть возможность использовать компьютер вместо контроллера, то пишите вообще в DOSе.

Только я плохо представляю вашу задачу.Вы пишите последовательность 0 и 1 , но мне кажется ,что

вы хотите аппроксимировать аналоговые процессы.Так ли это?

Share this post


Link to post
Share on other sites

Нет, чисто цифровые линии и цифровой ввод (сегодняшняя проблема). Может когда нибудь доберусь и до аналоговых, но проблемы решаю по мере поступления.

Сижу читаю сегодня соседний форум по PCI.

Share this post


Link to post
Share on other sites

Вобщем, перебрав разные варианты вернулся к ИДЕ интерфейсу. Как оказалось, это уже готовый двунаправленный 16 разрядный порт. Без внешнего активного устройства можно добиться выборки в 1 мкс. Для более скоростной, как и предлагали, надо ставить ПЛИС, имитировать диск и работать в режиме ПДП.

Share this post


Link to post
Share on other sites
Вобщем, перебрав разные варианты вернулся к ИДЕ интерфейсу. Как оказалось, это уже готовый двунаправленный 16 разрядный порт. Без внешнего активного устройства можно добиться выборки в 1 мкс. Для более скоростной, как и предлагали, надо ставить ПЛИС, имитировать диск и работать в режиме ПДП.

 

А протокол работы через IDE известен?

:huh:

Вот кстати нашел...

Не очень прельщает такое реализовывать... Но это думаю поможет

Share this post


Link to post
Share on other sites

Забудьте про Вот и про это!

Это все нужно,если вы делаете аналог HDD диска. А так работаете, как с обычным портом

MOV DX, 0x170

MOV AX, ВАШИ ДАННЫЕ

OUT DX, AX - вот вам и вывод

Аналогично и ввод. Если у вас одно устройство на шине, то можно ставить любой адрес в диапазоне 170-177 (предполгается, что вы работаете с 1 каналом IDE). Если надо адресовать несколько устройств, до декодируете сигналы CS0, CS1, DA0, DA1, DA2 (они формируюся из адресов 170-177контроллером IDE) . Не забудьте только логическую 1 подать на линию IORDY.

Это один из двух парааллельных портов в компе, куда можно выдать байт и зажечь светодиод (как многие любят спрашивать). Через буфер, конечно.

Share this post


Link to post
Share on other sites

А как узнать, в какой момент подавать?

И как ОС узнает, какого размера диск, какие на нем файлы.. об этом задумывались? :-)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this