|
SPI интерфейс мк-мк, но как устроен протокол?, Пакет из 6 посылок по 8 бит. поллитра захватите :) |
|
|
|
Jan 14 2009, 12:16
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 14-01-09
Пользователь №: 43 345

|
Введение: Разбираюсь с системой климат контроля автомобиля. Подцепился осциллографом (ну как осциллографом... звуковой картой  ) между СПИ интерфейсом двух МК. Один в режиме мастера передает второму, тот интерпретирует данные и отдает короче дальше, пусть на ЖК экран... Когда разберусь, планирую на МК AVR сделать подмену ведомого, так нужно...  Описание: Данные передаются в пакете. пакет состоит из 6 посылок по 8 бит. Не все 8 бит используются под перенос данных, а, например первая посылка имеет вид "1ххх1ххх" где ххх- биты данных, 1 вначале и 1 посередине я так понимаю используется для контроля и распознавания вторым мк, что это посылка с информацией о скорости и положении заслонки вентилятора, за этой посылкой следуют еще 5 штук, у них соответственно другие биты неизменны, они несут информацию о температуре и др. (я еще не разобрался какие именно не меняются, пока анализирую), в последней посылке (шестой) первый бит неизменный "0"ххххххх -"х" я так и не понял к чему, так как все необходимые данные передаются в первых 5 посылках, но они меняются. Непонятки: Может подскажете, каким образом второй мк узнает, что это посылка с инф. о скорости вентилятора, вторая о температуре и т.п. казалось бы, первая посылка имеет маску 1ххх1ххх, но и вторая может принять такой же вид, например при температуре 25 градусов, абстрактно: 10011101 - маска 1ххх1ххх та же, но посылка то вторая, а не первая, таким же образом и следующие посылки могут принимать вид предыдущих. Напомню что всего в пакете 6 посылок и последняя не поддается интерпретированию (я еще не допетрил что она несет, так как все что нужно передается в первых 5ти посылках) Домыслы: И я так полагаю при смене режима, пакет может прерваться в любом месте и затем начинается передача уже новых данных сначала. Предполагаю, что последний пакет- контрольная сумма или что то в этом роде... Вопрос: Как 6 посылок собираются в один пакет во втором МК? (ведь мк должен сохранить 5 посылок, затем получить 6ю и сравнить, все ли правильно, являются ли те посылки, что он принял действительными и не содержащими ошибок) ЗЫ: Сорри, картинки одинаковыя, не ищите отличия. так получилось... как удалить не найду. Модератор. Удалил лишнюю (вторую).
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Jan 14 2009, 12:52
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(Alexeus @ Jan 14 2009, 15:16)  Непонятки: Может подскажете, каким образом второй мк узнает, что это посылка с инф. о скорости вентилятора, вторая о температуре и т.п. казалось бы, первая посылка имеет маску 1ххх1ххх, но и вторая может принять такой же вид... По счету, т.е. по номеру байта в пакете... Чтобы не было рассинхронизации, обычно "дрыгают" ногой SS (Slave Select, ещё может называться "Выбор микросхемы"): при выборе слейва счетчик байт пакета, обычно, сбрасывается, и пакет передаётся с первого байта... Цитата(Alexeus @ Jan 14 2009, 15:16)  Вопрос: Как 6 посылок собираются в один пакет во втором МК? (ведь мк должен сохранить 5 посылок, затем получить 6ю и сравнить, все ли правильно, являются ли те посылки, что он принял действительными и не содержащими ошибок) Собственно ответ - в Вашем вопросе: наверное, так и делается.
|
|
|
|
|
Jan 14 2009, 13:30
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 14-01-09
Пользователь №: 43 345

|
Цитата(Палыч @ Jan 14 2009, 15:52)  По счету, т.е. по номеру байта в пакете... Чтобы не было рассинхронизации, обычно "дрыгают" ногой SS (Slave Select, ещё может называться "Выбор микросхемы"): при выборе слейва счетчик байт пакета, обычно, сбрасывается, и пакет передаётся с первого байта... Да вот похоже что не дергает ss, я переключал режим и момент перехода был четким- т.е. заканчивался один пакет и только тогда начинался начинался другой. Разрывов пакета я пока не наблюдал... (но не факт что их не бывает) Вот может мне кто помочь проанализировать пакеты: 1 2 3 4 5 6 1 пакет: 00101001 00010000 00010010 01001101 00000000 11101000 2 пакет: 00111001 00010000 00010010 01001101 00000000 11011000 3 пакет: 00101001 00010000 00010010 01000101 00000000 11110000 (похоже что передается младшим битом вперед) тут меняются биты первой посылки, и последней. Первая посылка- реальная информация дисплея, последняя посылка ничему не соответствует, но изменяется. 2,3,4,5 посылки так же несут полезную информацию на дисплей. Является ли последняя посылка контрольной суммой предыдущих пяти или осуществляет выборку только пары-тройки постоянных бит из пяти посылок и отображает их контрольную сумму?
Сообщение отредактировал Alexeus - Jan 14 2009, 13:43
|
|
|
|
Сообщений в этой теме
Alexeus SPI интерфейс мк-мк, но как устроен протокол? Jan 14 2009, 12:16  Палыч Цитата(Alexeus @ Jan 14 2009, 16:30) Явля... Jan 15 2009, 11:10   Alexeus Цитата(Палыч @ Jan 15 2009, 14:10) Возмож... Jan 15 2009, 11:42    Палыч Цитата(Alexeus @ Jan 15 2009, 14:42) судя... Jan 15 2009, 12:37     Alexeus Я и сам придерживаюсь такой идеологии, что если чт... Jan 15 2009, 13:32 Cyber_RAT а какая собственно машина? и какой там протокол? а... Jan 15 2009, 07:28 Alexeus Цитата(Cyber_RAT @ Jan 15 2009, 10:28) а ... Jan 15 2009, 07:48 Alexeus Циклично передается пакет с информацией из 48 бит ... Jan 15 2009, 09:35 Палыч Поскольку последовательность - циклическая, то я б... Jan 15 2009, 10:21  Alexeus Цитата(Палыч @ Jan 15 2009, 13:21) Поскол... Jan 15 2009, 11:06 Палыч Цитата(Alexeus @ Jan 15 2009, 12:35) Как ... Jan 15 2009, 11:16 Alexandr В любом случае придется слушать линию и ждать байт... Jan 15 2009, 10:43 Alexeus Цитата(Alexandr @ Jan 15 2009, 13:43) В л... Jan 15 2009, 11:29  Палыч Цитата(Alexeus @ Jan 15 2009, 14:29) Алек... Jan 15 2009, 11:52 Alexandr Alexeus все достаточно просто. Так как вы предложи... Jan 15 2009, 12:46 Alexeus Палыч, Александр, спасибо, действительно, опираясь... Jan 15 2009, 12:52  Палыч Цитата(Alexeus @ Jan 15 2009, 15:52) всег... Jan 15 2009, 12:58
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|