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

 
 
> I2c мастер на Virtex2 Pro, об использовании двунаправленных портов
ig_f
сообщение Oct 25 2013, 06:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 18-11-11
Пользователь №: 68 381



Доброго времени суток.

Начну из далека: есть камера которая подключается к к отладочной плате c VirtexII Pro, управление - I2C. На плисине надо организовать мастера. Входной сигнал на камеру должон быть 5В, на соответствующем выводе плис - 3.3В, поэтому подключено через полевик
Прикрепленное изображение


со стороны плис внешней подтяжки к 3.3В нет.

У меня возник вопрос: как организовать двунаправленный порт?
Первый вариант

Прикрепленное изображение


Здесь SDA сигнал подается на T_1 вход. Когда буфер в Z-состоянии - на выходе 1, которая поддерживает транзистор закрытым. 0 передается переходом буфера в режим передачи. При приеме нужно поддерживать Z-состояние.

Второй вариант

Прикрепленное изображение


Тут не использована внутренняя подтяжка, транзистор открывается и запирается если на IN_2 0 и 1 соответственно. При приеме нужно переключать буфер в Z.
Никогда не использовал двунаправленные порты... да и определенные проблемы со схемотехникой имеются, так что подскажите какой вариант лучше использовать? И вообще верно ли я мыслю?

Еще бы пригодилась информация о том как схемотехнически выглядит выходной порт ПЛИС при передаче.

заранее благодарю)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
XVR
сообщение Oct 25 2013, 10:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Во первых - I2C порт обязан быть портом с ОК, поэтому 2й вариант сразу можно отмести. Во вторых - для согласования 3/5В I2C применяют полевые транзисторы, но не в том включении, как у вас нарисованно. Смотрите тут
Go to the top of the page
 
+Quote Post
Shivers
сообщение Oct 25 2013, 10:39
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Можно организовать ОК иначе: снаружи повесить pullup на 5В, и вместо высокого уровня драйверить Z на выходе ПЛИС.

И еще, я бы проверил - 3.3в уровень может оказаться достаточным для работы с 5в периферией.
Go to the top of the page
 
+Quote Post
ig_f
сообщение Oct 25 2013, 11:22
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 18-11-11
Пользователь №: 68 381



Цитата
Во вторых - для согласования 3/5В I2C применяют полевые транзисторы, но не в том включении, как у вас нарисованно.

Эта схема не мое изобретение, а разработчиков мезонинной платы. На ней именно так транзисторы включены - все работает. Еще такое включение видел вот здесь. Если не сложно, можете пояснить отличие в функционировании вашей схемы от моей?
Что дает то, что на затворе тоже напряжение что и на стоке?
Какую роль выполняет транзистор с GREF, DREF, SREF? А то (повторюсь) с транзисторами плоховато wacko.gif .

2 Shivers

Повесить снаружи ничего нельзя - плата уже готовая, как есть). Уровень 3.3 с периферий непосредственно не работает, он лишь запирает транзистор, а стой стороны pullup 5В.
Go to the top of the page
 
+Quote Post
ig_f
сообщение Oct 25 2013, 12:57
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 18-11-11
Пользователь №: 68 381



Кстати, именно такая схема согласования (как на плате) рекомендована в I2C-BUS SPECIFICATION.
Go to the top of the page
 
+Quote Post

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

 


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


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