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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> знатокам синхронных/асинхронных потоков
lutik
сообщение Dec 23 2006, 01:53
Сообщение #16


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

Группа: Свой
Сообщений: 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
Сообщение #17


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

Группа: Свой
Сообщений: 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
Tosha
сообщение Dec 25 2006, 10:51
Сообщение #18


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

Группа: Свой
Сообщений: 97
Регистрация: 10-09-04
Пользователь №: 633



Можно попробовать пойти наиболее простым путем. На входе сдвиговый регистр, работающий синхронно с E1 на частоте 64кГц. Передаем полученные данные по выбранному таймслоту.
На обратной стороне в простейшем случае опять через сдвиговый регистр на частоте 64кГц прямо так и выдаем. В этом случае на выходе получается сильный джиттер. Но может быть и так работать будет.
Если нет, то можно сделать простейшую фапч и выровнять полученный поток, пересинхронизовать его на более высокой частоте, таким образом можно уменьшить выходной джиттер. Даже FIFO не понадобится.
Что делать в такой схеме со слипами даже не знаю.
Чтобы правильно обрабатывать слипы, по видимому нужно будет делать какой-то интелектуальный обмен с многократным дублированием посылок и их восстановлением на другой стороне.
Go to the top of the page
 
+Quote Post
tomtom
сообщение Dec 26 2006, 16:09
Сообщение #19





Группа: Новичок
Сообщений: 1
Регистрация: 31-03-05
Пользователь №: 3 825



Решал похожую задачу, скорость до 115к. Укладывал в 2 слота ( при мах. скорости). Все остальные Решал похожую задачу, скорость до 115к. Укладывал в 2 слота ( при мах. скорости). Все остальные ложились в один слот. Железка работала в составе изделия Т-130. Сигналы для функционирования - подсветка канала, клок(2м), выдавала Т-130. Задача сводилась в приеме RS-232 (тупо использовал Atmel89, 20 ног, 2 кБайт) выделения байта и укладка в тайм слот. Для этого использовал свой протокол передачи, если не изменяет память принцип следующий. на синхронный поток 64 кБит ложиться асинхронный в тот самый момент времени когда готов байт передачи (т.е даже в середине подсветки слота). Данные передается в формате: старт бит, 8 бит данные, бит парити, стоп бит. Стоп бит использовался двояко: 1 – идут данные, 0 – управление. Управление необходимо для согласования скоростей приема-передачи и сигнала ошибок канала (бит парити). Естественно в один тайм слот вся информация не ложиться для этого использовал программку управления в Atmelе, которая сшивала, разбивала и выделяла информационный байт из слота. Также в памяти Atmelа находился 15 байтный буфер (2 буфера) приема и передачи. В качестве железки сопряжения с Т-130 использовалcя Xilinx на 20К.
Go to the top of the page
 
+Quote Post
cdg
сообщение Dec 26 2006, 19:00
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Есть серия рекомендаций ITU X50, X51, которая предлагает решение Вашей проблемы.
Go to the top of the page
 
+Quote Post
Alex03
сообщение Dec 29 2006, 18:11
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



А куда/откуда и через что идёт(ут) этот(эти) E1?
Если цепочка длинная с кучей девайсов в цепи (та же ТФОП), то велика вероятность того, что не все её участки синхронизируются от единого источника частоты на уровне E1. Следовательно в некоторых узлах возможны "проскальзывание кадров E1", что приводит к выпадению или дублированию отдельных байтиков в 64кБит-ном потоке.
Т.е. очень желательно чтобы протокол передачи данных по этому 64кБитному потоку был с максимальной избыточностью! smile.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 9th August 2025 - 19:27
Рейтинг@Mail.ru


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