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

 
 
> Нужна помощь max485, Atmega16
klin-2006
сообщение Jun 2 2009, 19:04
Сообщение #1


Участник
*

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



Рисую принципиальную схему с МК Atmega 16, необходимо передавать данные с МК на ПК по интерфейсу rs-485 по протаколом CAN. Все впринципе понятно, кроме протакола CAN. Непойму следующее: для того чтобы был CAN протакол, нужна специальная микросхема или CAN описывается только в программе? Просто я сделал так: с МК веду на микросхему max485 потом опять на нее, затем на max232 и к ПК. Пример смотри ниже, только для МК PIC. А вот что с CAN делать непонятно. Подскажите пожалуйста.

Модератор. Две темы были объединены. Напоминаю, что кросспостинг запрещен п.3.2 Правил форума.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
klin-2006
сообщение Jun 2 2009, 19:22
Сообщение #2


Участник
*

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



Подскажите пожалуйста к какой ножке МК Atmega16 подключается соединенный вход RE (инверсия) и DE микросхемы LTC485 (интерфейс rs485). Есть пример для PIC контроллера.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 3 2009, 07:40
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(klin-2006 @ Jun 2 2009, 23:22) *
Подскажите пожалуйста к какой ножке МК Atmega16 подключается соединенный вход RE (инверсия) и DE микросхемы LTC485 (интерфейс rs485).
К любой свободной. Этой ногой управляют направлением передачи/приема по RS485 линии. Т.к. встроенный UART не обеспечивает автоматического управления, то используется чисто програмное.
И еще, CAN поверх RS485 - это редкостное извращение rolleyes.gif
Go to the top of the page
 
+Quote Post
klin-2006
сообщение Jun 3 2009, 14:28
Сообщение #4


Участник
*

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



Цитата(XVR @ Jun 3 2009, 11:40) *
К любой свободной. Этой ногой управляют направлением передачи/приема по RS485 линии. Т.к. встроенный UART не обеспечивает автоматического управления, то используется чисто програмное.
И еще, CAN поверх RS485 - это редкостное извращение rolleyes.gif

А какой протокол вы бы посоветовали взять для rs485? (чтобы без всяких дополнительных микросхем было, как на рисунках выше)

Сообщение отредактировал klin-2006 - Jun 3 2009, 14:28
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 3 2009, 14:37
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(klin-2006 @ Jun 3 2009, 18:28) *
А какой протокол вы бы посоветовали взять для rs485?
Сильно зависит от задачи. Какая нужна скорость, какие объемы данных, степень помехоустойчивости и пр? Диапазон протоколов очень широк - начиная с голых пакетов, потом что нибудь типа modbus, WAKE и кончая PPP и пр.
Цитата
(чтобы без всяких дополнительных микросхем было, как на рисунках выше)
Без. В RS485 их просто некуда воткнуть, даже если бы захотелось rolleyes.gif
Go to the top of the page
 
+Quote Post
klin-2006
сообщение Jun 3 2009, 15:14
Сообщение #6


Участник
*

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



Цитата(XVR @ Jun 3 2009, 18:37) *
Сильно зависит от задачи. Какая нужна скорость, какие объемы данных, степень помехоустойчивости и пр? Диапазон протоколов очень широк - начиная с голых пакетов, потом что нибудь типа modbus, WAKE и кончая PPP и пр.
Без. В RS485 их просто некуда воткнуть, даже если бы захотелось rolleyes.gif

Скорость передачи не играет роли, объем данных маленький (10 КБ), необходимо только чтобы связь между ПК и устройством была двусторонняя, т.е. с устройства на ПК передавать информацию, а также с ПК на устройство. И расстояние 1000м.

Сообщение отредактировал klin-2006 - Jun 3 2009, 15:15
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 4 2009, 05:29
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(klin-2006 @ Jun 3 2009, 19:14) *
Скорость передачи не играет роли, объем данных маленький (10 КБ), необходимо только чтобы связь между ПК и устройством была двусторонняя, т.е. с устройства на ПК передавать информацию, а также с ПК на устройство.
Устройство к ПК подключается одно или их несколько?
Устройство по собственной инициативе может передавать данные на ПК, или инициатором всегда выступает ПК?
Цитата
И расстояние 1000м.
Весьма прилично для RS485. Может понадобится витая пара для подсоединения и протокол с коррекцией ошибок (как минимум - с обнаружением)
Как насчет помех в окружающей среде? Нет ли там поблизости каких нибудь килоамперных импульсных токов? Какую надежность должна обеспечивать связь?
Go to the top of the page
 
+Quote Post
klin-2006
сообщение Jun 4 2009, 14:16
Сообщение #8


Участник
*

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



Цитата(XVR @ Jun 4 2009, 09:29) *
Устройство к ПК подключается одно или их несколько?
Устройство по собственной инициативе может передавать данные на ПК, или инициатором всегда выступает ПК?
Весьма прилично для RS485. Может понадобится витая пара для подсоединения и протокол с коррекцией ошибок (как минимум - с обнаружением)
Как насчет помех в окружающей среде? Нет ли там поблизости каких нибудь килоамперных импульсных токов? Какую надежность должна обеспечивать связь?

