Авторизация


...

Кто на сайте?

Сейчас 54 гостей и один зарегистрированный пользователь на сайте

  • heydeeste

Статистика

-Посетители : 27976
-Материалы : 210

Пользователь сайта продает...

  Плата питания

Пользователь сайта покупает...

Об особенностях работы по интерфейсу RS485

Автор: Бутывский Игорь Просмотров: 8225

 

 

 

Я зашёл в «ЧИП и ДИП», там сказали, что одна оптопара была в наличии 3 года назад, а другой, вообще никогда не было.

Поэтому пришёл к выводу, что надо придумать, что-то своё.

Немного теории, и информации о применяемых микросхемах.

рисунок MAX232 взят с сайта prog-leon.narod.ru,

описание интерфейса RS485 взято с сайта mayak-bit.narod.ru

 

Микросхема MAX232, представляет собой четырёх канальный преобразователь уровня RS232 TTЛ.

Два канала, преобразуют ТТЛ-уровни в RS232-уровни, и два канала, преобразуют RS232 в ТТЛ.  

 

alt

 

Сеть, построенная на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой пары - двух скрученных проводов.

В основе интерфейса RS-485 лежит принцип дифференциальной (балансной) передачи данных.

Суть его заключается в передаче одного сигнала по двум проводам.

Причем по одному проводу (условно A) идет оригинальный сигнал, а по другому (условно B) - его инверсная копия.

Другими словами, если на одном проводе "1", то на другом "0" и наоборот.

Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при "1" она положительна, при "0" - отрицательна.

alt

 

Именно этой разностью потенциалов и передается сигнал. Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе.

Синфазной называют помеху, действующую на оба провода линии одинаково. К примеру, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал.

Если сигнал передается потенциалом в одном проводе относительно общего, как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающего наводки общего ("земли").

Кроме того, на сопротивлении длинного общего провода будет падать разность потенциалов земель - дополнительный источник искажений.

А при дифференциальной передаче искажения не происходит.

В самом деле, если два провода пролегают близко друг к другу, да еще перевиты, то наводка на оба провода одинакова.

Потенциал в обоих одинаково нагруженных проводах изменяется одинаково, при этом информативная разность потенциалов остается без изменений.

RS-485 - полудуплексный интерфейс.

Прием и передача идут по одной паре проводов с разделением по времени.

В сети может быть много передатчиков, так как они, могут отключаться в режиме приема.

 

Микросхема MAX485

 

Номера и обозначения выводов

alt

(1) - RO (receiver output) - цифровой выход приемника;

(2) - RE (receiver enable) - разрешение работы приемника;

(3) - DE (driver enable) - разрешение работы передатчика;

(4) - DI (driver input) - цифровой вход передатчика;

(5) – GND

(6) - A - прямой дифференциальный вход/выход;

(7) - B - инверсный дифференциальный вход/выход;

(8) - + питания

D (driver) – передатчик,  R (receiver) – приемник.

 

Переключение микросхемы на приём и передачу, осуществляется подачей на выводы

RE и DE уровней 0 и 1, следующим образом:

RE = 1 – приём запрещён

RE = 0 – приём разрешён

 

DE = 1 – передача разрешена

DE = 0 – передача запрещена.

 

Если соединить выводы RE и DE между собой, то управление состоянием "приём/передача”, осуществляется следующим образом:

 

alt

               

Компьютер передаёт данные микроконтроллёру во много раз медленнее чем, микроконтроллёр компьютеру.

В моём случае, длительность передаваемых байтов данных и пауз между ними, при передаче КОМП -- > PIC ,была в четыре раза больше, чем при передаче PIC -- > КОМП.

 

Суть в следующем.

Компьютер, каждые две секунды, отсылает одному из нескольких PIC–ов (каждый имеет свой индификационный номер)  пачку из пяти байт.

В ответ, PIC должен выдать программе пять байт информации.

Смотрю осциллографом – PIC данные принимает и передаёт.

А программа на компьютере пишет – НЕТ СВЯЗИ.

Для отлаживания процедуры  приёма-передачи установил на компьютер  программу COM Port Toolkit.

С её помощью я передавал с компьютера PIC–у те же самые пять байт запроса. Но в ответ от PIC-a компьютеру приходило только три байта.

Два байта, где-то терялись.

Поэтому и НЕТ СВЯЗИ.

Переключение с приёма на передачу и обратно, со стороны PIC-a, производится отдельно выделенным для этого портом  RC4.

После передачи всех байтов информации PIC, на своей стороне меняет уровень на RC4, тем самым, переводя микросхему МАX485 на приём.

Оказалось, что два байта терялись из-за преждевременного переключения МАX485 на приём.

Дело в том, что модуль USART в микроконтроллере реализован аппаратно  и работает сам по себе независимо от выполнения основной программы. Программа лишь управляет работой этого модуля.

 Запись  данных в регистр TXREG не означает, что эти данные мгновенно будут переданы. По даташиту поднятие флага TXIF означает лишь то, что данные считались из регистра TXREG и записались в сдвиговый регистр TSR для передачи и TXREG пуст. Это значит, что программно (с помощью плавающей задержки опроса флага TXIF) отследить завершение передачи последнего байта не представляется возможным.

Если, сразу  после записи очередного байта в регистр TXREG, перевести MAX485 на приём то ни этот байт, ни предшествующий ему (находящийся в это время в сдвиговом регистре TSR  не будут переданы.  Модулем USART они естественно выпихнутся  на передачу, но приёмо-передатчик то ведь уже переключен на приём.

 

После ввода программной задержки, между записью  последнего байта в TXREG , и  сменой уровня на RC4, всё пришло в норму.

Со стороны компьютера, переключение с приёма на передачу и обратно, производится с помощью транзистора, включённого в цепь передачи данных преобразованных в ТТЛ-уровни.

Данные есть – сигнал на передачу. Данных нет – сигнал на приём.

Так как компьютер затягивает длительность посылок и пауз, то МАХ485 успевает, во время переключится.

Конденсатор С1, сглаживает импульсы на базе транзистора, тем  самым надёжно открывая его. Без него, связь неустойчивая.

Схема, работает и без рекомендуемого, третьего общего провода.

Но на большие расстояния, всё же нужно его использовать, и установить на концах витой пары защитные стабилитроны.

В случае, необходимости согласования сопротивления витой пары с входом/выходом МАХ485, предусмотрены перемычки.

С их помощью, можно подключить параллельно витой паре согласующие резисторы сопротивлением 120 Ом. 

Ссылка для скачивания доступна только авторизованным пользователям сайта !

Случайные статьи....

Prev Next

sPlan – удобная программа для вычерчивания принципиальных схем (ч. 3)

22-10-2012 Игорь Безверхний

sPlan – удобная программа для вычерчивания принципиальных схем (ч. 3)

  Практически каждому радиолюбителю и радиоспециалисту приходится хотя бы иногда чертить принципиальные схемы или их фрагменты. Что бы вычертить их аккуратно, можно использовать графические редакторы. Ну, а польза от применения этих программ студентами, учащимися ПТУ и различных курсов очевидна. В...

Преобразование однобайтного двоичного числа в трёхзначное десятичное ч…

23-07-2011 Николай Викторов

Преобразование однобайтного двоичного числа в трёхзначное десятичное число в «пиках» 18 серии

  Была необходимость применить подпрограмму «Преобразование однобайтного двоичного числа в трёхзначное десятичное число» в «пиках» 18 серии. Для этого пришлось подправить код. Дело в том , что команда «incf» в пиках 16 серии увеличивает значение регистра f на 1 и...

CLRF

02-02-2012 Super User

CLRF Очистка регистра f Синтаксис: [label] CLRF f,a Операнды: 0 <= f <= 255 a Е [0,1] Операция: 00h->f 1-> Z Изменяет флаги: Z Код: 0110 101a ffff ffff Описание: Команда обнуляет содержимое выбранного регистра. Значение бита доступа к памяти a обрабатывается стандартным образом (по умолчанию a=1) Слов: 1 Циклов: 1 Пример: ...

Организация сети Ethernet на PIC контроллере.

10-03-2011 Sergey Roslik

Организация сети Ethernet на PIC контроллере.

Хотел в недавнем прошлом, года три назад разобраться с организацией сети Ethernet с применением микроконтроллера. Начал штудировать интернет на возможные варианты решения данной задачи. Остановил свой выбор на сайте Гармаш Геннадия http://picping.narod.ru/. И по аналогии его пинговалки начал собирать устройство. Я...


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru