|
|
  |
Неадекватно ведет себя RS232 |
|
|
|
Oct 7 2011, 16:50
|

Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 23-03-11
Из: Россия
Пользователь №: 63 824

|
Добрый вечер. Делаю устройство на базе ATMEGA16, столкнулся с следующей проблемой: Переодически "моя умная коробочка" отправляет данные наружу через УАРТ, который подключен к max232. При отправке данных на ПК, все происходит просто отлично, а вот если их послать на бегущую строку (Sigma AS227) то она их не воспринимает( Формат посылки верный, т.к. если данные отправить с компьютера на строку, то все происходит на ура. При подключении к строки к устройству, получается следующая ситуация: На ноге TX прибора присутствует +8 вольт относительно общего провода устр-ва, на ноге RX -7,95. При подключении к компьютеру "коробочки", получаются следующие уровни напряжений: RX -9,83V TX +8V. Данные передаются и принимаются без проблем. Схему в файлах 1.pdf и 2.pdf
Насколько я знаю, там на обоих линиях должно бы быть состояние mark(т.е напряжение в пределах от -3 до -12) Подскажите пожалуйста в чем может быть проблема?
1.pdf ( 48.51 килобайт )
Кол-во скачиваний: 202
2.pdf ( 60.25 килобайт )
Кол-во скачиваний: 265
Сообщение отредактировал Leopoldius - Oct 7 2011, 16:53
|
|
|
|
|
Oct 7 2011, 17:23
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (Leopoldius @ Oct 7 2011, 19:50)  Формат посылки верный, т.к. если данные отправить с компьютера на строку, то все происходит на ура. Возьмите осциллограф и сравните скорость обмена по ширине битового импульса. Возможно ваш прибор и строка имеют отклонения от номинальной в разные стороны, поэтому при связи с компьютером погрешность скорости укладывается в допустимую, а при связи между собой - уже нет. Ну и возможно строка еще использует сигналы управления потоком (RTS, DTR, CTS, DSR), которые вы в своем устройстве не реализовали.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Oct 7 2011, 23:03
|

Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 23-03-11
Из: Россия
Пользователь №: 63 824

|
Доброй ночи!
Нет, в строке используется только линия RX, TX, SG. Осцилографом смотрел, ширина битовых импульсов примерно одинаковая, завтра если получится выложу осцилограмы.. Смушает другое, уровень на ноге TX в 8 вольт, там же должен быть -8 в idle режиме. Как это не звучит странно, все проблемы появились поле попытки задействовать вторую пару приемо-передатчиков мах232, до этого работало все ок, саму макс от греха менял, и в строке и "коробочке" результат "0"
|
|
|
|
|
Oct 8 2011, 10:24
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Цитата(Leopoldius @ Oct 8 2011, 02:03)  уровень на ноге TX в 8 вольт, там же должен быть -8 в idle режиме. Как это не звучит странно, все проблемы появились поле попытки задействовать вторую пару приемо-передатчиков мах232, до этого работало все ок, саму макс от греха менял, и в строке и "коробочке" результат "0" А на ноге TxD контроллера в покое сколько? Д.б. +Vcc (+5в). Про вторую пару max232 не понял.. Если Ваша бегущая строка имеет интерфейс RS232 (т.е. Вы подключаете бегущую строку просто перекидыванием кабеля от компа на Ваш девайс), то Max232 д.б. один - между AtMega16 и бегущей строкой. Имею в виду один преобразователь на линии Tx и один на Rx. Второй max или второй преобразователь на какой-либо линии не нужен.
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Oct 8 2011, 20:07
|

Частый гость
 
Группа: Свой
Сообщений: 78
Регистрация: 23-03-11
Из: Россия
Пользователь №: 63 824

|
Добрый вечер. Извините за неточность, я имел ввиду второй канал мах232. Я планировал использовать второй канал для того чтобы через комутатор 74нс4052 при необходимости иметь связь с ПК, для обслуживантия устр-ва(обновление прошивки через бутлодыря, конфигурации устр-ва). Правда незнаю, можно ли так делать... В даташите прямых указаний, запрещающих это делать ненашел  . Цитата А на ноге TxD контроллера в покое сколько? Д.б. +Vcc (+5в). Как то и не подумал, ведь действительно, +8 это лог ноль в RS232
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|