|
I2C в AVR |
|
|
|
 |
Ответов
|
May 31 2010, 06:48
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата Но сейчас висит на основном процессоре десяток слейвов и уже прото неприлично выглядит выдача команд а потом опрос по кругу -- кто же готов, чтобы из него вынуть информацию и пнуть дальше. Шина постоянно занята тупым опросом. Какая-то ситуация не совсем логичная для I2C. Не понимаю , что мешает слейву , который готов отдать данные , назначить cебя мастером , захватить шину и передать данные. Пусть у Вас все будут слейвами , до тех пор пока они не готовы выдать информацию для остальных или основному процессору. Любое устройство ,с "мозгами", может быть мастером и слейвом и в зависимости от Вашей программы может работать в этих двух режимах. А если Ваш слейв , от которого требует мастер данные , просто не готов их ему дать  , занят он чем то другим? Причём может быть более важным  , чем общение с мастером. Мастер при этом вместо того что бы выполнять свою работу тупо ждёт получение данных от этого слейва  , когда , например, остальные уже готовы дать ему информацию и продолжить свою работу. Цитата А так -- нет никаих проблем в формате данных в пакетах с комадой "дай" завести поля "вот-это" и "вон-тому", причём "вон-тому" может и не совпадать с адресом того, кто выдал саму команду Вы посчитайте этот формат. И при этом посчитайте , что слейв должен отличать на шине команду ("дай" "вот-это" и "вон-тому" ) от просто данных , которые ему может посылать мастер. Поэтому нужен ещё и префикс , что идёт команда , а не данные. А в диапазоне 8 бит , очень сложно ( а практически невозможно) найти свободное число для префикса команды, т.к. любое число в одном байте можно интерпретировать как данные и как команду. Поэтому потребуется не один байт , а несколько , которые слейв "сложит" в понимание , что получает команду. И тут время опять удлиняется, слейв должен "расшифровать" , что он получает.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
May 31 2010, 21:33
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(ILYAUL @ May 31 2010, 09:48)  Какая-то ситуация не совсем логичная для I2C. Не понимаю , что мешает слейву , который готов отдать данные , назначить cебя мастером , захватить шину и передать данные. ... Вы посчитайте этот формат. И при этом посчитайте , что слейв должен отличать на шине команду ("дай" "вот-это" и "вон-тому" ) от просто данных , которые ему может посылать мастер. "Какое-то не совсем логичное" с Вами общение. Когда я говорю, что при наличии информации "бывший слейв" должен переключиться в мастера и передать, шина должна быть по сути write-only -- Вы мне объясняете, что тут возникают нюансы с форматами, что-то от чего-то отличать надо, разбираться с тем, кому и что передавать (так вроде бы я говорил, что это не нужно - у меня и сейчас слейвы принимают десяток команд с разными данными для них и пяток команд на формирование данных от них). А когда я говорю, что то, что сделано сейчас (полчилось в результате развития простой системы) мне надоело и я это собираюсь передалать на мультимастер -- вы пропускаете, что я собираюсь это делать и начинаете мне рассказывать, что слейв должен переключиться в мастера -- т.е. то, с чего я и начал в этой теме.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Jun 1 2010, 08:05
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(ReAl @ Jun 1 2010, 01:33)  "Какое-то не совсем логичное" с Вами общение.... А сейчас есть только то, к чему я склоняюсь в последнее время -- сделать всех "с мозгами" мастерами, превратить для них шину во write-only. Да, нет . Именно это мы и обсуждаем. Может не совсем понимаем друг друга. Я например не могу понять Вашу идею - мультимастер ( всех "с мозгами" мастерами), какой от этого существенный выигрыш? Вот , какие Вы видите (+) от такой организации шины? Поэтому и придерживаюсь , той точки зрения , что все слейвы и только при необходимости они становиться мастерами. Вот Вы пишите: Цитата Кстати, в заменителе системы с одним мастером _не_нужно_ выяснять -- кому же понадобились данные. Они понадобились "бывшему единственному мастеру" и его адрес может быть жёстко выделен на этапе проектирования системы. У меня при переделке так и будет -- пульт реально один. Т.е всё таки все данные собранные слейвами/мастерами в итоге предназначены только одному мастеру? P.S И уточните , плиз, у Вас программная или аппаратная реализация, тогда и по форматам вопросов не будет.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
Сообщений в этой теме
777777 I2C в AVR May 27 2010, 05:54 rezident Цитата(777777 @ May 27 2010, 11:54) Так з... May 27 2010, 17:16 777777 Цитата(rezident @ May 27 2010, 21:16) Ост... May 28 2010, 05:10  Kane Попробуйте ввести "команду", по которой ... May 28 2010, 06:48   Сергей Борщ Цитата(Kane @ May 28 2010, 09:48) Мастер ... May 28 2010, 09:02  rezident Цитата(777777 @ May 28 2010, 11:10) NAK в... May 28 2010, 14:31  ReAl Цитата(777777 @ May 28 2010, 08:10) А мне... May 29 2010, 20:53   777777 Цитата(ReAl @ May 30 2010, 00:53) Почему ... May 30 2010, 04:33    ReAl Цитата(777777 @ May 30 2010, 07:33) Да, я... May 30 2010, 19:04 ILYAUL Ваш slave работает в режиме "Ведомый передатч... May 28 2010, 21:32 777777 Как мило, оказывается модераторы перенесли тему в ... May 29 2010, 04:40 ILYAUL ЦитатаА вдруг FF будет среди байтов данных?
Я дума... May 29 2010, 16:46 ILYAUL ЦитатаНужно "нынешнему мастеру" что-то -... May 29 2010, 21:47 rezident 777777, почитайте спецификацию ACCESS.bus. Может ч... May 30 2010, 19:08 rezident Цитата(ILYAUL @ May 31 2010, 12:48) Поэто... May 31 2010, 15:30   ReAl Цитата(ILYAUL @ Jun 1 2010, 11:05) Я напр... Jun 1 2010, 09:07 defunct ReAl:
А Вы учитываете, что в Multimaster придется... Jun 2 2010, 20:33 ASDFG123 Подскажите по I2C интерфейсу в атмега 16, Нужно ... Jun 22 2013, 17:48 IF_P Цитата(ASDFG123 @ Jun 22 2013, 20:48) Под... Jul 9 2013, 09:58
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|