|
Народ, есть желание узнать вообще о типах протоколов, реализуемых на СОМ-портах.
Всем известны хардовые, софтверные и это как-раз я о них...
Вообще что я имею:
1. Устройство (а) (абстрактное или в процессе разработки, как угодно), которое может содержать в себе целую кучу устройств (б).
2. СОМ-порт, посредством которого получаются данные с (а) на комп.
3. (б) передают через (а) свои данные фрагментами, которые могут иметь разную длину (указано в заголовке фрагмента).
Что требуется:
1. большая скорость передачи данных, выколупывание фрагментов
2. Работа на разных платформах Вин9Х, ВинНТ.
--------------------------------------------------------
А теперь по-порядку:
Устройство (а) собирает инфу с (б) и фреймами шлет на комп. Если по каким-либо причинам происходит рассинхнонизация между (а) и компом, нужно мгновенно определить начало след. фрейма, не нагружая проц.
Для находжения начала фрейма я полагаю:
- Таймауты, впринципе могут помочь, но скорость передачи от них падает (это для признака _конц_передачи_).
- Выставление сигнала на линии CTS или DSR и им подобным - вариант хорош, но вся обработка ложится на проц, что не есть хорошо.
- XON-XOFF тоже не катит, т.к. вносит ограничения на передаваемые данные, что так-же негативно влияет на скорость передачи.
- Я слышал, что бит паретета некоторые используют для разделения фреймов (9-битное кодирование). Но этот "фложок" только для быстрого определения конечным устройством, а мне нужно в первую очередь на компе.
Предложите свои, обплюйте эти, нужно обсасать тему со стороны реализации на С++ под Виндовс.
E-mail: info@telesys.ru