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

 
 
> I2C. Вопрос по физ. уровню
fredo
сообщение Apr 4 2008, 07:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Скажите а есть ли ограничения на длину шину? Возможна ли топология звезда?
Мне надо связать несколько несколько плат с atmegа8 с центральным контроллером, скорости думаю 10кбит хватит, какое возможно максимальное растояние между платами?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 12)
aaarrr
сообщение Apr 4 2008, 07:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Максимальное расстояние для I2C - десятки сантиметров. Топология "звезда" возможна: скорости не те, чтобы она как-то серьезно сказывалась.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 4 2008, 07:52
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(fredo @ Apr 4 2008, 10:10) *
Мне надо связать несколько несколько плат с atmegа8 с центральным контроллером
I2C не предназначен для межплатных соединений. Выберите более другой интерфейс.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
fredo
сообщение Apr 4 2008, 08:03
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Ну вобще расстояние между платами не большое сантиметров 20 максимум.
А можно ли тогда соеденить просто по UART'y ?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 4 2008, 08:13
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(fredo @ Apr 4 2008, 12:03) *
Ну вобще расстояние между платами не большое сантиметров 20 максимум.

ИМХО, если соединение в пределах одного корпуса, то можно использовать и I2C. Рекомендации по разводке можно посмотреть в спецификации.

Цитата(fredo @ Apr 4 2008, 12:03) *
А можно ли тогда соеденить просто по UART'y ?

Можно. И, наверное, проще будет.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 4 2008, 08:35
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Сергей Борщ @ Apr 4 2008, 10:52) *
I2C не предназначен для межплатных соединений.

I2C по жизни (всякая разная аппаратура начиная с бытовки типа телевизоров, и кончая, например известной тебе продукцией SAF ) используется и для внутриблочного обмена. Это нормально.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
fredo
сообщение Apr 4 2008, 09:27
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Цитата
Цитата
А можно ли тогда соеденить просто по UART'y ?


Можно. И, наверное, проще будет.


Тогда наверно так и поступлю. А то я думал UART только для внутриплатного соединения.
А тогда для моего случая какие будут ограничения на длину/скорость? Есть ли разница соединять звездой или шиной?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Apr 4 2008, 09:33
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Дык, а условия-то какие? Расстояние, количество устройств, помехи?
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 4 2008, 10:04
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(fredo @ Apr 4 2008, 13:10) *
Скажите а есть ли ограничения на длину шину?
Теоретически в спецификации I2C Bus ограничения на длину линии нет, поскольку I2C шина полностью статическая и скорость обмена может быть сколь угодно малой. Но! Общая емкость линии и входов подключенных к ней устройств не должна превышать 400пФ. Кроме того в зависимости от помеховой обстановки выбирается величина pull-up резисторов, которая тоже не может быть слишком маленькой и ограничена выходным током драйвера что-то порядка десятка мА. Точной цифры не помню, см. спецификацию по ссылке выше. Еще следует учитывать, что уровни входных напряжений I2C Bus соответствуют CMOS. VIL<=0.3*Vcc, VIH>=0.7*Vcc.
Цитата(fredo @ Apr 4 2008, 13:10) *
Возможна ли топология звезда?
Возможна.
Цитата(fredo @ Apr 4 2008, 13:10) *
Мне надо связать несколько несколько плат с atmegа8 с центральным контроллером, скорости думаю 10кбит хватит,
Если это будет внутриблочное соединение, то нормально. Для внешних соединений I2C не подходит.
Цитата(fredo @ Apr 4 2008, 13:10) *
какое возможно максимальное растояние между платами?
См. выше.
Go to the top of the page
 
+Quote Post
fredo
сообщение Apr 14 2008, 14:54
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-09-06
Пользователь №: 20 357



Цитата
Цитата
А можно ли тогда соеденить просто по UART'y ?


Можно. И, наверное, проще будет.


а вобще это нормальный режим для UARTA, когда один передатчик работает на несколько приемников? я так понимаю количество устройств будет ограничено только входным сопротивлением приемника?
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 14 2008, 16:13
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(fredo @ Apr 14 2008, 20:54) *
а вобще это нормальный режим для UARTA, когда один передатчик работает на несколько приемников?

Да, вполне нормально. Количество входов приемников ограничено только электрическими характеристиками устройств.
Цитата(fredo @ Apr 14 2008, 20:54) *
я так понимаю количество устройств будет ограничено только входным сопротивлением приемника?
Если расстояние между передатчиком и приемниками небольшое, то да, в основном ограничивается выходным током передатчика и входными токами приемников. Для больших расстояний нужно учитывать электрические параметры самой линии передачи и скорость распространения сигнала в ней.
Только ИМХО проблема у вас встанет не в количестве приемников, а в способе объединении выходов передатчиков на входе одного приемника. Кроме какой-то схемной реализации (мультиплексор или шифратор или схема монтажного ИЛИ) вам придется еще и протоколом с адресацией устройств озаботиться.
Go to the top of the page
 
+Quote Post
KAlex
сообщение Apr 20 2008, 08:22
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Может не в тему, но я сам очень удивлённый был.
Подключили моё устройство, по USB, шлангом на 50 метров. Работает!!!
Хотя по спецификации не более 5 метров?? !!
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Apr 20 2008, 09:25
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
Максимальное расстояние для I2C - десятки сантиметров.

не всегда
http://www.nxp.com/acrobat_download/applic...notes/AN452.pdf


--------------------
aka Vit
Go to the top of the page
 
+Quote Post

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

 


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


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