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

 
 
> знатокам синхронных/асинхронных потоков
lutik
сообщение Dec 20 2006, 17:06
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 128
Регистрация: 30-06-04
Из: Odessa
Пользователь №: 216



доброго дня уважаемым.

есть задача такая, нужно передать асинхронный поток 9600 через 64-х килобитный тракт.
выглядет это так:
на одной стороне нужно засемплировать, ну скажкм uart, вложить семплы в один из таймслотов E1 а на другой стороне востановить.

нарвался на такие препротивнейшие грабли - если выполнять прямое семплирование, т.е. просто выдергивать из асинхронного потока по 8-мь бит и передавать через Е1, то концевая аппаратура не может подстроится под частоту передачи (ну или вернее я не могу ее подстроить) в результате наблюдается стойкое проскальзывание синхры..
а поток шифрованый.. со всеми вытекающими
sad.gif(
кто как решает такую задачу, подскажите плз.

ЗЫ:
сам я вижу решение - мерять счетчиком частоту импульсов с одной стороны и гнать это все на другую сторону..
тока чемороя много.
може кто знает проще решение


--------------------
однако..
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Dec 20 2006, 19:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(lutik @ Dec 20 2006, 16:06) *
кто как решает такую задачу, подскажите плз.

Попробуйте для начала условия в которых задача решена должна быть описать. Иначе не понятно совсем sad.gif
В общем случае (плезиохронный поток вошел-вышел-забрали канальный интервал)такое решается не просто. Почитайте, например, о классической железке FALC56 там как-раз джентельменский набор для УСПЕШНОГО решения подобных задач в РАЗНООБРАЗНЫХ условиях - Фреймер, HDLC контроллер....В каких-то очень частных случаях можно и какую-нибудь приблуду изобретать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
lutik
сообщение Dec 20 2006, 21:07
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 128
Регистрация: 30-06-04
Из: Odessa
Пользователь №: 216



Цитата
Попробуйте для начала условия в которых задача решена должна быть описать. Иначе не понятно совсем sad.gif

описывается задача примерно так:
есть асинхронный поток С1-ФЛ-БИ генерируемый устройством, которое нельзя не то что в схеме увидеть а даже на приборную его панель нельзя взглянуть.
есть плата в составе пиз!"№;тенного монстра коммутатора Е1. на плате есть пару микрух которые физику на С1 обеспечивают и альтера. на альтеру заходит Е1 2.048Мбит в один из таймслотов которого мне нужно положить сампленые отсчеты.
с другой стороны их (отсчеты) нужно извлечь и в С1 запихать.

Цитата
Почитайте, например, о классической железке FALC56 там как-раз джентельменский набор для УСПЕШНОГО решения подобных задач в РАЗНООБРАЗНЫХ условиях - Фреймер, HDLC контроллер

нету фалка ентого.
и ваще мля.. плату эту в ТЗ в последний момент запхнули насильно.. ее разрабатывали неделю и стоко же я с ней вожусь. сырое все, начиная с физики. а госы уже идут..
мля и до меня скоро дойдут

извиняюсь за мат..
но других слов нет

Цитата
В каких-то очень частных случаях можно и какую-нибудь приблуду изобретать.

случай, я бы сказал, исключительно частный

ЗЫ:
одна из функций этой платы (уже слава богу реализованых) - передача по Е1 телеграфных каналов (50-75 бод)
smile.gif)))))))))))))))

Цитата(Oldring @ Dec 20 2006, 19:00) *
Человек, очевидно, просто не знает как передавать признак отсутствия байта.

не знаю. с телефонией недавно работаю

Цитата(zltigo @ Dec 20 2006, 21:56) *
Для начала, начните с начала smile.gif Кроме 9600 UART имеем 2 входых потока 2Mbit и два выходных потока 2Mbit. Частоты и фазы в общем случае отличаются. Ну джиттер, слипы само собой имеют место быть.
Задача синхронизироваься и держать цикловую (и сверхцикловую?) синхронизацию, выделить в потоках указанный таймслот вынуть-вставить битики.

но не на столько стобы совсем уж smile.gif) .. сделано это давно

Цитата(zltigo @ Dec 20 2006, 21:56) *
Ну а уж как пустые биты/фреймы передавать уже дело если и не десятое, то уж не первое.

эт кому как. не сильно я се представляю как это делается и с какой стороны глюков ждать


--------------------
однако..
Go to the top of the page
 
+Quote Post
tocha
сообщение Dec 22 2006, 13:56
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 92
Регистрация: 16-05-05
Из: Kiev
Пользователь №: 5 080



Делал так.
На приёмной и передающей стороне ставится Fifo для выравнивания скоростей и передаваётся информацию о скорости на удалённую сторону. Там восстанавливается скорость и в С1.
Р.С. ГБшники приносили свою аппаратуру со стыком С1 - всё работало. Очень удивились. smile.gif
Go to the top of the page
 
+Quote Post
lutik
сообщение Dec 23 2006, 01:53
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 128
Регистрация: 30-06-04
Из: Odessa
Пользователь №: 216



Цитата(tocha @ Dec 22 2006, 14:56) *
На приёмной и передающей стороне ставится Fifo для выравнивания скоростей и передаваётся информацию о скорости на удалённую сторону. Там восстанавливается скорость и в С1.


а как информацию о скорости передавали??
в пакете каком то с признаком??

я щак, как выше писал, по указателю фифо на приемной стороне подстраиваюсь правда пока безуспешно.
по условию задачи я должен вообще проводом притворится.

Цитата(tocha @ Dec 22 2006, 14:56) *
Р.С. ГБшники приносили свою аппаратуру со стыком С1 - всё работало. Очень удивились. smile.gif


крутттаааа
гы..


--------------------
однако..
Go to the top of the page
 
+Quote Post
tocha
сообщение Dec 23 2006, 13:13
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 92
Регистрация: 16-05-05
Из: Kiev
Пользователь №: 5 080



Цитата(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 от номиналов.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- lutik   знатокам синхронных/асинхронных потоков   Dec 20 2006, 17:06
- - Shamil   Цитата(lutik @ Dec 20 2006, 19:06) есть з...   Dec 20 2006, 18:46
- - Oldring   Входной поток асинхронный по условию с максимально...   Dec 20 2006, 20:00
|- - zltigo   Цитата(Oldring @ Dec 20 2006, 19:00) Чело...   Dec 20 2006, 20:56
|- - Oldring   Цитата(zltigo @ Dec 20 2006, 20:56) Для н...   Dec 20 2006, 21:13
|- - zltigo   Цитата(Oldring @ Dec 20 2006, 20:13) Инте...   Dec 20 2006, 23:13
|- - Oldring   Цитата(zltigo @ Dec 20 2006, 23:13) А как...   Dec 20 2006, 23:20
|- - zltigo   Цитата(Oldring @ Dec 20 2006, 22:20) И во...   Dec 20 2006, 23:27
|- - lutik   Цитата(zltigo @ Dec 21 2006, 00:27) Цитат...   Dec 21 2006, 00:07
- - Partisan   Прочитайте книгу "Синхронизация в телекоммуни...   Dec 21 2006, 09:37
- - tegumay   хорошая глава =) читал   Dec 22 2006, 00:01
- - Волощенко   Не знаю, подойдет ли это Вам, но у нас эта проблем...   Dec 22 2006, 10:12
- - Tosha   Можно попробовать пойти наиболее простым путем. На...   Dec 25 2006, 10:51
- - tomtom   Решал похожую задачу, скорость до 115к. Укладывал ...   Dec 26 2006, 16:09
- - cdg   Есть серия рекомендаций ITU X50, X51, которая пред...   Dec 26 2006, 19:00
- - Alex03   А куда/откуда и через что идёт(ут) этот(эти) E1? Е...   Dec 29 2006, 18:11


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

 


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


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