Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Вт окт 17, 2006 09:59:26
кто-н поделитесь плз исходником на асме реализации этого протокола.
или ссылку хорошую на хороший док
я читал МОДБАС РТУ рус, но не помогло, надо много каких-то вещей уяснить, не могу связать работу USART и протокол.
может по конфигурированию USART мне кто подскажет?
мой мк ATMega162. (жду с нетерпением)
Чт окт 19, 2006 09:18:43
MODBUS - это самый высокий логический уровень протокола.
USART - реализует низкий логический уровень. Передача 1 байта в MODBUS происходит так же как и в RS232 с логической точки зрения (физика там RS485 или 422, не помню - если по стандарту).
вобщем MODBUS определяет формат пакетов. а чтобы передать байт пакета - используется обычная последовательная передача (USART то бишь).
С физической точки зрения - MODBUS дифференциальная шина. Т.е. на выходе USART (Rx,Tx) надо ставить буфера, конвертирующие однолинейный сигнал в дифференциальный.
Чт окт 19, 2006 12:08:13
конвертирующие однолинейный сигнал в дифференциальный
поясни пожалуйста. этот кусок не совсем понял. Что за сигналы? в чем собственно их отличие?
Чт окт 19, 2006 13:39:03
MODBUS - дифференциальная шина. для каждого типа полезного сигнала нужно 2 провода.
в однолинейной шине - 1 провод.
в однолинейной шине логический 0 и логическая 1 определяются уровнем напряжения относительно земли.
в дифференциальной шине для линии Rx, например, нужно 2 провода R+ и R-. Логическая 1 или логический 0 определяются по потенциалу R+ относительно R-, а не относительно земли. что повышает помехоусточивость шины, т.к. подразумевается, что пришедший на линию паразит будет присутствовать как на R+, так и R- и не влияет на разность потенциалов одного провода относительно другого.
т.е. тебе, с твоим мк - на линию Rx и Tx нужно поставить шинный формирователь, который состоит в параллельно включенных инверторе и инверторе с инверсным входом (
то бишь просто повторителем сигнала) - у которых время распространения сигнала одинаково.
Чт окт 19, 2006 15:38:03
ясно.
Теперь
нужно поставить шинный формирователь, который ...
с этого места и до конца не понятно. Что это такое и как выглядит?
как работает? принцип?
Чт окт 19, 2006 18:22:42
шинный формирователь - это просто страшное слово
поскольку физичекий протокол коммуникаций разных шин вглядит по-разному (на примере MODBUS видно, что 0 и 1 определяется по-разному на шине и у контроллера). шинный формирователь - просто адаптер уровней, преобразователь физического протокола, согласователь уровней.
принцип для меги простой. У меги 0 и 1 определяется как 0В и 3,3-5В. на шину же нужно подавать дифференциальный сигнал (например для R+ и R- для "0" нужно выдать 0В на R+ и 3,3-5В на R-, для "1" - сигналы обратных уровней).
Вобщем, получается, что R+ работает как Rx, а на R- сигнал нужно инвертировать.
откуда решение (см. файл). на линию R+ ставим просто повторитель, у которого задержка распространения сигнала как на инверторе (чтобы избежать рассогласования во времени смены сигнала на R+ и R-).
на практике посмотри MAX3471, например.
P.S. рисунок не вложился, говорит квоту исчерпал....
Пн окт 23, 2006 09:23:25
кое-что ясно
картинку на мыло мне можешь выложить?
и еще немного о Повторителе (он же инвертор, в данном случае) можешь расписать?
Пн окт 23, 2006 13:30:54
http://datasheets.maxim-ic.com/en/ds/MAX3471.pdf
почитай - прямо эту микруху можно пользовать с мегой.
Пн окт 23, 2006 14:53:42
Рисунок:
- Вложения
-
- modbus.GIF
- (2.67 KiB) Скачиваний: 907
Пн окт 23, 2006 15:10:17
интересный вариант. работать будет ? сумлеваюсь я ...
Пн окт 23, 2006 18:19:29
avr123.nm.ru писал(а):интересный вариант. работать будет ? сумлеваюсь я ...
ну у меня на этом принципе девайс работает с MAX3471
в серийном производстве уже год как, с коммуникациями не было ни одной проблемы
в чем сомнения-то?
Пн окт 23, 2006 18:47:41
в том что с RX можно что-то передать.
так как R это от "Ресив" принимать то-бишь. А что можно принять со входа логических элементов ?
И это работает уже давно ?
Я ж грю - электроника это чудо !
Пн окт 23, 2006 23:15:56
ну да, вместо Rx Tx надо
Вт окт 24, 2006 08:44:18
если правильно понял МАКС из пдф-ки - это усилитель напряжения и инвертер.. так?
получается те данные которые я хочу передать, я должен усилить и инвертировать их потенциал???
(где я ошибаюсь?)
Вт окт 24, 2006 09:34:48
это шинный формирователь
Re - вход, подключает Ro к шине
Ro - выход, при подключении к шине, если A-B> - 50 mV, то высокий выход, если А-В <- 450mV, то низкий выход.
De - вход, подключает Di к шине.
Di - вход, при подключении к шине на неинверсном выходе сигнал повторяется, на инверсном - инвертируется.
A,B - неинверсный и инверсный выходы на шину.
Пт окт 27, 2006 09:58:35
извини, но на этот раз сооовсеем ничего не понял..
скажем
Ro - выход, при подключении к шине
- выделенное слово - как понимать? как выглядит, где искать должен?
далее
высокий выход
- как понимать?
на неинверсном выходе сигнал повторяется, на инверсном - инвертируется
- выделенное не понятно.
A,B - неинверсный и инверсный выходы на шину
- опять таки, куда, куда?
яж эттто схемотехнику незнаю еще пока.
Пт окт 27, 2006 14:17:28
CyberMerlin писал(а):извини, но на этот раз сооовсеем ничего не понял..
скажем
Ro - выход, при подключении к шине
- выделенное слово - как понимать? как выглядит, где искать должен?
далее
высокий выход
- как понимать?
на неинверсном выходе сигнал повторяется, на инверсном - инвертируется
- выделенное не понятно.
A,B - неинверсный и инверсный выходы на шину
- опять таки, куда, куда?
яж эттто схемотехнику незнаю еще пока.
шина в данном случае - RS485, провода связи, у тебя их всего 4.
Выходы микрухи могут иметь три состояния: логический 0 (низкий уровень эл. сигнала), логический 1 (высокий уровень эл. сигнала), высокий импеданс (отключен).
к шине подключены Ro, Di.
Re, De позволяют перевести входы/выходы в высокий импеданс (отключить от шины Ro,Di), либо подключить у шине (передавать/получать сигналы с шины).
инверсный/неинверсный - сигналы противоположной полярности. на R+ и R- сигналы меняются одновременно и они всегда в противофазе. Если на R+ "0", то на R- обязательно будет "1" и наоборот.
Вт окт 31, 2006 10:02:38
R+ и R- - получается я должен подавать полошительный и отрицательный потенциалы?? +/-3 В скажем?
или просто 0 и +3 В???
Вт окт 31, 2006 11:17:20
средний уровень не принципиален - важно чтоб сигналы в двух проводах были противоположны и симметричны относительно среднего уровня.
Вт окт 31, 2006 12:53:26
спасибо, пока кое-что ясно...
честно сказать перевариваю..
а образец, кусок схемы(картинки) может кто-н выложить посмотреть как у вас на деле получилось? (саму схему цепи соединения по этим ножкам)
если не трудно, очень очень поможет
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.