Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение счетчиков электроэнергии Меркурий 200.02
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Controller Area Network (CAN)
RKS
Приветствую. Поставили задачу подключить гирлянду этих счетчиков в нашему устройству. В счетчиках стоит CAN драйвер (SN65HVD251) включенный к обычному UART через гальванический барьер. На словах сказано что опрашивать эту гирлянду может такой же UART управляющий таким же драйвером SN65... или аналогичным например от Microchip (они дешевле). Еще в другом месте услышал что можно управлять этой гирляндой с помощью обычного RS485 с измененной полярностью. Чувствую что без правильных советов или ссылки на документацию (если она открыта ) не разберусь. Кроме этого интересует можно ли эти счетчики опрашивать аппаратным CAN портом (наш процессор таких имеет 2 штуки). Заранее спасибо.
adnega
О! Давно хотел решить аналогичную задачу. Можем попробовать вместе. Из документации есть что-нить? У меня где-то были протоклы, но, вроде, для RS485. Использование CAN, как Вы его описали, довольно странное. От CANа тут только физика получается.
RKS
Цитата(adnega @ Apr 4 2014, 18:42) *
О! Давно хотел решить аналогичную задачу. Можем попробовать вместе. Из документации есть что-нить? У меня где-то были протоклы, но, вроде, для RS485. Использование CAN, как Вы его описали, довольно странное. От CANа тут только физика получается.


Эксперименты в таком деле не лучший путь. Чувствую, что самый простой и правильный способ - спросить Инкотекс Наверное начну с этого в понедельник.
zambezi
Цитата(adnega @ Apr 4 2014, 18:42) *
О! Давно хотел решить аналогичную задачу. Можем попробовать вместе. Из документации есть что-нить? У меня где-то были протоклы, но, вроде, для RS485. Использование CAN, как Вы его описали, довольно странное. От CANа тут только физика получается.


Работали, подключали до 16 счетчиков, нормально работают по одной CAN шине, все счетчики параллельно, опрос по адресам. В чем проблема конкретно...
Правда это не CAN, там действительно UART, а CAN драйвера использованы, чтобы можно было параллельно включать по трем проводам.
Воспоминания самые радужные, в поле, стоит станция, до нее фиг знает сколько километров, а ты вытаскиваешь по GSM всю статистику по 16 адресам, да это нечто...
adnega
Цитата(RKS @ Apr 4 2014, 20:07) *
Эксперименты в таком деле не лучший путь. Чувствую, что самый простой и правильный способ - спросить Инкотекс Наверное начну с этого в понедельник.

http://www.incotexcom.ru/faqmercury/viewto...hp?f=5&t=63
Цитата
Протоколов передачи данных счётчиков "Меркурий" на сайте нет. Для получения надо прислать запрос на имя начальника отдела техподдержки Марова В.Н. Запрос оформить на фирменном электронном бланке вашего предприятия.
RKS
Запрос на бланке вообще не проблема! Но протокол то меня как раз совсем не интересует пока. Меня интересует железная часть. У нашего процессора от Freescale 4 UART и 2 CAN порта. Не хочется городить извращенный CAN когда рядом стоит нормальный. Вопрос собственно в том - можно ли нормальным CAN портом опрашивать эти Меркурии.

Может быть можно настроить контроллер CAN порта работать в режиме обычного UART - но это скорее вопрос к техподдержку Freescale.
RKS
Еще появился отдельный вопрос по нормальным портам CAN (видимо потому что мы в этой теме совсем начинающие - прошу не пинать). Есть ли смысл выводить на разъем сигнал земли. И для чего он нужен если нужен?
garry_
В Меркурий 200.02 нет CAN, использовать аппаратный CAN на микроконтроллере не получится, для работы с этим счетчиком нужно просто подключить микросхему физуровня CAN к UART и реализовать их протокол поверх UART, протокол в сети есть
RKS
Цитата(garry_ @ Apr 7 2014, 09:43) *
В Меркурий 200.02 нет CAN, использовать аппаратный CAN на микроконтроллере не получится, для работы с этим счетчиком нужно просто подключить микросхему физуровня CAN к UART и реализовать их протокол поверх UART, протокол в сети есть


Грустно. Придется извращаться.

А что насчет земляного контакта в разъеме честного аппаратного CAN порта? Для чего нибудь он нужен или можно без него обойтись? Нам было бы крайне удобно использовать имеющийся 4-ех контактный разъем для двух портов. 5-ый пин добавлять для земли очень неудобно.
zambezi
Цитата(RKS @ Apr 7 2014, 12:17) *
Грустно. Придется извращаться.

А что насчет земляного контакта в разъеме честного аппаратного CAN порта? Для чего нибудь он нужен или можно без него обойтись? Нам было бы крайне удобно использовать имеющийся 4-ех контактный разъем для двух портов. 5-ый пин добавлять для земли очень неудобно.


Откройте любой даташит на CAN драйвер, там схема подключения разрисована. Не требуется отдавать свой земляной провод на разъем, да, кабель должен быть подключен к некоей земле защитными конденсаторами, но это отдельная тема.
Смотрите схему подключения неизолорованного CAN на странице 14. http://www.analog.com/static/imported-file...ets/ADM3051.pdf
Насчет "извращения" непонятно в чем грусть. В Меркуриях реализован обычный RS232, но физика CAN, что позволяет снизить число проводов, подключить параллельно несколько устройств и не заморачиваться с честным CAN протоколом. На мой взгляд наоборот максимально простое решение.
ZASADA
Цитата(zambezi @ Apr 7 2014, 11:35) *
Насчет "извращения" непонятно в чем грусть. В Меркуриях реализован обычный RS232, но физика CAN, что позволяет снизить число проводов, подключить параллельно несколько устройств и не заморачиваться с честным CAN протоколом. На мой взгляд наоборот максимально простое решение.

а с потерей данных при одновременной передаче как бороться?
zambezi
Цитата(ZASADA @ Apr 7 2014, 13:45) *
а с потерей данных при одновременной передаче как бороться?

Меркурии работают по опросу, если его не спросят, он сам отвечать не будет sm.gif
RKS
Грусть объяснять долго да и лень - многие не поймут. Считайте что блажь... biggrin.gif

С разъемом понятно - уже полегчало.

Слышал еще такую "историю". Эти счетчики опрашиваются простым драйвером RS485 но полярность изменена. Насчет "изменения" понял мало.Приблизительно так - у обоих интерфейсов на одной из линий потенциал выше чем на другой, поэтому соединяют их крест-накрест. То есть к высокому потенциалу одного интерфейса подключают линию с низким потенциалом другого интерфейса. Кто-нибудь чего-нибудь может добавить....
adnega
Цитата(RKS @ Apr 7 2014, 20:10) *
Кто-нибудь чего-нибудь может добавить....

Для RS-485 лог "1" - это A=5В, B=0; лог "0" - A=0, B=5В.
Для CAN лог "1(рецессив)" - это Z-состояние H=L(=2.5В); лог "0(доминант)" - H=5В, L=0В.

Можно предположить, что соединение RS485_A=CAN_L, RS485_B=CAN_H даст работоспособный лог "0".
И есть надежда на лог "1", если приемник RS485 воспринимает равенство A=B за лог "1"(скорее всего или может быть вылечено растяжками) и приемник CAN воспринимает H=0, L=5В за лог "1" (возможно, если нет условия доминант, значит рецессив).
KARLSON
http://incotex-counter.blogspot.ru/2011/03/can-rs485.html

Не забудьте подать питание на интерфейсный разъём, если в счётчике нет своего.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.