Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.20;
Скачать: CL | DM;

Вниз

Синхронные прием-передача на LPT   Найти похожие ветки 

 
Vitt_lay   (2004-05-13 08:13) [0]

Помогите пожалуйста, кто сталкивался с такой задачкой, хотя бы в какую сторону думать. Нужно организовать синхронный обмен с устройством, подключенным к порту компьютера на скорости 64кБит/с. Так как обмен нужен синхронный - остановился на выборе LPT порта, но все равно не могу понять каким образом можно выполнить реализацию именно синхронного режима работы. Помогите пожалуйста хотя бы указанием путей дальнейшего размышления; мне непонятно, как можно на LPT привязаться к сихросигналу.


 
N170   (2004-05-13 09:05) [1]

0. Попробовать использовать стандартный протокол SPP (EPP не пройдёт на указанной скорости, там тайм-аут 10мкс, если не вру).

Проблема - Нельзя гарантировать небольшое время реакции со стороны ПК, как следствие невозможно организовать равномерный поток данных.

1. Как вариант решения "в лоб":
Внешнее устройство даёт задающий сигнал на линию ACK, а в систему добавляется самодельный драйвер (далее - СД), который будет отлавливать возникающее при этом событие.
Событие это есть результат обработки (в станд. драйвере параллельного порта - СДПП) аппаратного прерывания, возникающего при приходе фронта очередного импульса синхронизации на линию ACK.
СД может, получив вызов (от СДПП), выполнить ряд манипуляций с портом (отправить очередной байт, напр.)

Это сложная творческая задача.
Но тут есть несколько "НО".
Главное НО - ухудшение показателей стабильности системы при очень высокой частоте прерываний.
Если 64кбит, то это 65536/8=8192Гц, т.е. 120мкс/событие, в равномерном потоке.
На вашем месте я бы не рисковал!

2. Собрать аппаратный контроллер (АК) потока данных на базе МК AVR или PIC.
Передавать ему данные большими блоками, по мере надобности, не заботясь о временнЫх параметрах обмена (ВПО).
О ВПО позаботится сам АК, который мог бы накапливать данные, передаваемые с ПК и выдавать их с требуемой скоростью.

Самый надёжный, IMHO, вариант. Наиболее высокая вероятность получения работающего решения.

3. Использовать real-time расширения для Windows.

СтОит бабок бешенных и отчасти снижает стабильность системы.
Хотя это было бы надёжней, чем п.1.

Вот такие дела.


 
Vitt_lay   (2004-05-13 11:15) [2]

Спасибо очень большое! Решил использовать PIC для этой цели.



Страницы: 1 вся ветка

Текущий архив: 2004.06.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-1085674307
JurMax
2004-05-27 20:11
2004.06.20
Изменение ширины строки в dbGrid


9-1077435911
Ser_00
2004-02-22 10:45
2004.06.20
FlameMaker


1-1086516192
Larry Laffer
2004-06-06 14:03
2004.06.20
Функция в DLL


1-1086471542
lena19
2004-06-06 01:39
2004.06.20
авто запуск в DLL


9-1077296031
Electon
2004-02-20 19:53
2004.06.20
как грабить DirectX?