![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Синхронные прием-передача на LPT [D7, Win95/98]
Vitt_lay © (2004-05-13 08:13:00)Помогите пожалуйста, кто сталкивался с такой задачкой, хотя бы в какую сторону думать. Нужно организовать синхронный обмен с устройством, подключенным к порту компьютера на скорости 64кБит/с. Так как обмен нужен синхронный - остановился на выборе LPT порта, но все равно не могу понять каким образом можно выполнить реализацию именно синхронного режима работы. Помогите пожалуйста хотя бы указанием путей дальнейшего размышления; мне непонятно, как можно на LPT привязаться к сихросигналу.
Vitt_lay (2004-05-13 11:15:00) [1]Спасибо очень большое! Решил использовать PIC для этой цели.
N170 (2004-05-13 09:05:00) [2]0. Попробовать использовать стандартный протокол SPP (EPP не пройдёт на указанной скорости, там тайм-аут 10мкс, если не вру).
Проблема - Нельзя гарантировать небольшое время реакции со стороны ПК, как следствие невозможно организовать равномерный поток данных.
1. Как вариант решения "в лоб":
Внешнее устройство даёт задающий сигнал на линию ACK, а в систему добавляется самодельный драйвер (далее - СД), который будет отлавливать возникающее при этом событие.
Событие это есть результат обработки (в станд. драйвере параллельного порта - СДПП) аппаратного прерывания, возникающего при приходе фронта очередного импульса синхронизации на линию ACK.
СД может, получив вызов (от СДПП), выполнить ряд манипуляций с портом (отправить очередной байт, напр.)
Это сложная творческая задача.
Но тут есть несколько "НО".
Главное НО - ухудшение показателей стабильности системы при очень высокой частоте прерываний.
Если 64кбит, то это 65536/8=8192Гц, т.е. 120мкс/событие, в равномерном потоке.
На вашем месте я бы не рисковал!
2. Собрать аппаратный контроллер (АК) потока данных на базе МК AVR или PIC.
Передавать ему данные большими блоками, по мере надобности, не заботясь о временнЫх параметрах обмена (ВПО).
О ВПО позаботится сам АК, который мог бы накапливать данные, передаваемые с ПК и выдавать их с требуемой скоростью.
Самый надёжный, IMHO, вариант. Наиболее высокая вероятность получения работающего решения.
3. Использовать real-time расширения для Windows.
СтОит бабок бешенных и отчасти снижает стабильность системы.
Хотя это было бы надёжней, чем п.1.
Вот такие дела.