реклама на сайте
подробности

 
 
> Помогите с HDLC, асинхронные данные в синхронном потоке
klaks
сообщение Mar 30 2011, 10:26
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 21-06-07
Пользователь №: 28 615



Знающие люди, подскажите, пожалуйста, по HDLC.

Ситуация такая. Устройство работает по USB, два FALCа на борту. Работаю с E1.
Наш драйвер поддерживает всего один поток Bulk, по нему и нужно организовать всю передачу данных. Все бы хорошо, если бы все передаваемые данные были бы синхронные - отсчеты голосовых каналов. Но к этим данным добавляются HDLC, скорость передачи которых отличается от скорости передачи голосовых данных. Чтобы быть точным, она может быть равна этой скорости (для E1 это 8 кГц), либо быть меньшей (поскольку фреймер добавляет сам контрольную сумму и делает битстаффинг). Данные нужно подсовывать фреймеру непрерывно иначе он оборвет передачу.

Есть идея рассмотреть ситуацию как коммутацию двух разноскоростных каналов. В случае переполнения буфера просто забить на потерявшиеся пакеты. Но в HDLC кажется нет органичения по размеру кадра, я не знаю какой буфер делать, чтобы гарантированно уметь передавать самый большой пакет.
Либо если есть возможность фрагментировать пакеты, то может просто их еще в компе разделять допустим на 1кбайтные части.

Это решение вообще корректно? Или может есть более рациональные решения?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th July 2025 - 17:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.0135 секунд с 7
ELECTRONIX ©2004-2016