|
Засада с LPC24xx или Ошибки в описании?, Open-drain mode enabled/disabled??? |
|
|
|
Jun 24 2011, 06:18
|

Частый гость
 
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Jun 24 2011, 07:18
|

Частый гость
 
Группа: Свой
Сообщений: 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 самая последняя, произведен в этом году. Если необходимо могу выложить фотки с осциллографа. Проект ещё реализован не до конца. Ожидаю новых проблем.
|
|
|
|
|
Jun 24 2011, 07:23
|

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

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

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

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

Частый гость
 
Группа: Свой
Сообщений: 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%).
|
|
|
|
|
Jun 24 2011, 07:53
|

Частый гость
 
Группа: Свой
Сообщений: 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)  Это как? Поясните, пожалуйста. " и переключение направления." - Здесь Вы не правы.
|
|
|
|
|
Jun 24 2011, 08:07
|

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

|
Цитата(aaarrr @ Jun 24 2011, 12:01)  И в чем же именно? Электрически - одно и то же, с точки зрения программирования лучше выбрать именно такой способ, как заведомо более универсальный. Теперь согласн. Но направление не переключается. Просто выход переводится в 3-е состояние при лог-й 1. И способ ваш на мой взгляд не такой уж и надежный. Привожу схему входа выхода Atmel:
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 24 2011, 09:10
|
Гуру
     
Группа: Свой
Сообщений: 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: Я, конечно, ценю лаконичность, но не до такой же степени. Поясните свою мысль про надежность.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|