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

 
 
> i2c устройства и smbus на одной шине. Реально?
demonizer
сообщение Aug 18 2010, 03:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-03-10
Пользователь №: 56 159



Приветствую всех.

Есть PIC18F2450, к нему по шине I2C подключены TNC75AV (датчик температуры) и 24LC16 (i2c флешпамять).
Я хочу дополнить систему контроллером вентилятора. Можно ли подружить эти устройства с smbus девайсом, например TI AMC6821?
Судя по документации самих девайсов различие в скорости быстродействия шин: i2c до 400 кГц, а smbus - максимально 100 кГц, а также во временных характеристиках захвата, освобождения шины.
Предполагаю что еще есть некие протокольные различия.
Есть у кого опыт такой коммутации? Реально заставить это работать, снизив общую частоту шины и есть ли такая возможность в PIC'e?


--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Deka
сообщение Aug 18 2010, 06:10
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 248
Регистрация: 18-07-06
Из: Сочи
Пользователь №: 18 890



Наверное лучше будет каким-то образом отключать лишние устройства от шины. Т.е. если шина работает в I2C надо запретить работать (отключить) девайсы SMBUS и наоборот. Скорость шины по идее должна выставлять мастером. Для PIC незнаю, а для тиньки скорость легко меняется настройками регистров.
Go to the top of the page
 
+Quote Post
demonizer
сообщение Aug 18 2010, 07:17
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 23-03-10
Пользователь №: 56 159



Цитата(Deka @ Aug 18 2010, 10:10) *
Наверное лучше будет каким-то образом отключать лишние устройства от шины. Т.е. если шина работает в I2C надо запретить работать (отключить) девайсы SMBUS и наоборот. Скорость шины по идее должна выставлять мастером. Для PIC незнаю, а для тиньки скорость легко меняется настройками регистров.



Как я вижу данную реализацию:
достаточно будет поставить два OR элемента на шины SCL и SDA, а на выходы логики повесить SMBUS устройство. Тогда подавая 1 на второй вход логики можно отключать SMBUS устройства, 0 соответственно будет разрешать работу. Думаю что отключать i2c устройства нет смысла, они не будут реагировать на чужой id девайса. Снижение частоты в PIC'e осуществляется через порты SPBRG и SPBRGH, управляющие делителем частоты EUSART интерфейса.

Но вот проблема в том что все выводы контроллера уже задействованы, и сделать разрешающий сигнал проблематично.

2 rezident:

спасибо за инфу. я видел этот документ, но просматривал мельком. а в памяти от старых источников отложилось, что частота I2C до 400 кГц. теперь буду знать.


--------------------
"Кто хочет работать — ищет средства, кто не хочет — причины"
Go to the top of the page
 
+Quote Post



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

 


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


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