IIC/I2C/TWI и провод "Пружинка"

Вопрос и проблема интересные)

Есть два маленьких МК на одной плате и они будут слать инфу большому МК, который на другой плате, и в зависимости от этой инфы принимает решение что делать дальше.

Так вот плат две.
1 плата: один МК для обеспечения RFID и ещё один МК для емкостной клавиатуры. Соответственно первый шлёт ID карточки, второй шлёт код нажатой кнопки.
2 плата: МК главнюк. тут говорить нечего. Может слать инфу настройки для различных режимом работы МК.
Всё это дело питается от +3,3В
Между платами будет неизвестное расстояние.

Я так думаю что здесь вполне покатит мульти микроконтроллерный UART с режимом адресации.
Tx мелких МК к Rx большого МК и наоборот. Это два провода.
Питание +3,3В и земля. Ещё два провода.
поскольку проводов четыре то мне пришла мысль использовать провод пружинку в разъёмами. Как в современных телефонах что между трубкой и самим аппаратом.

Плюсы:
Разъёмы дешёвые и есть везде;
Провод распространённый и тоже везде есть;
Аккуратный вид;
Как Вы думаете через этот провод будет работать?
Почему дублирую тут в сообществе: множество грамотных и интересных людей которые могут подсказать решение той или иной проблемы почему то не любят форум :(

UPD:
Поговорил с заказчиком железяки (препод по диплому). он мне напомнил что там ещё будет bluetooth модуль. будем заказывать этот и только с этого магазина.
поскольку модуль только UART то преп мне предложил для остальных двух мк (tiny13 и tiny2313) использовать IIC.
насколько мне помниться там что-то 10кбит т.е. частота низкая.

вопросы:
1) провод «пружинка» годен для IIC али нет?
2) кто может подсказать нормальную библиотеку программного IIC для tiny13?
  • -1
  • 05 апреля 2012, 08:24
  • Arcanum

Комментарии (32)

RSS свернуть / развернуть
мне видятся три проблемы!
1) ненадежность контактов
2) слаботочность проводов(там всего 3-5 жилок(в лучшем случае а есть ещё порошковая хрень)
3) слишком близко они и не перевиты — rx будет на tx влиять

эти провода с большим сопротивлением… питание чтоб через них передавать — надо давать 12 а на ведомых — кренкой понижать… и прийдётся поиграть со скоростью… но думаю 115200 потянет… больше навряд :)
лучше витую пару… разьёмы(мамы) такие же по цене( можно повыдирать с дохлых сетевух), провода мощные, перевитые между собой… одно удовольствие
+1
но думаю 115200 потянет
UART на скорости 9600 хватит за глаза. кнопку нажать — прошло полсекунды — ещё раз кнопку нажать.
а для RFID там только ID послать и всё. навряд ли будет более одной пятой секунды посылка)
(хотя как соберу то переберу все возможные скорости для интереса)
значит: разъёмы (что мама что папа) те-же что и у телефонов а вот вместо пружинки — витуха.
0
Я нифига не грамотный, но есть в квартире своей опыт: для связи модулей в «умном доме» использую самый дешевый, что смог найти, телефонный кабель. Брал целую бухту (метров на 100 вроде), от нее еще много осталось.
Сразу как притащил эту бухту домой — провел эксперимент — соединил два модуля прямо всей этой бухтой, то есть все 100 метров, и ничего — завелось. Ну правда там я только данные передавал, без питания.
А так сейчас длинна проводов доходит до 10-15 метров, при этом как раз rx|tx|+|- правда у меня 5 вольт… Так вот, работает, хотя провод протянут черти где, и через стены проходит, и рядом с розетками. На какой скорости? Гм, емнип, до 115200 действительно все нормально. Ну а про 9600 и говорить нечего — пашет без проблем.
Мне вот больше тоже кажется, что питание слишком просесть может, если сильно длинные провода будут. Тем более, что у вас всего 3,3 вольта…
В общем, кмк, взять да попробовать.
0
1. По поводу питания
Подавать на целевые устройства питание от главного нужно заведомо большее, чем необходимо (при наличии помех и большого расстояния). С увеличением расстояния между модулями, думаю проседание будет. Хорошую идею подсказали по поводу 5В.
2. По поводу USART
Я бы использовал RS-485. Помехозащищен, работает на больших расстояниях и т.д.

Из минусов: необходимы преобразователи для RS485 и LDO для питания при 5В. Давно не работал с 485, может сеййчас нормальные преодразователи, но возможно придется учитывать сопротивление линии(или как оно там называется… нагрузочное сопротивление или баластное или заглушка, точно не помню).
Сугубо мое мнение, не претендую…
0
Я бы использовал RS-485.
Поддерживаю.
0
А какова вообще длина провода? На малых растояниях должно работать нормально.
vvzvlad кстати ругался на эти разъемы. Не помню только почему — вроде из-за отламывающейся защелки.
Алсо, опять по МК на каждый чих?) И сенсорную клаву, если в ней больше пятка кнопок, есть смысл делать на основе QTouch (он же QMatrix).
0
  • avatar
  • Vga
  • 05 апреля 2012, 11:53
