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

 
 
> AVR и ADM485, правильное использование линий RE#, DE
korobov_michael
сообщение Dec 18 2008, 21:43
Сообщение #1


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

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Добрый день.
Суть вопроса в следующем. Работаю с 485 интерфейсом. Линии RE#, DE соединены вместе, контроллер управляет этой парой ножек. Когда я перевожу ножку контроллера из 0 в 1 (т.е. перевожу ADM485 из приемника в передатчик), то по УАРТу получаю прерывание по приходу символа (обычно это 0). Обойти решил изуверским способом. Перед переключением ПРМ->ПРД запретить приемник (RXEN = 0). Но чую, что что-то неправильно. Кто-нибудь сталкивался с подобным? Подскажите, как бороться с проблемой?

P.S. Еще слышал решение (в документации на FTDI232BL), что можно линию DE устанавливать в 1 на время передачи, после чего снимать, а линию RE# держать все время в нуле. При это на линию RxD контроллера заводить логическое ИЛИ от сигнала RO и DE. Практикуется ли подобное и является ли такое решение более правильным?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Dec 18 2008, 22:44
Сообщение #2


Гуру
******

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



Цитата(korobov_michael @ Dec 19 2008, 00:43) *
Линии RE#, DE соединены вместе, контроллер управляет этой парой ножек. Когда я перевожу ножку контроллера из 0 в 1 (т.е. перевожу ADM485 из приемника в передатчик), то по УАРТу получаю прерывание по приходу символа (обычно это 0). Обойти решил изуверским способом. Перед переключением ПРМ->ПРД запретить приемник (RXEN = 0). Но чую, что что-то неправильно. Кто-нибудь сталкивался с подобным? Подскажите, как бороться с проблемой?

Повесьте pull-up резистор на RXD - линия повисает в воздухе, если nRE = 1.

Цитата(korobov_michael @ Dec 19 2008, 00:43) *
P.S. Еще слышал решение (в документации на FTDI232BL), что можно линию DE устанавливать в 1 на время передачи, после чего снимать, а линию RE# держать все время в нуле.

Правильное решение...

Цитата(korobov_michael @ Dec 19 2008, 00:43) *
При это на линию RxD контроллера заводить логическое ИЛИ от сигнала RO и DE. Практикуется ли подобное и является ли такое решение более правильным?

...а вот это лишнее: тогда лучше или pull-up, или фильтровать прием. Заодно можно и детектор конфликтов сделать.
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Dec 19 2008, 06:00
Сообщение #3


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

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Цитата(aaarrr @ Dec 19 2008, 00:44) *
Повесьте pull-up резистор на RXD - линия повисает в воздухе, если nRE = 1.

Я правильно понимаю, что если включен UART, то команда PORTE |= _BV(PE0) для включения подтяжки не будет работать? Т.е. нужен внешний pull-up?

Цитата(aaarrr @ Dec 19 2008, 00:44) *
Заодно можно и детектор конфликтов сделать.

Об этом даже не думал. Спасибо. Действительно ценная идея
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 19 2008, 09:23
Сообщение #4


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(korobov_michael @ Dec 19 2008, 09:00) *
Я правильно понимаю, что если включен UART, то команда PORTE |= _BV(PE0) для включения подтяжки не будет работать?
Будет. Только порт на ввод должен быть настроен. Продано несколько тысяч приборов - нареканий нет.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
korobov_michael
сообщение Dec 19 2008, 15:21
Сообщение #5


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

Группа: Свой
Сообщений: 118
Регистрация: 11-03-07
Из: Украина, Харьков
Пользователь №: 26 059



Цитата(demiurg_spb @ Dec 19 2008, 11:23) *
Будет. Только порт на ввод должен быть настроен.

Насколько я знаю, при включенном УАРТе ножка RxD автоматически настраивается на вход
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 19 2008, 15:36
Сообщение #6


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(korobov_michael @ Dec 19 2008, 18:21) *
Насколько я знаю, при включенном УАРТе ножка RxD автоматически настраивается на вход
А когда отключаете приёмник, что там будет Вы задумывлись?
Я думал что уарт состоит как-бы из двух частей, управляемых независимо через TXEN и RXEN...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- korobov_michael   AVR и ADM485   Dec 18 2008, 21:43
||- - aaarrr   Цитата(korobov_michael @ Dec 19 2008, 18...   Dec 19 2008, 15:49
||- - korobov_michael   Цитата(aaarrr @ Dec 19 2008, 17:49) Да, н...   Dec 19 2008, 20:20
||- - aaarrr   Цитата(korobov_michael @ Dec 19 2008, 23...   Dec 19 2008, 20:36
||- - demiurg_spb   Цитата(aaarrr @ Dec 19 2008, 23:36) Нет, ...   Dec 19 2008, 21:54
|- - swisst   Цитата(aaarrr @ Dec 19 2008, 00:44) Повес...   Dec 19 2008, 07:22
- - aaarrr   Цитата(korobov_michael @ Dec 19 2008, 09...   Dec 19 2008, 08:51
- - swisst   Цитата(aaarrr @ Dec 19 2008, 10:51) Работ...   Dec 19 2008, 12:22
- - defunct   Цитата(korobov_michael @ Dec 18 2008, 23...   Dec 19 2008, 23:47
|- - aaarrr   Цитата(defunct @ Dec 20 2008, 02:47) Можн...   Dec 20 2008, 08:50
||- - Dog Pawlowa   Цитата(aaarrr @ Dec 20 2008, 12:50) Хм, а...   Dec 20 2008, 10:35
|||- - korobov_michael   Цитата(Dog Pawlowa @ Dec 20 2008, 12:35) ...   Dec 20 2008, 13:14
||- - defunct   Цитата(aaarrr @ Dec 20 2008, 10:50) Хм, а...   Dec 20 2008, 23:39
|- - Baser   Цитата(defunct @ Dec 20 2008, 01:47) Пост...   Dec 20 2008, 15:03
- - Makki   Была у меня абсолютно такая же проблема. При выход...   Feb 6 2009, 02:50


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

 


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


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