Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
14-1086088134
miwa
2004-06-01 15:08
2004.06.20
Проведите ликбез по криптографии, пожалуйста


3-1085586517
Ertong
2004-05-26 19:48
2004.06.20
DBGrid


3-1085475412
serg128
2004-05-25 12:56
2004.06.20
Есть ли какие-то агрегирующие функции в TClientDataSet?


1-1086516253
Alexis
2004-06-06 14:04
2004.06.20
резиновый StringGrid...


14-1086111375
SergP
2004-06-01 21:36
2004.06.20
Какой-то нехороший человек шлет мыла (наверное с вирями)




   Наверх