сенсорная клава 0-9 и enter
расстояние — хз. от 5см до 1.5м как максимум.
потупила мысль использовать витую пару. если шо…
0
Для такой клавы разумно подумать в сторону QTouch.
0
плата раз:
сенсорные кнопки и плоская антенна. то есть голый текстолит с дорожками
плата два:
Мк на RFID.
МК на сенсорную клаву.
Плата три: МК главнюк, SD карточка, RTC, Bluetooth
и прочие радости…
ещё прога на комп чтобы через BT лазить на SD
0
Не много побухчу.
Под контактом «пружинка» имеется ввиду разъем (RJ-11) или в народе джек? Если так, то почему бы не написать.
Правда, касательно разъемов между трубкой и аппаратом, название не устоялось, но не пружинка.
0
Под «пружинкой» автор подразумевает соединительный провод между телефонным апаратом и трубкой. Он по внешнему вижу на пружину походит.
0
ИМЕННО!
… его я имел ввиду!
0
Спасибо, я думал про разъемы, а не провод, но «пружинка» все таки как то по простонародному, может он витой наз. или еще как-то, надо по поискать.
0
По прайсам, чаще спиральным называют.
0
Такой телефонный провод с RJ-11 без проблем работает на расстоянии 20м. на скорости 38400 в условии сильных помех. А отламывающийся фиксатор — это очень часто его нужно подключать-отключать, да и обжать новый коннектор труда не составит.
0
  • avatar
  • Dem
  • 05 апреля 2012, 14:10
Зависит от качества. У иных китайцев отлетает при первом включении (многда и того раньше). А один раз у меня и у гнезда фиксатор выломался (правда, у 8P8C).
0
Спасибо за маркировку!
+me, нервно хихикая, пошёл ваять платку в eagle
0
пардоньте — ввёл в ана...заблуждение!
не RJ-11 — там всего два проводника… как он называется когда их четыре
0
RJ-11 вроде некорректное название. Лучше использовать 6P2C или 6P4C. Первая цифра — количество место под контакты в разъеме, вторая — количество реально установленных контактов, т.е. первый из них с двумя контактами, второй с четырьям, но размеров оба одинаковых и имеют места для шести контактов.
0
Собсно, это название расшифровывается как «6 Positions 4 Contacts».
0
YAPPI!
значит мне адо на 4 контакта. 6P4C
кстати гляньте в тему
по «пружинке» значит UART заработает.
а как быть с питанием? через провод +5в а на МК понизить?
0
На полутора метрах, если не жрать амперами, можно сразу требуемое напряжение передавать.
0
в простонародье они называются вроде RJ-12. А вообще — как Vga ниже написал
0
На вики тоже к консенсусу по наименованиями прийти не могут, но вроде 6P4C- RJ-14.
0
апгрейд. меня препод остудил и попросил онанизмом ерундой не заниматься. пружинку он одобрил. а вот как я это сделаю — я студент то я и думаю.
вот и додумался до оставшегося мультипроцессорного интерфейса. но вот только меня смущают частоты на которых он работает — его потянет «пружинка» или нет?
0
попросил онанизмом ерундой не заниматься
Каким именно?

I2C внутриплатный интерфейс, на полутора метрах провода он уже может заглючить. К тому же, он довольно чувствителен к помехам и при определенных (и не таких уж редких) условиях ведомые девайсы могут просто зависнуть.
0
Ну, у нас I2C работает на расстоянии никак не менее 50 метров (длина кабеля до дальнего конца, но кабель для полноты счатья ещё и разветвлённый), на кабеле гроздями свисает около 70 ведомых устройств. Работает всё это счастье в далеко не идеальных электромагнитных условиях (в непосредственной близи от них искрят мощные 40-вольтные девайсы, которые с ведомыми I2C-шными развязаны только через трансформаторы, и страшно подумать, что могут туда понаводить). Но, тем не менее, работает система вполне чОтко!
0
Какой-то у вас неправильный I2C. И еще менее правильная система)
0
как по мне, так и2ц на пружинке это и есть ананизм. VGA тут прав. и2ц это внутриплатный интерфейс, который не всегда и на большой плате стабиль работает. тем паче, что у и2ц аграничение по скорости, емкости и еще хер знает по чем.если уж на то пошла, то спи будет получше, хотя тож не айс.
0
Для дальнобойного общения еще 1-wire есть. Но у него свои недостаки)
0
Нашел ответ насчет уарта в форуме. В качестве решения можно заюзать МК с несколькими UART'ами, например STM32)
0
RJ-11 это розетка для коннектора 4P4C, в телефонах используется для подключения трубки, RJ-12 — розетка для 6PxC, бывают на 2, 4, 6 вставленных контактов. RJ-45 для 8Р8С. По крайней мере я их так заказывал, приходили нужные. Контакты довольно легко добавляются, удаляются при необходимости. В маркировке розеток есть еще буквы, обозначают расположение и тип выводов, вот на этом довольно легко можно ошибиться и получить немного не то, что нужно, такое было :)
0
  • avatar
  • Dem
  • 06 апреля 2012, 22:07
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.