Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Ну а линию SO включает тот, кто свой адрес опознал, до конца сеанса обмена с ним. Остальные слушают, мотают на ус, и пропускают этот сеанс с выключенным SO.
Отправлено
SM
26 июля 2007 г. 16:06
В ответ на:
Сделайте байт-стаффинг, что-то навроде SLIP, затем после "старт"-а адресный байт, кому пакет. Делов то всего ничего.
отправлено SM 26 июля 2007 г. 16:05
Составить ответ
|
Вернуться на конференцию
Ответы
Большое всем спасибо за ответы! Вы мне очень помогли. Собственно, у меня была мысль переводить MISO слейвов с другими адресами на вход, но я не знал, получится ли. Еще раз всем большое спасибо!
—
Fidoshnik
(26.07.2007 16:23:18
217.144.66.6
,
пустое
)
Только учти что у SPI помехозащищенность и так не очень, а с ветвистой шиной станет еще хуже
—
~ВМФ~
(26.07.2007 17:25:47
195.170.224.107
, 112 байт)
Максимальная длина шлейфа - не более 30 см. От мастера до последнего слейва. Стоит опасаться помех? Источников помех рядом нет.
—
Fidoshnik
(26.07.2007 17:31:28
217.144.66.6
,
пустое
)
а от шлейфа до пина. При твоих скоростях я бы уарт юзал.
—
~ВМФ~
(26.07.2007 18:01:21
195.170.224.107
, 287 байт)
От шлейфа до пина - милиметров 20. Не более. Насчет УАРТ-а - к сожалению, надо делать на SPI. Хотя думаю УАРТ был бы предпочтительнее.
—
Fidoshnik
(26.07.2007 18:08:26
217.144.66.6
,
пустое
)
Не надо переводить!!!! Надо слушать обмен от мастера. Т.е. когда мастер сказал - "конец" - все ждут нового начала.
—
SM
(26.07.2007 16:29:57
85.21.237.237
,
пустое
)
Насколько я понимаю, SPI во время приёма байта обязан что то передавать. В таком случае, "лишние" слейвы будут мешать мастеру слушать ответ "нужного" слейва. Вот тут то и возникает мысль отключить выходы "ненужных" слейвов, что бы они не мешали разговору.
—
Fidoshnik
(26.07.2007 16:34:16
217.144.66.6
,
пустое
)
Переключите пин MISO на вход, на функцию GPIO, отключив его нахрен вообще от SPI.
—
SM
(26.07.2007 16:52:14
85.21.237.237
,
пустое
)
Вы имеете в виду соответствующим битом DDRB переключить MISO на вход? Если да, то именно этот вариант я и имел в виду.
—
Fidoshnik
(26.07.2007 17:23:49
217.144.66.6
,
пустое
)
Ну есть там наверное возможность отключить функцию MISO на пине, сам пин на вход, а по приеме своего адреса включить
—
vvv
(26.07.2007 16:45:57
82.166.249.55
,
пустое
)
Именно этот вариант я и мел в виду: при "прослушке" SPI отключать MISO слейвов, а при опознании своего адреса - включать. Остальные слейвы при этом продолжают слушать.
—
Fidoshnik
(26.07.2007 16:51:31
217.144.66.6
,
пустое
)
Эта прослушка да еще на 4Мбод, как ниже предлагалось дороговато по времени 16МГц Меге может обойтись: )
—
Щ.C.
(26.07.2007 16:18:35
144.206.186.102
,
пустое
)
Да там слушать просто очень. Не надо весь протокол разгребать, а только начала, адрес и концы ловить.
—
SM
(26.07.2007 16:30:41
85.21.237.237
,
пустое
)
Я не говорю, что этот метод невозможен. Он просто неэффективен, по сравнению с применением аппарата UART.
—
Щ.C.
(26.07.2007 16:41:29
144.206.186.102
,
пустое
)
Ага, а уарт на 4 мбод эффективен. Ну-ну.
—
SM
(26.07.2007 16:53:17
85.21.237.237
,
пустое
)
Во-первых, коллеге всего ~10Кбод нужно. Во-вторых, UART вообще не будет прерывать программу на посылках данных (не адресов), если они к данному узлу отношения не имеют.
—
Щ.C.
(26.07.2007 17:06:11
144.206.186.102
,
пустое
)
Уарт асинхронный, на больших скоростях его рекомендовать к применению - это непрофессионально. Если уж делать асинхронное на мегабитах, то с восстановлением битовой скорости из битового потока, а это совсем другая тема. Ну а для 10 кбод согласен, уарт отличное решение, но и SPI ничем не хуже, эти прерывания не будут заметны.
—
SM
(26.07.2007 17:09:4
85.21.237.237
,
пустое
)
У меня максимум 1 кб в секунду, а реально думаю байт 100 будет. Так что, всё будет нормально. :)
—
Fidoshnik
(26.07.2007 16:25:57
217.144.66.6
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите шесть пополам:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru