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

 
 
> Синхро сигнал, проблеммы., Clock + Data
Xenom0rph
сообщение Jan 24 2009, 13:31
Сообщение #1


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

Группа: Новичок
Сообщений: 85
Регистрация: 2-10-08
Пользователь №: 40 646



У меня такя проблемма, на ноги мк идёт два синала, clock для синхронизации и data. Данные достоверны когда сигнал clock принимает лог.0 так вот если оборвать, сигнал, а потом запустить, то данные уже идут не синхронизировано и искажаются. Как это можно иправить, честно только столкнулся с этим, и даже не знаю куда капнуть, и что почитать, про эти синхро сигналы?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vvvv
сообщение Jan 24 2009, 20:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 3-05-05
Из: г. Волжский
Пользователь №: 4 714



Подробно. Вы принимаете данные все хорошо, вдруг у Вас пропадает клок. Выставляете флаг аварии "пропал клок" и ждете появления клока.
С этого момента никакого приема данных не будет до появления клока как минимум. Ждем. Появился клок, по клоку начинаем
снимать данные с линии данных, допустим она тоже лежит. Считываем данные с "мертвой линии", но мы этого пока не знаем.
Итак считаем клоки пока линия данных в "0". Досчитали до 17. А линия данных лежит по прежнему. 18,19,20. и т.д.
После 17 такта клока понимаем, что линия данных нерабочая. Выставляем другой флаг "авария на линии данных" и ждем чтобы она
начала шевелиться, опа линия зашевелилась, т.е. перешла из 0 в 1, не торопимся принимать данные, ждем новой паузы в 17 тактов,
пришла наконец пауза в 17 тактов и после нее переход из 0 в 1, а затем ровно через два такта(длина старт строба) переход обратно из 1 в 0,
все теперь пойдут точно данные, снимаем флаги аварий и принимаем данные. Приняли байт данных, записали в память. Ждем паузу в 17 тактов,
затем строб в два такта, следующий байт записали в память и так далее.
Далее, все нормально принимаем, бац пауза не 17, а 14 тактов или 16, и после нее сразу строб, можно посчитать это нормальной ситуацией и
принять 8 бит данных. Так и делаем, принимаем 8 бит данные, после чего ждем паузу. Если пауза нормальная, все в порядке продолжаем прием.
Бац после принятия данных пауза короткая, бракуем принятый байт и на ожидание нормальной паузы.
Теперь, чтобы все это понять, нужно взять карандашик и порисовать. Сразу все станет понятно.

PS: Пока писал увидел про 50 байт и контроль четности. Тут не контроль четности нужен, а нечто типа NRZ, потому что у Вас может быть 50 байт
нулей, и четность каждых 4 бит тоже будет ноль. Ну и кто это придумал? Обязательно должен быть перепад уровня. Нельзя гнать массив нулей
такой длины в линии и контроль делать тоже нулем. Меняйте протокол или делайте паузу не 17 нулей, а чтобы она была длиннее всего массива
из 50 байт со всеми четностями. Иначе никакой синхронизации не получится.

Сообщение отредактировал vvvv - Jan 24 2009, 20:08
Go to the top of the page
 
+Quote Post
Xenom0rph
сообщение Jan 24 2009, 20:16
Сообщение #3


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

Группа: Новичок
Сообщений: 85
Регистрация: 2-10-08
Пользователь №: 40 646



Спасибо буду сидеть рисовать))
А что касается после P.S.
Все нули и все еденици в блоке данных исключены, там всегда идут конкретные данные.
Да вот ещё, а это будет рабоать, если возобнавятся одновременно и линиия клок и дата?

Сообщение отредактировал Xenom0rph - Jan 24 2009, 20:24
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Xenom0rph   Синхро сигнал, проблеммы.   Jan 24 2009, 13:31
- - yagger   Так если это микроконтроллер, то можно организоват...   Jan 24 2009, 13:59
- - rezident   Синхронизацию фреймов в синхронных интерфейсах обы...   Jan 24 2009, 14:53
|- - Xenom0rph   2yagger нельзя терять не одного бита, там суть так...   Jan 24 2009, 16:14
|- - rezident   Цитата(Xenom0rph @ Jan 24 2009, 21:14) 2r...   Jan 24 2009, 18:34
|- - Xenom0rph   Цитата(rezident @ Jan 24 2009, 21:34) А P...   Jan 24 2009, 18:59
|- - VShaclein   А можна так сделать ?   Jan 24 2009, 19:20
|- - vvvv   Цитата(Xenom0rph @ Jan 24 2009, 21:59) А ...   Jan 24 2009, 19:32
|- - Xenom0rph   2А можна так сделать ? Можно... но мне хочется не ...   Jan 24 2009, 19:53
|- - smac   Цитата(Xenom0rph @ Jan 24 2009, 22:53) Ка...   Jan 25 2009, 08:31
|- - Xenom0rph   Цитата(smac @ Jan 25 2009, 11:31) вы случ...   Jan 25 2009, 12:46
- - vvvv   Ваша логика синхронизации работать не будет, и вот...   Jan 24 2009, 18:24
- - vvvv   Абсолютно неважно, кто там и как возобновится, сра...   Jan 24 2009, 20:32
- - Xenom0rph   ну там не получиться два байта нулей, т.к. как даж...   Jan 24 2009, 21:31


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

 


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


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