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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Перестала шиться Мега128
Andrey M
сообщение Jun 11 2007, 16:16
Сообщение #16





Группа: Новичок
Сообщений: 7
Регистрация: 11-04-07
Пользователь №: 26 962



Сегодня сходил на работу, воспользовался осциллографом и решил проблему - мега живая и нормально шьется.
Оказалось что неудачно разработали схему устройства. На UART0 заложили оптоизолированный драйвер RS485 (MAX1480) - при программировании все ноги меги отключаются и драйвер переключается на передачу. Сам драйвер тоже какой-то кривой - в режиме передачи приемник не отключается! Получилось что сигнал MISO дублировался на линию MOSI! Отсюда и все проблемы.
До этого устройство нормально шилось оттого что в схеме была еще одна ошибка - у MAX1480 выход приемника (/RO) инверсный и у меня не принимались данные, а когда я поставил инвертор обмен данными пошел, а мега шиться перестала! Но опять не понятно, ведь сигнал MISO тоже дублировался на линию MOSI, правда с инверсией!?
И кстати после этой разработки никому не советую использовать MAX1480, столько проблем в одном месте я еще не встречал! Лучше использовать связку DC-DC преобразователь (типа P6KU-0505) и драйвер ADM2483.
Go to the top of the page
 
+Quote Post
Pyku_He_oTTyda
сообщение Jun 11 2007, 18:10
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 751
Регистрация: 4-08-05
Из: Великие Луки
Пользователь №: 7 360



Цитата
И кстати после этой разработки никому не советую использовать MAX1480, столько проблем в одном месте я еще не встречал!

какие именно? Мы используем и не встречали проблем


--------------------
Андрей Смирнов
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 11 2007, 19:59
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Andrey M @ Jun 11 2007, 19:16) *
...И кстати после этой разработки никому не советую использовать MAX1480, столько проблем в одном месте я еще не встречал! Лучше использовать связку DC-DC преобразователь (типа P6KU-0505) и драйвер ADM2483.

Оно может и лучше, только Вы свои ошибки на драйвер не сваливайте. В таких случаях обычно используется развязка на резисторах, снимающая подобные проблемы.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jun 11 2007, 20:05
Сообщение #19


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Andrey M @ Jun 11 2007, 18:16) *
Но опять не понятно, ведь сигнал MISO тоже дублировался на линию MOSI, правда с инверсией!?
Ну, значит, у MAX1480 выход относительно слабый и шинник адаптера его пересилил. А у инвертора выход посильнее и результат драки стал слабопредсказуемым. Если бы между выходом приёмника MAX1480 и точкой "вход RxD меги + сигнал MOSI колодки программирования" был врезан резистор (скажем, 1к или там 4.7к - что всё равно в схеме есть) - проблем с программированием не было бы вообще.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Andrey M
сообщение Jun 12 2007, 08:24
Сообщение #20





Группа: Новичок
Сообщений: 7
Регистрация: 11-04-07
Пользователь №: 26 962



Цитата(Pyku_He_oTTyda @ Jun 11 2007, 21:10) *
какие именно? Мы используем и не встречали проблем


Ну давайте считать:
1. в режиме передачи приемник не отключается - что передает, то и принимает
2. выход приемника инверсный - нужен инвертор, да и судя по пдф-ке еще и по входам требуются повторители
3. шесть резисторов обвязки, плюс инвертор, плюс развязка на резисторах и прочие меры по обеспечению возможности программирования и плюс корпус DIP28 - в результате драйвер RS485 занимает пол-платы
Go to the top of the page
 
+Quote Post
SunnyDevil
сообщение Jun 12 2007, 09:57
Сообщение #21


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

Группа: Участник
Сообщений: 108
Регистрация: 15-05-07
Пользователь №: 27 742



Цитата(Andrey M @ Jun 12 2007, 11:24) *
Ну давайте считать:
1. в режиме передачи приемник не отключается - что передает, то и принимает

А должно быть по другому?

In the idle state, both transmitters are disabled, while all receivers in the system are enabled. If any device on the system has information for any other device, it starts sending its data onto the bus. Each data transmission on the bus retriggers the one-shot, keeping the sending transmitter enabled until there are no more transmissions. All receivers receive all data; if this is undesirable, the protocol must allow for an address field so receivers can ignore data not directed to them.

+ вся внутренняя схема разрисована и такое поведение весьма прозрачно прослеживается.

Цитата(Andrey M @ Jun 12 2007, 11:24) *
2. выход приемника инверсный - нужен инвертор, да и судя по пдф-ке еще и по входам требуются повторители


Судя по ПДФ-ке можно взять MAX1490 где выход не инверсный, а повторители показаны условно для отображения следующей информации:
The MAX1480A/MAX1480B/MAX1480C/MAX1490A/MAX1490B typically withstand 1600VRMS (1 minute) or
2000VRMS (1 second). The logic inputs can be driven from TTL/CMOS-logic with a series resistor, and the
received data output can directly drive TTL or CMOS logic families with only resistive pullup.
Посему есди у вас микрокотнроллер ТТЛ или КМОП, то тяните напрямую без повторителей.

Цитата(Andrey M @ Jun 12 2007, 11:24) *
3. шесть резисторов обвязки, плюс инвертор, плюс развязка на резисторах и прочие меры по обеспечению возможности программирования и плюс корпус DIP28 - в результате драйвер RS485 занимает пол-платы


Шесть резисторов это как-бы немного. Зато получаете в одном флаконе изолированый 485 + DC/DC. А можно резисторную сборочку поставить и вообще проблем не будет: 2 SMD компонента. Единственное что с размерами корпуса соглашусь, да великоват, но это ведь не проблема, почему же вы сразу не использовали "связку DC-DC преобразователь (типа P6KU-0505) и драйвер ADM2483"? Наверное вопрос в цене или в томже самом месте не плате?

Вывод: RTFM перед тем как что то делать.
Go to the top of the page
 
+Quote Post
GDI
сообщение Jun 13 2007, 11:11
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата
И кстати после этой разработки никому не советую использовать MAX1480, столько проблем в одном месте я еще не встречал! Лучше использовать связку DC-DC преобразователь (типа P6KU-0505) и драйвер ADM2483.
Согласен, могу добавить что помимо габаритов последняя связка дешевле и ещё вместо ADM2483 отлично встаёт MAX485 или совместимый, если нужно отказаться от опторазвязки, используются при этом по 4 средних пада с каждой стороны(которые разводились для ADM2483).


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post

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

 


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


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