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

 
 
> Как разумнее 8 датчиков I2C c одинаковым адресом подключить к atmega328p
iiv
сообщение Jan 12 2012, 23:12
Сообщение #1


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Всем привет,

посоветуйте, пожалуйста, САБЖ. Датчики на 1.8В, атмега на 5В, ног CS или переустановки адресов в датчиках нет, датчики идентичные, опрашивать их надо одновременно, или последовательно по циклу. Я вижу два выхода:

1) электронный ключ, например, как SN74CBT3251D на каждую SDA ногу датчиков и через выравниватель уровней на SDA атмеги, а SCL через выравниватель уровней на все датчики броадкастом, понятно дополнительно задействовать 3 ноги для выбора датчика по схеме SN74CBT3251D.

2) воткнуть 8 пинов через выравниватель уровней в каждую SDA ногу датчиков, SCL через выравниватель уровней на все датчики броадкастом.

В первом случае - вроде все просто, но схема сложнее, могу по габаритам не пролезть, большая вероятность ошибки в схеме, а мне желательно с первого раза иметь работающую версию.

Во втором случае - основной недостаток - мутить софтверный I2C. Есть ли он такой, можно ли так сделать? Я пока только через SDA/SCL эту шину реализовывал и софтверно не видел можно ли. Если такой софт есть, то склоняюсь ко второму варианту.

Ножек на оба варианта хватает, так как надо дополнительно только ком порт и 3 обычные ноги еще подключить.

Вдруг я что-то еще не учел, пожалуйста, посоветуйте!

Спасибо

ИИВ

Цитата(iiv @ Jan 13 2012, 04:26) *
2) воткнуть 8 пинов через выравниватель уровней в каждую SDA ногу датчиков, SCL через выравниватель уровней на все датчики броадкастом.

кажется, этот вариант отпадает, так как ведомый может удерживать уровень SCL, если данные не готовы... Остается первый вариант, если в нем нет каких-то еще подводных камней.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
stells
сообщение Jan 13 2012, 13:19
Сообщение #2


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



интересно, что за штука у Вас такая с восемью комплектами датчиков? sm.gif
Go to the top of the page
 
+Quote Post
iiv
сообщение Jan 13 2012, 14:17
Сообщение #3


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(stells @ Jan 13 2012, 19:19) *
интересно, что за штука у Вас такая с восемью комплектами датчиков? sm.gif

старая затея - прецизионная позиционировка.
Go to the top of the page
 
+Quote Post
iiv
сообщение Jun 4 2013, 08:08
Сообщение #4


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Всем привет,

решил не открывать новую тему, так как вопрос об этом же...

Сейчас все работает через PCA9548A (восьми портовый i2c разветвитель) на все 8 блоков моих датчиков, в каждом блоке сидит по lsm303 и l3g4200d, за что, выражаю всем преогромнейшую благодарность...

Но есть одно но... Скорость шины 400кГц, больше вроде бы нельзя. Трафик с датчиков таков, что я могу опрашивать только 70-80 запросов в секунду с каждого датчика. Так как суммарно у меня 24 датчика, каждый из которых посылает мне 6 байт, то один такой 6-ти байтный запрос "стоит" мне примерно 200 тиков по i2c шине, что в общем-то многовато, но, близко к пику (110 тиков).

Хочется это как-то ускорить...

Готов везде сделать напряжение 3.3В. Правильно ли я понимаю, что если я SCL одной ногой всем раздам, а SDA c каждого датчика повешу на свою контроллерную ногу, и запрограммирую софтверный i2c, то все должно работать? В этом случае, на 400КГц я смогу считывать все, что мне надо.

Меня интересует,

1. имеет ли право слейв i2c задерживать сигнал с SCL, например, в момент ack/nack или он только SDA сигнал имеет право задержать?
2. Хватит ли мощности не надо ли что-то еще сделать, чтобы раздать 1 сигнал с SCL на все 24 датчика?

Спасибо

ИИВ
Go to the top of the page
 
+Quote Post
stells
сообщение Nov 15 2017, 18:06
Сообщение #5


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(iiv @ Jun 4 2013, 12:08) *
в каждом блоке сидит по lsm303 и l3g4200d, за что, выражаю всем преогромнейшую благодарность...

мне бы тоже хотелось выразить кому-нибудь преогромнейшую благодарность, если бы он объяснил мне (дал ссылки), как с помощью lsm303 можно получить азимут и зенитный угол... причем самое главное - помочь смоделировать это в голове, потому как она абсолютно отказывается понять эту методу 1111493779.gif
Go to the top of the page
 
+Quote Post
AVStech
сообщение Jan 12 2018, 18:12
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 19-01-17
Пользователь №: 95 076



У меня вопрос по PCA9545A - можно им UARTы щёлкать?

ИЛИ

Есть что-то подходящее для UARTов?

Спасибо!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- iiv   Как разумнее 8 датчиков I2C c одинаковым адресом подключить к atmega328p   Jan 12 2012, 23:12
- - KARLSON   Если есть аппаратный I2C в контроллере, то лучше ч...   Jan 13 2012, 04:54
- - stells   а что если выводы SDA/SCL тех датчиков, которые в ...   Jan 13 2012, 05:19
- - Sergey_Aleksandrovi4   Однажды использовал PCA9545A - 4-х портовый трансл...   Jan 13 2012, 06:11
- - ILYAUL   Сами датчики обзавите , как нибудь , а лучше уж ср...   Jan 13 2012, 11:15
|- - iiv   Дорогие друзья, огромное спасибо за интересные сов...   Jan 13 2012, 12:15
|- - stells   Цитата(iiv @ Jan 13 2012, 16:15) Сейчас ч...   Jan 13 2012, 12:21
|- - iiv   Цитата(stells @ Jan 13 2012, 18:21) она ж...   Jan 13 2012, 12:40
- - stells   кстати, датчики Ваши питаются до 3,6В... может под...   Jan 13 2012, 12:44
|- - iiv   Цитата(stells @ Jan 13 2012, 18:44) кстат...   Jan 13 2012, 12:48
|- - stells   Цитата(iiv @ Jan 13 2012, 16:48) если у м...   Jan 13 2012, 12:54
|- - iiv   Цитата(stells @ Jan 13 2012, 18:54) с раз...   Jan 13 2012, 13:08
|- - aaarrr   Цитата(AVStech @ Jan 12 2018, 21:12) У ме...   Jan 12 2018, 18:39
||- - AVStech   Цитата(aaarrr @ Jan 12 2018, 21:39) Конеч...   Jan 12 2018, 18:43
||- - aaarrr   Цитата(AVStech @ Jan 12 2018, 21:43) Три ...   Jan 12 2018, 19:02
||- - AVStech   Цитата(aaarrr @ Jan 12 2018, 22:02) Поста...   Jan 12 2018, 19:28
|- - UncleHarry   Цитата(AVStech @ Jan 12 2018, 22:12) У ме...   Feb 6 2018, 18:28
- - arttab   можно мультиплексорами коммутировать датчики. до к...   Jun 4 2013, 08:23
- - iiv   Цитата(arttab @ Jun 4 2013, 13:23) можно ...   Jun 4 2013, 08:34
- - Elresearch   Цитата(iiv @ Jun 4 2013, 11:34) это не ин...   Feb 7 2018, 10:06


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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 16:39
Рейтинг@Mail.ru


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