Вообще я проектирую для одного устройства (но на практике их должно быть n-ое количество). Передает оно по своей инициативе, а также и ПК может запросить информацию. Расстояние скорее всего будет метров 300-500. Помех не должно быть. Принцип работы: Имеются 2 аналоговых датчика температуры DS600, которые опрашивает МК Atmega16 (со встроенным АЦП), преобразует в цифровой код, переводит цифровой код в температуру и передает это значение на LCD FDCC0801A фирмы Fordata со встроенным контроллером – SPLC780D, сравнивает измеренную температуру с заданной, если она входит в заданный диапазон, то цикл повторяется, если меньше заданной, то формируется управляющий сигнал (напряжение) по ПИД-закону и подается через таймер ОСn (ШИМ) на исполнительный элемент. Также необходимо передавать значения текущей температуры на ПК оператору через интерфейс RS-485. А в случае нештатной ситуации также оповещать оператора через RS-485.

Сегодня я принес преподавателю кусок принципиалки, который выше, только с МК не PIC16F877, а Atmega16, а он сказал, ты что за чушь принес, говорит оставь только одну микросхему LTC485 (то что первая после МК), а с нее на разъем типа a, b, gnd. Это разве правильно?

Сообщение отредактировал klin-2006 - Jun 4 2009, 14:15
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 4 2009, 14:30
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(klin-2006 @ Jun 4 2009, 20:16) *
Также необходимо передавать значения текущей температуры на ПК оператору через интерфейс RS-485. А в случае нештатной ситуации также оповещать оператора через RS-485.
Это уже "мультимастер" получается. Для которого сеть RS485 не совсем подходит.
Цитата(klin-2006 @ Jun 4 2009, 20:16) *
Сегодня я принес преподавателю кусок принципиалки, который выше, только с МК не PIC16F877, а Atmega16, а он сказал, ты что за чушь принес, говорит оставь только одну микросхему LTC485 (то что первая после МК), а с нее на разъем типа a, b, gnd. Это разве правильно?
Конечно правильно. Ваше устройство заканчивается разъемным соединением к которому подключается линия связи. И ни провода связи, ни вторая м/с LTC485, ни MAX232, ни компьютер, изображенный слева внизу, в состав вашего устройства не входят wink.gif
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 4 2009, 15:18
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(rezident @ Jun 4 2009, 18:30) *
Это уже "мультимастер" получается. Для которого сеть RS485 не совсем подходит.
'Не совсем' - это мягко сказано cranky.gif В RS485 сети должен быть арбитр, распределяющий кванты времени для обмена, если же и количество подключенных устройств заранее неизвестно, то это совсем чехол. Или делать сеть с поддержкой коллизий, как на аппаратном, так и на протокольном уровне. klin-2006, вам надо сначала разработать протокол взаимодействия устройств и ПК, остальное приложится cool.gif
Go to the top of the page
 
+Quote Post
klin-2006
сообщение Jun 4 2009, 15:40
Сообщение #11


Участник
*

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



Цитата(XVR @ Jun 4 2009, 19:18) *
klin-2006, вам надо сначала разработать протокол взаимодействия устройств и ПК, остальное приложится cool.gif

протокол modbus не годится? или его надо самому разрабатывать?

Сообщение отредактировал klin-2006 - Jun 4 2009, 15:49
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 4 2009, 17:22
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(klin-2006 @ Jun 4 2009, 19:40) *
протокол modbus не годится?
Нет, modbus для одного мастера. Т.е. все будет происходить под жестким управление ПК. Возможно это подойдет, ПК вполне может периодически опрашивать все подключенные устройства
по очереди. Вот только количество и адреса устройств должны быть известны на ПК, Plug & Play не получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- klin-2006   Нужна помощь max485   Jun 2 2009, 19:04
|- - rezident   Цитата(klin-2006 @ Jun 3 2009, 20:28...   Jun 3 2009, 15:19
- - rezident   Протокол CAN подразумевает физический уровень в ви...   Jun 2 2009, 19:49
- - klin-2006   Цитата(rezident @ Jun 2 2009, 23:49) Прот...   Jun 3 2009, 06:02
- - defunct   Цитата(klin-2006 @ Jun 3 2009, 09:02...   Jun 5 2009, 01:22
- - rezident   Цитата(defunct @ Jun 5 2009, 07:22) У нег...   Jun 5 2009, 01:53
- - defunct   Цитата(rezident @ Jun 5 2009, 04:53) Вы н...   Jun 5 2009, 02:38
- - XVR   Цитата(defunct @ Jun 5 2009, 06:38) Прост...   Jun 5 2009, 06:38
- - klin-2006   Цитата(XVR @ Jun 5 2009, 10:38) Я с ними ...   Jun 5 2009, 07:16
|- - XVR   Цитата(klin-2006 @ Jun 5 2009, 11:16...   Jun 5 2009, 09:20
- - defunct   Цитата(XVR @ Jun 5 2009, 09:38) 'Все...   Jun 5 2009, 10:09


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

 


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


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