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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Засада с LPC24xx или Ошибки в описании?, Open-drain mode enabled/disabled???
Sanya_kv
сообщение Jun 24 2011, 06:18
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Появилась необходимость управлять 5 вольтовой логикой. Самое простое это задействовать выход открытым коллектором (Open-drain) с резистором на 5в. В кратком описании процессора (http://www.nxp.com/documents/data_sheet/LPC2468.pdf 14.5 "Standard I/O pin configuration") есть строчка ” Digital output driver: Open-drain mode enabled/disabled”, а как это сделать ни где не описано. До этого сидел на Atmel там ни каких проблем с этим нет(регистр PIO_MDER). Но в фирме решили экономить, пришлось выбрать что по дешевле. Выбрали NXP теперь жалею.
Но проблему 5в логики я всё же решил, правда через 5-ю точку:

Код
#define IO1_0     (1<<0)
//Инициализация
FIO1CLR = IO1_0;
PINMODE2 |= 2<<0;
FIO1DIR |= IO1_0;
//Логическая ”1”
FIO1DIR &= ~ IO1_0;
//Логический ”0”
FIO1DIR |= IO1_0

Кстати в описании на процессор LPC17xx. Тоже есть та же строчка, и для управления этой функцией есть регистр PINMODE_ODx.
Go to the top of the page
 
+Quote Post
bus16
сообщение Jun 24 2011, 06:36
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 78
Регистрация: 10-01-07
Пользователь №: 24 270



Pins P0[27] and P0[28] are open-drain for I2C0 and GPIO functionality
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 24 2011, 07:18
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата
Pins P0[27] and P0[28] are open-drain for I2C0 and GPIO functionality

Только 2 ножки. Кушайте наздоровье.

И еще камень в огород NXP (LPC24xx). Эта неправильная синхронизация интерфейса MIIM, данные на MDIO выставляются возрастающему фронту сигнала MDC, а не наоборот (Если смотреть на осциллографе, то это происходит одновременно ), Работает этот интерфейс только потому, что у трансиверов есть задержка на чтение. Я столкнулся с этим касиком, при отладке. Заметил, что в трансивер пишется не то, что в итоге читается (через раз). Проблема была отчасти в разводке (зарезались фронты на MDIO ).Проверял на LPC2468 и LPC2478, работает одинаково коряво. Решил проблему реализацией программного интерфейса.
Ревизия процессора LPC2468 самая последняя, произведен в этом году. Если необходимо могу выложить фотки с осциллографа.
Проект ещё реализован не до конца. Ожидаю новых проблем.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 24 2011, 07:20
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Sanya_kv @ Jun 24 2011, 10:18) *
Появилась необходимость управлять 5 вольтовой логикой. Самое простое это задействовать выход открытым коллектором (Open-drain) с резистором на 5в.

Зачем так сложно? Ваша 5В логика не воспринимает уровень 3,3В?
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 24 2011, 07:23
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(scifi @ Jun 24 2011, 11:20) *
Зачем так сложно? Ваша 5В логика не воспринимает уровень 3,3В?

Именно 3,5 порог логической 1.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 24 2011, 07:24
Сообщение #6


Гуру
******

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



Можно подумать, что у атмелов честный open drain есть. Наоборот, с ним возникают проблемы из-за включенных по умолчанию pull-up'ов.
А эмулировать OD не составляет труда на любом процессоре с 5V tolerant IO.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 24 2011, 07:30
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(aaarrr @ Jun 24 2011, 11:24) *
Можно подумать, что у атмелов честный open drain есть.

регистр PIO_MDER.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 24 2011, 07:34
Сообщение #8


Гуру
******

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



Цитата(Sanya_kv @ Jun 24 2011, 11:30) *
регистр PIO_MDER.

И что? Его использование ничем не отличается от эмуляции OD через выставление '0' на данные и переключение направления. Схему в мануале посмотрите.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jun 24 2011, 07:39
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Sanya_kv @ Jun 24 2011, 11:23) *
Именно 3,5 порог логической 1.

Семейство 74HCT имеет TTL-совместимые входы, они же совместимы с КМОП-3,3.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 24 2011, 07:43
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(aaarrr @ Jun 24 2011, 11:34) *
И что? Его использование ничем не отличается от эмуляции OD через выставление '0' на данные и переключение направления. Схему в мануале посмотрите.

Смотрю AT91SAM7S (12.2008) - 27.4 Functional Description. Figure 27-3. I/O Line Control Logic
Вы правы частично (50%).
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 24 2011, 07:46
Сообщение #11


Гуру
******

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



Цитата(Sanya_kv @ Jun 24 2011, 11:43) *
Вы правы частично (50%).

Это как? Поясните, пожалуйста.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 24 2011, 07:53
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(scifi @ Jun 24 2011, 11:39) *
Семейство 74HCT имеет TTL-совместимые входы, они же совместимы с КМОП-3,3.

Спасибо, проблему поздно обнаружил, вначале опирался на LPC17 , при разводке забили 24-е я предполагал, что там все тоже. В любом случае ошибка больше моя.
Из NXP ответили:
Цитата
This is not possible, it's a typo in the datasheet. The only real open drain outputs are the I2C pins.

Насчет MIIM пока молчат.


Цитата(aaarrr @ Jun 24 2011, 11:46) *
Это как? Поясните, пожалуйста.

" и переключение направления." - Здесь Вы не правы.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 24 2011, 08:01
Сообщение #13


Гуру
******

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



Цитата(Sanya_kv @ Jun 24 2011, 11:53) *
" и переключение направления." - Здесь Вы не правы.

И в чем же именно? Электрически - одно и то же, с точки зрения программирования лучше выбрать именно такой способ, как заведомо более универсальный.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Jun 24 2011, 08:07
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(aaarrr @ Jun 24 2011, 12:01) *
И в чем же именно? Электрически - одно и то же, с точки зрения программирования лучше выбрать именно такой способ, как заведомо более универсальный.

Теперь согласн.

Но направление не переключается.
Просто выход переводится в 3-е состояние при лог-й 1.
И способ ваш на мой взгляд не такой уж и надежный.
Привожу схему входа выхода Atmel:

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 24 2011, 09:10
Сообщение #15


Гуру
******

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



Цитата(Sanya_kv @ Jun 24 2011, 12:07) *
Но направление не переключается.
Просто выход переводится в 3-е состояние при лог-й 1.

Переключение направления и перевод в 3-е состояние - это одно и то же в данном случае.

Цитата(Sanya_kv @ Jun 24 2011, 12:07) *
И способ ваш на мой взгляд не такой уж и надежный.
Привожу схему входа выхода Atmel:

Я, конечно, ценю лаконичность, но не до такой же степени. Поясните свою мысль про надежность.
Go to the top of the page
 
+Quote Post

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

 


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


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