Цитата(lutik @ Dec 23 2006, 00:53)

а как информацию о скорости передавали??
в пакете каком то с признаком??
В таймслоте один за одним передаются пакеты (m бит): заголовок, биты С1 (n бит), 1 бит для выравнивания скорости, 1 бит признака наличия бита выравнивания (можно 3 штуки и принимать решение мажоритарно).
На входе С1:
Пишем в FIFO из С1.
По уровню FIFO на входе принимаем решение: передавать или нет дополнительный бит.
Скорость передачи С1 в канале 64 кбит/с - ( n/m )*64 кбит/с или ( (n+1)/m )*64 кбит/с
На входе в FIFO пишем с v=9600 кбит/с - читаем с V=(n/m)*64 (< 9600),
если указатель FIFO идёт вверх - читаем с V=( (n+1)/m )*64 (> 9600),
если вниз- читаем с V=( (n)/m )*64 (< 9600).
На выходе С1:
Пишем в FIFO из ТДМ.
Читаем из FIFO и запуливаем в стык С1.
Скорость вычитывания из FIFO регулируем джиттером.
Если указатель FIFO идёт вверх - увеличиваем скорость вычитки 9600 + x ppm,
если вниз- уменьшаем скорость вычитки 9600 - x ppm.
П.С. Размер подстройки должен перекрыть возможные отклонения частот и скорости С1 от номиналов.