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

 
 
 
Reply to this topicStart new topic
> Третье состояние
Pavel_Bor
сообщение May 13 2010, 15:12
Сообщение #1


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

Группа: Участник
Сообщений: 115
Регистрация: 15-04-10
Из: Украина
Пользователь №: 56 660



Доброго времени суток! Столкнулся с вопросом о третьем состояние выходных ножек контроллера. Подскажите пожалуйста как установить ножки в третье состояние.

PS:
Задача состоит в том что 2 одинаковых контроллера включены на общую шину и должны работать по очереди. Если будут работать 2 одновременно сигнал не получится.
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение May 13 2010, 15:23
Сообщение #2





Guests






TRIS=0 - Выходной дравер порта подключен. Можно программно выставить состояния или 0 или 1.
TRIS=1 - Выходной драйвер порта отключен. Нельзя программно ничего выставить. Третье состояние.
Go to the top of the page
 
+Quote Post
Pavel_Bor
сообщение May 13 2010, 16:01
Сообщение #3


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

Группа: Участник
Сообщений: 115
Регистрация: 15-04-10
Из: Украина
Пользователь №: 56 660



а выходной сигнал в данном случае будет виден как обрыв? или как 1 или 0?
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение May 13 2010, 16:43
Сообщение #4





Guests






Цитата
а выходной сигнал в данном случае будет виден как обрыв? или как 1 или 0?

Виден где? Имеется ввиду напряжение непосредственно на ноге, как я понял? Оно будет определяться теми внешними цепями, что к ней подключены. "Подтяжками", например... Если оставите "болтаться в воздухе", то будет определяться всякими наводками. Будет непонятно какой, "плавающий потенциал" в пределах примерно от -0,5В до Vdd+0,5В... Входное сопротивление в третьем состоянии очень высокое - порядка мегаом, т.е. разрыв (обрыв) цепи по Вашей терминалогии, хотя это не совсем правильно. Входы порта (аналоговые и цифровые) в третьем состоянии продолжают работать. Т.е. "прочитать" из PIC-а что делается на ножке - можете всегда. По цифровому входу - прочитаете либо 0, либо 1, в зависимости от напряжения. По аналоговому, через АЦП, можете измерить реальное текущее напряжение.
Go to the top of the page
 
+Quote Post
Pavel_Bor
сообщение May 14 2010, 06:08
Сообщение #5


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

Группа: Участник
Сообщений: 115
Регистрация: 15-04-10
Из: Украина
Пользователь №: 56 660



PIC24FJ64GA002. При высоком уровне напряжение на выходной ножке - 3В. Для работы остальных элементов схемы, подключенных к выходам контроллера необходимо напряжение - 5 В и 9 В. Как лучше сделать переход?
Слышал что из третьего состояния перейти на 9В легко, вот только не знаю как...

Сообщение отредактировал Pavel_Bor - May 14 2010, 06:10
Go to the top of the page
 
+Quote Post
Марк_Я
сообщение May 26 2010, 04:44
Сообщение #6


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

Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656



Можно только на пять вольт. И то по пинам с открытым стоком. Если эмулировать открытый сток третим состоянием и подключить подтяжку выше питания МК+0,3 вольта, то откроются верхние защитные диоды выхода и подтяжка либо сядет до питания МК, либо (при малом сопротивлении резистора подтяжки) произойдет паразитная запитка МК от источника напряжения подтяжки. С летальным для МК исходом...
Так что на 9 вольт через ключ, онли...
Go to the top of the page
 
+Quote Post
inki-sasha
сообщение May 26 2010, 08:09
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 15-06-07
Из: Змиев
Пользователь №: 28 457



Пробовал подтягивать ноги к 5в для PIC24FJ64GA004 получается только с определенными выводами которые не имеют аналоговые функции.
К примеру:
// Цепь: DAT1, Переменная: --
#define DAT1_OD ODCBbits.ODB3
#define DAT1_IO LATBbits.LATB3
#define DAT1_TRIS TRISBbits.TRISB3
#define DAT1_PORT PORTBbits.RB3

// Цепь: DAT2, Переменная: --
#define DAT2_OD ODCBbits.ODB2
#define DAT2_IO LATBbits.LATB2
#define DAT2_TRIS TRISBbits.TRISB2
#define DAT2_PORT PORTBbits.RB2

// Цепь: DAT3, Переменная: --
#define DAT3_OD ODCAbits.ODA1
#define DAT3_IO LATAbits.LATA1
#define DAT3_TRIS TRISAbits.TRISA1
#define DAT3_PORT PORTAbits.RA1

// Цепь: DAT4, Переменная: --
#define DAT4_OD ODCAbits.ODA0
#define DAT4_IO LATAbits.LATA0
#define DAT4_TRIS TRISAbits.TRISA0
#define DAT4_PORT PORTAbits.RA0

// Цепь: DAT5, Переменная: --
#define DAT5_OD ODCAbits.ODA7
#define DAT5_IO LATAbits.LATA7
#define DAT5_TRIS TRISAbits.TRISA7
#define DAT5_PORT PORTAbits.RA7

// Цепь: DAT6, Переменная: --
#define DAT6_OD ODCAbits.ODA10
#define DAT6_IO LATAbits.LATA10
#define DAT6_TRIS TRISAbits.TRISA10
#define DAT6_PORT PORTAbits.RA10

идет инициализация 6 линий для работы с открытым коллектором и поддяжкой выводов к 5в
в данной конфигурации сработали только линии DAT5, DAT6 так как выводи RA7 , RA10 не имеют аналоговой функции
Go to the top of the page
 
+Quote Post

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

 


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


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